amazonka-route53resolver (empty) → 2.0
raw patch · 247 files changed
+26965/−0 lines, 247 filesdep +amazonka-coredep +amazonka-route53resolverdep +amazonka-test
Dependencies added: amazonka-core, amazonka-route53resolver, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-route53resolver.cabal +192/−0
- fixture/AssociateFirewallRuleGroup.yaml +10/−0
- fixture/AssociateFirewallRuleGroupResponse.proto +0/−0
- fixture/AssociateResolverEndpointIpAddress.yaml +10/−0
- fixture/AssociateResolverEndpointIpAddressResponse.proto +0/−0
- fixture/AssociateResolverQueryLogConfig.yaml +10/−0
- fixture/AssociateResolverQueryLogConfigResponse.proto +0/−0
- fixture/AssociateResolverRule.yaml +10/−0
- fixture/AssociateResolverRuleResponse.proto +0/−0
- fixture/CreateFirewallDomainList.yaml +10/−0
- fixture/CreateFirewallDomainListResponse.proto +0/−0
- fixture/CreateFirewallRule.yaml +10/−0
- fixture/CreateFirewallRuleGroup.yaml +10/−0
- fixture/CreateFirewallRuleGroupResponse.proto +0/−0
- fixture/CreateFirewallRuleResponse.proto +0/−0
- fixture/CreateResolverEndpoint.yaml +10/−0
- fixture/CreateResolverEndpointResponse.proto +0/−0
- fixture/CreateResolverQueryLogConfig.yaml +10/−0
- fixture/CreateResolverQueryLogConfigResponse.proto +0/−0
- fixture/CreateResolverRule.yaml +10/−0
- fixture/CreateResolverRuleResponse.proto +0/−0
- fixture/DeleteFirewallDomainList.yaml +10/−0
- fixture/DeleteFirewallDomainListResponse.proto +0/−0
- fixture/DeleteFirewallRule.yaml +10/−0
- fixture/DeleteFirewallRuleGroup.yaml +10/−0
- fixture/DeleteFirewallRuleGroupResponse.proto +0/−0
- fixture/DeleteFirewallRuleResponse.proto +0/−0
- fixture/DeleteResolverEndpoint.yaml +10/−0
- fixture/DeleteResolverEndpointResponse.proto +0/−0
- fixture/DeleteResolverQueryLogConfig.yaml +10/−0
- fixture/DeleteResolverQueryLogConfigResponse.proto +0/−0
- fixture/DeleteResolverRule.yaml +10/−0
- fixture/DeleteResolverRuleResponse.proto +0/−0
- fixture/DisassociateFirewallRuleGroup.yaml +10/−0
- fixture/DisassociateFirewallRuleGroupResponse.proto +0/−0
- fixture/DisassociateResolverEndpointIpAddress.yaml +10/−0
- fixture/DisassociateResolverEndpointIpAddressResponse.proto +0/−0
- fixture/DisassociateResolverQueryLogConfig.yaml +10/−0
- fixture/DisassociateResolverQueryLogConfigResponse.proto +0/−0
- fixture/DisassociateResolverRule.yaml +10/−0
- fixture/DisassociateResolverRuleResponse.proto +0/−0
- fixture/GetFirewallConfig.yaml +10/−0
- fixture/GetFirewallConfigResponse.proto +0/−0
- fixture/GetFirewallDomainList.yaml +10/−0
- fixture/GetFirewallDomainListResponse.proto +0/−0
- fixture/GetFirewallRuleGroup.yaml +10/−0
- fixture/GetFirewallRuleGroupAssociation.yaml +10/−0
- fixture/GetFirewallRuleGroupAssociationResponse.proto +0/−0
- fixture/GetFirewallRuleGroupPolicy.yaml +10/−0
- fixture/GetFirewallRuleGroupPolicyResponse.proto +0/−0
- fixture/GetFirewallRuleGroupResponse.proto +0/−0
- fixture/GetResolverConfig.yaml +10/−0
- fixture/GetResolverConfigResponse.proto +0/−0
- fixture/GetResolverDnssecConfig.yaml +10/−0
- fixture/GetResolverDnssecConfigResponse.proto +0/−0
- fixture/GetResolverEndpoint.yaml +10/−0
- fixture/GetResolverEndpointResponse.proto +0/−0
- fixture/GetResolverQueryLogConfig.yaml +10/−0
- fixture/GetResolverQueryLogConfigAssociation.yaml +10/−0
- fixture/GetResolverQueryLogConfigAssociationResponse.proto +0/−0
- fixture/GetResolverQueryLogConfigPolicy.yaml +10/−0
- fixture/GetResolverQueryLogConfigPolicyResponse.proto +0/−0
- fixture/GetResolverQueryLogConfigResponse.proto +0/−0
- fixture/GetResolverRule.yaml +10/−0
- fixture/GetResolverRuleAssociation.yaml +10/−0
- fixture/GetResolverRuleAssociationResponse.proto +0/−0
- fixture/GetResolverRulePolicy.yaml +10/−0
- fixture/GetResolverRulePolicyResponse.proto +0/−0
- fixture/GetResolverRuleResponse.proto +0/−0
- fixture/ImportFirewallDomains.yaml +10/−0
- fixture/ImportFirewallDomainsResponse.proto +0/−0
- fixture/ListFirewallConfigs.yaml +10/−0
- fixture/ListFirewallConfigsResponse.proto +0/−0
- fixture/ListFirewallDomainLists.yaml +10/−0
- fixture/ListFirewallDomainListsResponse.proto +0/−0
- fixture/ListFirewallDomains.yaml +10/−0
- fixture/ListFirewallDomainsResponse.proto +0/−0
- fixture/ListFirewallRuleGroupAssociations.yaml +10/−0
- fixture/ListFirewallRuleGroupAssociationsResponse.proto +0/−0
- fixture/ListFirewallRuleGroups.yaml +10/−0
- fixture/ListFirewallRuleGroupsResponse.proto +0/−0
- fixture/ListFirewallRules.yaml +10/−0
- fixture/ListFirewallRulesResponse.proto +0/−0
- fixture/ListResolverConfigs.yaml +10/−0
- fixture/ListResolverConfigsResponse.proto +0/−0
- fixture/ListResolverDnssecConfigs.yaml +10/−0
- fixture/ListResolverDnssecConfigsResponse.proto +0/−0
- fixture/ListResolverEndpointIpAddresses.yaml +10/−0
- fixture/ListResolverEndpointIpAddressesResponse.proto +0/−0
- fixture/ListResolverEndpoints.yaml +10/−0
- fixture/ListResolverEndpointsResponse.proto +0/−0
- fixture/ListResolverQueryLogConfigAssociations.yaml +10/−0
- fixture/ListResolverQueryLogConfigAssociationsResponse.proto +0/−0
- fixture/ListResolverQueryLogConfigs.yaml +10/−0
- fixture/ListResolverQueryLogConfigsResponse.proto +0/−0
- fixture/ListResolverRuleAssociations.yaml +10/−0
- fixture/ListResolverRuleAssociationsResponse.proto +0/−0
- fixture/ListResolverRules.yaml +10/−0
- fixture/ListResolverRulesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutFirewallRuleGroupPolicy.yaml +10/−0
- fixture/PutFirewallRuleGroupPolicyResponse.proto +0/−0
- fixture/PutResolverQueryLogConfigPolicy.yaml +10/−0
- fixture/PutResolverQueryLogConfigPolicyResponse.proto +0/−0
- fixture/PutResolverRulePolicy.yaml +10/−0
- fixture/PutResolverRulePolicyResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateFirewallConfig.yaml +10/−0
- fixture/UpdateFirewallConfigResponse.proto +0/−0
- fixture/UpdateFirewallDomains.yaml +10/−0
- fixture/UpdateFirewallDomainsResponse.proto +0/−0
- fixture/UpdateFirewallRule.yaml +10/−0
- fixture/UpdateFirewallRuleGroupAssociation.yaml +10/−0
- fixture/UpdateFirewallRuleGroupAssociationResponse.proto +0/−0
- fixture/UpdateFirewallRuleResponse.proto +0/−0
- fixture/UpdateResolverConfig.yaml +10/−0
- fixture/UpdateResolverConfigResponse.proto +0/−0
- fixture/UpdateResolverDnssecConfig.yaml +10/−0
- fixture/UpdateResolverDnssecConfigResponse.proto +0/−0
- fixture/UpdateResolverEndpoint.yaml +10/−0
- fixture/UpdateResolverEndpointResponse.proto +0/−0
- fixture/UpdateResolverRule.yaml +10/−0
- fixture/UpdateResolverRuleResponse.proto +0/−0
- gen/Amazonka/Route53Resolver.hs +747/−0
- gen/Amazonka/Route53Resolver/AssociateFirewallRuleGroup.hs +332/−0
- gen/Amazonka/Route53Resolver/AssociateResolverEndpointIpAddress.hs +233/−0
- gen/Amazonka/Route53Resolver/AssociateResolverQueryLogConfig.hs +237/−0
- gen/Amazonka/Route53Resolver/AssociateResolverRule.hs +219/−0
- gen/Amazonka/Route53Resolver/CreateFirewallDomainList.hs +220/−0
- gen/Amazonka/Route53Resolver/CreateFirewallRule.hs +448/−0
- gen/Amazonka/Route53Resolver/CreateFirewallRuleGroup.hs +216/−0
- gen/Amazonka/Route53Resolver/CreateResolverEndpoint.hs +317/−0
- gen/Amazonka/Route53Resolver/CreateResolverQueryLogConfig.hs +313/−0
- gen/Amazonka/Route53Resolver/CreateResolverRule.hs +347/−0
- gen/Amazonka/Route53Resolver/DeleteFirewallDomainList.hs +179/−0
- gen/Amazonka/Route53Resolver/DeleteFirewallRule.hs +198/−0
- gen/Amazonka/Route53Resolver/DeleteFirewallRuleGroup.hs +180/−0
- gen/Amazonka/Route53Resolver/DeleteResolverEndpoint.hs +187/−0
- gen/Amazonka/Route53Resolver/DeleteResolverQueryLogConfig.hs +204/−0
- gen/Amazonka/Route53Resolver/DeleteResolverRule.hs +180/−0
- gen/Amazonka/Route53Resolver/DisassociateFirewallRuleGroup.hs +188/−0
- gen/Amazonka/Route53Resolver/DisassociateResolverEndpointIpAddress.hs +229/−0
- gen/Amazonka/Route53Resolver/DisassociateResolverQueryLogConfig.hs +241/−0
- gen/Amazonka/Route53Resolver/DisassociateResolverRule.hs +203/−0
- gen/Amazonka/Route53Resolver/GetFirewallConfig.hs +173/−0
- gen/Amazonka/Route53Resolver/GetFirewallDomainList.hs +176/−0
- gen/Amazonka/Route53Resolver/GetFirewallRuleGroup.hs +174/−0
- gen/Amazonka/Route53Resolver/GetFirewallRuleGroupAssociation.hs +199/−0
- gen/Amazonka/Route53Resolver/GetFirewallRuleGroupPolicy.hs +179/−0
- gen/Amazonka/Route53Resolver/GetResolverConfig.hs +172/−0
- gen/Amazonka/Route53Resolver/GetResolverDnssecConfig.hs +175/−0
- gen/Amazonka/Route53Resolver/GetResolverEndpoint.hs +179/−0
- gen/Amazonka/Route53Resolver/GetResolverQueryLogConfig.hs +189/−0
- gen/Amazonka/Route53Resolver/GetResolverQueryLogConfigAssociation.hs +214/−0
- gen/Amazonka/Route53Resolver/GetResolverQueryLogConfigPolicy.hs +198/−0
- gen/Amazonka/Route53Resolver/GetResolverRule.hs +175/−0
- gen/Amazonka/Route53Resolver/GetResolverRuleAssociation.hs +189/−0
- gen/Amazonka/Route53Resolver/GetResolverRulePolicy.hs +177/−0
- gen/Amazonka/Route53Resolver/ImportFirewallDomains.hs +280/−0
- gen/Amazonka/Route53Resolver/Lens.hs +728/−0
- gen/Amazonka/Route53Resolver/ListFirewallConfigs.hs +273/−0
- gen/Amazonka/Route53Resolver/ListFirewallDomainLists.hs +283/−0
- gen/Amazonka/Route53Resolver/ListFirewallDomains.hs +293/−0
- gen/Amazonka/Route53Resolver/ListFirewallRuleGroupAssociations.hs +386/−0
- gen/Amazonka/Route53Resolver/ListFirewallRuleGroups.hs +282/−0
- gen/Amazonka/Route53Resolver/ListFirewallRules.hs +369/−0
- gen/Amazonka/Route53Resolver/ListResolverConfigs.hs +282/−0
- gen/Amazonka/Route53Resolver/ListResolverDnssecConfigs.hs +307/−0
- gen/Amazonka/Route53Resolver/ListResolverEndpointIpAddresses.hs +313/−0
- gen/Amazonka/Route53Resolver/ListResolverEndpoints.hs +297/−0
- gen/Amazonka/Route53Resolver/ListResolverQueryLogConfigAssociations.hs +575/−0
- gen/Amazonka/Route53Resolver/ListResolverQueryLogConfigs.hs +548/−0
- gen/Amazonka/Route53Resolver/ListResolverRuleAssociations.hs +311/−0
- gen/Amazonka/Route53Resolver/ListResolverRules.hs +294/−0
- gen/Amazonka/Route53Resolver/ListTagsForResource.hs +271/−0
- gen/Amazonka/Route53Resolver/PutFirewallRuleGroupPolicy.hs +203/−0
- gen/Amazonka/Route53Resolver/PutResolverQueryLogConfigPolicy.hs +268/−0
- gen/Amazonka/Route53Resolver/PutResolverRulePolicy.hs +251/−0
- gen/Amazonka/Route53Resolver/TagResource.hs +210/−0
- gen/Amazonka/Route53Resolver/Types.hs +569/−0
- gen/Amazonka/Route53Resolver/Types/Action.hs +73/−0
- gen/Amazonka/Route53Resolver/Types/AutodefinedReverseFlag.hs +71/−0
- gen/Amazonka/Route53Resolver/Types/BlockOverrideDnsType.hs +66/−0
- gen/Amazonka/Route53Resolver/Types/BlockResponse.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/Filter.hs +617/−0
- gen/Amazonka/Route53Resolver/Types/FirewallConfig.hs +152/−0
- gen/Amazonka/Route53Resolver/Types/FirewallDomainImportOperation.hs +66/−0
- gen/Amazonka/Route53Resolver/Types/FirewallDomainList.hs +206/−0
- gen/Amazonka/Route53Resolver/Types/FirewallDomainListMetadata.hs +139/−0
- gen/Amazonka/Route53Resolver/Types/FirewallDomainListStatus.hs +86/−0
- gen/Amazonka/Route53Resolver/Types/FirewallDomainUpdateOperation.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/FirewallFailOpenStatus.hs +71/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRule.hs +303/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRuleGroup.hs +224/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupAssociation.hs +256/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupAssociationStatus.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupMetadata.hs +158/−0
- gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupStatus.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/IpAddressRequest.hs +89/−0
- gen/Amazonka/Route53Resolver/Types/IpAddressResponse.hs +157/−0
- gen/Amazonka/Route53Resolver/Types/IpAddressStatus.hs +111/−0
- gen/Amazonka/Route53Resolver/Types/IpAddressUpdate.hs +109/−0
- gen/Amazonka/Route53Resolver/Types/MutationProtectionStatus.hs +71/−0
- gen/Amazonka/Route53Resolver/Types/ResolverAutodefinedReverseStatus.hs +81/−0
- gen/Amazonka/Route53Resolver/Types/ResolverConfig.hs +162/−0
- gen/Amazonka/Route53Resolver/Types/ResolverDNSSECValidationStatus.hs +81/−0
- gen/Amazonka/Route53Resolver/Types/ResolverDnssecConfig.hs +149/−0
- gen/Amazonka/Route53Resolver/Types/ResolverEndpoint.hs +376/−0
- gen/Amazonka/Route53Resolver/Types/ResolverEndpointDirection.hs +71/−0
- gen/Amazonka/Route53Resolver/Types/ResolverEndpointStatus.hs +91/−0
- gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfig.hs +270/−0
- gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociation.hs +244/−0
- gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociationError.hs +81/−0
- gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociationStatus.hs +86/−0
- gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigStatus.hs +81/−0
- gen/Amazonka/Route53Resolver/Types/ResolverRule.hs +325/−0
- gen/Amazonka/Route53Resolver/Types/ResolverRuleAssociation.hs +158/−0
- gen/Amazonka/Route53Resolver/Types/ResolverRuleAssociationStatus.hs +86/−0
- gen/Amazonka/Route53Resolver/Types/ResolverRuleConfig.hs +108/−0
- gen/Amazonka/Route53Resolver/Types/ResolverRuleStatus.hs +81/−0
- gen/Amazonka/Route53Resolver/Types/RuleTypeOption.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/ShareStatus.hs +76/−0
- gen/Amazonka/Route53Resolver/Types/SortOrder.hs +71/−0
- gen/Amazonka/Route53Resolver/Types/Tag.hs +106/−0
- gen/Amazonka/Route53Resolver/Types/TargetAddress.hs +96/−0
- gen/Amazonka/Route53Resolver/Types/Validation.hs +71/−0
- gen/Amazonka/Route53Resolver/UntagResource.hs +213/−0
- gen/Amazonka/Route53Resolver/UpdateFirewallConfig.hs +235/−0
- gen/Amazonka/Route53Resolver/UpdateFirewallDomains.hs +301/−0
- gen/Amazonka/Route53Resolver/UpdateFirewallRule.hs +384/−0
- gen/Amazonka/Route53Resolver/UpdateFirewallRuleGroupAssociation.hs +280/−0
- gen/Amazonka/Route53Resolver/UpdateResolverConfig.hs +221/−0
- gen/Amazonka/Route53Resolver/UpdateResolverDnssecConfig.hs +207/−0
- gen/Amazonka/Route53Resolver/UpdateResolverEndpoint.hs +190/−0
- gen/Amazonka/Route53Resolver/UpdateResolverRule.hs +192/−0
- gen/Amazonka/Route53Resolver/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/Route53Resolver.hs +1298/−0
- test/Test/Amazonka/Route53Resolver.hs +20/−0
- test/Test/Amazonka/Route53Resolver/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 Route 53 Resolver SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-04-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-route53resolver)+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.Route53Resolver](http://hackage.haskell.org/package/amazonka-route53resolver/docs/Amazonka-Route53Resolver.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-route53resolver` 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-route53resolver.cabal view
@@ -0,0 +1,192 @@+cabal-version: 2.2+name: amazonka-route53resolver+version: 2.0+synopsis: Amazon Route 53 Resolver 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-04-01@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.Route53Resolver.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.Route53Resolver" 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-route53resolver++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.Route53Resolver+ Amazonka.Route53Resolver.AssociateFirewallRuleGroup+ Amazonka.Route53Resolver.AssociateResolverEndpointIpAddress+ Amazonka.Route53Resolver.AssociateResolverQueryLogConfig+ Amazonka.Route53Resolver.AssociateResolverRule+ Amazonka.Route53Resolver.CreateFirewallDomainList+ Amazonka.Route53Resolver.CreateFirewallRule+ Amazonka.Route53Resolver.CreateFirewallRuleGroup+ Amazonka.Route53Resolver.CreateResolverEndpoint+ Amazonka.Route53Resolver.CreateResolverQueryLogConfig+ Amazonka.Route53Resolver.CreateResolverRule+ Amazonka.Route53Resolver.DeleteFirewallDomainList+ Amazonka.Route53Resolver.DeleteFirewallRule+ Amazonka.Route53Resolver.DeleteFirewallRuleGroup+ Amazonka.Route53Resolver.DeleteResolverEndpoint+ Amazonka.Route53Resolver.DeleteResolverQueryLogConfig+ Amazonka.Route53Resolver.DeleteResolverRule+ Amazonka.Route53Resolver.DisassociateFirewallRuleGroup+ Amazonka.Route53Resolver.DisassociateResolverEndpointIpAddress+ Amazonka.Route53Resolver.DisassociateResolverQueryLogConfig+ Amazonka.Route53Resolver.DisassociateResolverRule+ Amazonka.Route53Resolver.GetFirewallConfig+ Amazonka.Route53Resolver.GetFirewallDomainList+ Amazonka.Route53Resolver.GetFirewallRuleGroup+ Amazonka.Route53Resolver.GetFirewallRuleGroupAssociation+ Amazonka.Route53Resolver.GetFirewallRuleGroupPolicy+ Amazonka.Route53Resolver.GetResolverConfig+ Amazonka.Route53Resolver.GetResolverDnssecConfig+ Amazonka.Route53Resolver.GetResolverEndpoint+ Amazonka.Route53Resolver.GetResolverQueryLogConfig+ Amazonka.Route53Resolver.GetResolverQueryLogConfigAssociation+ Amazonka.Route53Resolver.GetResolverQueryLogConfigPolicy+ Amazonka.Route53Resolver.GetResolverRule+ Amazonka.Route53Resolver.GetResolverRuleAssociation+ Amazonka.Route53Resolver.GetResolverRulePolicy+ Amazonka.Route53Resolver.ImportFirewallDomains+ Amazonka.Route53Resolver.Lens+ Amazonka.Route53Resolver.ListFirewallConfigs+ Amazonka.Route53Resolver.ListFirewallDomainLists+ Amazonka.Route53Resolver.ListFirewallDomains+ Amazonka.Route53Resolver.ListFirewallRuleGroupAssociations+ Amazonka.Route53Resolver.ListFirewallRuleGroups+ Amazonka.Route53Resolver.ListFirewallRules+ Amazonka.Route53Resolver.ListResolverConfigs+ Amazonka.Route53Resolver.ListResolverDnssecConfigs+ Amazonka.Route53Resolver.ListResolverEndpointIpAddresses+ Amazonka.Route53Resolver.ListResolverEndpoints+ Amazonka.Route53Resolver.ListResolverQueryLogConfigAssociations+ Amazonka.Route53Resolver.ListResolverQueryLogConfigs+ Amazonka.Route53Resolver.ListResolverRuleAssociations+ Amazonka.Route53Resolver.ListResolverRules+ Amazonka.Route53Resolver.ListTagsForResource+ Amazonka.Route53Resolver.PutFirewallRuleGroupPolicy+ Amazonka.Route53Resolver.PutResolverQueryLogConfigPolicy+ Amazonka.Route53Resolver.PutResolverRulePolicy+ Amazonka.Route53Resolver.TagResource+ Amazonka.Route53Resolver.Types+ Amazonka.Route53Resolver.Types.Action+ Amazonka.Route53Resolver.Types.AutodefinedReverseFlag+ Amazonka.Route53Resolver.Types.BlockOverrideDnsType+ Amazonka.Route53Resolver.Types.BlockResponse+ Amazonka.Route53Resolver.Types.Filter+ Amazonka.Route53Resolver.Types.FirewallConfig+ Amazonka.Route53Resolver.Types.FirewallDomainImportOperation+ Amazonka.Route53Resolver.Types.FirewallDomainList+ Amazonka.Route53Resolver.Types.FirewallDomainListMetadata+ Amazonka.Route53Resolver.Types.FirewallDomainListStatus+ Amazonka.Route53Resolver.Types.FirewallDomainUpdateOperation+ Amazonka.Route53Resolver.Types.FirewallFailOpenStatus+ Amazonka.Route53Resolver.Types.FirewallRule+ Amazonka.Route53Resolver.Types.FirewallRuleGroup+ Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociation+ Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociationStatus+ Amazonka.Route53Resolver.Types.FirewallRuleGroupMetadata+ Amazonka.Route53Resolver.Types.FirewallRuleGroupStatus+ Amazonka.Route53Resolver.Types.IpAddressRequest+ Amazonka.Route53Resolver.Types.IpAddressResponse+ Amazonka.Route53Resolver.Types.IpAddressStatus+ Amazonka.Route53Resolver.Types.IpAddressUpdate+ Amazonka.Route53Resolver.Types.MutationProtectionStatus+ Amazonka.Route53Resolver.Types.ResolverAutodefinedReverseStatus+ Amazonka.Route53Resolver.Types.ResolverConfig+ Amazonka.Route53Resolver.Types.ResolverDnssecConfig+ Amazonka.Route53Resolver.Types.ResolverDNSSECValidationStatus+ Amazonka.Route53Resolver.Types.ResolverEndpoint+ Amazonka.Route53Resolver.Types.ResolverEndpointDirection+ Amazonka.Route53Resolver.Types.ResolverEndpointStatus+ Amazonka.Route53Resolver.Types.ResolverQueryLogConfig+ Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociation+ Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationError+ Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationStatus+ Amazonka.Route53Resolver.Types.ResolverQueryLogConfigStatus+ Amazonka.Route53Resolver.Types.ResolverRule+ Amazonka.Route53Resolver.Types.ResolverRuleAssociation+ Amazonka.Route53Resolver.Types.ResolverRuleAssociationStatus+ Amazonka.Route53Resolver.Types.ResolverRuleConfig+ Amazonka.Route53Resolver.Types.ResolverRuleStatus+ Amazonka.Route53Resolver.Types.RuleTypeOption+ Amazonka.Route53Resolver.Types.ShareStatus+ Amazonka.Route53Resolver.Types.SortOrder+ Amazonka.Route53Resolver.Types.Tag+ Amazonka.Route53Resolver.Types.TargetAddress+ Amazonka.Route53Resolver.Types.Validation+ Amazonka.Route53Resolver.UntagResource+ Amazonka.Route53Resolver.UpdateFirewallConfig+ Amazonka.Route53Resolver.UpdateFirewallDomains+ Amazonka.Route53Resolver.UpdateFirewallRule+ Amazonka.Route53Resolver.UpdateFirewallRuleGroupAssociation+ Amazonka.Route53Resolver.UpdateResolverConfig+ Amazonka.Route53Resolver.UpdateResolverDnssecConfig+ Amazonka.Route53Resolver.UpdateResolverEndpoint+ Amazonka.Route53Resolver.UpdateResolverRule+ Amazonka.Route53Resolver.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-route53resolver-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.Route53Resolver+ Test.Amazonka.Route53Resolver+ Test.Amazonka.Route53Resolver.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-route53resolver+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateFirewallRuleGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateFirewallRuleGroupResponse.proto view
+ fixture/AssociateResolverEndpointIpAddress.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateResolverEndpointIpAddressResponse.proto view
+ fixture/AssociateResolverQueryLogConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateResolverQueryLogConfigResponse.proto view
+ fixture/AssociateResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateResolverRuleResponse.proto view
+ fixture/CreateFirewallDomainList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateFirewallDomainListResponse.proto view
+ fixture/CreateFirewallRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateFirewallRuleGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateFirewallRuleGroupResponse.proto view
+ fixture/CreateFirewallRuleResponse.proto view
+ fixture/CreateResolverEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateResolverEndpointResponse.proto view
+ fixture/CreateResolverQueryLogConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateResolverQueryLogConfigResponse.proto view
+ fixture/CreateResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateResolverRuleResponse.proto view
+ fixture/DeleteFirewallDomainList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteFirewallDomainListResponse.proto view
+ fixture/DeleteFirewallRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteFirewallRuleGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteFirewallRuleGroupResponse.proto view
+ fixture/DeleteFirewallRuleResponse.proto view
+ fixture/DeleteResolverEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteResolverEndpointResponse.proto view
+ fixture/DeleteResolverQueryLogConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteResolverQueryLogConfigResponse.proto view
+ fixture/DeleteResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteResolverRuleResponse.proto view
+ fixture/DisassociateFirewallRuleGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateFirewallRuleGroupResponse.proto view
+ fixture/DisassociateResolverEndpointIpAddress.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateResolverEndpointIpAddressResponse.proto view
+ fixture/DisassociateResolverQueryLogConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateResolverQueryLogConfigResponse.proto view
+ fixture/DisassociateResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateResolverRuleResponse.proto view
+ fixture/GetFirewallConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFirewallConfigResponse.proto view
+ fixture/GetFirewallDomainList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFirewallDomainListResponse.proto view
+ fixture/GetFirewallRuleGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFirewallRuleGroupAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFirewallRuleGroupAssociationResponse.proto view
+ fixture/GetFirewallRuleGroupPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFirewallRuleGroupPolicyResponse.proto view
+ fixture/GetFirewallRuleGroupResponse.proto view
+ fixture/GetResolverConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverConfigResponse.proto view
+ fixture/GetResolverDnssecConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverDnssecConfigResponse.proto view
+ fixture/GetResolverEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverEndpointResponse.proto view
+ fixture/GetResolverQueryLogConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverQueryLogConfigAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverQueryLogConfigAssociationResponse.proto view
+ fixture/GetResolverQueryLogConfigPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverQueryLogConfigPolicyResponse.proto view
+ fixture/GetResolverQueryLogConfigResponse.proto view
+ fixture/GetResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverRuleAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverRuleAssociationResponse.proto view
+ fixture/GetResolverRulePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetResolverRulePolicyResponse.proto view
+ fixture/GetResolverRuleResponse.proto view
+ fixture/ImportFirewallDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ImportFirewallDomainsResponse.proto view
+ fixture/ListFirewallConfigs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallConfigsResponse.proto view
+ fixture/ListFirewallDomainLists.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallDomainListsResponse.proto view
+ fixture/ListFirewallDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallDomainsResponse.proto view
+ fixture/ListFirewallRuleGroupAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallRuleGroupAssociationsResponse.proto view
+ fixture/ListFirewallRuleGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallRuleGroupsResponse.proto view
+ fixture/ListFirewallRules.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListFirewallRulesResponse.proto view
+ fixture/ListResolverConfigs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverConfigsResponse.proto view
+ fixture/ListResolverDnssecConfigs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverDnssecConfigsResponse.proto view
+ fixture/ListResolverEndpointIpAddresses.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverEndpointIpAddressesResponse.proto view
+ fixture/ListResolverEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverEndpointsResponse.proto view
+ fixture/ListResolverQueryLogConfigAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverQueryLogConfigAssociationsResponse.proto view
+ fixture/ListResolverQueryLogConfigs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverQueryLogConfigsResponse.proto view
+ fixture/ListResolverRuleAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverRuleAssociationsResponse.proto view
+ fixture/ListResolverRules.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResolverRulesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-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/PutFirewallRuleGroupPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutFirewallRuleGroupPolicyResponse.proto view
+ fixture/PutResolverQueryLogConfigPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutResolverQueryLogConfigPolicyResponse.proto view
+ fixture/PutResolverRulePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutResolverRulePolicyResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-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/UpdateFirewallConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateFirewallConfigResponse.proto view
+ fixture/UpdateFirewallDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateFirewallDomainsResponse.proto view
+ fixture/UpdateFirewallRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateFirewallRuleGroupAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateFirewallRuleGroupAssociationResponse.proto view
+ fixture/UpdateFirewallRuleResponse.proto view
+ fixture/UpdateResolverConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateResolverConfigResponse.proto view
+ fixture/UpdateResolverDnssecConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateResolverDnssecConfigResponse.proto view
+ fixture/UpdateResolverEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateResolverEndpointResponse.proto view
+ fixture/UpdateResolverRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53resolver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: route53resolver.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateResolverRuleResponse.proto view
+ gen/Amazonka/Route53Resolver.hs view
@@ -0,0 +1,747 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.Route53Resolver+-- 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-04-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- When you create a VPC using Amazon VPC, you automatically get DNS+-- resolution within the VPC from Route 53 Resolver. By default, Resolver+-- answers DNS queries for VPC domain names such as domain names for EC2+-- instances or Elastic Load Balancing load balancers. Resolver performs+-- recursive lookups against public name servers for all other domain+-- names.+--+-- You can also configure DNS resolution between your VPC and your network+-- over a Direct Connect or VPN connection:+--+-- __Forward DNS queries from resolvers on your network to Route 53+-- Resolver__+--+-- DNS resolvers on your network can forward DNS queries to Resolver in a+-- specified VPC. This allows your DNS resolvers to easily resolve domain+-- names for Amazon Web Services resources such as EC2 instances or records+-- in a Route 53 private hosted zone. For more information, see+-- <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-network-to-vpc How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver>+-- in the /Amazon Route 53 Developer Guide/.+--+-- __Conditionally forward queries from a VPC to resolvers on your+-- network__+--+-- You can configure Resolver to forward queries that it receives from EC2+-- instances in your VPCs to DNS resolvers on your network. To forward+-- selected queries, you create Resolver rules that specify the domain+-- names for the DNS queries that you want to forward (such as+-- example.com), and the IP addresses of the DNS resolvers on your network+-- that you want to forward the queries to. If a query matches multiple+-- rules (example.com, acme.example.com), Resolver chooses the rule with+-- the most specific match (acme.example.com) and forwards the query to the+-- IP addresses that you specified in that rule. For more information, see+-- <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-vpc-to-network How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network>+-- in the /Amazon Route 53 Developer Guide/.+--+-- Like Amazon VPC, Resolver is Regional. In each Region where you have+-- VPCs, you can choose whether to forward queries from your VPCs to your+-- network (outbound queries), from your network to your VPCs (inbound+-- queries), or both.+module Amazonka.Route53Resolver+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServiceErrorException+ _InternalServiceErrorException,++ -- ** InvalidNextTokenException+ _InvalidNextTokenException,++ -- ** InvalidParameterException+ _InvalidParameterException,++ -- ** InvalidPolicyDocument+ _InvalidPolicyDocument,++ -- ** InvalidRequestException+ _InvalidRequestException,++ -- ** InvalidTagException+ _InvalidTagException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** ResourceExistsException+ _ResourceExistsException,++ -- ** ResourceInUseException+ _ResourceInUseException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ResourceUnavailableException+ _ResourceUnavailableException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** UnknownResourceException+ _UnknownResourceException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateFirewallRuleGroup+ AssociateFirewallRuleGroup (AssociateFirewallRuleGroup'),+ newAssociateFirewallRuleGroup,+ AssociateFirewallRuleGroupResponse (AssociateFirewallRuleGroupResponse'),+ newAssociateFirewallRuleGroupResponse,++ -- ** AssociateResolverEndpointIpAddress+ AssociateResolverEndpointIpAddress (AssociateResolverEndpointIpAddress'),+ newAssociateResolverEndpointIpAddress,+ AssociateResolverEndpointIpAddressResponse (AssociateResolverEndpointIpAddressResponse'),+ newAssociateResolverEndpointIpAddressResponse,++ -- ** AssociateResolverQueryLogConfig+ AssociateResolverQueryLogConfig (AssociateResolverQueryLogConfig'),+ newAssociateResolverQueryLogConfig,+ AssociateResolverQueryLogConfigResponse (AssociateResolverQueryLogConfigResponse'),+ newAssociateResolverQueryLogConfigResponse,++ -- ** AssociateResolverRule+ AssociateResolverRule (AssociateResolverRule'),+ newAssociateResolverRule,+ AssociateResolverRuleResponse (AssociateResolverRuleResponse'),+ newAssociateResolverRuleResponse,++ -- ** CreateFirewallDomainList+ CreateFirewallDomainList (CreateFirewallDomainList'),+ newCreateFirewallDomainList,+ CreateFirewallDomainListResponse (CreateFirewallDomainListResponse'),+ newCreateFirewallDomainListResponse,++ -- ** CreateFirewallRule+ CreateFirewallRule (CreateFirewallRule'),+ newCreateFirewallRule,+ CreateFirewallRuleResponse (CreateFirewallRuleResponse'),+ newCreateFirewallRuleResponse,++ -- ** CreateFirewallRuleGroup+ CreateFirewallRuleGroup (CreateFirewallRuleGroup'),+ newCreateFirewallRuleGroup,+ CreateFirewallRuleGroupResponse (CreateFirewallRuleGroupResponse'),+ newCreateFirewallRuleGroupResponse,++ -- ** CreateResolverEndpoint+ CreateResolverEndpoint (CreateResolverEndpoint'),+ newCreateResolverEndpoint,+ CreateResolverEndpointResponse (CreateResolverEndpointResponse'),+ newCreateResolverEndpointResponse,++ -- ** CreateResolverQueryLogConfig+ CreateResolverQueryLogConfig (CreateResolverQueryLogConfig'),+ newCreateResolverQueryLogConfig,+ CreateResolverQueryLogConfigResponse (CreateResolverQueryLogConfigResponse'),+ newCreateResolverQueryLogConfigResponse,++ -- ** CreateResolverRule+ CreateResolverRule (CreateResolverRule'),+ newCreateResolverRule,+ CreateResolverRuleResponse (CreateResolverRuleResponse'),+ newCreateResolverRuleResponse,++ -- ** DeleteFirewallDomainList+ DeleteFirewallDomainList (DeleteFirewallDomainList'),+ newDeleteFirewallDomainList,+ DeleteFirewallDomainListResponse (DeleteFirewallDomainListResponse'),+ newDeleteFirewallDomainListResponse,++ -- ** DeleteFirewallRule+ DeleteFirewallRule (DeleteFirewallRule'),+ newDeleteFirewallRule,+ DeleteFirewallRuleResponse (DeleteFirewallRuleResponse'),+ newDeleteFirewallRuleResponse,++ -- ** DeleteFirewallRuleGroup+ DeleteFirewallRuleGroup (DeleteFirewallRuleGroup'),+ newDeleteFirewallRuleGroup,+ DeleteFirewallRuleGroupResponse (DeleteFirewallRuleGroupResponse'),+ newDeleteFirewallRuleGroupResponse,++ -- ** DeleteResolverEndpoint+ DeleteResolverEndpoint (DeleteResolverEndpoint'),+ newDeleteResolverEndpoint,+ DeleteResolverEndpointResponse (DeleteResolverEndpointResponse'),+ newDeleteResolverEndpointResponse,++ -- ** DeleteResolverQueryLogConfig+ DeleteResolverQueryLogConfig (DeleteResolverQueryLogConfig'),+ newDeleteResolverQueryLogConfig,+ DeleteResolverQueryLogConfigResponse (DeleteResolverQueryLogConfigResponse'),+ newDeleteResolverQueryLogConfigResponse,++ -- ** DeleteResolverRule+ DeleteResolverRule (DeleteResolverRule'),+ newDeleteResolverRule,+ DeleteResolverRuleResponse (DeleteResolverRuleResponse'),+ newDeleteResolverRuleResponse,++ -- ** DisassociateFirewallRuleGroup+ DisassociateFirewallRuleGroup (DisassociateFirewallRuleGroup'),+ newDisassociateFirewallRuleGroup,+ DisassociateFirewallRuleGroupResponse (DisassociateFirewallRuleGroupResponse'),+ newDisassociateFirewallRuleGroupResponse,++ -- ** DisassociateResolverEndpointIpAddress+ DisassociateResolverEndpointIpAddress (DisassociateResolverEndpointIpAddress'),+ newDisassociateResolverEndpointIpAddress,+ DisassociateResolverEndpointIpAddressResponse (DisassociateResolverEndpointIpAddressResponse'),+ newDisassociateResolverEndpointIpAddressResponse,++ -- ** DisassociateResolverQueryLogConfig+ DisassociateResolverQueryLogConfig (DisassociateResolverQueryLogConfig'),+ newDisassociateResolverQueryLogConfig,+ DisassociateResolverQueryLogConfigResponse (DisassociateResolverQueryLogConfigResponse'),+ newDisassociateResolverQueryLogConfigResponse,++ -- ** DisassociateResolverRule+ DisassociateResolverRule (DisassociateResolverRule'),+ newDisassociateResolverRule,+ DisassociateResolverRuleResponse (DisassociateResolverRuleResponse'),+ newDisassociateResolverRuleResponse,++ -- ** GetFirewallConfig+ GetFirewallConfig (GetFirewallConfig'),+ newGetFirewallConfig,+ GetFirewallConfigResponse (GetFirewallConfigResponse'),+ newGetFirewallConfigResponse,++ -- ** GetFirewallDomainList+ GetFirewallDomainList (GetFirewallDomainList'),+ newGetFirewallDomainList,+ GetFirewallDomainListResponse (GetFirewallDomainListResponse'),+ newGetFirewallDomainListResponse,++ -- ** GetFirewallRuleGroup+ GetFirewallRuleGroup (GetFirewallRuleGroup'),+ newGetFirewallRuleGroup,+ GetFirewallRuleGroupResponse (GetFirewallRuleGroupResponse'),+ newGetFirewallRuleGroupResponse,++ -- ** GetFirewallRuleGroupAssociation+ GetFirewallRuleGroupAssociation (GetFirewallRuleGroupAssociation'),+ newGetFirewallRuleGroupAssociation,+ GetFirewallRuleGroupAssociationResponse (GetFirewallRuleGroupAssociationResponse'),+ newGetFirewallRuleGroupAssociationResponse,++ -- ** GetFirewallRuleGroupPolicy+ GetFirewallRuleGroupPolicy (GetFirewallRuleGroupPolicy'),+ newGetFirewallRuleGroupPolicy,+ GetFirewallRuleGroupPolicyResponse (GetFirewallRuleGroupPolicyResponse'),+ newGetFirewallRuleGroupPolicyResponse,++ -- ** GetResolverConfig+ GetResolverConfig (GetResolverConfig'),+ newGetResolverConfig,+ GetResolverConfigResponse (GetResolverConfigResponse'),+ newGetResolverConfigResponse,++ -- ** GetResolverDnssecConfig+ GetResolverDnssecConfig (GetResolverDnssecConfig'),+ newGetResolverDnssecConfig,+ GetResolverDnssecConfigResponse (GetResolverDnssecConfigResponse'),+ newGetResolverDnssecConfigResponse,++ -- ** GetResolverEndpoint+ GetResolverEndpoint (GetResolverEndpoint'),+ newGetResolverEndpoint,+ GetResolverEndpointResponse (GetResolverEndpointResponse'),+ newGetResolverEndpointResponse,++ -- ** GetResolverQueryLogConfig+ GetResolverQueryLogConfig (GetResolverQueryLogConfig'),+ newGetResolverQueryLogConfig,+ GetResolverQueryLogConfigResponse (GetResolverQueryLogConfigResponse'),+ newGetResolverQueryLogConfigResponse,++ -- ** GetResolverQueryLogConfigAssociation+ GetResolverQueryLogConfigAssociation (GetResolverQueryLogConfigAssociation'),+ newGetResolverQueryLogConfigAssociation,+ GetResolverQueryLogConfigAssociationResponse (GetResolverQueryLogConfigAssociationResponse'),+ newGetResolverQueryLogConfigAssociationResponse,++ -- ** GetResolverQueryLogConfigPolicy+ GetResolverQueryLogConfigPolicy (GetResolverQueryLogConfigPolicy'),+ newGetResolverQueryLogConfigPolicy,+ GetResolverQueryLogConfigPolicyResponse (GetResolverQueryLogConfigPolicyResponse'),+ newGetResolverQueryLogConfigPolicyResponse,++ -- ** GetResolverRule+ GetResolverRule (GetResolverRule'),+ newGetResolverRule,+ GetResolverRuleResponse (GetResolverRuleResponse'),+ newGetResolverRuleResponse,++ -- ** GetResolverRuleAssociation+ GetResolverRuleAssociation (GetResolverRuleAssociation'),+ newGetResolverRuleAssociation,+ GetResolverRuleAssociationResponse (GetResolverRuleAssociationResponse'),+ newGetResolverRuleAssociationResponse,++ -- ** GetResolverRulePolicy+ GetResolverRulePolicy (GetResolverRulePolicy'),+ newGetResolverRulePolicy,+ GetResolverRulePolicyResponse (GetResolverRulePolicyResponse'),+ newGetResolverRulePolicyResponse,++ -- ** ImportFirewallDomains+ ImportFirewallDomains (ImportFirewallDomains'),+ newImportFirewallDomains,+ ImportFirewallDomainsResponse (ImportFirewallDomainsResponse'),+ newImportFirewallDomainsResponse,++ -- ** ListFirewallConfigs (Paginated)+ ListFirewallConfigs (ListFirewallConfigs'),+ newListFirewallConfigs,+ ListFirewallConfigsResponse (ListFirewallConfigsResponse'),+ newListFirewallConfigsResponse,++ -- ** ListFirewallDomainLists (Paginated)+ ListFirewallDomainLists (ListFirewallDomainLists'),+ newListFirewallDomainLists,+ ListFirewallDomainListsResponse (ListFirewallDomainListsResponse'),+ newListFirewallDomainListsResponse,++ -- ** ListFirewallDomains (Paginated)+ ListFirewallDomains (ListFirewallDomains'),+ newListFirewallDomains,+ ListFirewallDomainsResponse (ListFirewallDomainsResponse'),+ newListFirewallDomainsResponse,++ -- ** ListFirewallRuleGroupAssociations (Paginated)+ ListFirewallRuleGroupAssociations (ListFirewallRuleGroupAssociations'),+ newListFirewallRuleGroupAssociations,+ ListFirewallRuleGroupAssociationsResponse (ListFirewallRuleGroupAssociationsResponse'),+ newListFirewallRuleGroupAssociationsResponse,++ -- ** ListFirewallRuleGroups (Paginated)+ ListFirewallRuleGroups (ListFirewallRuleGroups'),+ newListFirewallRuleGroups,+ ListFirewallRuleGroupsResponse (ListFirewallRuleGroupsResponse'),+ newListFirewallRuleGroupsResponse,++ -- ** ListFirewallRules (Paginated)+ ListFirewallRules (ListFirewallRules'),+ newListFirewallRules,+ ListFirewallRulesResponse (ListFirewallRulesResponse'),+ newListFirewallRulesResponse,++ -- ** ListResolverConfigs (Paginated)+ ListResolverConfigs (ListResolverConfigs'),+ newListResolverConfigs,+ ListResolverConfigsResponse (ListResolverConfigsResponse'),+ newListResolverConfigsResponse,++ -- ** ListResolverDnssecConfigs (Paginated)+ ListResolverDnssecConfigs (ListResolverDnssecConfigs'),+ newListResolverDnssecConfigs,+ ListResolverDnssecConfigsResponse (ListResolverDnssecConfigsResponse'),+ newListResolverDnssecConfigsResponse,++ -- ** ListResolverEndpointIpAddresses (Paginated)+ ListResolverEndpointIpAddresses (ListResolverEndpointIpAddresses'),+ newListResolverEndpointIpAddresses,+ ListResolverEndpointIpAddressesResponse (ListResolverEndpointIpAddressesResponse'),+ newListResolverEndpointIpAddressesResponse,++ -- ** ListResolverEndpoints (Paginated)+ ListResolverEndpoints (ListResolverEndpoints'),+ newListResolverEndpoints,+ ListResolverEndpointsResponse (ListResolverEndpointsResponse'),+ newListResolverEndpointsResponse,++ -- ** ListResolverQueryLogConfigAssociations (Paginated)+ ListResolverQueryLogConfigAssociations (ListResolverQueryLogConfigAssociations'),+ newListResolverQueryLogConfigAssociations,+ ListResolverQueryLogConfigAssociationsResponse (ListResolverQueryLogConfigAssociationsResponse'),+ newListResolverQueryLogConfigAssociationsResponse,++ -- ** ListResolverQueryLogConfigs (Paginated)+ ListResolverQueryLogConfigs (ListResolverQueryLogConfigs'),+ newListResolverQueryLogConfigs,+ ListResolverQueryLogConfigsResponse (ListResolverQueryLogConfigsResponse'),+ newListResolverQueryLogConfigsResponse,++ -- ** ListResolverRuleAssociations (Paginated)+ ListResolverRuleAssociations (ListResolverRuleAssociations'),+ newListResolverRuleAssociations,+ ListResolverRuleAssociationsResponse (ListResolverRuleAssociationsResponse'),+ newListResolverRuleAssociationsResponse,++ -- ** ListResolverRules (Paginated)+ ListResolverRules (ListResolverRules'),+ newListResolverRules,+ ListResolverRulesResponse (ListResolverRulesResponse'),+ newListResolverRulesResponse,++ -- ** ListTagsForResource (Paginated)+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutFirewallRuleGroupPolicy+ PutFirewallRuleGroupPolicy (PutFirewallRuleGroupPolicy'),+ newPutFirewallRuleGroupPolicy,+ PutFirewallRuleGroupPolicyResponse (PutFirewallRuleGroupPolicyResponse'),+ newPutFirewallRuleGroupPolicyResponse,++ -- ** PutResolverQueryLogConfigPolicy+ PutResolverQueryLogConfigPolicy (PutResolverQueryLogConfigPolicy'),+ newPutResolverQueryLogConfigPolicy,+ PutResolverQueryLogConfigPolicyResponse (PutResolverQueryLogConfigPolicyResponse'),+ newPutResolverQueryLogConfigPolicyResponse,++ -- ** PutResolverRulePolicy+ PutResolverRulePolicy (PutResolverRulePolicy'),+ newPutResolverRulePolicy,+ PutResolverRulePolicyResponse (PutResolverRulePolicyResponse'),+ newPutResolverRulePolicyResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateFirewallConfig+ UpdateFirewallConfig (UpdateFirewallConfig'),+ newUpdateFirewallConfig,+ UpdateFirewallConfigResponse (UpdateFirewallConfigResponse'),+ newUpdateFirewallConfigResponse,++ -- ** UpdateFirewallDomains+ UpdateFirewallDomains (UpdateFirewallDomains'),+ newUpdateFirewallDomains,+ UpdateFirewallDomainsResponse (UpdateFirewallDomainsResponse'),+ newUpdateFirewallDomainsResponse,++ -- ** UpdateFirewallRule+ UpdateFirewallRule (UpdateFirewallRule'),+ newUpdateFirewallRule,+ UpdateFirewallRuleResponse (UpdateFirewallRuleResponse'),+ newUpdateFirewallRuleResponse,++ -- ** UpdateFirewallRuleGroupAssociation+ UpdateFirewallRuleGroupAssociation (UpdateFirewallRuleGroupAssociation'),+ newUpdateFirewallRuleGroupAssociation,+ UpdateFirewallRuleGroupAssociationResponse (UpdateFirewallRuleGroupAssociationResponse'),+ newUpdateFirewallRuleGroupAssociationResponse,++ -- ** UpdateResolverConfig+ UpdateResolverConfig (UpdateResolverConfig'),+ newUpdateResolverConfig,+ UpdateResolverConfigResponse (UpdateResolverConfigResponse'),+ newUpdateResolverConfigResponse,++ -- ** UpdateResolverDnssecConfig+ UpdateResolverDnssecConfig (UpdateResolverDnssecConfig'),+ newUpdateResolverDnssecConfig,+ UpdateResolverDnssecConfigResponse (UpdateResolverDnssecConfigResponse'),+ newUpdateResolverDnssecConfigResponse,++ -- ** UpdateResolverEndpoint+ UpdateResolverEndpoint (UpdateResolverEndpoint'),+ newUpdateResolverEndpoint,+ UpdateResolverEndpointResponse (UpdateResolverEndpointResponse'),+ newUpdateResolverEndpointResponse,++ -- ** UpdateResolverRule+ UpdateResolverRule (UpdateResolverRule'),+ newUpdateResolverRule,+ UpdateResolverRuleResponse (UpdateResolverRuleResponse'),+ newUpdateResolverRuleResponse,++ -- * Types++ -- ** Action+ Action (..),++ -- ** AutodefinedReverseFlag+ AutodefinedReverseFlag (..),++ -- ** BlockOverrideDnsType+ BlockOverrideDnsType (..),++ -- ** BlockResponse+ BlockResponse (..),++ -- ** FirewallDomainImportOperation+ FirewallDomainImportOperation (..),++ -- ** FirewallDomainListStatus+ FirewallDomainListStatus (..),++ -- ** FirewallDomainUpdateOperation+ FirewallDomainUpdateOperation (..),++ -- ** FirewallFailOpenStatus+ FirewallFailOpenStatus (..),++ -- ** FirewallRuleGroupAssociationStatus+ FirewallRuleGroupAssociationStatus (..),++ -- ** FirewallRuleGroupStatus+ FirewallRuleGroupStatus (..),++ -- ** IpAddressStatus+ IpAddressStatus (..),++ -- ** MutationProtectionStatus+ MutationProtectionStatus (..),++ -- ** ResolverAutodefinedReverseStatus+ ResolverAutodefinedReverseStatus (..),++ -- ** ResolverDNSSECValidationStatus+ ResolverDNSSECValidationStatus (..),++ -- ** ResolverEndpointDirection+ ResolverEndpointDirection (..),++ -- ** ResolverEndpointStatus+ ResolverEndpointStatus (..),++ -- ** ResolverQueryLogConfigAssociationError+ ResolverQueryLogConfigAssociationError (..),++ -- ** ResolverQueryLogConfigAssociationStatus+ ResolverQueryLogConfigAssociationStatus (..),++ -- ** ResolverQueryLogConfigStatus+ ResolverQueryLogConfigStatus (..),++ -- ** ResolverRuleAssociationStatus+ ResolverRuleAssociationStatus (..),++ -- ** ResolverRuleStatus+ ResolverRuleStatus (..),++ -- ** RuleTypeOption+ RuleTypeOption (..),++ -- ** ShareStatus+ ShareStatus (..),++ -- ** SortOrder+ SortOrder (..),++ -- ** Validation+ Validation (..),++ -- ** Filter+ Filter (Filter'),+ newFilter,++ -- ** FirewallConfig+ FirewallConfig (FirewallConfig'),+ newFirewallConfig,++ -- ** FirewallDomainList+ FirewallDomainList (FirewallDomainList'),+ newFirewallDomainList,++ -- ** FirewallDomainListMetadata+ FirewallDomainListMetadata (FirewallDomainListMetadata'),+ newFirewallDomainListMetadata,++ -- ** FirewallRule+ FirewallRule (FirewallRule'),+ newFirewallRule,++ -- ** FirewallRuleGroup+ FirewallRuleGroup (FirewallRuleGroup'),+ newFirewallRuleGroup,++ -- ** FirewallRuleGroupAssociation+ FirewallRuleGroupAssociation (FirewallRuleGroupAssociation'),+ newFirewallRuleGroupAssociation,++ -- ** FirewallRuleGroupMetadata+ FirewallRuleGroupMetadata (FirewallRuleGroupMetadata'),+ newFirewallRuleGroupMetadata,++ -- ** IpAddressRequest+ IpAddressRequest (IpAddressRequest'),+ newIpAddressRequest,++ -- ** IpAddressResponse+ IpAddressResponse (IpAddressResponse'),+ newIpAddressResponse,++ -- ** IpAddressUpdate+ IpAddressUpdate (IpAddressUpdate'),+ newIpAddressUpdate,++ -- ** ResolverConfig+ ResolverConfig (ResolverConfig'),+ newResolverConfig,++ -- ** ResolverDnssecConfig+ ResolverDnssecConfig (ResolverDnssecConfig'),+ newResolverDnssecConfig,++ -- ** ResolverEndpoint+ ResolverEndpoint (ResolverEndpoint'),+ newResolverEndpoint,++ -- ** ResolverQueryLogConfig+ ResolverQueryLogConfig (ResolverQueryLogConfig'),+ newResolverQueryLogConfig,++ -- ** ResolverQueryLogConfigAssociation+ ResolverQueryLogConfigAssociation (ResolverQueryLogConfigAssociation'),+ newResolverQueryLogConfigAssociation,++ -- ** ResolverRule+ ResolverRule (ResolverRule'),+ newResolverRule,++ -- ** ResolverRuleAssociation+ ResolverRuleAssociation (ResolverRuleAssociation'),+ newResolverRuleAssociation,++ -- ** ResolverRuleConfig+ ResolverRuleConfig (ResolverRuleConfig'),+ newResolverRuleConfig,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TargetAddress+ TargetAddress (TargetAddress'),+ newTargetAddress,+ )+where++import Amazonka.Route53Resolver.AssociateFirewallRuleGroup+import Amazonka.Route53Resolver.AssociateResolverEndpointIpAddress+import Amazonka.Route53Resolver.AssociateResolverQueryLogConfig+import Amazonka.Route53Resolver.AssociateResolverRule+import Amazonka.Route53Resolver.CreateFirewallDomainList+import Amazonka.Route53Resolver.CreateFirewallRule+import Amazonka.Route53Resolver.CreateFirewallRuleGroup+import Amazonka.Route53Resolver.CreateResolverEndpoint+import Amazonka.Route53Resolver.CreateResolverQueryLogConfig+import Amazonka.Route53Resolver.CreateResolverRule+import Amazonka.Route53Resolver.DeleteFirewallDomainList+import Amazonka.Route53Resolver.DeleteFirewallRule+import Amazonka.Route53Resolver.DeleteFirewallRuleGroup+import Amazonka.Route53Resolver.DeleteResolverEndpoint+import Amazonka.Route53Resolver.DeleteResolverQueryLogConfig+import Amazonka.Route53Resolver.DeleteResolverRule+import Amazonka.Route53Resolver.DisassociateFirewallRuleGroup+import Amazonka.Route53Resolver.DisassociateResolverEndpointIpAddress+import Amazonka.Route53Resolver.DisassociateResolverQueryLogConfig+import Amazonka.Route53Resolver.DisassociateResolverRule+import Amazonka.Route53Resolver.GetFirewallConfig+import Amazonka.Route53Resolver.GetFirewallDomainList+import Amazonka.Route53Resolver.GetFirewallRuleGroup+import Amazonka.Route53Resolver.GetFirewallRuleGroupAssociation+import Amazonka.Route53Resolver.GetFirewallRuleGroupPolicy+import Amazonka.Route53Resolver.GetResolverConfig+import Amazonka.Route53Resolver.GetResolverDnssecConfig+import Amazonka.Route53Resolver.GetResolverEndpoint+import Amazonka.Route53Resolver.GetResolverQueryLogConfig+import Amazonka.Route53Resolver.GetResolverQueryLogConfigAssociation+import Amazonka.Route53Resolver.GetResolverQueryLogConfigPolicy+import Amazonka.Route53Resolver.GetResolverRule+import Amazonka.Route53Resolver.GetResolverRuleAssociation+import Amazonka.Route53Resolver.GetResolverRulePolicy+import Amazonka.Route53Resolver.ImportFirewallDomains+import Amazonka.Route53Resolver.Lens+import Amazonka.Route53Resolver.ListFirewallConfigs+import Amazonka.Route53Resolver.ListFirewallDomainLists+import Amazonka.Route53Resolver.ListFirewallDomains+import Amazonka.Route53Resolver.ListFirewallRuleGroupAssociations+import Amazonka.Route53Resolver.ListFirewallRuleGroups+import Amazonka.Route53Resolver.ListFirewallRules+import Amazonka.Route53Resolver.ListResolverConfigs+import Amazonka.Route53Resolver.ListResolverDnssecConfigs+import Amazonka.Route53Resolver.ListResolverEndpointIpAddresses+import Amazonka.Route53Resolver.ListResolverEndpoints+import Amazonka.Route53Resolver.ListResolverQueryLogConfigAssociations+import Amazonka.Route53Resolver.ListResolverQueryLogConfigs+import Amazonka.Route53Resolver.ListResolverRuleAssociations+import Amazonka.Route53Resolver.ListResolverRules+import Amazonka.Route53Resolver.ListTagsForResource+import Amazonka.Route53Resolver.PutFirewallRuleGroupPolicy+import Amazonka.Route53Resolver.PutResolverQueryLogConfigPolicy+import Amazonka.Route53Resolver.PutResolverRulePolicy+import Amazonka.Route53Resolver.TagResource+import Amazonka.Route53Resolver.Types+import Amazonka.Route53Resolver.UntagResource+import Amazonka.Route53Resolver.UpdateFirewallConfig+import Amazonka.Route53Resolver.UpdateFirewallDomains+import Amazonka.Route53Resolver.UpdateFirewallRule+import Amazonka.Route53Resolver.UpdateFirewallRuleGroupAssociation+import Amazonka.Route53Resolver.UpdateResolverConfig+import Amazonka.Route53Resolver.UpdateResolverDnssecConfig+import Amazonka.Route53Resolver.UpdateResolverEndpoint+import Amazonka.Route53Resolver.UpdateResolverRule+import Amazonka.Route53Resolver.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 'Route53Resolver'.++-- $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/Route53Resolver/AssociateFirewallRuleGroup.hs view
@@ -0,0 +1,332 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.AssociateFirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a FirewallRuleGroup with a VPC, to provide DNS filtering for+-- the VPC.+module Amazonka.Route53Resolver.AssociateFirewallRuleGroup+ ( -- * Creating a Request+ AssociateFirewallRuleGroup (..),+ newAssociateFirewallRuleGroup,++ -- * Request Lenses+ associateFirewallRuleGroup_mutationProtection,+ associateFirewallRuleGroup_tags,+ associateFirewallRuleGroup_creatorRequestId,+ associateFirewallRuleGroup_firewallRuleGroupId,+ associateFirewallRuleGroup_vpcId,+ associateFirewallRuleGroup_priority,+ associateFirewallRuleGroup_name,++ -- * Destructuring the Response+ AssociateFirewallRuleGroupResponse (..),+ newAssociateFirewallRuleGroupResponse,++ -- * Response Lenses+ associateFirewallRuleGroupResponse_firewallRuleGroupAssociation,+ associateFirewallRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newAssociateFirewallRuleGroup' smart constructor.+data AssociateFirewallRuleGroup = AssociateFirewallRuleGroup'+ { -- | If enabled, this setting disallows modification or removal of the+ -- association, to help prevent against accidentally altering DNS firewall+ -- protections. When you create the association, the default setting is+ -- @DISABLED@.+ mutationProtection :: Prelude.Maybe MutationProtectionStatus,+ -- | A list of the tag keys and values that you want to associate with the+ -- rule group association.+ tags :: Prelude.Maybe [Tag],+ -- | A unique string that identifies the request and that allows failed+ -- requests to be retried without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text,+ -- | The unique identifier of the firewall rule group.+ firewallRuleGroupId :: Prelude.Text,+ -- | The unique identifier of the VPC that you want to associate with the+ -- rule group.+ vpcId :: Prelude.Text,+ -- | The setting that determines the processing order of the rule group among+ -- the rule groups that you associate with the specified VPC. DNS Firewall+ -- filters VPC traffic starting from the rule group with the lowest numeric+ -- priority setting.+ --+ -- You must specify a unique priority for each rule group that you+ -- associate with a single VPC. To make it easier to insert rule groups+ -- later, leave space between the numbers, for example, use 101, 200, and+ -- so on. You can change the priority setting for a rule group association+ -- after you create it.+ --+ -- The allowed values for @Priority@ are between 100 and 9900.+ priority :: Prelude.Int,+ -- | A name that lets you identify the association, to manage and use it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateFirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mutationProtection', 'associateFirewallRuleGroup_mutationProtection' - If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections. When you create the association, the default setting is+-- @DISABLED@.+--+-- 'tags', 'associateFirewallRuleGroup_tags' - A list of the tag keys and values that you want to associate with the+-- rule group association.+--+-- 'creatorRequestId', 'associateFirewallRuleGroup_creatorRequestId' - A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+--+-- 'firewallRuleGroupId', 'associateFirewallRuleGroup_firewallRuleGroupId' - The unique identifier of the firewall rule group.+--+-- 'vpcId', 'associateFirewallRuleGroup_vpcId' - The unique identifier of the VPC that you want to associate with the+-- rule group.+--+-- 'priority', 'associateFirewallRuleGroup_priority' - The setting that determines the processing order of the rule group among+-- the rule groups that you associate with the specified VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+--+-- You must specify a unique priority for each rule group that you+-- associate with a single VPC. To make it easier to insert rule groups+-- later, leave space between the numbers, for example, use 101, 200, and+-- so on. You can change the priority setting for a rule group association+-- after you create it.+--+-- The allowed values for @Priority@ are between 100 and 9900.+--+-- 'name', 'associateFirewallRuleGroup_name' - A name that lets you identify the association, to manage and use it.+newAssociateFirewallRuleGroup ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ -- | 'vpcId'+ Prelude.Text ->+ -- | 'priority'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ AssociateFirewallRuleGroup+newAssociateFirewallRuleGroup+ pCreatorRequestId_+ pFirewallRuleGroupId_+ pVpcId_+ pPriority_+ pName_ =+ AssociateFirewallRuleGroup'+ { mutationProtection =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ firewallRuleGroupId = pFirewallRuleGroupId_,+ vpcId = pVpcId_,+ priority = pPriority_,+ name = pName_+ }++-- | If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections. When you create the association, the default setting is+-- @DISABLED@.+associateFirewallRuleGroup_mutationProtection :: Lens.Lens' AssociateFirewallRuleGroup (Prelude.Maybe MutationProtectionStatus)+associateFirewallRuleGroup_mutationProtection = Lens.lens (\AssociateFirewallRuleGroup' {mutationProtection} -> mutationProtection) (\s@AssociateFirewallRuleGroup' {} a -> s {mutationProtection = a} :: AssociateFirewallRuleGroup)++-- | A list of the tag keys and values that you want to associate with the+-- rule group association.+associateFirewallRuleGroup_tags :: Lens.Lens' AssociateFirewallRuleGroup (Prelude.Maybe [Tag])+associateFirewallRuleGroup_tags = Lens.lens (\AssociateFirewallRuleGroup' {tags} -> tags) (\s@AssociateFirewallRuleGroup' {} a -> s {tags = a} :: AssociateFirewallRuleGroup) Prelude.. Lens.mapping Lens.coerced++-- | A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+associateFirewallRuleGroup_creatorRequestId :: Lens.Lens' AssociateFirewallRuleGroup Prelude.Text+associateFirewallRuleGroup_creatorRequestId = Lens.lens (\AssociateFirewallRuleGroup' {creatorRequestId} -> creatorRequestId) (\s@AssociateFirewallRuleGroup' {} a -> s {creatorRequestId = a} :: AssociateFirewallRuleGroup)++-- | The unique identifier of the firewall rule group.+associateFirewallRuleGroup_firewallRuleGroupId :: Lens.Lens' AssociateFirewallRuleGroup Prelude.Text+associateFirewallRuleGroup_firewallRuleGroupId = Lens.lens (\AssociateFirewallRuleGroup' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@AssociateFirewallRuleGroup' {} a -> s {firewallRuleGroupId = a} :: AssociateFirewallRuleGroup)++-- | The unique identifier of the VPC that you want to associate with the+-- rule group.+associateFirewallRuleGroup_vpcId :: Lens.Lens' AssociateFirewallRuleGroup Prelude.Text+associateFirewallRuleGroup_vpcId = Lens.lens (\AssociateFirewallRuleGroup' {vpcId} -> vpcId) (\s@AssociateFirewallRuleGroup' {} a -> s {vpcId = a} :: AssociateFirewallRuleGroup)++-- | The setting that determines the processing order of the rule group among+-- the rule groups that you associate with the specified VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+--+-- You must specify a unique priority for each rule group that you+-- associate with a single VPC. To make it easier to insert rule groups+-- later, leave space between the numbers, for example, use 101, 200, and+-- so on. You can change the priority setting for a rule group association+-- after you create it.+--+-- The allowed values for @Priority@ are between 100 and 9900.+associateFirewallRuleGroup_priority :: Lens.Lens' AssociateFirewallRuleGroup Prelude.Int+associateFirewallRuleGroup_priority = Lens.lens (\AssociateFirewallRuleGroup' {priority} -> priority) (\s@AssociateFirewallRuleGroup' {} a -> s {priority = a} :: AssociateFirewallRuleGroup)++-- | A name that lets you identify the association, to manage and use it.+associateFirewallRuleGroup_name :: Lens.Lens' AssociateFirewallRuleGroup Prelude.Text+associateFirewallRuleGroup_name = Lens.lens (\AssociateFirewallRuleGroup' {name} -> name) (\s@AssociateFirewallRuleGroup' {} a -> s {name = a} :: AssociateFirewallRuleGroup)++instance Core.AWSRequest AssociateFirewallRuleGroup where+ type+ AWSResponse AssociateFirewallRuleGroup =+ AssociateFirewallRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateFirewallRuleGroupResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroupAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateFirewallRuleGroup where+ hashWithSalt _salt AssociateFirewallRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` mutationProtection+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` vpcId+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` name++instance Prelude.NFData AssociateFirewallRuleGroup where+ rnf AssociateFirewallRuleGroup' {..} =+ Prelude.rnf mutationProtection+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf vpcId+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders AssociateFirewallRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.AssociateFirewallRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateFirewallRuleGroup where+ toJSON AssociateFirewallRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MutationProtection" Data..=)+ Prelude.<$> mutationProtection,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId),+ Prelude.Just ("VpcId" Data..= vpcId),+ Prelude.Just ("Priority" Data..= priority),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath AssociateFirewallRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery AssociateFirewallRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateFirewallRuleGroupResponse' smart constructor.+data AssociateFirewallRuleGroupResponse = AssociateFirewallRuleGroupResponse'+ { -- | The association that you just created. The association has an ID that+ -- you can use to identify it in other requests, like update and delete.+ firewallRuleGroupAssociation :: Prelude.Maybe FirewallRuleGroupAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateFirewallRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociation', 'associateFirewallRuleGroupResponse_firewallRuleGroupAssociation' - The association that you just created. The association has an ID that+-- you can use to identify it in other requests, like update and delete.+--+-- 'httpStatus', 'associateFirewallRuleGroupResponse_httpStatus' - The response's http status code.+newAssociateFirewallRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateFirewallRuleGroupResponse+newAssociateFirewallRuleGroupResponse pHttpStatus_ =+ AssociateFirewallRuleGroupResponse'+ { firewallRuleGroupAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The association that you just created. The association has an ID that+-- you can use to identify it in other requests, like update and delete.+associateFirewallRuleGroupResponse_firewallRuleGroupAssociation :: Lens.Lens' AssociateFirewallRuleGroupResponse (Prelude.Maybe FirewallRuleGroupAssociation)+associateFirewallRuleGroupResponse_firewallRuleGroupAssociation = Lens.lens (\AssociateFirewallRuleGroupResponse' {firewallRuleGroupAssociation} -> firewallRuleGroupAssociation) (\s@AssociateFirewallRuleGroupResponse' {} a -> s {firewallRuleGroupAssociation = a} :: AssociateFirewallRuleGroupResponse)++-- | The response's http status code.+associateFirewallRuleGroupResponse_httpStatus :: Lens.Lens' AssociateFirewallRuleGroupResponse Prelude.Int+associateFirewallRuleGroupResponse_httpStatus = Lens.lens (\AssociateFirewallRuleGroupResponse' {httpStatus} -> httpStatus) (\s@AssociateFirewallRuleGroupResponse' {} a -> s {httpStatus = a} :: AssociateFirewallRuleGroupResponse)++instance+ Prelude.NFData+ AssociateFirewallRuleGroupResponse+ where+ rnf AssociateFirewallRuleGroupResponse' {..} =+ Prelude.rnf firewallRuleGroupAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/AssociateResolverEndpointIpAddress.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.AssociateResolverEndpointIpAddress+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds IP addresses to an inbound or an outbound Resolver endpoint. If you+-- want to add more than one IP address, submit one+-- @AssociateResolverEndpointIpAddress@ request for each IP address.+--+-- To remove an IP address from an endpoint, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverEndpointIpAddress.html DisassociateResolverEndpointIpAddress>.+module Amazonka.Route53Resolver.AssociateResolverEndpointIpAddress+ ( -- * Creating a Request+ AssociateResolverEndpointIpAddress (..),+ newAssociateResolverEndpointIpAddress,++ -- * Request Lenses+ associateResolverEndpointIpAddress_resolverEndpointId,+ associateResolverEndpointIpAddress_ipAddress,++ -- * Destructuring the Response+ AssociateResolverEndpointIpAddressResponse (..),+ newAssociateResolverEndpointIpAddressResponse,++ -- * Response Lenses+ associateResolverEndpointIpAddressResponse_resolverEndpoint,+ associateResolverEndpointIpAddressResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newAssociateResolverEndpointIpAddress' smart constructor.+data AssociateResolverEndpointIpAddress = AssociateResolverEndpointIpAddress'+ { -- | The ID of the Resolver endpoint that you want to associate IP addresses+ -- with.+ resolverEndpointId :: Prelude.Text,+ -- | Either the IPv4 address that you want to add to a Resolver endpoint or a+ -- subnet ID. If you specify a subnet ID, Resolver chooses an IP address+ -- for you from the available IPs in the specified subnet.+ ipAddress :: IpAddressUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverEndpointIpAddress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpointId', 'associateResolverEndpointIpAddress_resolverEndpointId' - The ID of the Resolver endpoint that you want to associate IP addresses+-- with.+--+-- 'ipAddress', 'associateResolverEndpointIpAddress_ipAddress' - Either the IPv4 address that you want to add to a Resolver endpoint or a+-- subnet ID. If you specify a subnet ID, Resolver chooses an IP address+-- for you from the available IPs in the specified subnet.+newAssociateResolverEndpointIpAddress ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ -- | 'ipAddress'+ IpAddressUpdate ->+ AssociateResolverEndpointIpAddress+newAssociateResolverEndpointIpAddress+ pResolverEndpointId_+ pIpAddress_ =+ AssociateResolverEndpointIpAddress'+ { resolverEndpointId =+ pResolverEndpointId_,+ ipAddress = pIpAddress_+ }++-- | The ID of the Resolver endpoint that you want to associate IP addresses+-- with.+associateResolverEndpointIpAddress_resolverEndpointId :: Lens.Lens' AssociateResolverEndpointIpAddress Prelude.Text+associateResolverEndpointIpAddress_resolverEndpointId = Lens.lens (\AssociateResolverEndpointIpAddress' {resolverEndpointId} -> resolverEndpointId) (\s@AssociateResolverEndpointIpAddress' {} a -> s {resolverEndpointId = a} :: AssociateResolverEndpointIpAddress)++-- | Either the IPv4 address that you want to add to a Resolver endpoint or a+-- subnet ID. If you specify a subnet ID, Resolver chooses an IP address+-- for you from the available IPs in the specified subnet.+associateResolverEndpointIpAddress_ipAddress :: Lens.Lens' AssociateResolverEndpointIpAddress IpAddressUpdate+associateResolverEndpointIpAddress_ipAddress = Lens.lens (\AssociateResolverEndpointIpAddress' {ipAddress} -> ipAddress) (\s@AssociateResolverEndpointIpAddress' {} a -> s {ipAddress = a} :: AssociateResolverEndpointIpAddress)++instance+ Core.AWSRequest+ AssociateResolverEndpointIpAddress+ where+ type+ AWSResponse AssociateResolverEndpointIpAddress =+ AssociateResolverEndpointIpAddressResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateResolverEndpointIpAddressResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ AssociateResolverEndpointIpAddress+ where+ hashWithSalt+ _salt+ AssociateResolverEndpointIpAddress' {..} =+ _salt+ `Prelude.hashWithSalt` resolverEndpointId+ `Prelude.hashWithSalt` ipAddress++instance+ Prelude.NFData+ AssociateResolverEndpointIpAddress+ where+ rnf AssociateResolverEndpointIpAddress' {..} =+ Prelude.rnf resolverEndpointId+ `Prelude.seq` Prelude.rnf ipAddress++instance+ Data.ToHeaders+ AssociateResolverEndpointIpAddress+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.AssociateResolverEndpointIpAddress" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ AssociateResolverEndpointIpAddress+ where+ toJSON AssociateResolverEndpointIpAddress' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId),+ Prelude.Just ("IpAddress" Data..= ipAddress)+ ]+ )++instance+ Data.ToPath+ AssociateResolverEndpointIpAddress+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ AssociateResolverEndpointIpAddress+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateResolverEndpointIpAddressResponse' smart constructor.+data AssociateResolverEndpointIpAddressResponse = AssociateResolverEndpointIpAddressResponse'+ { -- | The response to an @AssociateResolverEndpointIpAddress@ request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverEndpointIpAddressResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'associateResolverEndpointIpAddressResponse_resolverEndpoint' - The response to an @AssociateResolverEndpointIpAddress@ request.+--+-- 'httpStatus', 'associateResolverEndpointIpAddressResponse_httpStatus' - The response's http status code.+newAssociateResolverEndpointIpAddressResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateResolverEndpointIpAddressResponse+newAssociateResolverEndpointIpAddressResponse+ pHttpStatus_ =+ AssociateResolverEndpointIpAddressResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response to an @AssociateResolverEndpointIpAddress@ request.+associateResolverEndpointIpAddressResponse_resolverEndpoint :: Lens.Lens' AssociateResolverEndpointIpAddressResponse (Prelude.Maybe ResolverEndpoint)+associateResolverEndpointIpAddressResponse_resolverEndpoint = Lens.lens (\AssociateResolverEndpointIpAddressResponse' {resolverEndpoint} -> resolverEndpoint) (\s@AssociateResolverEndpointIpAddressResponse' {} a -> s {resolverEndpoint = a} :: AssociateResolverEndpointIpAddressResponse)++-- | The response's http status code.+associateResolverEndpointIpAddressResponse_httpStatus :: Lens.Lens' AssociateResolverEndpointIpAddressResponse Prelude.Int+associateResolverEndpointIpAddressResponse_httpStatus = Lens.lens (\AssociateResolverEndpointIpAddressResponse' {httpStatus} -> httpStatus) (\s@AssociateResolverEndpointIpAddressResponse' {} a -> s {httpStatus = a} :: AssociateResolverEndpointIpAddressResponse)++instance+ Prelude.NFData+ AssociateResolverEndpointIpAddressResponse+ where+ rnf AssociateResolverEndpointIpAddressResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/AssociateResolverQueryLogConfig.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.AssociateResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates an Amazon VPC with a specified query logging configuration.+-- Route 53 Resolver logs DNS queries that originate in all of the Amazon+-- VPCs that are associated with a specified query logging configuration.+-- To associate more than one VPC with a configuration, submit one+-- @AssociateResolverQueryLogConfig@ request for each VPC.+--+-- The VPCs that you associate with a query logging configuration must be+-- in the same Region as the configuration.+--+-- To remove a VPC from a query logging configuration, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html DisassociateResolverQueryLogConfig>.+module Amazonka.Route53Resolver.AssociateResolverQueryLogConfig+ ( -- * Creating a Request+ AssociateResolverQueryLogConfig (..),+ newAssociateResolverQueryLogConfig,++ -- * Request Lenses+ associateResolverQueryLogConfig_resolverQueryLogConfigId,+ associateResolverQueryLogConfig_resourceId,++ -- * Destructuring the Response+ AssociateResolverQueryLogConfigResponse (..),+ newAssociateResolverQueryLogConfigResponse,++ -- * Response Lenses+ associateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation,+ associateResolverQueryLogConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newAssociateResolverQueryLogConfig' smart constructor.+data AssociateResolverQueryLogConfig = AssociateResolverQueryLogConfig'+ { -- | The ID of the query logging configuration that you want to associate a+ -- VPC with.+ resolverQueryLogConfigId :: Prelude.Text,+ -- | The ID of an Amazon VPC that you want this query logging configuration+ -- to log queries for.+ --+ -- The VPCs and the query logging configuration must be in the same Region.+ resourceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigId', 'associateResolverQueryLogConfig_resolverQueryLogConfigId' - The ID of the query logging configuration that you want to associate a+-- VPC with.+--+-- 'resourceId', 'associateResolverQueryLogConfig_resourceId' - The ID of an Amazon VPC that you want this query logging configuration+-- to log queries for.+--+-- The VPCs and the query logging configuration must be in the same Region.+newAssociateResolverQueryLogConfig ::+ -- | 'resolverQueryLogConfigId'+ Prelude.Text ->+ -- | 'resourceId'+ Prelude.Text ->+ AssociateResolverQueryLogConfig+newAssociateResolverQueryLogConfig+ pResolverQueryLogConfigId_+ pResourceId_ =+ AssociateResolverQueryLogConfig'+ { resolverQueryLogConfigId =+ pResolverQueryLogConfigId_,+ resourceId = pResourceId_+ }++-- | The ID of the query logging configuration that you want to associate a+-- VPC with.+associateResolverQueryLogConfig_resolverQueryLogConfigId :: Lens.Lens' AssociateResolverQueryLogConfig Prelude.Text+associateResolverQueryLogConfig_resolverQueryLogConfigId = Lens.lens (\AssociateResolverQueryLogConfig' {resolverQueryLogConfigId} -> resolverQueryLogConfigId) (\s@AssociateResolverQueryLogConfig' {} a -> s {resolverQueryLogConfigId = a} :: AssociateResolverQueryLogConfig)++-- | The ID of an Amazon VPC that you want this query logging configuration+-- to log queries for.+--+-- The VPCs and the query logging configuration must be in the same Region.+associateResolverQueryLogConfig_resourceId :: Lens.Lens' AssociateResolverQueryLogConfig Prelude.Text+associateResolverQueryLogConfig_resourceId = Lens.lens (\AssociateResolverQueryLogConfig' {resourceId} -> resourceId) (\s@AssociateResolverQueryLogConfig' {} a -> s {resourceId = a} :: AssociateResolverQueryLogConfig)++instance+ Core.AWSRequest+ AssociateResolverQueryLogConfig+ where+ type+ AWSResponse AssociateResolverQueryLogConfig =+ AssociateResolverQueryLogConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateResolverQueryLogConfigResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfigAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ AssociateResolverQueryLogConfig+ where+ hashWithSalt+ _salt+ AssociateResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resolverQueryLogConfigId+ `Prelude.hashWithSalt` resourceId++instance+ Prelude.NFData+ AssociateResolverQueryLogConfig+ where+ rnf AssociateResolverQueryLogConfig' {..} =+ Prelude.rnf resolverQueryLogConfigId+ `Prelude.seq` Prelude.rnf resourceId++instance+ Data.ToHeaders+ AssociateResolverQueryLogConfig+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.AssociateResolverQueryLogConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateResolverQueryLogConfig where+ toJSON AssociateResolverQueryLogConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverQueryLogConfigId"+ Data..= resolverQueryLogConfigId+ ),+ Prelude.Just ("ResourceId" Data..= resourceId)+ ]+ )++instance Data.ToPath AssociateResolverQueryLogConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery AssociateResolverQueryLogConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateResolverQueryLogConfigResponse' smart constructor.+data AssociateResolverQueryLogConfigResponse = AssociateResolverQueryLogConfigResponse'+ { -- | A complex type that contains settings for a specified association+ -- between an Amazon VPC and a query logging configuration.+ resolverQueryLogConfigAssociation :: Prelude.Maybe ResolverQueryLogConfigAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverQueryLogConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigAssociation', 'associateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation' - A complex type that contains settings for a specified association+-- between an Amazon VPC and a query logging configuration.+--+-- 'httpStatus', 'associateResolverQueryLogConfigResponse_httpStatus' - The response's http status code.+newAssociateResolverQueryLogConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateResolverQueryLogConfigResponse+newAssociateResolverQueryLogConfigResponse+ pHttpStatus_ =+ AssociateResolverQueryLogConfigResponse'+ { resolverQueryLogConfigAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A complex type that contains settings for a specified association+-- between an Amazon VPC and a query logging configuration.+associateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation :: Lens.Lens' AssociateResolverQueryLogConfigResponse (Prelude.Maybe ResolverQueryLogConfigAssociation)+associateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation = Lens.lens (\AssociateResolverQueryLogConfigResponse' {resolverQueryLogConfigAssociation} -> resolverQueryLogConfigAssociation) (\s@AssociateResolverQueryLogConfigResponse' {} a -> s {resolverQueryLogConfigAssociation = a} :: AssociateResolverQueryLogConfigResponse)++-- | The response's http status code.+associateResolverQueryLogConfigResponse_httpStatus :: Lens.Lens' AssociateResolverQueryLogConfigResponse Prelude.Int+associateResolverQueryLogConfigResponse_httpStatus = Lens.lens (\AssociateResolverQueryLogConfigResponse' {httpStatus} -> httpStatus) (\s@AssociateResolverQueryLogConfigResponse' {} a -> s {httpStatus = a} :: AssociateResolverQueryLogConfigResponse)++instance+ Prelude.NFData+ AssociateResolverQueryLogConfigResponse+ where+ rnf AssociateResolverQueryLogConfigResponse' {..} =+ Prelude.rnf resolverQueryLogConfigAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/AssociateResolverRule.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.AssociateResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a Resolver rule with a VPC. When you associate a rule with a+-- VPC, Resolver forwards all DNS queries for the domain name that is+-- specified in the rule and that originate in the VPC. The queries are+-- forwarded to the IP addresses for the DNS resolvers that are specified+-- in the rule. For more information about rules, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html CreateResolverRule>.+module Amazonka.Route53Resolver.AssociateResolverRule+ ( -- * Creating a Request+ AssociateResolverRule (..),+ newAssociateResolverRule,++ -- * Request Lenses+ associateResolverRule_name,+ associateResolverRule_resolverRuleId,+ associateResolverRule_vPCId,++ -- * Destructuring the Response+ AssociateResolverRuleResponse (..),+ newAssociateResolverRuleResponse,++ -- * Response Lenses+ associateResolverRuleResponse_resolverRuleAssociation,+ associateResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newAssociateResolverRule' smart constructor.+data AssociateResolverRule = AssociateResolverRule'+ { -- | A name for the association that you\'re creating between a Resolver rule+ -- and a VPC.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Resolver rule that you want to associate with the VPC. To+ -- list the existing Resolver rules, use+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>.+ resolverRuleId :: Prelude.Text,+ -- | The ID of the VPC that you want to associate the Resolver rule with.+ vPCId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateResolverRule_name' - A name for the association that you\'re creating between a Resolver rule+-- and a VPC.+--+-- 'resolverRuleId', 'associateResolverRule_resolverRuleId' - The ID of the Resolver rule that you want to associate with the VPC. To+-- list the existing Resolver rules, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>.+--+-- 'vPCId', 'associateResolverRule_vPCId' - The ID of the VPC that you want to associate the Resolver rule with.+newAssociateResolverRule ::+ -- | 'resolverRuleId'+ Prelude.Text ->+ -- | 'vPCId'+ Prelude.Text ->+ AssociateResolverRule+newAssociateResolverRule pResolverRuleId_ pVPCId_ =+ AssociateResolverRule'+ { name = Prelude.Nothing,+ resolverRuleId = pResolverRuleId_,+ vPCId = pVPCId_+ }++-- | A name for the association that you\'re creating between a Resolver rule+-- and a VPC.+associateResolverRule_name :: Lens.Lens' AssociateResolverRule (Prelude.Maybe Prelude.Text)+associateResolverRule_name = Lens.lens (\AssociateResolverRule' {name} -> name) (\s@AssociateResolverRule' {} a -> s {name = a} :: AssociateResolverRule)++-- | The ID of the Resolver rule that you want to associate with the VPC. To+-- list the existing Resolver rules, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>.+associateResolverRule_resolverRuleId :: Lens.Lens' AssociateResolverRule Prelude.Text+associateResolverRule_resolverRuleId = Lens.lens (\AssociateResolverRule' {resolverRuleId} -> resolverRuleId) (\s@AssociateResolverRule' {} a -> s {resolverRuleId = a} :: AssociateResolverRule)++-- | The ID of the VPC that you want to associate the Resolver rule with.+associateResolverRule_vPCId :: Lens.Lens' AssociateResolverRule Prelude.Text+associateResolverRule_vPCId = Lens.lens (\AssociateResolverRule' {vPCId} -> vPCId) (\s@AssociateResolverRule' {} a -> s {vPCId = a} :: AssociateResolverRule)++instance Core.AWSRequest AssociateResolverRule where+ type+ AWSResponse AssociateResolverRule =+ AssociateResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRuleAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateResolverRule where+ hashWithSalt _salt AssociateResolverRule' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resolverRuleId+ `Prelude.hashWithSalt` vPCId++instance Prelude.NFData AssociateResolverRule where+ rnf AssociateResolverRule' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf resolverRuleId+ `Prelude.seq` Prelude.rnf vPCId++instance Data.ToHeaders AssociateResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.AssociateResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateResolverRule where+ toJSON AssociateResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ Prelude.Just+ ("ResolverRuleId" Data..= resolverRuleId),+ Prelude.Just ("VPCId" Data..= vPCId)+ ]+ )++instance Data.ToPath AssociateResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery AssociateResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateResolverRuleResponse' smart constructor.+data AssociateResolverRuleResponse = AssociateResolverRuleResponse'+ { -- | Information about the @AssociateResolverRule@ request, including the+ -- status of the request.+ resolverRuleAssociation :: Prelude.Maybe ResolverRuleAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleAssociation', 'associateResolverRuleResponse_resolverRuleAssociation' - Information about the @AssociateResolverRule@ request, including the+-- status of the request.+--+-- 'httpStatus', 'associateResolverRuleResponse_httpStatus' - The response's http status code.+newAssociateResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateResolverRuleResponse+newAssociateResolverRuleResponse pHttpStatus_ =+ AssociateResolverRuleResponse'+ { resolverRuleAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @AssociateResolverRule@ request, including the+-- status of the request.+associateResolverRuleResponse_resolverRuleAssociation :: Lens.Lens' AssociateResolverRuleResponse (Prelude.Maybe ResolverRuleAssociation)+associateResolverRuleResponse_resolverRuleAssociation = Lens.lens (\AssociateResolverRuleResponse' {resolverRuleAssociation} -> resolverRuleAssociation) (\s@AssociateResolverRuleResponse' {} a -> s {resolverRuleAssociation = a} :: AssociateResolverRuleResponse)++-- | The response's http status code.+associateResolverRuleResponse_httpStatus :: Lens.Lens' AssociateResolverRuleResponse Prelude.Int+associateResolverRuleResponse_httpStatus = Lens.lens (\AssociateResolverRuleResponse' {httpStatus} -> httpStatus) (\s@AssociateResolverRuleResponse' {} a -> s {httpStatus = a} :: AssociateResolverRuleResponse)++instance Prelude.NFData AssociateResolverRuleResponse where+ rnf AssociateResolverRuleResponse' {..} =+ Prelude.rnf resolverRuleAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateFirewallDomainList.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateFirewallDomainList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an empty firewall domain list for use in DNS Firewall rules. You+-- can populate the domains for the new list with a file, using+-- ImportFirewallDomains, or with domain strings, using+-- UpdateFirewallDomains.+module Amazonka.Route53Resolver.CreateFirewallDomainList+ ( -- * Creating a Request+ CreateFirewallDomainList (..),+ newCreateFirewallDomainList,++ -- * Request Lenses+ createFirewallDomainList_tags,+ createFirewallDomainList_creatorRequestId,+ createFirewallDomainList_name,++ -- * Destructuring the Response+ CreateFirewallDomainListResponse (..),+ newCreateFirewallDomainListResponse,++ -- * Response Lenses+ createFirewallDomainListResponse_firewallDomainList,+ createFirewallDomainListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateFirewallDomainList' smart constructor.+data CreateFirewallDomainList = CreateFirewallDomainList'+ { -- | A list of the tag keys and values that you want to associate with the+ -- domain list.+ tags :: Prelude.Maybe [Tag],+ -- | A unique string that identifies the request and that allows you to retry+ -- failed requests without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text,+ -- | A name that lets you identify the domain list to manage and use it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallDomainList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFirewallDomainList_tags' - A list of the tag keys and values that you want to associate with the+-- domain list.+--+-- 'creatorRequestId', 'createFirewallDomainList_creatorRequestId' - A unique string that identifies the request and that allows you to retry+-- failed requests without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+--+-- 'name', 'createFirewallDomainList_name' - A name that lets you identify the domain list to manage and use it.+newCreateFirewallDomainList ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateFirewallDomainList+newCreateFirewallDomainList pCreatorRequestId_ pName_ =+ CreateFirewallDomainList'+ { tags = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ name = pName_+ }++-- | A list of the tag keys and values that you want to associate with the+-- domain list.+createFirewallDomainList_tags :: Lens.Lens' CreateFirewallDomainList (Prelude.Maybe [Tag])+createFirewallDomainList_tags = Lens.lens (\CreateFirewallDomainList' {tags} -> tags) (\s@CreateFirewallDomainList' {} a -> s {tags = a} :: CreateFirewallDomainList) Prelude.. Lens.mapping Lens.coerced++-- | A unique string that identifies the request and that allows you to retry+-- failed requests without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+createFirewallDomainList_creatorRequestId :: Lens.Lens' CreateFirewallDomainList Prelude.Text+createFirewallDomainList_creatorRequestId = Lens.lens (\CreateFirewallDomainList' {creatorRequestId} -> creatorRequestId) (\s@CreateFirewallDomainList' {} a -> s {creatorRequestId = a} :: CreateFirewallDomainList)++-- | A name that lets you identify the domain list to manage and use it.+createFirewallDomainList_name :: Lens.Lens' CreateFirewallDomainList Prelude.Text+createFirewallDomainList_name = Lens.lens (\CreateFirewallDomainList' {name} -> name) (\s@CreateFirewallDomainList' {} a -> s {name = a} :: CreateFirewallDomainList)++instance Core.AWSRequest CreateFirewallDomainList where+ type+ AWSResponse CreateFirewallDomainList =+ CreateFirewallDomainListResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFirewallDomainListResponse'+ Prelude.<$> (x Data..?> "FirewallDomainList")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFirewallDomainList where+ hashWithSalt _salt CreateFirewallDomainList' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateFirewallDomainList where+ rnf CreateFirewallDomainList' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateFirewallDomainList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateFirewallDomainList" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFirewallDomainList where+ toJSON CreateFirewallDomainList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateFirewallDomainList where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFirewallDomainList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFirewallDomainListResponse' smart constructor.+data CreateFirewallDomainListResponse = CreateFirewallDomainListResponse'+ { -- | The domain list that you just created.+ firewallDomainList :: Prelude.Maybe FirewallDomainList,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallDomainListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainList', 'createFirewallDomainListResponse_firewallDomainList' - The domain list that you just created.+--+-- 'httpStatus', 'createFirewallDomainListResponse_httpStatus' - The response's http status code.+newCreateFirewallDomainListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFirewallDomainListResponse+newCreateFirewallDomainListResponse pHttpStatus_ =+ CreateFirewallDomainListResponse'+ { firewallDomainList =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The domain list that you just created.+createFirewallDomainListResponse_firewallDomainList :: Lens.Lens' CreateFirewallDomainListResponse (Prelude.Maybe FirewallDomainList)+createFirewallDomainListResponse_firewallDomainList = Lens.lens (\CreateFirewallDomainListResponse' {firewallDomainList} -> firewallDomainList) (\s@CreateFirewallDomainListResponse' {} a -> s {firewallDomainList = a} :: CreateFirewallDomainListResponse)++-- | The response's http status code.+createFirewallDomainListResponse_httpStatus :: Lens.Lens' CreateFirewallDomainListResponse Prelude.Int+createFirewallDomainListResponse_httpStatus = Lens.lens (\CreateFirewallDomainListResponse' {httpStatus} -> httpStatus) (\s@CreateFirewallDomainListResponse' {} a -> s {httpStatus = a} :: CreateFirewallDomainListResponse)++instance+ Prelude.NFData+ CreateFirewallDomainListResponse+ where+ rnf CreateFirewallDomainListResponse' {..} =+ Prelude.rnf firewallDomainList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateFirewallRule.hs view
@@ -0,0 +1,448 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateFirewallRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a single DNS Firewall rule in the specified rule group, using+-- the specified domain list.+module Amazonka.Route53Resolver.CreateFirewallRule+ ( -- * Creating a Request+ CreateFirewallRule (..),+ newCreateFirewallRule,++ -- * Request Lenses+ createFirewallRule_blockOverrideDnsType,+ createFirewallRule_blockOverrideDomain,+ createFirewallRule_blockOverrideTtl,+ createFirewallRule_blockResponse,+ createFirewallRule_creatorRequestId,+ createFirewallRule_firewallRuleGroupId,+ createFirewallRule_firewallDomainListId,+ createFirewallRule_priority,+ createFirewallRule_action,+ createFirewallRule_name,++ -- * Destructuring the Response+ CreateFirewallRuleResponse (..),+ newCreateFirewallRuleResponse,++ -- * Response Lenses+ createFirewallRuleResponse_firewallRule,+ createFirewallRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateFirewallRule' smart constructor.+data CreateFirewallRule = CreateFirewallRule'+ { -- | The DNS record\'s type. This determines the format of the record value+ -- that you provided in @BlockOverrideDomain@. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ --+ -- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+ blockOverrideDnsType :: Prelude.Maybe BlockOverrideDnsType,+ -- | The custom DNS record to send back in response to the query. Used for+ -- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ --+ -- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+ blockOverrideDomain :: Prelude.Maybe Prelude.Text,+ -- | The recommended amount of time, in seconds, for the DNS resolver or web+ -- browser to cache the provided override record. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ --+ -- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+ blockOverrideTtl :: Prelude.Maybe Prelude.Natural,+ -- | The way that you want DNS Firewall to block the request, used with the+ -- rule action setting @BLOCK@.+ --+ -- - @NODATA@ - Respond indicating that the query was successful, but no+ -- response is available for it.+ --+ -- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+ -- query doesn\'t exist.+ --+ -- - @OVERRIDE@ - Provide a custom override in the response. This option+ -- requires custom handling details in the rule\'s @BlockOverride*@+ -- settings.+ --+ -- This setting is required if the rule action setting is @BLOCK@.+ blockResponse :: Prelude.Maybe BlockResponse,+ -- | A unique string that identifies the request and that allows you to retry+ -- failed requests without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text,+ -- | The unique identifier of the firewall rule group where you want to+ -- create the rule.+ firewallRuleGroupId :: Prelude.Text,+ -- | The ID of the domain list that you want to use in the rule.+ firewallDomainListId :: Prelude.Text,+ -- | The setting that determines the processing order of the rule in the rule+ -- group. DNS Firewall processes the rules in a rule group by order of+ -- priority, starting from the lowest setting.+ --+ -- You must specify a unique priority for each rule in a rule group. To+ -- make it easier to insert rules later, leave space between the numbers,+ -- for example, use 100, 200, and so on. You can change the priority+ -- setting for the rules in a rule group at any time.+ priority :: Prelude.Int,+ -- | The action that DNS Firewall should take on a DNS query when it matches+ -- one of the domains in the rule\'s domain list:+ --+ -- - @ALLOW@ - Permit the request to go through.+ --+ -- - @ALERT@ - Permit the request and send metrics and logs to Cloud+ -- Watch.+ --+ -- - @BLOCK@ - Disallow the request. This option requires additional+ -- details in the rule\'s @BlockResponse@.+ action :: Action,+ -- | A name that lets you identify the rule in the rule group.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blockOverrideDnsType', 'createFirewallRule_blockOverrideDnsType' - The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+--+-- 'blockOverrideDomain', 'createFirewallRule_blockOverrideDomain' - The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+--+-- 'blockOverrideTtl', 'createFirewallRule_blockOverrideTtl' - The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+--+-- 'blockResponse', 'createFirewallRule_blockResponse' - The way that you want DNS Firewall to block the request, used with the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+--+-- This setting is required if the rule action setting is @BLOCK@.+--+-- 'creatorRequestId', 'createFirewallRule_creatorRequestId' - A unique string that identifies the request and that allows you to retry+-- failed requests without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+--+-- 'firewallRuleGroupId', 'createFirewallRule_firewallRuleGroupId' - The unique identifier of the firewall rule group where you want to+-- create the rule.+--+-- 'firewallDomainListId', 'createFirewallRule_firewallDomainListId' - The ID of the domain list that you want to use in the rule.+--+-- 'priority', 'createFirewallRule_priority' - The setting that determines the processing order of the rule in the rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+--+-- You must specify a unique priority for each rule in a rule group. To+-- make it easier to insert rules later, leave space between the numbers,+-- for example, use 100, 200, and so on. You can change the priority+-- setting for the rules in a rule group at any time.+--+-- 'action', 'createFirewallRule_action' - The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request and send metrics and logs to Cloud+-- Watch.+--+-- - @BLOCK@ - Disallow the request. This option requires additional+-- details in the rule\'s @BlockResponse@.+--+-- 'name', 'createFirewallRule_name' - A name that lets you identify the rule in the rule group.+newCreateFirewallRule ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ -- | 'firewallDomainListId'+ Prelude.Text ->+ -- | 'priority'+ Prelude.Int ->+ -- | 'action'+ Action ->+ -- | 'name'+ Prelude.Text ->+ CreateFirewallRule+newCreateFirewallRule+ pCreatorRequestId_+ pFirewallRuleGroupId_+ pFirewallDomainListId_+ pPriority_+ pAction_+ pName_ =+ CreateFirewallRule'+ { blockOverrideDnsType =+ Prelude.Nothing,+ blockOverrideDomain = Prelude.Nothing,+ blockOverrideTtl = Prelude.Nothing,+ blockResponse = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ firewallRuleGroupId = pFirewallRuleGroupId_,+ firewallDomainListId = pFirewallDomainListId_,+ priority = pPriority_,+ action = pAction_,+ name = pName_+ }++-- | The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+createFirewallRule_blockOverrideDnsType :: Lens.Lens' CreateFirewallRule (Prelude.Maybe BlockOverrideDnsType)+createFirewallRule_blockOverrideDnsType = Lens.lens (\CreateFirewallRule' {blockOverrideDnsType} -> blockOverrideDnsType) (\s@CreateFirewallRule' {} a -> s {blockOverrideDnsType = a} :: CreateFirewallRule)++-- | The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+createFirewallRule_blockOverrideDomain :: Lens.Lens' CreateFirewallRule (Prelude.Maybe Prelude.Text)+createFirewallRule_blockOverrideDomain = Lens.lens (\CreateFirewallRule' {blockOverrideDomain} -> blockOverrideDomain) (\s@CreateFirewallRule' {} a -> s {blockOverrideDomain = a} :: CreateFirewallRule)++-- | The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- This setting is required if the @BlockResponse@ setting is @OVERRIDE@.+createFirewallRule_blockOverrideTtl :: Lens.Lens' CreateFirewallRule (Prelude.Maybe Prelude.Natural)+createFirewallRule_blockOverrideTtl = Lens.lens (\CreateFirewallRule' {blockOverrideTtl} -> blockOverrideTtl) (\s@CreateFirewallRule' {} a -> s {blockOverrideTtl = a} :: CreateFirewallRule)++-- | The way that you want DNS Firewall to block the request, used with the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+--+-- This setting is required if the rule action setting is @BLOCK@.+createFirewallRule_blockResponse :: Lens.Lens' CreateFirewallRule (Prelude.Maybe BlockResponse)+createFirewallRule_blockResponse = Lens.lens (\CreateFirewallRule' {blockResponse} -> blockResponse) (\s@CreateFirewallRule' {} a -> s {blockResponse = a} :: CreateFirewallRule)++-- | A unique string that identifies the request and that allows you to retry+-- failed requests without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+createFirewallRule_creatorRequestId :: Lens.Lens' CreateFirewallRule Prelude.Text+createFirewallRule_creatorRequestId = Lens.lens (\CreateFirewallRule' {creatorRequestId} -> creatorRequestId) (\s@CreateFirewallRule' {} a -> s {creatorRequestId = a} :: CreateFirewallRule)++-- | The unique identifier of the firewall rule group where you want to+-- create the rule.+createFirewallRule_firewallRuleGroupId :: Lens.Lens' CreateFirewallRule Prelude.Text+createFirewallRule_firewallRuleGroupId = Lens.lens (\CreateFirewallRule' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@CreateFirewallRule' {} a -> s {firewallRuleGroupId = a} :: CreateFirewallRule)++-- | The ID of the domain list that you want to use in the rule.+createFirewallRule_firewallDomainListId :: Lens.Lens' CreateFirewallRule Prelude.Text+createFirewallRule_firewallDomainListId = Lens.lens (\CreateFirewallRule' {firewallDomainListId} -> firewallDomainListId) (\s@CreateFirewallRule' {} a -> s {firewallDomainListId = a} :: CreateFirewallRule)++-- | The setting that determines the processing order of the rule in the rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+--+-- You must specify a unique priority for each rule in a rule group. To+-- make it easier to insert rules later, leave space between the numbers,+-- for example, use 100, 200, and so on. You can change the priority+-- setting for the rules in a rule group at any time.+createFirewallRule_priority :: Lens.Lens' CreateFirewallRule Prelude.Int+createFirewallRule_priority = Lens.lens (\CreateFirewallRule' {priority} -> priority) (\s@CreateFirewallRule' {} a -> s {priority = a} :: CreateFirewallRule)++-- | The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request and send metrics and logs to Cloud+-- Watch.+--+-- - @BLOCK@ - Disallow the request. This option requires additional+-- details in the rule\'s @BlockResponse@.+createFirewallRule_action :: Lens.Lens' CreateFirewallRule Action+createFirewallRule_action = Lens.lens (\CreateFirewallRule' {action} -> action) (\s@CreateFirewallRule' {} a -> s {action = a} :: CreateFirewallRule)++-- | A name that lets you identify the rule in the rule group.+createFirewallRule_name :: Lens.Lens' CreateFirewallRule Prelude.Text+createFirewallRule_name = Lens.lens (\CreateFirewallRule' {name} -> name) (\s@CreateFirewallRule' {} a -> s {name = a} :: CreateFirewallRule)++instance Core.AWSRequest CreateFirewallRule where+ type+ AWSResponse CreateFirewallRule =+ CreateFirewallRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFirewallRuleResponse'+ Prelude.<$> (x Data..?> "FirewallRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFirewallRule where+ hashWithSalt _salt CreateFirewallRule' {..} =+ _salt+ `Prelude.hashWithSalt` blockOverrideDnsType+ `Prelude.hashWithSalt` blockOverrideDomain+ `Prelude.hashWithSalt` blockOverrideTtl+ `Prelude.hashWithSalt` blockResponse+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` firewallDomainListId+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateFirewallRule where+ rnf CreateFirewallRule' {..} =+ Prelude.rnf blockOverrideDnsType+ `Prelude.seq` Prelude.rnf blockOverrideDomain+ `Prelude.seq` Prelude.rnf blockOverrideTtl+ `Prelude.seq` Prelude.rnf blockResponse+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf firewallDomainListId+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf action+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateFirewallRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateFirewallRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFirewallRule where+ toJSON CreateFirewallRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BlockOverrideDnsType" Data..=)+ Prelude.<$> blockOverrideDnsType,+ ("BlockOverrideDomain" Data..=)+ Prelude.<$> blockOverrideDomain,+ ("BlockOverrideTtl" Data..=)+ Prelude.<$> blockOverrideTtl,+ ("BlockResponse" Data..=) Prelude.<$> blockResponse,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId),+ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ ),+ Prelude.Just ("Priority" Data..= priority),+ Prelude.Just ("Action" Data..= action),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateFirewallRule where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFirewallRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFirewallRuleResponse' smart constructor.+data CreateFirewallRuleResponse = CreateFirewallRuleResponse'+ { -- | The firewall rule that you just created.+ firewallRule :: Prelude.Maybe FirewallRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRule', 'createFirewallRuleResponse_firewallRule' - The firewall rule that you just created.+--+-- 'httpStatus', 'createFirewallRuleResponse_httpStatus' - The response's http status code.+newCreateFirewallRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFirewallRuleResponse+newCreateFirewallRuleResponse pHttpStatus_ =+ CreateFirewallRuleResponse'+ { firewallRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The firewall rule that you just created.+createFirewallRuleResponse_firewallRule :: Lens.Lens' CreateFirewallRuleResponse (Prelude.Maybe FirewallRule)+createFirewallRuleResponse_firewallRule = Lens.lens (\CreateFirewallRuleResponse' {firewallRule} -> firewallRule) (\s@CreateFirewallRuleResponse' {} a -> s {firewallRule = a} :: CreateFirewallRuleResponse)++-- | The response's http status code.+createFirewallRuleResponse_httpStatus :: Lens.Lens' CreateFirewallRuleResponse Prelude.Int+createFirewallRuleResponse_httpStatus = Lens.lens (\CreateFirewallRuleResponse' {httpStatus} -> httpStatus) (\s@CreateFirewallRuleResponse' {} a -> s {httpStatus = a} :: CreateFirewallRuleResponse)++instance Prelude.NFData CreateFirewallRuleResponse where+ rnf CreateFirewallRuleResponse' {..} =+ Prelude.rnf firewallRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateFirewallRuleGroup.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateFirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an empty DNS Firewall rule group for filtering DNS network+-- traffic in a VPC. You can add rules to the new rule group by calling+-- CreateFirewallRule.+module Amazonka.Route53Resolver.CreateFirewallRuleGroup+ ( -- * Creating a Request+ CreateFirewallRuleGroup (..),+ newCreateFirewallRuleGroup,++ -- * Request Lenses+ createFirewallRuleGroup_tags,+ createFirewallRuleGroup_creatorRequestId,+ createFirewallRuleGroup_name,++ -- * Destructuring the Response+ CreateFirewallRuleGroupResponse (..),+ newCreateFirewallRuleGroupResponse,++ -- * Response Lenses+ createFirewallRuleGroupResponse_firewallRuleGroup,+ createFirewallRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateFirewallRuleGroup' smart constructor.+data CreateFirewallRuleGroup = CreateFirewallRuleGroup'+ { -- | A list of the tag keys and values that you want to associate with the+ -- rule group.+ tags :: Prelude.Maybe [Tag],+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Text,+ -- | A name that lets you identify the rule group, to manage and use it.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFirewallRuleGroup_tags' - A list of the tag keys and values that you want to associate with the+-- rule group.+--+-- 'creatorRequestId', 'createFirewallRuleGroup_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'name', 'createFirewallRuleGroup_name' - A name that lets you identify the rule group, to manage and use it.+newCreateFirewallRuleGroup ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateFirewallRuleGroup+newCreateFirewallRuleGroup pCreatorRequestId_ pName_ =+ CreateFirewallRuleGroup'+ { tags = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ name = pName_+ }++-- | A list of the tag keys and values that you want to associate with the+-- rule group.+createFirewallRuleGroup_tags :: Lens.Lens' CreateFirewallRuleGroup (Prelude.Maybe [Tag])+createFirewallRuleGroup_tags = Lens.lens (\CreateFirewallRuleGroup' {tags} -> tags) (\s@CreateFirewallRuleGroup' {} a -> s {tags = a} :: CreateFirewallRuleGroup) Prelude.. Lens.mapping Lens.coerced++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+createFirewallRuleGroup_creatorRequestId :: Lens.Lens' CreateFirewallRuleGroup Prelude.Text+createFirewallRuleGroup_creatorRequestId = Lens.lens (\CreateFirewallRuleGroup' {creatorRequestId} -> creatorRequestId) (\s@CreateFirewallRuleGroup' {} a -> s {creatorRequestId = a} :: CreateFirewallRuleGroup)++-- | A name that lets you identify the rule group, to manage and use it.+createFirewallRuleGroup_name :: Lens.Lens' CreateFirewallRuleGroup Prelude.Text+createFirewallRuleGroup_name = Lens.lens (\CreateFirewallRuleGroup' {name} -> name) (\s@CreateFirewallRuleGroup' {} a -> s {name = a} :: CreateFirewallRuleGroup)++instance Core.AWSRequest CreateFirewallRuleGroup where+ type+ AWSResponse CreateFirewallRuleGroup =+ CreateFirewallRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFirewallRuleGroupResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFirewallRuleGroup where+ hashWithSalt _salt CreateFirewallRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateFirewallRuleGroup where+ rnf CreateFirewallRuleGroup' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateFirewallRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateFirewallRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFirewallRuleGroup where+ toJSON CreateFirewallRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateFirewallRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFirewallRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFirewallRuleGroupResponse' smart constructor.+data CreateFirewallRuleGroupResponse = CreateFirewallRuleGroupResponse'+ { -- | A collection of rules used to filter DNS network traffic.+ firewallRuleGroup :: Prelude.Maybe FirewallRuleGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFirewallRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroup', 'createFirewallRuleGroupResponse_firewallRuleGroup' - A collection of rules used to filter DNS network traffic.+--+-- 'httpStatus', 'createFirewallRuleGroupResponse_httpStatus' - The response's http status code.+newCreateFirewallRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFirewallRuleGroupResponse+newCreateFirewallRuleGroupResponse pHttpStatus_ =+ CreateFirewallRuleGroupResponse'+ { firewallRuleGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of rules used to filter DNS network traffic.+createFirewallRuleGroupResponse_firewallRuleGroup :: Lens.Lens' CreateFirewallRuleGroupResponse (Prelude.Maybe FirewallRuleGroup)+createFirewallRuleGroupResponse_firewallRuleGroup = Lens.lens (\CreateFirewallRuleGroupResponse' {firewallRuleGroup} -> firewallRuleGroup) (\s@CreateFirewallRuleGroupResponse' {} a -> s {firewallRuleGroup = a} :: CreateFirewallRuleGroupResponse)++-- | The response's http status code.+createFirewallRuleGroupResponse_httpStatus :: Lens.Lens' CreateFirewallRuleGroupResponse Prelude.Int+createFirewallRuleGroupResponse_httpStatus = Lens.lens (\CreateFirewallRuleGroupResponse' {httpStatus} -> httpStatus) (\s@CreateFirewallRuleGroupResponse' {} a -> s {httpStatus = a} :: CreateFirewallRuleGroupResponse)++instance+ Prelude.NFData+ CreateFirewallRuleGroupResponse+ where+ rnf CreateFirewallRuleGroupResponse' {..} =+ Prelude.rnf firewallRuleGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateResolverEndpoint.hs view
@@ -0,0 +1,317 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateResolverEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Resolver endpoint. There are two types of Resolver endpoints,+-- inbound and outbound:+--+-- - An /inbound Resolver endpoint/ forwards DNS queries to the DNS+-- service for a VPC from your network.+--+-- - An /outbound Resolver endpoint/ forwards DNS queries from the DNS+-- service for a VPC to your network.+module Amazonka.Route53Resolver.CreateResolverEndpoint+ ( -- * Creating a Request+ CreateResolverEndpoint (..),+ newCreateResolverEndpoint,++ -- * Request Lenses+ createResolverEndpoint_name,+ createResolverEndpoint_tags,+ createResolverEndpoint_creatorRequestId,+ createResolverEndpoint_securityGroupIds,+ createResolverEndpoint_direction,+ createResolverEndpoint_ipAddresses,++ -- * Destructuring the Response+ CreateResolverEndpointResponse (..),+ newCreateResolverEndpointResponse,++ -- * Response Lenses+ createResolverEndpointResponse_resolverEndpoint,+ createResolverEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateResolverEndpoint' smart constructor.+data CreateResolverEndpoint = CreateResolverEndpoint'+ { -- | A friendly name that lets you easily find a configuration in the+ -- Resolver dashboard in the Route 53 console.+ name :: Prelude.Maybe Prelude.Text,+ -- | A list of the tag keys and values that you want to associate with the+ -- endpoint.+ tags :: Prelude.Maybe [Tag],+ -- | A unique string that identifies the request and that allows failed+ -- requests to be retried without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text,+ -- | The ID of one or more security groups that you want to use to control+ -- access to this VPC. The security group that you specify must include one+ -- or more inbound rules (for inbound Resolver endpoints) or outbound rules+ -- (for outbound Resolver endpoints). Inbound and outbound rules must allow+ -- TCP and UDP access. For inbound access, open port 53. For outbound+ -- access, open the port that you\'re using for DNS queries on your+ -- network.+ securityGroupIds :: [Prelude.Text],+ -- | Specify the applicable value:+ --+ -- - @INBOUND@: Resolver forwards DNS queries to the DNS service for a+ -- VPC from your network+ --+ -- - @OUTBOUND@: Resolver forwards DNS queries from the DNS service for a+ -- VPC to your network+ direction :: ResolverEndpointDirection,+ -- | The subnets and IP addresses in your VPC that DNS queries originate from+ -- (for outbound endpoints) or that you forward DNS queries to (for inbound+ -- endpoints). The subnet ID uniquely identifies a VPC.+ ipAddresses :: Prelude.NonEmpty IpAddressRequest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createResolverEndpoint_name' - A friendly name that lets you easily find a configuration in the+-- Resolver dashboard in the Route 53 console.+--+-- 'tags', 'createResolverEndpoint_tags' - A list of the tag keys and values that you want to associate with the+-- endpoint.+--+-- 'creatorRequestId', 'createResolverEndpoint_creatorRequestId' - A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+--+-- 'securityGroupIds', 'createResolverEndpoint_securityGroupIds' - The ID of one or more security groups that you want to use to control+-- access to this VPC. The security group that you specify must include one+-- or more inbound rules (for inbound Resolver endpoints) or outbound rules+-- (for outbound Resolver endpoints). Inbound and outbound rules must allow+-- TCP and UDP access. For inbound access, open port 53. For outbound+-- access, open the port that you\'re using for DNS queries on your+-- network.+--+-- 'direction', 'createResolverEndpoint_direction' - Specify the applicable value:+--+-- - @INBOUND@: Resolver forwards DNS queries to the DNS service for a+-- VPC from your network+--+-- - @OUTBOUND@: Resolver forwards DNS queries from the DNS service for a+-- VPC to your network+--+-- 'ipAddresses', 'createResolverEndpoint_ipAddresses' - The subnets and IP addresses in your VPC that DNS queries originate from+-- (for outbound endpoints) or that you forward DNS queries to (for inbound+-- endpoints). The subnet ID uniquely identifies a VPC.+newCreateResolverEndpoint ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'direction'+ ResolverEndpointDirection ->+ -- | 'ipAddresses'+ Prelude.NonEmpty IpAddressRequest ->+ CreateResolverEndpoint+newCreateResolverEndpoint+ pCreatorRequestId_+ pDirection_+ pIpAddresses_ =+ CreateResolverEndpoint'+ { name = Prelude.Nothing,+ tags = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ securityGroupIds = Prelude.mempty,+ direction = pDirection_,+ ipAddresses = Lens.coerced Lens.# pIpAddresses_+ }++-- | A friendly name that lets you easily find a configuration in the+-- Resolver dashboard in the Route 53 console.+createResolverEndpoint_name :: Lens.Lens' CreateResolverEndpoint (Prelude.Maybe Prelude.Text)+createResolverEndpoint_name = Lens.lens (\CreateResolverEndpoint' {name} -> name) (\s@CreateResolverEndpoint' {} a -> s {name = a} :: CreateResolverEndpoint)++-- | A list of the tag keys and values that you want to associate with the+-- endpoint.+createResolverEndpoint_tags :: Lens.Lens' CreateResolverEndpoint (Prelude.Maybe [Tag])+createResolverEndpoint_tags = Lens.lens (\CreateResolverEndpoint' {tags} -> tags) (\s@CreateResolverEndpoint' {} a -> s {tags = a} :: CreateResolverEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+createResolverEndpoint_creatorRequestId :: Lens.Lens' CreateResolverEndpoint Prelude.Text+createResolverEndpoint_creatorRequestId = Lens.lens (\CreateResolverEndpoint' {creatorRequestId} -> creatorRequestId) (\s@CreateResolverEndpoint' {} a -> s {creatorRequestId = a} :: CreateResolverEndpoint)++-- | The ID of one or more security groups that you want to use to control+-- access to this VPC. The security group that you specify must include one+-- or more inbound rules (for inbound Resolver endpoints) or outbound rules+-- (for outbound Resolver endpoints). Inbound and outbound rules must allow+-- TCP and UDP access. For inbound access, open port 53. For outbound+-- access, open the port that you\'re using for DNS queries on your+-- network.+createResolverEndpoint_securityGroupIds :: Lens.Lens' CreateResolverEndpoint [Prelude.Text]+createResolverEndpoint_securityGroupIds = Lens.lens (\CreateResolverEndpoint' {securityGroupIds} -> securityGroupIds) (\s@CreateResolverEndpoint' {} a -> s {securityGroupIds = a} :: CreateResolverEndpoint) Prelude.. Lens.coerced++-- | Specify the applicable value:+--+-- - @INBOUND@: Resolver forwards DNS queries to the DNS service for a+-- VPC from your network+--+-- - @OUTBOUND@: Resolver forwards DNS queries from the DNS service for a+-- VPC to your network+createResolverEndpoint_direction :: Lens.Lens' CreateResolverEndpoint ResolverEndpointDirection+createResolverEndpoint_direction = Lens.lens (\CreateResolverEndpoint' {direction} -> direction) (\s@CreateResolverEndpoint' {} a -> s {direction = a} :: CreateResolverEndpoint)++-- | The subnets and IP addresses in your VPC that DNS queries originate from+-- (for outbound endpoints) or that you forward DNS queries to (for inbound+-- endpoints). The subnet ID uniquely identifies a VPC.+createResolverEndpoint_ipAddresses :: Lens.Lens' CreateResolverEndpoint (Prelude.NonEmpty IpAddressRequest)+createResolverEndpoint_ipAddresses = Lens.lens (\CreateResolverEndpoint' {ipAddresses} -> ipAddresses) (\s@CreateResolverEndpoint' {} a -> s {ipAddresses = a} :: CreateResolverEndpoint) Prelude.. Lens.coerced++instance Core.AWSRequest CreateResolverEndpoint where+ type+ AWSResponse CreateResolverEndpoint =+ CreateResolverEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateResolverEndpointResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateResolverEndpoint where+ hashWithSalt _salt CreateResolverEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` direction+ `Prelude.hashWithSalt` ipAddresses++instance Prelude.NFData CreateResolverEndpoint where+ rnf CreateResolverEndpoint' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf direction+ `Prelude.seq` Prelude.rnf ipAddresses++instance Data.ToHeaders CreateResolverEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateResolverEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateResolverEndpoint where+ toJSON CreateResolverEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just+ ("SecurityGroupIds" Data..= securityGroupIds),+ Prelude.Just ("Direction" Data..= direction),+ Prelude.Just ("IpAddresses" Data..= ipAddresses)+ ]+ )++instance Data.ToPath CreateResolverEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateResolverEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateResolverEndpointResponse' smart constructor.+data CreateResolverEndpointResponse = CreateResolverEndpointResponse'+ { -- | Information about the @CreateResolverEndpoint@ request, including the+ -- status of the request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'createResolverEndpointResponse_resolverEndpoint' - Information about the @CreateResolverEndpoint@ request, including the+-- status of the request.+--+-- 'httpStatus', 'createResolverEndpointResponse_httpStatus' - The response's http status code.+newCreateResolverEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateResolverEndpointResponse+newCreateResolverEndpointResponse pHttpStatus_ =+ CreateResolverEndpointResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @CreateResolverEndpoint@ request, including the+-- status of the request.+createResolverEndpointResponse_resolverEndpoint :: Lens.Lens' CreateResolverEndpointResponse (Prelude.Maybe ResolverEndpoint)+createResolverEndpointResponse_resolverEndpoint = Lens.lens (\CreateResolverEndpointResponse' {resolverEndpoint} -> resolverEndpoint) (\s@CreateResolverEndpointResponse' {} a -> s {resolverEndpoint = a} :: CreateResolverEndpointResponse)++-- | The response's http status code.+createResolverEndpointResponse_httpStatus :: Lens.Lens' CreateResolverEndpointResponse Prelude.Int+createResolverEndpointResponse_httpStatus = Lens.lens (\CreateResolverEndpointResponse' {httpStatus} -> httpStatus) (\s@CreateResolverEndpointResponse' {} a -> s {httpStatus = a} :: CreateResolverEndpointResponse)++instance+ Prelude.NFData+ CreateResolverEndpointResponse+ where+ rnf CreateResolverEndpointResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateResolverQueryLogConfig.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Resolver query logging configuration, which defines where you+-- want Resolver to save DNS query logs that originate in your VPCs.+-- Resolver can log queries only for VPCs that are in the same Region as+-- the query logging configuration.+--+-- To specify which VPCs you want to log queries for, you use+-- @AssociateResolverQueryLogConfig@. For more information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html AssociateResolverQueryLogConfig>.+--+-- You can optionally use Resource Access Manager (RAM) to share a query+-- logging configuration with other Amazon Web Services accounts. The other+-- accounts can then associate VPCs with the configuration. The query logs+-- that Resolver creates for a configuration include all DNS queries that+-- originate in all VPCs that are associated with the configuration.+module Amazonka.Route53Resolver.CreateResolverQueryLogConfig+ ( -- * Creating a Request+ CreateResolverQueryLogConfig (..),+ newCreateResolverQueryLogConfig,++ -- * Request Lenses+ createResolverQueryLogConfig_tags,+ createResolverQueryLogConfig_name,+ createResolverQueryLogConfig_destinationArn,+ createResolverQueryLogConfig_creatorRequestId,++ -- * Destructuring the Response+ CreateResolverQueryLogConfigResponse (..),+ newCreateResolverQueryLogConfigResponse,++ -- * Response Lenses+ createResolverQueryLogConfigResponse_resolverQueryLogConfig,+ createResolverQueryLogConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateResolverQueryLogConfig' smart constructor.+data CreateResolverQueryLogConfig = CreateResolverQueryLogConfig'+ { -- | A list of the tag keys and values that you want to associate with the+ -- query logging configuration.+ tags :: Prelude.Maybe [Tag],+ -- | The name that you want to give the query logging configuration.+ name :: Prelude.Text,+ -- | The ARN of the resource that you want Resolver to send query logs. You+ -- can send query logs to an S3 bucket, a CloudWatch Logs log group, or a+ -- Kinesis Data Firehose delivery stream. Examples of valid values include+ -- the following:+ --+ -- - __S3 bucket__:+ --+ -- @arn:aws:s3:::examplebucket@+ --+ -- You can optionally append a file prefix to the end of the ARN.+ --+ -- @arn:aws:s3:::examplebucket\/development\/@+ --+ -- - __CloudWatch Logs log group__:+ --+ -- @arn:aws:logs:us-west-1:123456789012:log-group:\/mystack-testgroup-12ABC1AB12A1:*@+ --+ -- - __Kinesis Data Firehose delivery stream__:+ --+ -- @arn:aws:kinesis:us-east-2:0123456789:stream\/my_stream_name@+ destinationArn :: Prelude.Text,+ -- | A unique string that identifies the request and that allows failed+ -- requests to be retried without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createResolverQueryLogConfig_tags' - A list of the tag keys and values that you want to associate with the+-- query logging configuration.+--+-- 'name', 'createResolverQueryLogConfig_name' - The name that you want to give the query logging configuration.+--+-- 'destinationArn', 'createResolverQueryLogConfig_destinationArn' - The ARN of the resource that you want Resolver to send query logs. You+-- can send query logs to an S3 bucket, a CloudWatch Logs log group, or a+-- Kinesis Data Firehose delivery stream. Examples of valid values include+-- the following:+--+-- - __S3 bucket__:+--+-- @arn:aws:s3:::examplebucket@+--+-- You can optionally append a file prefix to the end of the ARN.+--+-- @arn:aws:s3:::examplebucket\/development\/@+--+-- - __CloudWatch Logs log group__:+--+-- @arn:aws:logs:us-west-1:123456789012:log-group:\/mystack-testgroup-12ABC1AB12A1:*@+--+-- - __Kinesis Data Firehose delivery stream__:+--+-- @arn:aws:kinesis:us-east-2:0123456789:stream\/my_stream_name@+--+-- 'creatorRequestId', 'createResolverQueryLogConfig_creatorRequestId' - A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+newCreateResolverQueryLogConfig ::+ -- | 'name'+ Prelude.Text ->+ -- | 'destinationArn'+ Prelude.Text ->+ -- | 'creatorRequestId'+ Prelude.Text ->+ CreateResolverQueryLogConfig+newCreateResolverQueryLogConfig+ pName_+ pDestinationArn_+ pCreatorRequestId_ =+ CreateResolverQueryLogConfig'+ { tags =+ Prelude.Nothing,+ name = pName_,+ destinationArn = pDestinationArn_,+ creatorRequestId = pCreatorRequestId_+ }++-- | A list of the tag keys and values that you want to associate with the+-- query logging configuration.+createResolverQueryLogConfig_tags :: Lens.Lens' CreateResolverQueryLogConfig (Prelude.Maybe [Tag])+createResolverQueryLogConfig_tags = Lens.lens (\CreateResolverQueryLogConfig' {tags} -> tags) (\s@CreateResolverQueryLogConfig' {} a -> s {tags = a} :: CreateResolverQueryLogConfig) Prelude.. Lens.mapping Lens.coerced++-- | The name that you want to give the query logging configuration.+createResolverQueryLogConfig_name :: Lens.Lens' CreateResolverQueryLogConfig Prelude.Text+createResolverQueryLogConfig_name = Lens.lens (\CreateResolverQueryLogConfig' {name} -> name) (\s@CreateResolverQueryLogConfig' {} a -> s {name = a} :: CreateResolverQueryLogConfig)++-- | The ARN of the resource that you want Resolver to send query logs. You+-- can send query logs to an S3 bucket, a CloudWatch Logs log group, or a+-- Kinesis Data Firehose delivery stream. Examples of valid values include+-- the following:+--+-- - __S3 bucket__:+--+-- @arn:aws:s3:::examplebucket@+--+-- You can optionally append a file prefix to the end of the ARN.+--+-- @arn:aws:s3:::examplebucket\/development\/@+--+-- - __CloudWatch Logs log group__:+--+-- @arn:aws:logs:us-west-1:123456789012:log-group:\/mystack-testgroup-12ABC1AB12A1:*@+--+-- - __Kinesis Data Firehose delivery stream__:+--+-- @arn:aws:kinesis:us-east-2:0123456789:stream\/my_stream_name@+createResolverQueryLogConfig_destinationArn :: Lens.Lens' CreateResolverQueryLogConfig Prelude.Text+createResolverQueryLogConfig_destinationArn = Lens.lens (\CreateResolverQueryLogConfig' {destinationArn} -> destinationArn) (\s@CreateResolverQueryLogConfig' {} a -> s {destinationArn = a} :: CreateResolverQueryLogConfig)++-- | A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+createResolverQueryLogConfig_creatorRequestId :: Lens.Lens' CreateResolverQueryLogConfig Prelude.Text+createResolverQueryLogConfig_creatorRequestId = Lens.lens (\CreateResolverQueryLogConfig' {creatorRequestId} -> creatorRequestId) (\s@CreateResolverQueryLogConfig' {} a -> s {creatorRequestId = a} :: CreateResolverQueryLogConfig)++instance Core.AWSRequest CreateResolverQueryLogConfig where+ type+ AWSResponse CreateResolverQueryLogConfig =+ CreateResolverQueryLogConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateResolverQueryLogConfigResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateResolverQueryLogConfig+ where+ hashWithSalt _salt CreateResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` destinationArn+ `Prelude.hashWithSalt` creatorRequestId++instance Prelude.NFData CreateResolverQueryLogConfig where+ rnf CreateResolverQueryLogConfig' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf destinationArn+ `Prelude.seq` Prelude.rnf creatorRequestId++instance Data.ToHeaders CreateResolverQueryLogConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateResolverQueryLogConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateResolverQueryLogConfig where+ toJSON CreateResolverQueryLogConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ("DestinationArn" Data..= destinationArn),+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId)+ ]+ )++instance Data.ToPath CreateResolverQueryLogConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateResolverQueryLogConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateResolverQueryLogConfigResponse' smart constructor.+data CreateResolverQueryLogConfigResponse = CreateResolverQueryLogConfigResponse'+ { -- | Information about the @CreateResolverQueryLogConfig@ request, including+ -- the status of the request.+ resolverQueryLogConfig :: Prelude.Maybe ResolverQueryLogConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverQueryLogConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfig', 'createResolverQueryLogConfigResponse_resolverQueryLogConfig' - Information about the @CreateResolverQueryLogConfig@ request, including+-- the status of the request.+--+-- 'httpStatus', 'createResolverQueryLogConfigResponse_httpStatus' - The response's http status code.+newCreateResolverQueryLogConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateResolverQueryLogConfigResponse+newCreateResolverQueryLogConfigResponse pHttpStatus_ =+ CreateResolverQueryLogConfigResponse'+ { resolverQueryLogConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @CreateResolverQueryLogConfig@ request, including+-- the status of the request.+createResolverQueryLogConfigResponse_resolverQueryLogConfig :: Lens.Lens' CreateResolverQueryLogConfigResponse (Prelude.Maybe ResolverQueryLogConfig)+createResolverQueryLogConfigResponse_resolverQueryLogConfig = Lens.lens (\CreateResolverQueryLogConfigResponse' {resolverQueryLogConfig} -> resolverQueryLogConfig) (\s@CreateResolverQueryLogConfigResponse' {} a -> s {resolverQueryLogConfig = a} :: CreateResolverQueryLogConfigResponse)++-- | The response's http status code.+createResolverQueryLogConfigResponse_httpStatus :: Lens.Lens' CreateResolverQueryLogConfigResponse Prelude.Int+createResolverQueryLogConfigResponse_httpStatus = Lens.lens (\CreateResolverQueryLogConfigResponse' {httpStatus} -> httpStatus) (\s@CreateResolverQueryLogConfigResponse' {} a -> s {httpStatus = a} :: CreateResolverQueryLogConfigResponse)++instance+ Prelude.NFData+ CreateResolverQueryLogConfigResponse+ where+ rnf CreateResolverQueryLogConfigResponse' {..} =+ Prelude.rnf resolverQueryLogConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/CreateResolverRule.hs view
@@ -0,0 +1,347 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.CreateResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For DNS queries that originate in your VPCs, specifies which Resolver+-- endpoint the queries pass through, one domain name that you want to+-- forward to your network, and the IP addresses of the DNS resolvers in+-- your network.+module Amazonka.Route53Resolver.CreateResolverRule+ ( -- * Creating a Request+ CreateResolverRule (..),+ newCreateResolverRule,++ -- * Request Lenses+ createResolverRule_name,+ createResolverRule_resolverEndpointId,+ createResolverRule_tags,+ createResolverRule_targetIps,+ createResolverRule_creatorRequestId,+ createResolverRule_ruleType,+ createResolverRule_domainName,++ -- * Destructuring the Response+ CreateResolverRuleResponse (..),+ newCreateResolverRuleResponse,++ -- * Response Lenses+ createResolverRuleResponse_resolverRule,+ createResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newCreateResolverRule' smart constructor.+data CreateResolverRule = CreateResolverRule'+ { -- | A friendly name that lets you easily find a rule in the Resolver+ -- dashboard in the Route 53 console.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the outbound Resolver endpoint that you want to use to route+ -- DNS queries to the IP addresses that you specify in @TargetIps@.+ resolverEndpointId :: Prelude.Maybe Prelude.Text,+ -- | A list of the tag keys and values that you want to associate with the+ -- endpoint.+ tags :: Prelude.Maybe [Tag],+ -- | The IPs that you want Resolver to forward DNS queries to. You can+ -- specify only IPv4 addresses. Separate IP addresses with a space.+ --+ -- @TargetIps@ is available only when the value of @Rule type@ is+ -- @FORWARD@.+ targetIps :: Prelude.Maybe (Prelude.NonEmpty TargetAddress),+ -- | A unique string that identifies the request and that allows failed+ -- requests to be retried without the risk of running the operation twice.+ -- @CreatorRequestId@ can be any unique string, for example, a date\/time+ -- stamp.+ creatorRequestId :: Prelude.Text,+ -- | When you want to forward DNS queries for specified domain name to+ -- resolvers on your network, specify @FORWARD@.+ --+ -- When you have a forwarding rule to forward DNS queries for a domain to+ -- your network and you want Resolver to process queries for a subdomain of+ -- that domain, specify @SYSTEM@.+ --+ -- For example, to forward DNS queries for example.com to resolvers on your+ -- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+ -- have Resolver process queries for apex.example.com, you create a rule+ -- and specify @SYSTEM@ for @RuleType@.+ --+ -- Currently, only Resolver can create rules that have a value of+ -- @RECURSIVE@ for @RuleType@.+ ruleType :: RuleTypeOption,+ -- | DNS queries for this domain name are forwarded to the IP addresses that+ -- you specify in @TargetIps@. If a query matches multiple Resolver rules+ -- (example.com and www.example.com), outbound DNS queries are routed using+ -- the Resolver rule that contains the most specific domain name+ -- (www.example.com).+ domainName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createResolverRule_name' - A friendly name that lets you easily find a rule in the Resolver+-- dashboard in the Route 53 console.+--+-- 'resolverEndpointId', 'createResolverRule_resolverEndpointId' - The ID of the outbound Resolver endpoint that you want to use to route+-- DNS queries to the IP addresses that you specify in @TargetIps@.+--+-- 'tags', 'createResolverRule_tags' - A list of the tag keys and values that you want to associate with the+-- endpoint.+--+-- 'targetIps', 'createResolverRule_targetIps' - The IPs that you want Resolver to forward DNS queries to. You can+-- specify only IPv4 addresses. Separate IP addresses with a space.+--+-- @TargetIps@ is available only when the value of @Rule type@ is+-- @FORWARD@.+--+-- 'creatorRequestId', 'createResolverRule_creatorRequestId' - A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+--+-- 'ruleType', 'createResolverRule_ruleType' - When you want to forward DNS queries for specified domain name to+-- resolvers on your network, specify @FORWARD@.+--+-- When you have a forwarding rule to forward DNS queries for a domain to+-- your network and you want Resolver to process queries for a subdomain of+-- that domain, specify @SYSTEM@.+--+-- For example, to forward DNS queries for example.com to resolvers on your+-- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+-- have Resolver process queries for apex.example.com, you create a rule+-- and specify @SYSTEM@ for @RuleType@.+--+-- Currently, only Resolver can create rules that have a value of+-- @RECURSIVE@ for @RuleType@.+--+-- 'domainName', 'createResolverRule_domainName' - DNS queries for this domain name are forwarded to the IP addresses that+-- you specify in @TargetIps@. If a query matches multiple Resolver rules+-- (example.com and www.example.com), outbound DNS queries are routed using+-- the Resolver rule that contains the most specific domain name+-- (www.example.com).+newCreateResolverRule ::+ -- | 'creatorRequestId'+ Prelude.Text ->+ -- | 'ruleType'+ RuleTypeOption ->+ -- | 'domainName'+ Prelude.Text ->+ CreateResolverRule+newCreateResolverRule+ pCreatorRequestId_+ pRuleType_+ pDomainName_ =+ CreateResolverRule'+ { name = Prelude.Nothing,+ resolverEndpointId = Prelude.Nothing,+ tags = Prelude.Nothing,+ targetIps = Prelude.Nothing,+ creatorRequestId = pCreatorRequestId_,+ ruleType = pRuleType_,+ domainName = pDomainName_+ }++-- | A friendly name that lets you easily find a rule in the Resolver+-- dashboard in the Route 53 console.+createResolverRule_name :: Lens.Lens' CreateResolverRule (Prelude.Maybe Prelude.Text)+createResolverRule_name = Lens.lens (\CreateResolverRule' {name} -> name) (\s@CreateResolverRule' {} a -> s {name = a} :: CreateResolverRule)++-- | The ID of the outbound Resolver endpoint that you want to use to route+-- DNS queries to the IP addresses that you specify in @TargetIps@.+createResolverRule_resolverEndpointId :: Lens.Lens' CreateResolverRule (Prelude.Maybe Prelude.Text)+createResolverRule_resolverEndpointId = Lens.lens (\CreateResolverRule' {resolverEndpointId} -> resolverEndpointId) (\s@CreateResolverRule' {} a -> s {resolverEndpointId = a} :: CreateResolverRule)++-- | A list of the tag keys and values that you want to associate with the+-- endpoint.+createResolverRule_tags :: Lens.Lens' CreateResolverRule (Prelude.Maybe [Tag])+createResolverRule_tags = Lens.lens (\CreateResolverRule' {tags} -> tags) (\s@CreateResolverRule' {} a -> s {tags = a} :: CreateResolverRule) Prelude.. Lens.mapping Lens.coerced++-- | The IPs that you want Resolver to forward DNS queries to. You can+-- specify only IPv4 addresses. Separate IP addresses with a space.+--+-- @TargetIps@ is available only when the value of @Rule type@ is+-- @FORWARD@.+createResolverRule_targetIps :: Lens.Lens' CreateResolverRule (Prelude.Maybe (Prelude.NonEmpty TargetAddress))+createResolverRule_targetIps = Lens.lens (\CreateResolverRule' {targetIps} -> targetIps) (\s@CreateResolverRule' {} a -> s {targetIps = a} :: CreateResolverRule) Prelude.. Lens.mapping Lens.coerced++-- | A unique string that identifies the request and that allows failed+-- requests to be retried without the risk of running the operation twice.+-- @CreatorRequestId@ can be any unique string, for example, a date\/time+-- stamp.+createResolverRule_creatorRequestId :: Lens.Lens' CreateResolverRule Prelude.Text+createResolverRule_creatorRequestId = Lens.lens (\CreateResolverRule' {creatorRequestId} -> creatorRequestId) (\s@CreateResolverRule' {} a -> s {creatorRequestId = a} :: CreateResolverRule)++-- | When you want to forward DNS queries for specified domain name to+-- resolvers on your network, specify @FORWARD@.+--+-- When you have a forwarding rule to forward DNS queries for a domain to+-- your network and you want Resolver to process queries for a subdomain of+-- that domain, specify @SYSTEM@.+--+-- For example, to forward DNS queries for example.com to resolvers on your+-- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+-- have Resolver process queries for apex.example.com, you create a rule+-- and specify @SYSTEM@ for @RuleType@.+--+-- Currently, only Resolver can create rules that have a value of+-- @RECURSIVE@ for @RuleType@.+createResolverRule_ruleType :: Lens.Lens' CreateResolverRule RuleTypeOption+createResolverRule_ruleType = Lens.lens (\CreateResolverRule' {ruleType} -> ruleType) (\s@CreateResolverRule' {} a -> s {ruleType = a} :: CreateResolverRule)++-- | DNS queries for this domain name are forwarded to the IP addresses that+-- you specify in @TargetIps@. If a query matches multiple Resolver rules+-- (example.com and www.example.com), outbound DNS queries are routed using+-- the Resolver rule that contains the most specific domain name+-- (www.example.com).+createResolverRule_domainName :: Lens.Lens' CreateResolverRule Prelude.Text+createResolverRule_domainName = Lens.lens (\CreateResolverRule' {domainName} -> domainName) (\s@CreateResolverRule' {} a -> s {domainName = a} :: CreateResolverRule)++instance Core.AWSRequest CreateResolverRule where+ type+ AWSResponse CreateResolverRule =+ CreateResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateResolverRule where+ hashWithSalt _salt CreateResolverRule' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resolverEndpointId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` targetIps+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` ruleType+ `Prelude.hashWithSalt` domainName++instance Prelude.NFData CreateResolverRule where+ rnf CreateResolverRule' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf resolverEndpointId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf targetIps+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf ruleType+ `Prelude.seq` Prelude.rnf domainName++instance Data.ToHeaders CreateResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.CreateResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateResolverRule where+ toJSON CreateResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("ResolverEndpointId" Data..=)+ Prelude.<$> resolverEndpointId,+ ("Tags" Data..=) Prelude.<$> tags,+ ("TargetIps" Data..=) Prelude.<$> targetIps,+ Prelude.Just+ ("CreatorRequestId" Data..= creatorRequestId),+ Prelude.Just ("RuleType" Data..= ruleType),+ Prelude.Just ("DomainName" Data..= domainName)+ ]+ )++instance Data.ToPath CreateResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateResolverRuleResponse' smart constructor.+data CreateResolverRuleResponse = CreateResolverRuleResponse'+ { -- | Information about the @CreateResolverRule@ request, including the status+ -- of the request.+ resolverRule :: Prelude.Maybe ResolverRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRule', 'createResolverRuleResponse_resolverRule' - Information about the @CreateResolverRule@ request, including the status+-- of the request.+--+-- 'httpStatus', 'createResolverRuleResponse_httpStatus' - The response's http status code.+newCreateResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateResolverRuleResponse+newCreateResolverRuleResponse pHttpStatus_ =+ CreateResolverRuleResponse'+ { resolverRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @CreateResolverRule@ request, including the status+-- of the request.+createResolverRuleResponse_resolverRule :: Lens.Lens' CreateResolverRuleResponse (Prelude.Maybe ResolverRule)+createResolverRuleResponse_resolverRule = Lens.lens (\CreateResolverRuleResponse' {resolverRule} -> resolverRule) (\s@CreateResolverRuleResponse' {} a -> s {resolverRule = a} :: CreateResolverRuleResponse)++-- | The response's http status code.+createResolverRuleResponse_httpStatus :: Lens.Lens' CreateResolverRuleResponse Prelude.Int+createResolverRuleResponse_httpStatus = Lens.lens (\CreateResolverRuleResponse' {httpStatus} -> httpStatus) (\s@CreateResolverRuleResponse' {} a -> s {httpStatus = a} :: CreateResolverRuleResponse)++instance Prelude.NFData CreateResolverRuleResponse where+ rnf CreateResolverRuleResponse' {..} =+ Prelude.rnf resolverRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteFirewallDomainList.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteFirewallDomainList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified domain list.+module Amazonka.Route53Resolver.DeleteFirewallDomainList+ ( -- * Creating a Request+ DeleteFirewallDomainList (..),+ newDeleteFirewallDomainList,++ -- * Request Lenses+ deleteFirewallDomainList_firewallDomainListId,++ -- * Destructuring the Response+ DeleteFirewallDomainListResponse (..),+ newDeleteFirewallDomainListResponse,++ -- * Response Lenses+ deleteFirewallDomainListResponse_firewallDomainList,+ deleteFirewallDomainListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteFirewallDomainList' smart constructor.+data DeleteFirewallDomainList = DeleteFirewallDomainList'+ { -- | The ID of the domain list that you want to delete.+ firewallDomainListId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallDomainList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainListId', 'deleteFirewallDomainList_firewallDomainListId' - The ID of the domain list that you want to delete.+newDeleteFirewallDomainList ::+ -- | 'firewallDomainListId'+ Prelude.Text ->+ DeleteFirewallDomainList+newDeleteFirewallDomainList pFirewallDomainListId_ =+ DeleteFirewallDomainList'+ { firewallDomainListId =+ pFirewallDomainListId_+ }++-- | The ID of the domain list that you want to delete.+deleteFirewallDomainList_firewallDomainListId :: Lens.Lens' DeleteFirewallDomainList Prelude.Text+deleteFirewallDomainList_firewallDomainListId = Lens.lens (\DeleteFirewallDomainList' {firewallDomainListId} -> firewallDomainListId) (\s@DeleteFirewallDomainList' {} a -> s {firewallDomainListId = a} :: DeleteFirewallDomainList)++instance Core.AWSRequest DeleteFirewallDomainList where+ type+ AWSResponse DeleteFirewallDomainList =+ DeleteFirewallDomainListResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFirewallDomainListResponse'+ Prelude.<$> (x Data..?> "FirewallDomainList")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFirewallDomainList where+ hashWithSalt _salt DeleteFirewallDomainList' {..} =+ _salt `Prelude.hashWithSalt` firewallDomainListId++instance Prelude.NFData DeleteFirewallDomainList where+ rnf DeleteFirewallDomainList' {..} =+ Prelude.rnf firewallDomainListId++instance Data.ToHeaders DeleteFirewallDomainList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteFirewallDomainList" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFirewallDomainList where+ toJSON DeleteFirewallDomainList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ )+ ]+ )++instance Data.ToPath DeleteFirewallDomainList where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFirewallDomainList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFirewallDomainListResponse' smart constructor.+data DeleteFirewallDomainListResponse = DeleteFirewallDomainListResponse'+ { -- | The domain list that you just deleted.+ firewallDomainList :: Prelude.Maybe FirewallDomainList,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallDomainListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainList', 'deleteFirewallDomainListResponse_firewallDomainList' - The domain list that you just deleted.+--+-- 'httpStatus', 'deleteFirewallDomainListResponse_httpStatus' - The response's http status code.+newDeleteFirewallDomainListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFirewallDomainListResponse+newDeleteFirewallDomainListResponse pHttpStatus_ =+ DeleteFirewallDomainListResponse'+ { firewallDomainList =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The domain list that you just deleted.+deleteFirewallDomainListResponse_firewallDomainList :: Lens.Lens' DeleteFirewallDomainListResponse (Prelude.Maybe FirewallDomainList)+deleteFirewallDomainListResponse_firewallDomainList = Lens.lens (\DeleteFirewallDomainListResponse' {firewallDomainList} -> firewallDomainList) (\s@DeleteFirewallDomainListResponse' {} a -> s {firewallDomainList = a} :: DeleteFirewallDomainListResponse)++-- | The response's http status code.+deleteFirewallDomainListResponse_httpStatus :: Lens.Lens' DeleteFirewallDomainListResponse Prelude.Int+deleteFirewallDomainListResponse_httpStatus = Lens.lens (\DeleteFirewallDomainListResponse' {httpStatus} -> httpStatus) (\s@DeleteFirewallDomainListResponse' {} a -> s {httpStatus = a} :: DeleteFirewallDomainListResponse)++instance+ Prelude.NFData+ DeleteFirewallDomainListResponse+ where+ rnf DeleteFirewallDomainListResponse' {..} =+ Prelude.rnf firewallDomainList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteFirewallRule.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteFirewallRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified firewall rule.+module Amazonka.Route53Resolver.DeleteFirewallRule+ ( -- * Creating a Request+ DeleteFirewallRule (..),+ newDeleteFirewallRule,++ -- * Request Lenses+ deleteFirewallRule_firewallRuleGroupId,+ deleteFirewallRule_firewallDomainListId,++ -- * Destructuring the Response+ DeleteFirewallRuleResponse (..),+ newDeleteFirewallRuleResponse,++ -- * Response Lenses+ deleteFirewallRuleResponse_firewallRule,+ deleteFirewallRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteFirewallRule' smart constructor.+data DeleteFirewallRule = DeleteFirewallRule'+ { -- | The unique identifier of the firewall rule group that you want to delete+ -- the rule from.+ firewallRuleGroupId :: Prelude.Text,+ -- | The ID of the domain list that\'s used in the rule.+ firewallDomainListId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupId', 'deleteFirewallRule_firewallRuleGroupId' - The unique identifier of the firewall rule group that you want to delete+-- the rule from.+--+-- 'firewallDomainListId', 'deleteFirewallRule_firewallDomainListId' - The ID of the domain list that\'s used in the rule.+newDeleteFirewallRule ::+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ -- | 'firewallDomainListId'+ Prelude.Text ->+ DeleteFirewallRule+newDeleteFirewallRule+ pFirewallRuleGroupId_+ pFirewallDomainListId_ =+ DeleteFirewallRule'+ { firewallRuleGroupId =+ pFirewallRuleGroupId_,+ firewallDomainListId = pFirewallDomainListId_+ }++-- | The unique identifier of the firewall rule group that you want to delete+-- the rule from.+deleteFirewallRule_firewallRuleGroupId :: Lens.Lens' DeleteFirewallRule Prelude.Text+deleteFirewallRule_firewallRuleGroupId = Lens.lens (\DeleteFirewallRule' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@DeleteFirewallRule' {} a -> s {firewallRuleGroupId = a} :: DeleteFirewallRule)++-- | The ID of the domain list that\'s used in the rule.+deleteFirewallRule_firewallDomainListId :: Lens.Lens' DeleteFirewallRule Prelude.Text+deleteFirewallRule_firewallDomainListId = Lens.lens (\DeleteFirewallRule' {firewallDomainListId} -> firewallDomainListId) (\s@DeleteFirewallRule' {} a -> s {firewallDomainListId = a} :: DeleteFirewallRule)++instance Core.AWSRequest DeleteFirewallRule where+ type+ AWSResponse DeleteFirewallRule =+ DeleteFirewallRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFirewallRuleResponse'+ Prelude.<$> (x Data..?> "FirewallRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFirewallRule where+ hashWithSalt _salt DeleteFirewallRule' {..} =+ _salt+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` firewallDomainListId++instance Prelude.NFData DeleteFirewallRule where+ rnf DeleteFirewallRule' {..} =+ Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf firewallDomainListId++instance Data.ToHeaders DeleteFirewallRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteFirewallRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFirewallRule where+ toJSON DeleteFirewallRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId),+ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ )+ ]+ )++instance Data.ToPath DeleteFirewallRule where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFirewallRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFirewallRuleResponse' smart constructor.+data DeleteFirewallRuleResponse = DeleteFirewallRuleResponse'+ { -- | The specification for the firewall rule that you just deleted.+ firewallRule :: Prelude.Maybe FirewallRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRule', 'deleteFirewallRuleResponse_firewallRule' - The specification for the firewall rule that you just deleted.+--+-- 'httpStatus', 'deleteFirewallRuleResponse_httpStatus' - The response's http status code.+newDeleteFirewallRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFirewallRuleResponse+newDeleteFirewallRuleResponse pHttpStatus_ =+ DeleteFirewallRuleResponse'+ { firewallRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The specification for the firewall rule that you just deleted.+deleteFirewallRuleResponse_firewallRule :: Lens.Lens' DeleteFirewallRuleResponse (Prelude.Maybe FirewallRule)+deleteFirewallRuleResponse_firewallRule = Lens.lens (\DeleteFirewallRuleResponse' {firewallRule} -> firewallRule) (\s@DeleteFirewallRuleResponse' {} a -> s {firewallRule = a} :: DeleteFirewallRuleResponse)++-- | The response's http status code.+deleteFirewallRuleResponse_httpStatus :: Lens.Lens' DeleteFirewallRuleResponse Prelude.Int+deleteFirewallRuleResponse_httpStatus = Lens.lens (\DeleteFirewallRuleResponse' {httpStatus} -> httpStatus) (\s@DeleteFirewallRuleResponse' {} a -> s {httpStatus = a} :: DeleteFirewallRuleResponse)++instance Prelude.NFData DeleteFirewallRuleResponse where+ rnf DeleteFirewallRuleResponse' {..} =+ Prelude.rnf firewallRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteFirewallRuleGroup.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteFirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified firewall rule group.+module Amazonka.Route53Resolver.DeleteFirewallRuleGroup+ ( -- * Creating a Request+ DeleteFirewallRuleGroup (..),+ newDeleteFirewallRuleGroup,++ -- * Request Lenses+ deleteFirewallRuleGroup_firewallRuleGroupId,++ -- * Destructuring the Response+ DeleteFirewallRuleGroupResponse (..),+ newDeleteFirewallRuleGroupResponse,++ -- * Response Lenses+ deleteFirewallRuleGroupResponse_firewallRuleGroup,+ deleteFirewallRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteFirewallRuleGroup' smart constructor.+data DeleteFirewallRuleGroup = DeleteFirewallRuleGroup'+ { -- | The unique identifier of the firewall rule group that you want to+ -- delete.+ firewallRuleGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupId', 'deleteFirewallRuleGroup_firewallRuleGroupId' - The unique identifier of the firewall rule group that you want to+-- delete.+newDeleteFirewallRuleGroup ::+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ DeleteFirewallRuleGroup+newDeleteFirewallRuleGroup pFirewallRuleGroupId_ =+ DeleteFirewallRuleGroup'+ { firewallRuleGroupId =+ pFirewallRuleGroupId_+ }++-- | The unique identifier of the firewall rule group that you want to+-- delete.+deleteFirewallRuleGroup_firewallRuleGroupId :: Lens.Lens' DeleteFirewallRuleGroup Prelude.Text+deleteFirewallRuleGroup_firewallRuleGroupId = Lens.lens (\DeleteFirewallRuleGroup' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@DeleteFirewallRuleGroup' {} a -> s {firewallRuleGroupId = a} :: DeleteFirewallRuleGroup)++instance Core.AWSRequest DeleteFirewallRuleGroup where+ type+ AWSResponse DeleteFirewallRuleGroup =+ DeleteFirewallRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFirewallRuleGroupResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFirewallRuleGroup where+ hashWithSalt _salt DeleteFirewallRuleGroup' {..} =+ _salt `Prelude.hashWithSalt` firewallRuleGroupId++instance Prelude.NFData DeleteFirewallRuleGroup where+ rnf DeleteFirewallRuleGroup' {..} =+ Prelude.rnf firewallRuleGroupId++instance Data.ToHeaders DeleteFirewallRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteFirewallRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFirewallRuleGroup where+ toJSON DeleteFirewallRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId)+ ]+ )++instance Data.ToPath DeleteFirewallRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFirewallRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFirewallRuleGroupResponse' smart constructor.+data DeleteFirewallRuleGroupResponse = DeleteFirewallRuleGroupResponse'+ { -- | A collection of rules used to filter DNS network traffic.+ firewallRuleGroup :: Prelude.Maybe FirewallRuleGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFirewallRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroup', 'deleteFirewallRuleGroupResponse_firewallRuleGroup' - A collection of rules used to filter DNS network traffic.+--+-- 'httpStatus', 'deleteFirewallRuleGroupResponse_httpStatus' - The response's http status code.+newDeleteFirewallRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFirewallRuleGroupResponse+newDeleteFirewallRuleGroupResponse pHttpStatus_ =+ DeleteFirewallRuleGroupResponse'+ { firewallRuleGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of rules used to filter DNS network traffic.+deleteFirewallRuleGroupResponse_firewallRuleGroup :: Lens.Lens' DeleteFirewallRuleGroupResponse (Prelude.Maybe FirewallRuleGroup)+deleteFirewallRuleGroupResponse_firewallRuleGroup = Lens.lens (\DeleteFirewallRuleGroupResponse' {firewallRuleGroup} -> firewallRuleGroup) (\s@DeleteFirewallRuleGroupResponse' {} a -> s {firewallRuleGroup = a} :: DeleteFirewallRuleGroupResponse)++-- | The response's http status code.+deleteFirewallRuleGroupResponse_httpStatus :: Lens.Lens' DeleteFirewallRuleGroupResponse Prelude.Int+deleteFirewallRuleGroupResponse_httpStatus = Lens.lens (\DeleteFirewallRuleGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteFirewallRuleGroupResponse' {} a -> s {httpStatus = a} :: DeleteFirewallRuleGroupResponse)++instance+ Prelude.NFData+ DeleteFirewallRuleGroupResponse+ where+ rnf DeleteFirewallRuleGroupResponse' {..} =+ Prelude.rnf firewallRuleGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteResolverEndpoint.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteResolverEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint+-- depends on whether it\'s an inbound or an outbound Resolver endpoint:+--+-- - __Inbound__: DNS queries from your network are no longer routed to+-- the DNS service for the specified VPC.+--+-- - __Outbound__: DNS queries from a VPC are no longer routed to your+-- network.+module Amazonka.Route53Resolver.DeleteResolverEndpoint+ ( -- * Creating a Request+ DeleteResolverEndpoint (..),+ newDeleteResolverEndpoint,++ -- * Request Lenses+ deleteResolverEndpoint_resolverEndpointId,++ -- * Destructuring the Response+ DeleteResolverEndpointResponse (..),+ newDeleteResolverEndpointResponse,++ -- * Response Lenses+ deleteResolverEndpointResponse_resolverEndpoint,+ deleteResolverEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteResolverEndpoint' smart constructor.+data DeleteResolverEndpoint = DeleteResolverEndpoint'+ { -- | The ID of the Resolver endpoint that you want to delete.+ resolverEndpointId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpointId', 'deleteResolverEndpoint_resolverEndpointId' - The ID of the Resolver endpoint that you want to delete.+newDeleteResolverEndpoint ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ DeleteResolverEndpoint+newDeleteResolverEndpoint pResolverEndpointId_ =+ DeleteResolverEndpoint'+ { resolverEndpointId =+ pResolverEndpointId_+ }++-- | The ID of the Resolver endpoint that you want to delete.+deleteResolverEndpoint_resolverEndpointId :: Lens.Lens' DeleteResolverEndpoint Prelude.Text+deleteResolverEndpoint_resolverEndpointId = Lens.lens (\DeleteResolverEndpoint' {resolverEndpointId} -> resolverEndpointId) (\s@DeleteResolverEndpoint' {} a -> s {resolverEndpointId = a} :: DeleteResolverEndpoint)++instance Core.AWSRequest DeleteResolverEndpoint where+ type+ AWSResponse DeleteResolverEndpoint =+ DeleteResolverEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteResolverEndpointResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteResolverEndpoint where+ hashWithSalt _salt DeleteResolverEndpoint' {..} =+ _salt `Prelude.hashWithSalt` resolverEndpointId++instance Prelude.NFData DeleteResolverEndpoint where+ rnf DeleteResolverEndpoint' {..} =+ Prelude.rnf resolverEndpointId++instance Data.ToHeaders DeleteResolverEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteResolverEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteResolverEndpoint where+ toJSON DeleteResolverEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId)+ ]+ )++instance Data.ToPath DeleteResolverEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteResolverEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResolverEndpointResponse' smart constructor.+data DeleteResolverEndpointResponse = DeleteResolverEndpointResponse'+ { -- | Information about the @DeleteResolverEndpoint@ request, including the+ -- status of the request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'deleteResolverEndpointResponse_resolverEndpoint' - Information about the @DeleteResolverEndpoint@ request, including the+-- status of the request.+--+-- 'httpStatus', 'deleteResolverEndpointResponse_httpStatus' - The response's http status code.+newDeleteResolverEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteResolverEndpointResponse+newDeleteResolverEndpointResponse pHttpStatus_ =+ DeleteResolverEndpointResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @DeleteResolverEndpoint@ request, including the+-- status of the request.+deleteResolverEndpointResponse_resolverEndpoint :: Lens.Lens' DeleteResolverEndpointResponse (Prelude.Maybe ResolverEndpoint)+deleteResolverEndpointResponse_resolverEndpoint = Lens.lens (\DeleteResolverEndpointResponse' {resolverEndpoint} -> resolverEndpoint) (\s@DeleteResolverEndpointResponse' {} a -> s {resolverEndpoint = a} :: DeleteResolverEndpointResponse)++-- | The response's http status code.+deleteResolverEndpointResponse_httpStatus :: Lens.Lens' DeleteResolverEndpointResponse Prelude.Int+deleteResolverEndpointResponse_httpStatus = Lens.lens (\DeleteResolverEndpointResponse' {httpStatus} -> httpStatus) (\s@DeleteResolverEndpointResponse' {} a -> s {httpStatus = a} :: DeleteResolverEndpointResponse)++instance+ Prelude.NFData+ DeleteResolverEndpointResponse+ where+ rnf DeleteResolverEndpointResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteResolverQueryLogConfig.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a query logging configuration. When you delete a configuration,+-- Resolver stops logging DNS queries for all of the Amazon VPCs that are+-- associated with the configuration. This also applies if the query+-- logging configuration is shared with other Amazon Web Services accounts,+-- and the other accounts have associated VPCs with the shared+-- configuration.+--+-- Before you can delete a query logging configuration, you must first+-- disassociate all VPCs from the configuration. See+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html DisassociateResolverQueryLogConfig>.+--+-- If you used Resource Access Manager (RAM) to share a query logging+-- configuration with other accounts, you must stop sharing the+-- configuration before you can delete a configuration. The accounts that+-- you shared the configuration with can first disassociate VPCs that they+-- associated with the configuration, but that\'s not necessary. If you+-- stop sharing the configuration, those VPCs are automatically+-- disassociated from the configuration.+module Amazonka.Route53Resolver.DeleteResolverQueryLogConfig+ ( -- * Creating a Request+ DeleteResolverQueryLogConfig (..),+ newDeleteResolverQueryLogConfig,++ -- * Request Lenses+ deleteResolverQueryLogConfig_resolverQueryLogConfigId,++ -- * Destructuring the Response+ DeleteResolverQueryLogConfigResponse (..),+ newDeleteResolverQueryLogConfigResponse,++ -- * Response Lenses+ deleteResolverQueryLogConfigResponse_resolverQueryLogConfig,+ deleteResolverQueryLogConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteResolverQueryLogConfig' smart constructor.+data DeleteResolverQueryLogConfig = DeleteResolverQueryLogConfig'+ { -- | The ID of the query logging configuration that you want to delete.+ resolverQueryLogConfigId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigId', 'deleteResolverQueryLogConfig_resolverQueryLogConfigId' - The ID of the query logging configuration that you want to delete.+newDeleteResolverQueryLogConfig ::+ -- | 'resolverQueryLogConfigId'+ Prelude.Text ->+ DeleteResolverQueryLogConfig+newDeleteResolverQueryLogConfig+ pResolverQueryLogConfigId_ =+ DeleteResolverQueryLogConfig'+ { resolverQueryLogConfigId =+ pResolverQueryLogConfigId_+ }++-- | The ID of the query logging configuration that you want to delete.+deleteResolverQueryLogConfig_resolverQueryLogConfigId :: Lens.Lens' DeleteResolverQueryLogConfig Prelude.Text+deleteResolverQueryLogConfig_resolverQueryLogConfigId = Lens.lens (\DeleteResolverQueryLogConfig' {resolverQueryLogConfigId} -> resolverQueryLogConfigId) (\s@DeleteResolverQueryLogConfig' {} a -> s {resolverQueryLogConfigId = a} :: DeleteResolverQueryLogConfig)++instance Core.AWSRequest DeleteResolverQueryLogConfig where+ type+ AWSResponse DeleteResolverQueryLogConfig =+ DeleteResolverQueryLogConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteResolverQueryLogConfigResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteResolverQueryLogConfig+ where+ hashWithSalt _salt DeleteResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resolverQueryLogConfigId++instance Prelude.NFData DeleteResolverQueryLogConfig where+ rnf DeleteResolverQueryLogConfig' {..} =+ Prelude.rnf resolverQueryLogConfigId++instance Data.ToHeaders DeleteResolverQueryLogConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteResolverQueryLogConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteResolverQueryLogConfig where+ toJSON DeleteResolverQueryLogConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverQueryLogConfigId"+ Data..= resolverQueryLogConfigId+ )+ ]+ )++instance Data.ToPath DeleteResolverQueryLogConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteResolverQueryLogConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResolverQueryLogConfigResponse' smart constructor.+data DeleteResolverQueryLogConfigResponse = DeleteResolverQueryLogConfigResponse'+ { -- | Information about the query logging configuration that you deleted,+ -- including the status of the request.+ resolverQueryLogConfig :: Prelude.Maybe ResolverQueryLogConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverQueryLogConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfig', 'deleteResolverQueryLogConfigResponse_resolverQueryLogConfig' - Information about the query logging configuration that you deleted,+-- including the status of the request.+--+-- 'httpStatus', 'deleteResolverQueryLogConfigResponse_httpStatus' - The response's http status code.+newDeleteResolverQueryLogConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteResolverQueryLogConfigResponse+newDeleteResolverQueryLogConfigResponse pHttpStatus_ =+ DeleteResolverQueryLogConfigResponse'+ { resolverQueryLogConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the query logging configuration that you deleted,+-- including the status of the request.+deleteResolverQueryLogConfigResponse_resolverQueryLogConfig :: Lens.Lens' DeleteResolverQueryLogConfigResponse (Prelude.Maybe ResolverQueryLogConfig)+deleteResolverQueryLogConfigResponse_resolverQueryLogConfig = Lens.lens (\DeleteResolverQueryLogConfigResponse' {resolverQueryLogConfig} -> resolverQueryLogConfig) (\s@DeleteResolverQueryLogConfigResponse' {} a -> s {resolverQueryLogConfig = a} :: DeleteResolverQueryLogConfigResponse)++-- | The response's http status code.+deleteResolverQueryLogConfigResponse_httpStatus :: Lens.Lens' DeleteResolverQueryLogConfigResponse Prelude.Int+deleteResolverQueryLogConfigResponse_httpStatus = Lens.lens (\DeleteResolverQueryLogConfigResponse' {httpStatus} -> httpStatus) (\s@DeleteResolverQueryLogConfigResponse' {} a -> s {httpStatus = a} :: DeleteResolverQueryLogConfigResponse)++instance+ Prelude.NFData+ DeleteResolverQueryLogConfigResponse+ where+ rnf DeleteResolverQueryLogConfigResponse' {..} =+ Prelude.rnf resolverQueryLogConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DeleteResolverRule.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DeleteResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Resolver rule. Before you can delete a Resolver rule, you must+-- disassociate it from all the VPCs that you associated the Resolver rule+-- with. For more information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html DisassociateResolverRule>.+module Amazonka.Route53Resolver.DeleteResolverRule+ ( -- * Creating a Request+ DeleteResolverRule (..),+ newDeleteResolverRule,++ -- * Request Lenses+ deleteResolverRule_resolverRuleId,++ -- * Destructuring the Response+ DeleteResolverRuleResponse (..),+ newDeleteResolverRuleResponse,++ -- * Response Lenses+ deleteResolverRuleResponse_resolverRule,+ deleteResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDeleteResolverRule' smart constructor.+data DeleteResolverRule = DeleteResolverRule'+ { -- | The ID of the Resolver rule that you want to delete.+ resolverRuleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleId', 'deleteResolverRule_resolverRuleId' - The ID of the Resolver rule that you want to delete.+newDeleteResolverRule ::+ -- | 'resolverRuleId'+ Prelude.Text ->+ DeleteResolverRule+newDeleteResolverRule pResolverRuleId_ =+ DeleteResolverRule'+ { resolverRuleId =+ pResolverRuleId_+ }++-- | The ID of the Resolver rule that you want to delete.+deleteResolverRule_resolverRuleId :: Lens.Lens' DeleteResolverRule Prelude.Text+deleteResolverRule_resolverRuleId = Lens.lens (\DeleteResolverRule' {resolverRuleId} -> resolverRuleId) (\s@DeleteResolverRule' {} a -> s {resolverRuleId = a} :: DeleteResolverRule)++instance Core.AWSRequest DeleteResolverRule where+ type+ AWSResponse DeleteResolverRule =+ DeleteResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteResolverRule where+ hashWithSalt _salt DeleteResolverRule' {..} =+ _salt `Prelude.hashWithSalt` resolverRuleId++instance Prelude.NFData DeleteResolverRule where+ rnf DeleteResolverRule' {..} =+ Prelude.rnf resolverRuleId++instance Data.ToHeaders DeleteResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DeleteResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteResolverRule where+ toJSON DeleteResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverRuleId" Data..= resolverRuleId)+ ]+ )++instance Data.ToPath DeleteResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResolverRuleResponse' smart constructor.+data DeleteResolverRuleResponse = DeleteResolverRuleResponse'+ { -- | Information about the @DeleteResolverRule@ request, including the status+ -- of the request.+ resolverRule :: Prelude.Maybe ResolverRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRule', 'deleteResolverRuleResponse_resolverRule' - Information about the @DeleteResolverRule@ request, including the status+-- of the request.+--+-- 'httpStatus', 'deleteResolverRuleResponse_httpStatus' - The response's http status code.+newDeleteResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteResolverRuleResponse+newDeleteResolverRuleResponse pHttpStatus_ =+ DeleteResolverRuleResponse'+ { resolverRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @DeleteResolverRule@ request, including the status+-- of the request.+deleteResolverRuleResponse_resolverRule :: Lens.Lens' DeleteResolverRuleResponse (Prelude.Maybe ResolverRule)+deleteResolverRuleResponse_resolverRule = Lens.lens (\DeleteResolverRuleResponse' {resolverRule} -> resolverRule) (\s@DeleteResolverRuleResponse' {} a -> s {resolverRule = a} :: DeleteResolverRuleResponse)++-- | The response's http status code.+deleteResolverRuleResponse_httpStatus :: Lens.Lens' DeleteResolverRuleResponse Prelude.Int+deleteResolverRuleResponse_httpStatus = Lens.lens (\DeleteResolverRuleResponse' {httpStatus} -> httpStatus) (\s@DeleteResolverRuleResponse' {} a -> s {httpStatus = a} :: DeleteResolverRuleResponse)++instance Prelude.NFData DeleteResolverRuleResponse where+ rnf DeleteResolverRuleResponse' {..} =+ Prelude.rnf resolverRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DisassociateFirewallRuleGroup.hs view
@@ -0,0 +1,188 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DisassociateFirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a FirewallRuleGroup from a VPC, to remove DNS filtering+-- from the VPC.+module Amazonka.Route53Resolver.DisassociateFirewallRuleGroup+ ( -- * Creating a Request+ DisassociateFirewallRuleGroup (..),+ newDisassociateFirewallRuleGroup,++ -- * Request Lenses+ disassociateFirewallRuleGroup_firewallRuleGroupAssociationId,++ -- * Destructuring the Response+ DisassociateFirewallRuleGroupResponse (..),+ newDisassociateFirewallRuleGroupResponse,++ -- * Response Lenses+ disassociateFirewallRuleGroupResponse_firewallRuleGroupAssociation,+ disassociateFirewallRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDisassociateFirewallRuleGroup' smart constructor.+data DisassociateFirewallRuleGroup = DisassociateFirewallRuleGroup'+ { -- | The identifier of the FirewallRuleGroupAssociation.+ firewallRuleGroupAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociationId', 'disassociateFirewallRuleGroup_firewallRuleGroupAssociationId' - The identifier of the FirewallRuleGroupAssociation.+newDisassociateFirewallRuleGroup ::+ -- | 'firewallRuleGroupAssociationId'+ Prelude.Text ->+ DisassociateFirewallRuleGroup+newDisassociateFirewallRuleGroup+ pFirewallRuleGroupAssociationId_ =+ DisassociateFirewallRuleGroup'+ { firewallRuleGroupAssociationId =+ pFirewallRuleGroupAssociationId_+ }++-- | The identifier of the FirewallRuleGroupAssociation.+disassociateFirewallRuleGroup_firewallRuleGroupAssociationId :: Lens.Lens' DisassociateFirewallRuleGroup Prelude.Text+disassociateFirewallRuleGroup_firewallRuleGroupAssociationId = Lens.lens (\DisassociateFirewallRuleGroup' {firewallRuleGroupAssociationId} -> firewallRuleGroupAssociationId) (\s@DisassociateFirewallRuleGroup' {} a -> s {firewallRuleGroupAssociationId = a} :: DisassociateFirewallRuleGroup)++instance+ Core.AWSRequest+ DisassociateFirewallRuleGroup+ where+ type+ AWSResponse DisassociateFirewallRuleGroup =+ DisassociateFirewallRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateFirewallRuleGroupResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroupAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateFirewallRuleGroup+ where+ hashWithSalt _salt DisassociateFirewallRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` firewallRuleGroupAssociationId++instance Prelude.NFData DisassociateFirewallRuleGroup where+ rnf DisassociateFirewallRuleGroup' {..} =+ Prelude.rnf firewallRuleGroupAssociationId++instance Data.ToHeaders DisassociateFirewallRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DisassociateFirewallRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateFirewallRuleGroup where+ toJSON DisassociateFirewallRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallRuleGroupAssociationId"+ Data..= firewallRuleGroupAssociationId+ )+ ]+ )++instance Data.ToPath DisassociateFirewallRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery DisassociateFirewallRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateFirewallRuleGroupResponse' smart constructor.+data DisassociateFirewallRuleGroupResponse = DisassociateFirewallRuleGroupResponse'+ { -- | The firewall rule group association that you just removed.+ firewallRuleGroupAssociation :: Prelude.Maybe FirewallRuleGroupAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFirewallRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociation', 'disassociateFirewallRuleGroupResponse_firewallRuleGroupAssociation' - The firewall rule group association that you just removed.+--+-- 'httpStatus', 'disassociateFirewallRuleGroupResponse_httpStatus' - The response's http status code.+newDisassociateFirewallRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateFirewallRuleGroupResponse+newDisassociateFirewallRuleGroupResponse pHttpStatus_ =+ DisassociateFirewallRuleGroupResponse'+ { firewallRuleGroupAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The firewall rule group association that you just removed.+disassociateFirewallRuleGroupResponse_firewallRuleGroupAssociation :: Lens.Lens' DisassociateFirewallRuleGroupResponse (Prelude.Maybe FirewallRuleGroupAssociation)+disassociateFirewallRuleGroupResponse_firewallRuleGroupAssociation = Lens.lens (\DisassociateFirewallRuleGroupResponse' {firewallRuleGroupAssociation} -> firewallRuleGroupAssociation) (\s@DisassociateFirewallRuleGroupResponse' {} a -> s {firewallRuleGroupAssociation = a} :: DisassociateFirewallRuleGroupResponse)++-- | The response's http status code.+disassociateFirewallRuleGroupResponse_httpStatus :: Lens.Lens' DisassociateFirewallRuleGroupResponse Prelude.Int+disassociateFirewallRuleGroupResponse_httpStatus = Lens.lens (\DisassociateFirewallRuleGroupResponse' {httpStatus} -> httpStatus) (\s@DisassociateFirewallRuleGroupResponse' {} a -> s {httpStatus = a} :: DisassociateFirewallRuleGroupResponse)++instance+ Prelude.NFData+ DisassociateFirewallRuleGroupResponse+ where+ rnf DisassociateFirewallRuleGroupResponse' {..} =+ Prelude.rnf firewallRuleGroupAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DisassociateResolverEndpointIpAddress.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DisassociateResolverEndpointIpAddress+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes IP addresses from an inbound or an outbound Resolver endpoint.+-- If you want to remove more than one IP address, submit one+-- @DisassociateResolverEndpointIpAddress@ request for each IP address.+--+-- To add an IP address to an endpoint, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverEndpointIpAddress.html AssociateResolverEndpointIpAddress>.+module Amazonka.Route53Resolver.DisassociateResolverEndpointIpAddress+ ( -- * Creating a Request+ DisassociateResolverEndpointIpAddress (..),+ newDisassociateResolverEndpointIpAddress,++ -- * Request Lenses+ disassociateResolverEndpointIpAddress_resolverEndpointId,+ disassociateResolverEndpointIpAddress_ipAddress,++ -- * Destructuring the Response+ DisassociateResolverEndpointIpAddressResponse (..),+ newDisassociateResolverEndpointIpAddressResponse,++ -- * Response Lenses+ disassociateResolverEndpointIpAddressResponse_resolverEndpoint,+ disassociateResolverEndpointIpAddressResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDisassociateResolverEndpointIpAddress' smart constructor.+data DisassociateResolverEndpointIpAddress = DisassociateResolverEndpointIpAddress'+ { -- | The ID of the Resolver endpoint that you want to disassociate an IP+ -- address from.+ resolverEndpointId :: Prelude.Text,+ -- | The IPv4 address that you want to remove from a Resolver endpoint.+ ipAddress :: IpAddressUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverEndpointIpAddress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpointId', 'disassociateResolverEndpointIpAddress_resolverEndpointId' - The ID of the Resolver endpoint that you want to disassociate an IP+-- address from.+--+-- 'ipAddress', 'disassociateResolverEndpointIpAddress_ipAddress' - The IPv4 address that you want to remove from a Resolver endpoint.+newDisassociateResolverEndpointIpAddress ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ -- | 'ipAddress'+ IpAddressUpdate ->+ DisassociateResolverEndpointIpAddress+newDisassociateResolverEndpointIpAddress+ pResolverEndpointId_+ pIpAddress_ =+ DisassociateResolverEndpointIpAddress'+ { resolverEndpointId =+ pResolverEndpointId_,+ ipAddress = pIpAddress_+ }++-- | The ID of the Resolver endpoint that you want to disassociate an IP+-- address from.+disassociateResolverEndpointIpAddress_resolverEndpointId :: Lens.Lens' DisassociateResolverEndpointIpAddress Prelude.Text+disassociateResolverEndpointIpAddress_resolverEndpointId = Lens.lens (\DisassociateResolverEndpointIpAddress' {resolverEndpointId} -> resolverEndpointId) (\s@DisassociateResolverEndpointIpAddress' {} a -> s {resolverEndpointId = a} :: DisassociateResolverEndpointIpAddress)++-- | The IPv4 address that you want to remove from a Resolver endpoint.+disassociateResolverEndpointIpAddress_ipAddress :: Lens.Lens' DisassociateResolverEndpointIpAddress IpAddressUpdate+disassociateResolverEndpointIpAddress_ipAddress = Lens.lens (\DisassociateResolverEndpointIpAddress' {ipAddress} -> ipAddress) (\s@DisassociateResolverEndpointIpAddress' {} a -> s {ipAddress = a} :: DisassociateResolverEndpointIpAddress)++instance+ Core.AWSRequest+ DisassociateResolverEndpointIpAddress+ where+ type+ AWSResponse+ DisassociateResolverEndpointIpAddress =+ DisassociateResolverEndpointIpAddressResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateResolverEndpointIpAddressResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateResolverEndpointIpAddress+ where+ hashWithSalt+ _salt+ DisassociateResolverEndpointIpAddress' {..} =+ _salt+ `Prelude.hashWithSalt` resolverEndpointId+ `Prelude.hashWithSalt` ipAddress++instance+ Prelude.NFData+ DisassociateResolverEndpointIpAddress+ where+ rnf DisassociateResolverEndpointIpAddress' {..} =+ Prelude.rnf resolverEndpointId+ `Prelude.seq` Prelude.rnf ipAddress++instance+ Data.ToHeaders+ DisassociateResolverEndpointIpAddress+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DisassociateResolverEndpointIpAddress" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DisassociateResolverEndpointIpAddress+ where+ toJSON DisassociateResolverEndpointIpAddress' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId),+ Prelude.Just ("IpAddress" Data..= ipAddress)+ ]+ )++instance+ Data.ToPath+ DisassociateResolverEndpointIpAddress+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ DisassociateResolverEndpointIpAddress+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateResolverEndpointIpAddressResponse' smart constructor.+data DisassociateResolverEndpointIpAddressResponse = DisassociateResolverEndpointIpAddressResponse'+ { -- | The response to an @DisassociateResolverEndpointIpAddress@ request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverEndpointIpAddressResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'disassociateResolverEndpointIpAddressResponse_resolverEndpoint' - The response to an @DisassociateResolverEndpointIpAddress@ request.+--+-- 'httpStatus', 'disassociateResolverEndpointIpAddressResponse_httpStatus' - The response's http status code.+newDisassociateResolverEndpointIpAddressResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateResolverEndpointIpAddressResponse+newDisassociateResolverEndpointIpAddressResponse+ pHttpStatus_ =+ DisassociateResolverEndpointIpAddressResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response to an @DisassociateResolverEndpointIpAddress@ request.+disassociateResolverEndpointIpAddressResponse_resolverEndpoint :: Lens.Lens' DisassociateResolverEndpointIpAddressResponse (Prelude.Maybe ResolverEndpoint)+disassociateResolverEndpointIpAddressResponse_resolverEndpoint = Lens.lens (\DisassociateResolverEndpointIpAddressResponse' {resolverEndpoint} -> resolverEndpoint) (\s@DisassociateResolverEndpointIpAddressResponse' {} a -> s {resolverEndpoint = a} :: DisassociateResolverEndpointIpAddressResponse)++-- | The response's http status code.+disassociateResolverEndpointIpAddressResponse_httpStatus :: Lens.Lens' DisassociateResolverEndpointIpAddressResponse Prelude.Int+disassociateResolverEndpointIpAddressResponse_httpStatus = Lens.lens (\DisassociateResolverEndpointIpAddressResponse' {httpStatus} -> httpStatus) (\s@DisassociateResolverEndpointIpAddressResponse' {} a -> s {httpStatus = a} :: DisassociateResolverEndpointIpAddressResponse)++instance+ Prelude.NFData+ DisassociateResolverEndpointIpAddressResponse+ where+ rnf+ DisassociateResolverEndpointIpAddressResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DisassociateResolverQueryLogConfig.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DisassociateResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a VPC from a query logging configuration.+--+-- Before you can delete a query logging configuration, you must first+-- disassociate all VPCs from the configuration. If you used Resource+-- Access Manager (RAM) to share a query logging configuration with other+-- accounts, VPCs can be disassociated from the configuration in the+-- following ways:+--+-- - The accounts that you shared the configuration with can disassociate+-- VPCs from the configuration.+--+-- - You can stop sharing the configuration.+module Amazonka.Route53Resolver.DisassociateResolverQueryLogConfig+ ( -- * Creating a Request+ DisassociateResolverQueryLogConfig (..),+ newDisassociateResolverQueryLogConfig,++ -- * Request Lenses+ disassociateResolverQueryLogConfig_resolverQueryLogConfigId,+ disassociateResolverQueryLogConfig_resourceId,++ -- * Destructuring the Response+ DisassociateResolverQueryLogConfigResponse (..),+ newDisassociateResolverQueryLogConfigResponse,++ -- * Response Lenses+ disassociateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation,+ disassociateResolverQueryLogConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDisassociateResolverQueryLogConfig' smart constructor.+data DisassociateResolverQueryLogConfig = DisassociateResolverQueryLogConfig'+ { -- | The ID of the query logging configuration that you want to disassociate+ -- a specified VPC from.+ resolverQueryLogConfigId :: Prelude.Text,+ -- | The ID of the Amazon VPC that you want to disassociate from a specified+ -- query logging configuration.+ resourceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigId', 'disassociateResolverQueryLogConfig_resolverQueryLogConfigId' - The ID of the query logging configuration that you want to disassociate+-- a specified VPC from.+--+-- 'resourceId', 'disassociateResolverQueryLogConfig_resourceId' - The ID of the Amazon VPC that you want to disassociate from a specified+-- query logging configuration.+newDisassociateResolverQueryLogConfig ::+ -- | 'resolverQueryLogConfigId'+ Prelude.Text ->+ -- | 'resourceId'+ Prelude.Text ->+ DisassociateResolverQueryLogConfig+newDisassociateResolverQueryLogConfig+ pResolverQueryLogConfigId_+ pResourceId_ =+ DisassociateResolverQueryLogConfig'+ { resolverQueryLogConfigId =+ pResolverQueryLogConfigId_,+ resourceId = pResourceId_+ }++-- | The ID of the query logging configuration that you want to disassociate+-- a specified VPC from.+disassociateResolverQueryLogConfig_resolverQueryLogConfigId :: Lens.Lens' DisassociateResolverQueryLogConfig Prelude.Text+disassociateResolverQueryLogConfig_resolverQueryLogConfigId = Lens.lens (\DisassociateResolverQueryLogConfig' {resolverQueryLogConfigId} -> resolverQueryLogConfigId) (\s@DisassociateResolverQueryLogConfig' {} a -> s {resolverQueryLogConfigId = a} :: DisassociateResolverQueryLogConfig)++-- | The ID of the Amazon VPC that you want to disassociate from a specified+-- query logging configuration.+disassociateResolverQueryLogConfig_resourceId :: Lens.Lens' DisassociateResolverQueryLogConfig Prelude.Text+disassociateResolverQueryLogConfig_resourceId = Lens.lens (\DisassociateResolverQueryLogConfig' {resourceId} -> resourceId) (\s@DisassociateResolverQueryLogConfig' {} a -> s {resourceId = a} :: DisassociateResolverQueryLogConfig)++instance+ Core.AWSRequest+ DisassociateResolverQueryLogConfig+ where+ type+ AWSResponse DisassociateResolverQueryLogConfig =+ DisassociateResolverQueryLogConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateResolverQueryLogConfigResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfigAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateResolverQueryLogConfig+ where+ hashWithSalt+ _salt+ DisassociateResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resolverQueryLogConfigId+ `Prelude.hashWithSalt` resourceId++instance+ Prelude.NFData+ DisassociateResolverQueryLogConfig+ where+ rnf DisassociateResolverQueryLogConfig' {..} =+ Prelude.rnf resolverQueryLogConfigId+ `Prelude.seq` Prelude.rnf resourceId++instance+ Data.ToHeaders+ DisassociateResolverQueryLogConfig+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DisassociateResolverQueryLogConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DisassociateResolverQueryLogConfig+ where+ toJSON DisassociateResolverQueryLogConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverQueryLogConfigId"+ Data..= resolverQueryLogConfigId+ ),+ Prelude.Just ("ResourceId" Data..= resourceId)+ ]+ )++instance+ Data.ToPath+ DisassociateResolverQueryLogConfig+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ DisassociateResolverQueryLogConfig+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateResolverQueryLogConfigResponse' smart constructor.+data DisassociateResolverQueryLogConfigResponse = DisassociateResolverQueryLogConfigResponse'+ { -- | A complex type that contains settings for the association that you+ -- deleted between an Amazon VPC and a query logging configuration.+ resolverQueryLogConfigAssociation :: Prelude.Maybe ResolverQueryLogConfigAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverQueryLogConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigAssociation', 'disassociateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation' - A complex type that contains settings for the association that you+-- deleted between an Amazon VPC and a query logging configuration.+--+-- 'httpStatus', 'disassociateResolverQueryLogConfigResponse_httpStatus' - The response's http status code.+newDisassociateResolverQueryLogConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateResolverQueryLogConfigResponse+newDisassociateResolverQueryLogConfigResponse+ pHttpStatus_ =+ DisassociateResolverQueryLogConfigResponse'+ { resolverQueryLogConfigAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A complex type that contains settings for the association that you+-- deleted between an Amazon VPC and a query logging configuration.+disassociateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation :: Lens.Lens' DisassociateResolverQueryLogConfigResponse (Prelude.Maybe ResolverQueryLogConfigAssociation)+disassociateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation = Lens.lens (\DisassociateResolverQueryLogConfigResponse' {resolverQueryLogConfigAssociation} -> resolverQueryLogConfigAssociation) (\s@DisassociateResolverQueryLogConfigResponse' {} a -> s {resolverQueryLogConfigAssociation = a} :: DisassociateResolverQueryLogConfigResponse)++-- | The response's http status code.+disassociateResolverQueryLogConfigResponse_httpStatus :: Lens.Lens' DisassociateResolverQueryLogConfigResponse Prelude.Int+disassociateResolverQueryLogConfigResponse_httpStatus = Lens.lens (\DisassociateResolverQueryLogConfigResponse' {httpStatus} -> httpStatus) (\s@DisassociateResolverQueryLogConfigResponse' {} a -> s {httpStatus = a} :: DisassociateResolverQueryLogConfigResponse)++instance+ Prelude.NFData+ DisassociateResolverQueryLogConfigResponse+ where+ rnf DisassociateResolverQueryLogConfigResponse' {..} =+ Prelude.rnf resolverQueryLogConfigAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/DisassociateResolverRule.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.DisassociateResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the association between a specified Resolver rule and a+-- specified VPC.+--+-- If you disassociate a Resolver rule from a VPC, Resolver stops+-- forwarding DNS queries for the domain name that you specified in the+-- Resolver rule.+module Amazonka.Route53Resolver.DisassociateResolverRule+ ( -- * Creating a Request+ DisassociateResolverRule (..),+ newDisassociateResolverRule,++ -- * Request Lenses+ disassociateResolverRule_vPCId,+ disassociateResolverRule_resolverRuleId,++ -- * Destructuring the Response+ DisassociateResolverRuleResponse (..),+ newDisassociateResolverRuleResponse,++ -- * Response Lenses+ disassociateResolverRuleResponse_resolverRuleAssociation,+ disassociateResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newDisassociateResolverRule' smart constructor.+data DisassociateResolverRule = DisassociateResolverRule'+ { -- | The ID of the VPC that you want to disassociate the Resolver rule from.+ vPCId :: Prelude.Text,+ -- | The ID of the Resolver rule that you want to disassociate from the+ -- specified VPC.+ resolverRuleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vPCId', 'disassociateResolverRule_vPCId' - The ID of the VPC that you want to disassociate the Resolver rule from.+--+-- 'resolverRuleId', 'disassociateResolverRule_resolverRuleId' - The ID of the Resolver rule that you want to disassociate from the+-- specified VPC.+newDisassociateResolverRule ::+ -- | 'vPCId'+ Prelude.Text ->+ -- | 'resolverRuleId'+ Prelude.Text ->+ DisassociateResolverRule+newDisassociateResolverRule pVPCId_ pResolverRuleId_ =+ DisassociateResolverRule'+ { vPCId = pVPCId_,+ resolverRuleId = pResolverRuleId_+ }++-- | The ID of the VPC that you want to disassociate the Resolver rule from.+disassociateResolverRule_vPCId :: Lens.Lens' DisassociateResolverRule Prelude.Text+disassociateResolverRule_vPCId = Lens.lens (\DisassociateResolverRule' {vPCId} -> vPCId) (\s@DisassociateResolverRule' {} a -> s {vPCId = a} :: DisassociateResolverRule)++-- | The ID of the Resolver rule that you want to disassociate from the+-- specified VPC.+disassociateResolverRule_resolverRuleId :: Lens.Lens' DisassociateResolverRule Prelude.Text+disassociateResolverRule_resolverRuleId = Lens.lens (\DisassociateResolverRule' {resolverRuleId} -> resolverRuleId) (\s@DisassociateResolverRule' {} a -> s {resolverRuleId = a} :: DisassociateResolverRule)++instance Core.AWSRequest DisassociateResolverRule where+ type+ AWSResponse DisassociateResolverRule =+ DisassociateResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRuleAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateResolverRule where+ hashWithSalt _salt DisassociateResolverRule' {..} =+ _salt+ `Prelude.hashWithSalt` vPCId+ `Prelude.hashWithSalt` resolverRuleId++instance Prelude.NFData DisassociateResolverRule where+ rnf DisassociateResolverRule' {..} =+ Prelude.rnf vPCId+ `Prelude.seq` Prelude.rnf resolverRuleId++instance Data.ToHeaders DisassociateResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.DisassociateResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateResolverRule where+ toJSON DisassociateResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("VPCId" Data..= vPCId),+ Prelude.Just+ ("ResolverRuleId" Data..= resolverRuleId)+ ]+ )++instance Data.ToPath DisassociateResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery DisassociateResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateResolverRuleResponse' smart constructor.+data DisassociateResolverRuleResponse = DisassociateResolverRuleResponse'+ { -- | Information about the @DisassociateResolverRule@ request, including the+ -- status of the request.+ resolverRuleAssociation :: Prelude.Maybe ResolverRuleAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleAssociation', 'disassociateResolverRuleResponse_resolverRuleAssociation' - Information about the @DisassociateResolverRule@ request, including the+-- status of the request.+--+-- 'httpStatus', 'disassociateResolverRuleResponse_httpStatus' - The response's http status code.+newDisassociateResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateResolverRuleResponse+newDisassociateResolverRuleResponse pHttpStatus_ =+ DisassociateResolverRuleResponse'+ { resolverRuleAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the @DisassociateResolverRule@ request, including the+-- status of the request.+disassociateResolverRuleResponse_resolverRuleAssociation :: Lens.Lens' DisassociateResolverRuleResponse (Prelude.Maybe ResolverRuleAssociation)+disassociateResolverRuleResponse_resolverRuleAssociation = Lens.lens (\DisassociateResolverRuleResponse' {resolverRuleAssociation} -> resolverRuleAssociation) (\s@DisassociateResolverRuleResponse' {} a -> s {resolverRuleAssociation = a} :: DisassociateResolverRuleResponse)++-- | The response's http status code.+disassociateResolverRuleResponse_httpStatus :: Lens.Lens' DisassociateResolverRuleResponse Prelude.Int+disassociateResolverRuleResponse_httpStatus = Lens.lens (\DisassociateResolverRuleResponse' {httpStatus} -> httpStatus) (\s@DisassociateResolverRuleResponse' {} a -> s {httpStatus = a} :: DisassociateResolverRuleResponse)++instance+ Prelude.NFData+ DisassociateResolverRuleResponse+ where+ rnf DisassociateResolverRuleResponse' {..} =+ Prelude.rnf resolverRuleAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetFirewallConfig.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.Route53Resolver.GetFirewallConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the configuration of the firewall behavior provided by DNS+-- Firewall for a single VPC from Amazon Virtual Private Cloud (Amazon+-- VPC).+module Amazonka.Route53Resolver.GetFirewallConfig+ ( -- * Creating a Request+ GetFirewallConfig (..),+ newGetFirewallConfig,++ -- * Request Lenses+ getFirewallConfig_resourceId,++ -- * Destructuring the Response+ GetFirewallConfigResponse (..),+ newGetFirewallConfigResponse,++ -- * Response Lenses+ getFirewallConfigResponse_firewallConfig,+ getFirewallConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetFirewallConfig' smart constructor.+data GetFirewallConfig = GetFirewallConfig'+ { -- | The ID of the VPC from Amazon VPC that the configuration is for.+ resourceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'getFirewallConfig_resourceId' - The ID of the VPC from Amazon VPC that the configuration is for.+newGetFirewallConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ GetFirewallConfig+newGetFirewallConfig pResourceId_ =+ GetFirewallConfig' {resourceId = pResourceId_}++-- | The ID of the VPC from Amazon VPC that the configuration is for.+getFirewallConfig_resourceId :: Lens.Lens' GetFirewallConfig Prelude.Text+getFirewallConfig_resourceId = Lens.lens (\GetFirewallConfig' {resourceId} -> resourceId) (\s@GetFirewallConfig' {} a -> s {resourceId = a} :: GetFirewallConfig)++instance Core.AWSRequest GetFirewallConfig where+ type+ AWSResponse GetFirewallConfig =+ GetFirewallConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFirewallConfigResponse'+ Prelude.<$> (x Data..?> "FirewallConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFirewallConfig where+ hashWithSalt _salt GetFirewallConfig' {..} =+ _salt `Prelude.hashWithSalt` resourceId++instance Prelude.NFData GetFirewallConfig where+ rnf GetFirewallConfig' {..} = Prelude.rnf resourceId++instance Data.ToHeaders GetFirewallConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetFirewallConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFirewallConfig where+ toJSON GetFirewallConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceId" Data..= resourceId)]+ )++instance Data.ToPath GetFirewallConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFirewallConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFirewallConfigResponse' smart constructor.+data GetFirewallConfigResponse = GetFirewallConfigResponse'+ { -- | Configuration of the firewall behavior provided by DNS Firewall for a+ -- single VPC from AmazonVPC.+ firewallConfig :: Prelude.Maybe FirewallConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallConfig', 'getFirewallConfigResponse_firewallConfig' - Configuration of the firewall behavior provided by DNS Firewall for a+-- single VPC from AmazonVPC.+--+-- 'httpStatus', 'getFirewallConfigResponse_httpStatus' - The response's http status code.+newGetFirewallConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFirewallConfigResponse+newGetFirewallConfigResponse pHttpStatus_ =+ GetFirewallConfigResponse'+ { firewallConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Configuration of the firewall behavior provided by DNS Firewall for a+-- single VPC from AmazonVPC.+getFirewallConfigResponse_firewallConfig :: Lens.Lens' GetFirewallConfigResponse (Prelude.Maybe FirewallConfig)+getFirewallConfigResponse_firewallConfig = Lens.lens (\GetFirewallConfigResponse' {firewallConfig} -> firewallConfig) (\s@GetFirewallConfigResponse' {} a -> s {firewallConfig = a} :: GetFirewallConfigResponse)++-- | The response's http status code.+getFirewallConfigResponse_httpStatus :: Lens.Lens' GetFirewallConfigResponse Prelude.Int+getFirewallConfigResponse_httpStatus = Lens.lens (\GetFirewallConfigResponse' {httpStatus} -> httpStatus) (\s@GetFirewallConfigResponse' {} a -> s {httpStatus = a} :: GetFirewallConfigResponse)++instance Prelude.NFData GetFirewallConfigResponse where+ rnf GetFirewallConfigResponse' {..} =+ Prelude.rnf firewallConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetFirewallDomainList.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.Route53Resolver.GetFirewallDomainList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the specified firewall domain list.+module Amazonka.Route53Resolver.GetFirewallDomainList+ ( -- * Creating a Request+ GetFirewallDomainList (..),+ newGetFirewallDomainList,++ -- * Request Lenses+ getFirewallDomainList_firewallDomainListId,++ -- * Destructuring the Response+ GetFirewallDomainListResponse (..),+ newGetFirewallDomainListResponse,++ -- * Response Lenses+ getFirewallDomainListResponse_firewallDomainList,+ getFirewallDomainListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetFirewallDomainList' smart constructor.+data GetFirewallDomainList = GetFirewallDomainList'+ { -- | The ID of the domain list.+ firewallDomainListId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallDomainList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainListId', 'getFirewallDomainList_firewallDomainListId' - The ID of the domain list.+newGetFirewallDomainList ::+ -- | 'firewallDomainListId'+ Prelude.Text ->+ GetFirewallDomainList+newGetFirewallDomainList pFirewallDomainListId_ =+ GetFirewallDomainList'+ { firewallDomainListId =+ pFirewallDomainListId_+ }++-- | The ID of the domain list.+getFirewallDomainList_firewallDomainListId :: Lens.Lens' GetFirewallDomainList Prelude.Text+getFirewallDomainList_firewallDomainListId = Lens.lens (\GetFirewallDomainList' {firewallDomainListId} -> firewallDomainListId) (\s@GetFirewallDomainList' {} a -> s {firewallDomainListId = a} :: GetFirewallDomainList)++instance Core.AWSRequest GetFirewallDomainList where+ type+ AWSResponse GetFirewallDomainList =+ GetFirewallDomainListResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFirewallDomainListResponse'+ Prelude.<$> (x Data..?> "FirewallDomainList")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFirewallDomainList where+ hashWithSalt _salt GetFirewallDomainList' {..} =+ _salt `Prelude.hashWithSalt` firewallDomainListId++instance Prelude.NFData GetFirewallDomainList where+ rnf GetFirewallDomainList' {..} =+ Prelude.rnf firewallDomainListId++instance Data.ToHeaders GetFirewallDomainList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetFirewallDomainList" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFirewallDomainList where+ toJSON GetFirewallDomainList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ )+ ]+ )++instance Data.ToPath GetFirewallDomainList where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFirewallDomainList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFirewallDomainListResponse' smart constructor.+data GetFirewallDomainListResponse = GetFirewallDomainListResponse'+ { -- | The domain list that you requested.+ firewallDomainList :: Prelude.Maybe FirewallDomainList,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallDomainListResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainList', 'getFirewallDomainListResponse_firewallDomainList' - The domain list that you requested.+--+-- 'httpStatus', 'getFirewallDomainListResponse_httpStatus' - The response's http status code.+newGetFirewallDomainListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFirewallDomainListResponse+newGetFirewallDomainListResponse pHttpStatus_ =+ GetFirewallDomainListResponse'+ { firewallDomainList =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The domain list that you requested.+getFirewallDomainListResponse_firewallDomainList :: Lens.Lens' GetFirewallDomainListResponse (Prelude.Maybe FirewallDomainList)+getFirewallDomainListResponse_firewallDomainList = Lens.lens (\GetFirewallDomainListResponse' {firewallDomainList} -> firewallDomainList) (\s@GetFirewallDomainListResponse' {} a -> s {firewallDomainList = a} :: GetFirewallDomainListResponse)++-- | The response's http status code.+getFirewallDomainListResponse_httpStatus :: Lens.Lens' GetFirewallDomainListResponse Prelude.Int+getFirewallDomainListResponse_httpStatus = Lens.lens (\GetFirewallDomainListResponse' {httpStatus} -> httpStatus) (\s@GetFirewallDomainListResponse' {} a -> s {httpStatus = a} :: GetFirewallDomainListResponse)++instance Prelude.NFData GetFirewallDomainListResponse where+ rnf GetFirewallDomainListResponse' {..} =+ Prelude.rnf firewallDomainList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetFirewallRuleGroup.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetFirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the specified firewall rule group.+module Amazonka.Route53Resolver.GetFirewallRuleGroup+ ( -- * Creating a Request+ GetFirewallRuleGroup (..),+ newGetFirewallRuleGroup,++ -- * Request Lenses+ getFirewallRuleGroup_firewallRuleGroupId,++ -- * Destructuring the Response+ GetFirewallRuleGroupResponse (..),+ newGetFirewallRuleGroupResponse,++ -- * Response Lenses+ getFirewallRuleGroupResponse_firewallRuleGroup,+ getFirewallRuleGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetFirewallRuleGroup' smart constructor.+data GetFirewallRuleGroup = GetFirewallRuleGroup'+ { -- | The unique identifier of the firewall rule group.+ firewallRuleGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupId', 'getFirewallRuleGroup_firewallRuleGroupId' - The unique identifier of the firewall rule group.+newGetFirewallRuleGroup ::+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ GetFirewallRuleGroup+newGetFirewallRuleGroup pFirewallRuleGroupId_ =+ GetFirewallRuleGroup'+ { firewallRuleGroupId =+ pFirewallRuleGroupId_+ }++-- | The unique identifier of the firewall rule group.+getFirewallRuleGroup_firewallRuleGroupId :: Lens.Lens' GetFirewallRuleGroup Prelude.Text+getFirewallRuleGroup_firewallRuleGroupId = Lens.lens (\GetFirewallRuleGroup' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@GetFirewallRuleGroup' {} a -> s {firewallRuleGroupId = a} :: GetFirewallRuleGroup)++instance Core.AWSRequest GetFirewallRuleGroup where+ type+ AWSResponse GetFirewallRuleGroup =+ GetFirewallRuleGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFirewallRuleGroupResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFirewallRuleGroup where+ hashWithSalt _salt GetFirewallRuleGroup' {..} =+ _salt `Prelude.hashWithSalt` firewallRuleGroupId++instance Prelude.NFData GetFirewallRuleGroup where+ rnf GetFirewallRuleGroup' {..} =+ Prelude.rnf firewallRuleGroupId++instance Data.ToHeaders GetFirewallRuleGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetFirewallRuleGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFirewallRuleGroup where+ toJSON GetFirewallRuleGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId)+ ]+ )++instance Data.ToPath GetFirewallRuleGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFirewallRuleGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFirewallRuleGroupResponse' smart constructor.+data GetFirewallRuleGroupResponse = GetFirewallRuleGroupResponse'+ { -- | A collection of rules used to filter DNS network traffic.+ firewallRuleGroup :: Prelude.Maybe FirewallRuleGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallRuleGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroup', 'getFirewallRuleGroupResponse_firewallRuleGroup' - A collection of rules used to filter DNS network traffic.+--+-- 'httpStatus', 'getFirewallRuleGroupResponse_httpStatus' - The response's http status code.+newGetFirewallRuleGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFirewallRuleGroupResponse+newGetFirewallRuleGroupResponse pHttpStatus_ =+ GetFirewallRuleGroupResponse'+ { firewallRuleGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A collection of rules used to filter DNS network traffic.+getFirewallRuleGroupResponse_firewallRuleGroup :: Lens.Lens' GetFirewallRuleGroupResponse (Prelude.Maybe FirewallRuleGroup)+getFirewallRuleGroupResponse_firewallRuleGroup = Lens.lens (\GetFirewallRuleGroupResponse' {firewallRuleGroup} -> firewallRuleGroup) (\s@GetFirewallRuleGroupResponse' {} a -> s {firewallRuleGroup = a} :: GetFirewallRuleGroupResponse)++-- | The response's http status code.+getFirewallRuleGroupResponse_httpStatus :: Lens.Lens' GetFirewallRuleGroupResponse Prelude.Int+getFirewallRuleGroupResponse_httpStatus = Lens.lens (\GetFirewallRuleGroupResponse' {httpStatus} -> httpStatus) (\s@GetFirewallRuleGroupResponse' {} a -> s {httpStatus = a} :: GetFirewallRuleGroupResponse)++instance Prelude.NFData GetFirewallRuleGroupResponse where+ rnf GetFirewallRuleGroupResponse' {..} =+ Prelude.rnf firewallRuleGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetFirewallRuleGroupAssociation.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetFirewallRuleGroupAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a firewall rule group association, which enables DNS filtering+-- for a VPC with one rule group. A VPC can have more than one firewall+-- rule group association, and a rule group can be associated with more+-- than one VPC.+module Amazonka.Route53Resolver.GetFirewallRuleGroupAssociation+ ( -- * Creating a Request+ GetFirewallRuleGroupAssociation (..),+ newGetFirewallRuleGroupAssociation,++ -- * Request Lenses+ getFirewallRuleGroupAssociation_firewallRuleGroupAssociationId,++ -- * Destructuring the Response+ GetFirewallRuleGroupAssociationResponse (..),+ newGetFirewallRuleGroupAssociationResponse,++ -- * Response Lenses+ getFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation,+ getFirewallRuleGroupAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetFirewallRuleGroupAssociation' smart constructor.+data GetFirewallRuleGroupAssociation = GetFirewallRuleGroupAssociation'+ { -- | The identifier of the FirewallRuleGroupAssociation.+ firewallRuleGroupAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallRuleGroupAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociationId', 'getFirewallRuleGroupAssociation_firewallRuleGroupAssociationId' - The identifier of the FirewallRuleGroupAssociation.+newGetFirewallRuleGroupAssociation ::+ -- | 'firewallRuleGroupAssociationId'+ Prelude.Text ->+ GetFirewallRuleGroupAssociation+newGetFirewallRuleGroupAssociation+ pFirewallRuleGroupAssociationId_ =+ GetFirewallRuleGroupAssociation'+ { firewallRuleGroupAssociationId =+ pFirewallRuleGroupAssociationId_+ }++-- | The identifier of the FirewallRuleGroupAssociation.+getFirewallRuleGroupAssociation_firewallRuleGroupAssociationId :: Lens.Lens' GetFirewallRuleGroupAssociation Prelude.Text+getFirewallRuleGroupAssociation_firewallRuleGroupAssociationId = Lens.lens (\GetFirewallRuleGroupAssociation' {firewallRuleGroupAssociationId} -> firewallRuleGroupAssociationId) (\s@GetFirewallRuleGroupAssociation' {} a -> s {firewallRuleGroupAssociationId = a} :: GetFirewallRuleGroupAssociation)++instance+ Core.AWSRequest+ GetFirewallRuleGroupAssociation+ where+ type+ AWSResponse GetFirewallRuleGroupAssociation =+ GetFirewallRuleGroupAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFirewallRuleGroupAssociationResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroupAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetFirewallRuleGroupAssociation+ where+ hashWithSalt+ _salt+ GetFirewallRuleGroupAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` firewallRuleGroupAssociationId++instance+ Prelude.NFData+ GetFirewallRuleGroupAssociation+ where+ rnf GetFirewallRuleGroupAssociation' {..} =+ Prelude.rnf firewallRuleGroupAssociationId++instance+ Data.ToHeaders+ GetFirewallRuleGroupAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetFirewallRuleGroupAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFirewallRuleGroupAssociation where+ toJSON GetFirewallRuleGroupAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallRuleGroupAssociationId"+ Data..= firewallRuleGroupAssociationId+ )+ ]+ )++instance Data.ToPath GetFirewallRuleGroupAssociation where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFirewallRuleGroupAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFirewallRuleGroupAssociationResponse' smart constructor.+data GetFirewallRuleGroupAssociationResponse = GetFirewallRuleGroupAssociationResponse'+ { -- | The association that you requested.+ firewallRuleGroupAssociation :: Prelude.Maybe FirewallRuleGroupAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallRuleGroupAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociation', 'getFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation' - The association that you requested.+--+-- 'httpStatus', 'getFirewallRuleGroupAssociationResponse_httpStatus' - The response's http status code.+newGetFirewallRuleGroupAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFirewallRuleGroupAssociationResponse+newGetFirewallRuleGroupAssociationResponse+ pHttpStatus_ =+ GetFirewallRuleGroupAssociationResponse'+ { firewallRuleGroupAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The association that you requested.+getFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation :: Lens.Lens' GetFirewallRuleGroupAssociationResponse (Prelude.Maybe FirewallRuleGroupAssociation)+getFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation = Lens.lens (\GetFirewallRuleGroupAssociationResponse' {firewallRuleGroupAssociation} -> firewallRuleGroupAssociation) (\s@GetFirewallRuleGroupAssociationResponse' {} a -> s {firewallRuleGroupAssociation = a} :: GetFirewallRuleGroupAssociationResponse)++-- | The response's http status code.+getFirewallRuleGroupAssociationResponse_httpStatus :: Lens.Lens' GetFirewallRuleGroupAssociationResponse Prelude.Int+getFirewallRuleGroupAssociationResponse_httpStatus = Lens.lens (\GetFirewallRuleGroupAssociationResponse' {httpStatus} -> httpStatus) (\s@GetFirewallRuleGroupAssociationResponse' {} a -> s {httpStatus = a} :: GetFirewallRuleGroupAssociationResponse)++instance+ Prelude.NFData+ GetFirewallRuleGroupAssociationResponse+ where+ rnf GetFirewallRuleGroupAssociationResponse' {..} =+ Prelude.rnf firewallRuleGroupAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetFirewallRuleGroupPolicy.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetFirewallRuleGroupPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the Identity and Access Management (Amazon Web Services IAM)+-- policy for sharing the specified rule group. You can use the policy to+-- share the rule group using Resource Access Manager (RAM).+module Amazonka.Route53Resolver.GetFirewallRuleGroupPolicy+ ( -- * Creating a Request+ GetFirewallRuleGroupPolicy (..),+ newGetFirewallRuleGroupPolicy,++ -- * Request Lenses+ getFirewallRuleGroupPolicy_arn,++ -- * Destructuring the Response+ GetFirewallRuleGroupPolicyResponse (..),+ newGetFirewallRuleGroupPolicyResponse,++ -- * Response Lenses+ getFirewallRuleGroupPolicyResponse_firewallRuleGroupPolicy,+ getFirewallRuleGroupPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetFirewallRuleGroupPolicy' smart constructor.+data GetFirewallRuleGroupPolicy = GetFirewallRuleGroupPolicy'+ { -- | The ARN (Amazon Resource Name) for the rule group.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFirewallRuleGroupPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getFirewallRuleGroupPolicy_arn' - The ARN (Amazon Resource Name) for the rule group.+newGetFirewallRuleGroupPolicy ::+ -- | 'arn'+ Prelude.Text ->+ GetFirewallRuleGroupPolicy+newGetFirewallRuleGroupPolicy pArn_ =+ GetFirewallRuleGroupPolicy' {arn = pArn_}++-- | The ARN (Amazon Resource Name) for the rule group.+getFirewallRuleGroupPolicy_arn :: Lens.Lens' GetFirewallRuleGroupPolicy Prelude.Text+getFirewallRuleGroupPolicy_arn = Lens.lens (\GetFirewallRuleGroupPolicy' {arn} -> arn) (\s@GetFirewallRuleGroupPolicy' {} a -> s {arn = a} :: GetFirewallRuleGroupPolicy)++instance Core.AWSRequest GetFirewallRuleGroupPolicy where+ type+ AWSResponse GetFirewallRuleGroupPolicy =+ GetFirewallRuleGroupPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFirewallRuleGroupPolicyResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroupPolicy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFirewallRuleGroupPolicy where+ hashWithSalt _salt GetFirewallRuleGroupPolicy' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetFirewallRuleGroupPolicy where+ rnf GetFirewallRuleGroupPolicy' {..} = Prelude.rnf arn++instance Data.ToHeaders GetFirewallRuleGroupPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetFirewallRuleGroupPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFirewallRuleGroupPolicy where+ toJSON GetFirewallRuleGroupPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath GetFirewallRuleGroupPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFirewallRuleGroupPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFirewallRuleGroupPolicyResponse' smart constructor.+data GetFirewallRuleGroupPolicyResponse = GetFirewallRuleGroupPolicyResponse'+ { -- | The Identity and Access Management (Amazon Web Services IAM) policy for+ -- sharing the specified rule group. You can use the policy to share the+ -- rule group using Resource Access Manager (RAM).+ firewallRuleGroupPolicy :: 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 'GetFirewallRuleGroupPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupPolicy', 'getFirewallRuleGroupPolicyResponse_firewallRuleGroupPolicy' - The Identity and Access Management (Amazon Web Services IAM) policy for+-- sharing the specified rule group. You can use the policy to share the+-- rule group using Resource Access Manager (RAM).+--+-- 'httpStatus', 'getFirewallRuleGroupPolicyResponse_httpStatus' - The response's http status code.+newGetFirewallRuleGroupPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFirewallRuleGroupPolicyResponse+newGetFirewallRuleGroupPolicyResponse pHttpStatus_ =+ GetFirewallRuleGroupPolicyResponse'+ { firewallRuleGroupPolicy =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Identity and Access Management (Amazon Web Services IAM) policy for+-- sharing the specified rule group. You can use the policy to share the+-- rule group using Resource Access Manager (RAM).+getFirewallRuleGroupPolicyResponse_firewallRuleGroupPolicy :: Lens.Lens' GetFirewallRuleGroupPolicyResponse (Prelude.Maybe Prelude.Text)+getFirewallRuleGroupPolicyResponse_firewallRuleGroupPolicy = Lens.lens (\GetFirewallRuleGroupPolicyResponse' {firewallRuleGroupPolicy} -> firewallRuleGroupPolicy) (\s@GetFirewallRuleGroupPolicyResponse' {} a -> s {firewallRuleGroupPolicy = a} :: GetFirewallRuleGroupPolicyResponse)++-- | The response's http status code.+getFirewallRuleGroupPolicyResponse_httpStatus :: Lens.Lens' GetFirewallRuleGroupPolicyResponse Prelude.Int+getFirewallRuleGroupPolicyResponse_httpStatus = Lens.lens (\GetFirewallRuleGroupPolicyResponse' {httpStatus} -> httpStatus) (\s@GetFirewallRuleGroupPolicyResponse' {} a -> s {httpStatus = a} :: GetFirewallRuleGroupPolicyResponse)++instance+ Prelude.NFData+ GetFirewallRuleGroupPolicyResponse+ where+ rnf GetFirewallRuleGroupPolicyResponse' {..} =+ Prelude.rnf firewallRuleGroupPolicy+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverConfig.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the behavior configuration of Route 53 Resolver behavior for a+-- single VPC from Amazon Virtual Private Cloud.+module Amazonka.Route53Resolver.GetResolverConfig+ ( -- * Creating a Request+ GetResolverConfig (..),+ newGetResolverConfig,++ -- * Request Lenses+ getResolverConfig_resourceId,++ -- * Destructuring the Response+ GetResolverConfigResponse (..),+ newGetResolverConfigResponse,++ -- * Response Lenses+ getResolverConfigResponse_resolverConfig,+ getResolverConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverConfig' smart constructor.+data GetResolverConfig = GetResolverConfig'+ { -- | Resource ID of the Amazon VPC that you want to get information about.+ resourceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'getResolverConfig_resourceId' - Resource ID of the Amazon VPC that you want to get information about.+newGetResolverConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ GetResolverConfig+newGetResolverConfig pResourceId_ =+ GetResolverConfig' {resourceId = pResourceId_}++-- | Resource ID of the Amazon VPC that you want to get information about.+getResolverConfig_resourceId :: Lens.Lens' GetResolverConfig Prelude.Text+getResolverConfig_resourceId = Lens.lens (\GetResolverConfig' {resourceId} -> resourceId) (\s@GetResolverConfig' {} a -> s {resourceId = a} :: GetResolverConfig)++instance Core.AWSRequest GetResolverConfig where+ type+ AWSResponse GetResolverConfig =+ GetResolverConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverConfigResponse'+ Prelude.<$> (x Data..?> "ResolverConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverConfig where+ hashWithSalt _salt GetResolverConfig' {..} =+ _salt `Prelude.hashWithSalt` resourceId++instance Prelude.NFData GetResolverConfig where+ rnf GetResolverConfig' {..} = Prelude.rnf resourceId++instance Data.ToHeaders GetResolverConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverConfig where+ toJSON GetResolverConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceId" Data..= resourceId)]+ )++instance Data.ToPath GetResolverConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverConfigResponse' smart constructor.+data GetResolverConfigResponse = GetResolverConfigResponse'+ { -- | Information about the behavior configuration of Route 53 Resolver+ -- behavior for the VPC you specified in the @GetResolverConfig@ request.+ resolverConfig :: Prelude.Maybe ResolverConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverConfig', 'getResolverConfigResponse_resolverConfig' - Information about the behavior configuration of Route 53 Resolver+-- behavior for the VPC you specified in the @GetResolverConfig@ request.+--+-- 'httpStatus', 'getResolverConfigResponse_httpStatus' - The response's http status code.+newGetResolverConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverConfigResponse+newGetResolverConfigResponse pHttpStatus_ =+ GetResolverConfigResponse'+ { resolverConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the behavior configuration of Route 53 Resolver+-- behavior for the VPC you specified in the @GetResolverConfig@ request.+getResolverConfigResponse_resolverConfig :: Lens.Lens' GetResolverConfigResponse (Prelude.Maybe ResolverConfig)+getResolverConfigResponse_resolverConfig = Lens.lens (\GetResolverConfigResponse' {resolverConfig} -> resolverConfig) (\s@GetResolverConfigResponse' {} a -> s {resolverConfig = a} :: GetResolverConfigResponse)++-- | The response's http status code.+getResolverConfigResponse_httpStatus :: Lens.Lens' GetResolverConfigResponse Prelude.Int+getResolverConfigResponse_httpStatus = Lens.lens (\GetResolverConfigResponse' {httpStatus} -> httpStatus) (\s@GetResolverConfigResponse' {} a -> s {httpStatus = a} :: GetResolverConfigResponse)++instance Prelude.NFData GetResolverConfigResponse where+ rnf GetResolverConfigResponse' {..} =+ Prelude.rnf resolverConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverDnssecConfig.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverDnssecConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets DNSSEC validation information for a specified resource.+module Amazonka.Route53Resolver.GetResolverDnssecConfig+ ( -- * Creating a Request+ GetResolverDnssecConfig (..),+ newGetResolverDnssecConfig,++ -- * Request Lenses+ getResolverDnssecConfig_resourceId,++ -- * Destructuring the Response+ GetResolverDnssecConfigResponse (..),+ newGetResolverDnssecConfigResponse,++ -- * Response Lenses+ getResolverDnssecConfigResponse_resolverDNSSECConfig,+ getResolverDnssecConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverDnssecConfig' smart constructor.+data GetResolverDnssecConfig = GetResolverDnssecConfig'+ { -- | The ID of the virtual private cloud (VPC) for the DNSSEC validation+ -- status.+ resourceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverDnssecConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'getResolverDnssecConfig_resourceId' - The ID of the virtual private cloud (VPC) for the DNSSEC validation+-- status.+newGetResolverDnssecConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ GetResolverDnssecConfig+newGetResolverDnssecConfig pResourceId_ =+ GetResolverDnssecConfig' {resourceId = pResourceId_}++-- | The ID of the virtual private cloud (VPC) for the DNSSEC validation+-- status.+getResolverDnssecConfig_resourceId :: Lens.Lens' GetResolverDnssecConfig Prelude.Text+getResolverDnssecConfig_resourceId = Lens.lens (\GetResolverDnssecConfig' {resourceId} -> resourceId) (\s@GetResolverDnssecConfig' {} a -> s {resourceId = a} :: GetResolverDnssecConfig)++instance Core.AWSRequest GetResolverDnssecConfig where+ type+ AWSResponse GetResolverDnssecConfig =+ GetResolverDnssecConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverDnssecConfigResponse'+ Prelude.<$> (x Data..?> "ResolverDNSSECConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverDnssecConfig where+ hashWithSalt _salt GetResolverDnssecConfig' {..} =+ _salt `Prelude.hashWithSalt` resourceId++instance Prelude.NFData GetResolverDnssecConfig where+ rnf GetResolverDnssecConfig' {..} =+ Prelude.rnf resourceId++instance Data.ToHeaders GetResolverDnssecConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverDnssecConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverDnssecConfig where+ toJSON GetResolverDnssecConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceId" Data..= resourceId)]+ )++instance Data.ToPath GetResolverDnssecConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverDnssecConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverDnssecConfigResponse' smart constructor.+data GetResolverDnssecConfigResponse = GetResolverDnssecConfigResponse'+ { -- | The information about a configuration for DNSSEC validation.+ resolverDNSSECConfig :: Prelude.Maybe ResolverDnssecConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverDnssecConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverDNSSECConfig', 'getResolverDnssecConfigResponse_resolverDNSSECConfig' - The information about a configuration for DNSSEC validation.+--+-- 'httpStatus', 'getResolverDnssecConfigResponse_httpStatus' - The response's http status code.+newGetResolverDnssecConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverDnssecConfigResponse+newGetResolverDnssecConfigResponse pHttpStatus_ =+ GetResolverDnssecConfigResponse'+ { resolverDNSSECConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The information about a configuration for DNSSEC validation.+getResolverDnssecConfigResponse_resolverDNSSECConfig :: Lens.Lens' GetResolverDnssecConfigResponse (Prelude.Maybe ResolverDnssecConfig)+getResolverDnssecConfigResponse_resolverDNSSECConfig = Lens.lens (\GetResolverDnssecConfigResponse' {resolverDNSSECConfig} -> resolverDNSSECConfig) (\s@GetResolverDnssecConfigResponse' {} a -> s {resolverDNSSECConfig = a} :: GetResolverDnssecConfigResponse)++-- | The response's http status code.+getResolverDnssecConfigResponse_httpStatus :: Lens.Lens' GetResolverDnssecConfigResponse Prelude.Int+getResolverDnssecConfigResponse_httpStatus = Lens.lens (\GetResolverDnssecConfigResponse' {httpStatus} -> httpStatus) (\s@GetResolverDnssecConfigResponse' {} a -> s {httpStatus = a} :: GetResolverDnssecConfigResponse)++instance+ Prelude.NFData+ GetResolverDnssecConfigResponse+ where+ rnf GetResolverDnssecConfigResponse' {..} =+ Prelude.rnf resolverDNSSECConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverEndpoint.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a specified Resolver endpoint, such as whether+-- it\'s an inbound or an outbound Resolver endpoint, and the current+-- status of the endpoint.+module Amazonka.Route53Resolver.GetResolverEndpoint+ ( -- * Creating a Request+ GetResolverEndpoint (..),+ newGetResolverEndpoint,++ -- * Request Lenses+ getResolverEndpoint_resolverEndpointId,++ -- * Destructuring the Response+ GetResolverEndpointResponse (..),+ newGetResolverEndpointResponse,++ -- * Response Lenses+ getResolverEndpointResponse_resolverEndpoint,+ getResolverEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverEndpoint' smart constructor.+data GetResolverEndpoint = GetResolverEndpoint'+ { -- | The ID of the Resolver endpoint that you want to get information about.+ resolverEndpointId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpointId', 'getResolverEndpoint_resolverEndpointId' - The ID of the Resolver endpoint that you want to get information about.+newGetResolverEndpoint ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ GetResolverEndpoint+newGetResolverEndpoint pResolverEndpointId_ =+ GetResolverEndpoint'+ { resolverEndpointId =+ pResolverEndpointId_+ }++-- | The ID of the Resolver endpoint that you want to get information about.+getResolverEndpoint_resolverEndpointId :: Lens.Lens' GetResolverEndpoint Prelude.Text+getResolverEndpoint_resolverEndpointId = Lens.lens (\GetResolverEndpoint' {resolverEndpointId} -> resolverEndpointId) (\s@GetResolverEndpoint' {} a -> s {resolverEndpointId = a} :: GetResolverEndpoint)++instance Core.AWSRequest GetResolverEndpoint where+ type+ AWSResponse GetResolverEndpoint =+ GetResolverEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverEndpointResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverEndpoint where+ hashWithSalt _salt GetResolverEndpoint' {..} =+ _salt `Prelude.hashWithSalt` resolverEndpointId++instance Prelude.NFData GetResolverEndpoint where+ rnf GetResolverEndpoint' {..} =+ Prelude.rnf resolverEndpointId++instance Data.ToHeaders GetResolverEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverEndpoint where+ toJSON GetResolverEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId)+ ]+ )++instance Data.ToPath GetResolverEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverEndpointResponse' smart constructor.+data GetResolverEndpointResponse = GetResolverEndpointResponse'+ { -- | Information about the Resolver endpoint that you specified in a+ -- @GetResolverEndpoint@ request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'getResolverEndpointResponse_resolverEndpoint' - Information about the Resolver endpoint that you specified in a+-- @GetResolverEndpoint@ request.+--+-- 'httpStatus', 'getResolverEndpointResponse_httpStatus' - The response's http status code.+newGetResolverEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverEndpointResponse+newGetResolverEndpointResponse pHttpStatus_ =+ GetResolverEndpointResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Resolver endpoint that you specified in a+-- @GetResolverEndpoint@ request.+getResolverEndpointResponse_resolverEndpoint :: Lens.Lens' GetResolverEndpointResponse (Prelude.Maybe ResolverEndpoint)+getResolverEndpointResponse_resolverEndpoint = Lens.lens (\GetResolverEndpointResponse' {resolverEndpoint} -> resolverEndpoint) (\s@GetResolverEndpointResponse' {} a -> s {resolverEndpoint = a} :: GetResolverEndpointResponse)++-- | The response's http status code.+getResolverEndpointResponse_httpStatus :: Lens.Lens' GetResolverEndpointResponse Prelude.Int+getResolverEndpointResponse_httpStatus = Lens.lens (\GetResolverEndpointResponse' {httpStatus} -> httpStatus) (\s@GetResolverEndpointResponse' {} a -> s {httpStatus = a} :: GetResolverEndpointResponse)++instance Prelude.NFData GetResolverEndpointResponse where+ rnf GetResolverEndpointResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverQueryLogConfig.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a specified Resolver query logging configuration,+-- such as the number of VPCs that the configuration is logging queries for+-- and the location that logs are sent to.+module Amazonka.Route53Resolver.GetResolverQueryLogConfig+ ( -- * Creating a Request+ GetResolverQueryLogConfig (..),+ newGetResolverQueryLogConfig,++ -- * Request Lenses+ getResolverQueryLogConfig_resolverQueryLogConfigId,++ -- * Destructuring the Response+ GetResolverQueryLogConfigResponse (..),+ newGetResolverQueryLogConfigResponse,++ -- * Response Lenses+ getResolverQueryLogConfigResponse_resolverQueryLogConfig,+ getResolverQueryLogConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverQueryLogConfig' smart constructor.+data GetResolverQueryLogConfig = GetResolverQueryLogConfig'+ { -- | The ID of the Resolver query logging configuration that you want to get+ -- information about.+ resolverQueryLogConfigId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigId', 'getResolverQueryLogConfig_resolverQueryLogConfigId' - The ID of the Resolver query logging configuration that you want to get+-- information about.+newGetResolverQueryLogConfig ::+ -- | 'resolverQueryLogConfigId'+ Prelude.Text ->+ GetResolverQueryLogConfig+newGetResolverQueryLogConfig+ pResolverQueryLogConfigId_ =+ GetResolverQueryLogConfig'+ { resolverQueryLogConfigId =+ pResolverQueryLogConfigId_+ }++-- | The ID of the Resolver query logging configuration that you want to get+-- information about.+getResolverQueryLogConfig_resolverQueryLogConfigId :: Lens.Lens' GetResolverQueryLogConfig Prelude.Text+getResolverQueryLogConfig_resolverQueryLogConfigId = Lens.lens (\GetResolverQueryLogConfig' {resolverQueryLogConfigId} -> resolverQueryLogConfigId) (\s@GetResolverQueryLogConfig' {} a -> s {resolverQueryLogConfigId = a} :: GetResolverQueryLogConfig)++instance Core.AWSRequest GetResolverQueryLogConfig where+ type+ AWSResponse GetResolverQueryLogConfig =+ GetResolverQueryLogConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverQueryLogConfigResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverQueryLogConfig where+ hashWithSalt _salt GetResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resolverQueryLogConfigId++instance Prelude.NFData GetResolverQueryLogConfig where+ rnf GetResolverQueryLogConfig' {..} =+ Prelude.rnf resolverQueryLogConfigId++instance Data.ToHeaders GetResolverQueryLogConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverQueryLogConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverQueryLogConfig where+ toJSON GetResolverQueryLogConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverQueryLogConfigId"+ Data..= resolverQueryLogConfigId+ )+ ]+ )++instance Data.ToPath GetResolverQueryLogConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverQueryLogConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverQueryLogConfigResponse' smart constructor.+data GetResolverQueryLogConfigResponse = GetResolverQueryLogConfigResponse'+ { -- | Information about the Resolver query logging configuration that you+ -- specified in a @GetQueryLogConfig@ request.+ resolverQueryLogConfig :: Prelude.Maybe ResolverQueryLogConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverQueryLogConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfig', 'getResolverQueryLogConfigResponse_resolverQueryLogConfig' - Information about the Resolver query logging configuration that you+-- specified in a @GetQueryLogConfig@ request.+--+-- 'httpStatus', 'getResolverQueryLogConfigResponse_httpStatus' - The response's http status code.+newGetResolverQueryLogConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverQueryLogConfigResponse+newGetResolverQueryLogConfigResponse pHttpStatus_ =+ GetResolverQueryLogConfigResponse'+ { resolverQueryLogConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Resolver query logging configuration that you+-- specified in a @GetQueryLogConfig@ request.+getResolverQueryLogConfigResponse_resolverQueryLogConfig :: Lens.Lens' GetResolverQueryLogConfigResponse (Prelude.Maybe ResolverQueryLogConfig)+getResolverQueryLogConfigResponse_resolverQueryLogConfig = Lens.lens (\GetResolverQueryLogConfigResponse' {resolverQueryLogConfig} -> resolverQueryLogConfig) (\s@GetResolverQueryLogConfigResponse' {} a -> s {resolverQueryLogConfig = a} :: GetResolverQueryLogConfigResponse)++-- | The response's http status code.+getResolverQueryLogConfigResponse_httpStatus :: Lens.Lens' GetResolverQueryLogConfigResponse Prelude.Int+getResolverQueryLogConfigResponse_httpStatus = Lens.lens (\GetResolverQueryLogConfigResponse' {httpStatus} -> httpStatus) (\s@GetResolverQueryLogConfigResponse' {} a -> s {httpStatus = a} :: GetResolverQueryLogConfigResponse)++instance+ Prelude.NFData+ GetResolverQueryLogConfigResponse+ where+ rnf GetResolverQueryLogConfigResponse' {..} =+ Prelude.rnf resolverQueryLogConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverQueryLogConfigAssociation.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.Route53Resolver.GetResolverQueryLogConfigAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a specified association between a Resolver query+-- logging configuration and an Amazon VPC. When you associate a VPC with a+-- query logging configuration, Resolver logs DNS queries that originate in+-- that VPC.+module Amazonka.Route53Resolver.GetResolverQueryLogConfigAssociation+ ( -- * Creating a Request+ GetResolverQueryLogConfigAssociation (..),+ newGetResolverQueryLogConfigAssociation,++ -- * Request Lenses+ getResolverQueryLogConfigAssociation_resolverQueryLogConfigAssociationId,++ -- * Destructuring the Response+ GetResolverQueryLogConfigAssociationResponse (..),+ newGetResolverQueryLogConfigAssociationResponse,++ -- * Response Lenses+ getResolverQueryLogConfigAssociationResponse_resolverQueryLogConfigAssociation,+ getResolverQueryLogConfigAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverQueryLogConfigAssociation' smart constructor.+data GetResolverQueryLogConfigAssociation = GetResolverQueryLogConfigAssociation'+ { -- | The ID of the Resolver query logging configuration association that you+ -- want to get information about.+ resolverQueryLogConfigAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverQueryLogConfigAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigAssociationId', 'getResolverQueryLogConfigAssociation_resolverQueryLogConfigAssociationId' - The ID of the Resolver query logging configuration association that you+-- want to get information about.+newGetResolverQueryLogConfigAssociation ::+ -- | 'resolverQueryLogConfigAssociationId'+ Prelude.Text ->+ GetResolverQueryLogConfigAssociation+newGetResolverQueryLogConfigAssociation+ pResolverQueryLogConfigAssociationId_ =+ GetResolverQueryLogConfigAssociation'+ { resolverQueryLogConfigAssociationId =+ pResolverQueryLogConfigAssociationId_+ }++-- | The ID of the Resolver query logging configuration association that you+-- want to get information about.+getResolverQueryLogConfigAssociation_resolverQueryLogConfigAssociationId :: Lens.Lens' GetResolverQueryLogConfigAssociation Prelude.Text+getResolverQueryLogConfigAssociation_resolverQueryLogConfigAssociationId = Lens.lens (\GetResolverQueryLogConfigAssociation' {resolverQueryLogConfigAssociationId} -> resolverQueryLogConfigAssociationId) (\s@GetResolverQueryLogConfigAssociation' {} a -> s {resolverQueryLogConfigAssociationId = a} :: GetResolverQueryLogConfigAssociation)++instance+ Core.AWSRequest+ GetResolverQueryLogConfigAssociation+ where+ type+ AWSResponse GetResolverQueryLogConfigAssociation =+ GetResolverQueryLogConfigAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverQueryLogConfigAssociationResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfigAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetResolverQueryLogConfigAssociation+ where+ hashWithSalt+ _salt+ GetResolverQueryLogConfigAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` resolverQueryLogConfigAssociationId++instance+ Prelude.NFData+ GetResolverQueryLogConfigAssociation+ where+ rnf GetResolverQueryLogConfigAssociation' {..} =+ Prelude.rnf resolverQueryLogConfigAssociationId++instance+ Data.ToHeaders+ GetResolverQueryLogConfigAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverQueryLogConfigAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ GetResolverQueryLogConfigAssociation+ where+ toJSON GetResolverQueryLogConfigAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverQueryLogConfigAssociationId"+ Data..= resolverQueryLogConfigAssociationId+ )+ ]+ )++instance+ Data.ToPath+ GetResolverQueryLogConfigAssociation+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ GetResolverQueryLogConfigAssociation+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverQueryLogConfigAssociationResponse' smart constructor.+data GetResolverQueryLogConfigAssociationResponse = GetResolverQueryLogConfigAssociationResponse'+ { -- | Information about the Resolver query logging configuration association+ -- that you specified in a @GetQueryLogConfigAssociation@ request.+ resolverQueryLogConfigAssociation :: Prelude.Maybe ResolverQueryLogConfigAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverQueryLogConfigAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigAssociation', 'getResolverQueryLogConfigAssociationResponse_resolverQueryLogConfigAssociation' - Information about the Resolver query logging configuration association+-- that you specified in a @GetQueryLogConfigAssociation@ request.+--+-- 'httpStatus', 'getResolverQueryLogConfigAssociationResponse_httpStatus' - The response's http status code.+newGetResolverQueryLogConfigAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverQueryLogConfigAssociationResponse+newGetResolverQueryLogConfigAssociationResponse+ pHttpStatus_ =+ GetResolverQueryLogConfigAssociationResponse'+ { resolverQueryLogConfigAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Resolver query logging configuration association+-- that you specified in a @GetQueryLogConfigAssociation@ request.+getResolverQueryLogConfigAssociationResponse_resolverQueryLogConfigAssociation :: Lens.Lens' GetResolverQueryLogConfigAssociationResponse (Prelude.Maybe ResolverQueryLogConfigAssociation)+getResolverQueryLogConfigAssociationResponse_resolverQueryLogConfigAssociation = Lens.lens (\GetResolverQueryLogConfigAssociationResponse' {resolverQueryLogConfigAssociation} -> resolverQueryLogConfigAssociation) (\s@GetResolverQueryLogConfigAssociationResponse' {} a -> s {resolverQueryLogConfigAssociation = a} :: GetResolverQueryLogConfigAssociationResponse)++-- | The response's http status code.+getResolverQueryLogConfigAssociationResponse_httpStatus :: Lens.Lens' GetResolverQueryLogConfigAssociationResponse Prelude.Int+getResolverQueryLogConfigAssociationResponse_httpStatus = Lens.lens (\GetResolverQueryLogConfigAssociationResponse' {httpStatus} -> httpStatus) (\s@GetResolverQueryLogConfigAssociationResponse' {} a -> s {httpStatus = a} :: GetResolverQueryLogConfigAssociationResponse)++instance+ Prelude.NFData+ GetResolverQueryLogConfigAssociationResponse+ where+ rnf GetResolverQueryLogConfigAssociationResponse' {..} =+ Prelude.rnf resolverQueryLogConfigAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverQueryLogConfigPolicy.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverQueryLogConfigPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a query logging policy. A query logging policy+-- specifies the Resolver query logging operations and resources that you+-- want to allow another Amazon Web Services account to be able to use.+module Amazonka.Route53Resolver.GetResolverQueryLogConfigPolicy+ ( -- * Creating a Request+ GetResolverQueryLogConfigPolicy (..),+ newGetResolverQueryLogConfigPolicy,++ -- * Request Lenses+ getResolverQueryLogConfigPolicy_arn,++ -- * Destructuring the Response+ GetResolverQueryLogConfigPolicyResponse (..),+ newGetResolverQueryLogConfigPolicyResponse,++ -- * Response Lenses+ getResolverQueryLogConfigPolicyResponse_resolverQueryLogConfigPolicy,+ getResolverQueryLogConfigPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverQueryLogConfigPolicy' smart constructor.+data GetResolverQueryLogConfigPolicy = GetResolverQueryLogConfigPolicy'+ { -- | The ARN of the query logging configuration that you want to get the+ -- query logging policy for.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverQueryLogConfigPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getResolverQueryLogConfigPolicy_arn' - The ARN of the query logging configuration that you want to get the+-- query logging policy for.+newGetResolverQueryLogConfigPolicy ::+ -- | 'arn'+ Prelude.Text ->+ GetResolverQueryLogConfigPolicy+newGetResolverQueryLogConfigPolicy pArn_ =+ GetResolverQueryLogConfigPolicy' {arn = pArn_}++-- | The ARN of the query logging configuration that you want to get the+-- query logging policy for.+getResolverQueryLogConfigPolicy_arn :: Lens.Lens' GetResolverQueryLogConfigPolicy Prelude.Text+getResolverQueryLogConfigPolicy_arn = Lens.lens (\GetResolverQueryLogConfigPolicy' {arn} -> arn) (\s@GetResolverQueryLogConfigPolicy' {} a -> s {arn = a} :: GetResolverQueryLogConfigPolicy)++instance+ Core.AWSRequest+ GetResolverQueryLogConfigPolicy+ where+ type+ AWSResponse GetResolverQueryLogConfigPolicy =+ GetResolverQueryLogConfigPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverQueryLogConfigPolicyResponse'+ Prelude.<$> (x Data..?> "ResolverQueryLogConfigPolicy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetResolverQueryLogConfigPolicy+ where+ hashWithSalt+ _salt+ GetResolverQueryLogConfigPolicy' {..} =+ _salt `Prelude.hashWithSalt` arn++instance+ Prelude.NFData+ GetResolverQueryLogConfigPolicy+ where+ rnf GetResolverQueryLogConfigPolicy' {..} =+ Prelude.rnf arn++instance+ Data.ToHeaders+ GetResolverQueryLogConfigPolicy+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverQueryLogConfigPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverQueryLogConfigPolicy where+ toJSON GetResolverQueryLogConfigPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath GetResolverQueryLogConfigPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverQueryLogConfigPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverQueryLogConfigPolicyResponse' smart constructor.+data GetResolverQueryLogConfigPolicyResponse = GetResolverQueryLogConfigPolicyResponse'+ { -- | Information about the query logging policy for the query logging+ -- configuration that you specified in a @GetResolverQueryLogConfigPolicy@+ -- request.+ resolverQueryLogConfigPolicy :: 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 'GetResolverQueryLogConfigPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverQueryLogConfigPolicy', 'getResolverQueryLogConfigPolicyResponse_resolverQueryLogConfigPolicy' - Information about the query logging policy for the query logging+-- configuration that you specified in a @GetResolverQueryLogConfigPolicy@+-- request.+--+-- 'httpStatus', 'getResolverQueryLogConfigPolicyResponse_httpStatus' - The response's http status code.+newGetResolverQueryLogConfigPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverQueryLogConfigPolicyResponse+newGetResolverQueryLogConfigPolicyResponse+ pHttpStatus_ =+ GetResolverQueryLogConfigPolicyResponse'+ { resolverQueryLogConfigPolicy =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the query logging policy for the query logging+-- configuration that you specified in a @GetResolverQueryLogConfigPolicy@+-- request.+getResolverQueryLogConfigPolicyResponse_resolverQueryLogConfigPolicy :: Lens.Lens' GetResolverQueryLogConfigPolicyResponse (Prelude.Maybe Prelude.Text)+getResolverQueryLogConfigPolicyResponse_resolverQueryLogConfigPolicy = Lens.lens (\GetResolverQueryLogConfigPolicyResponse' {resolverQueryLogConfigPolicy} -> resolverQueryLogConfigPolicy) (\s@GetResolverQueryLogConfigPolicyResponse' {} a -> s {resolverQueryLogConfigPolicy = a} :: GetResolverQueryLogConfigPolicyResponse)++-- | The response's http status code.+getResolverQueryLogConfigPolicyResponse_httpStatus :: Lens.Lens' GetResolverQueryLogConfigPolicyResponse Prelude.Int+getResolverQueryLogConfigPolicyResponse_httpStatus = Lens.lens (\GetResolverQueryLogConfigPolicyResponse' {httpStatus} -> httpStatus) (\s@GetResolverQueryLogConfigPolicyResponse' {} a -> s {httpStatus = a} :: GetResolverQueryLogConfigPolicyResponse)++instance+ Prelude.NFData+ GetResolverQueryLogConfigPolicyResponse+ where+ rnf GetResolverQueryLogConfigPolicyResponse' {..} =+ Prelude.rnf resolverQueryLogConfigPolicy+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverRule.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a specified Resolver rule, such as the domain+-- name that the rule forwards DNS queries for and the ID of the outbound+-- Resolver endpoint that the rule is associated with.+module Amazonka.Route53Resolver.GetResolverRule+ ( -- * Creating a Request+ GetResolverRule (..),+ newGetResolverRule,++ -- * Request Lenses+ getResolverRule_resolverRuleId,++ -- * Destructuring the Response+ GetResolverRuleResponse (..),+ newGetResolverRuleResponse,++ -- * Response Lenses+ getResolverRuleResponse_resolverRule,+ getResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverRule' smart constructor.+data GetResolverRule = GetResolverRule'+ { -- | The ID of the Resolver rule that you want to get information about.+ resolverRuleId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleId', 'getResolverRule_resolverRuleId' - The ID of the Resolver rule that you want to get information about.+newGetResolverRule ::+ -- | 'resolverRuleId'+ Prelude.Text ->+ GetResolverRule+newGetResolverRule pResolverRuleId_ =+ GetResolverRule' {resolverRuleId = pResolverRuleId_}++-- | The ID of the Resolver rule that you want to get information about.+getResolverRule_resolverRuleId :: Lens.Lens' GetResolverRule Prelude.Text+getResolverRule_resolverRuleId = Lens.lens (\GetResolverRule' {resolverRuleId} -> resolverRuleId) (\s@GetResolverRule' {} a -> s {resolverRuleId = a} :: GetResolverRule)++instance Core.AWSRequest GetResolverRule where+ type+ AWSResponse GetResolverRule =+ GetResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverRule where+ hashWithSalt _salt GetResolverRule' {..} =+ _salt `Prelude.hashWithSalt` resolverRuleId++instance Prelude.NFData GetResolverRule where+ rnf GetResolverRule' {..} = Prelude.rnf resolverRuleId++instance Data.ToHeaders GetResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverRule where+ toJSON GetResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverRuleId" Data..= resolverRuleId)+ ]+ )++instance Data.ToPath GetResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverRuleResponse' smart constructor.+data GetResolverRuleResponse = GetResolverRuleResponse'+ { -- | Information about the Resolver rule that you specified in a+ -- @GetResolverRule@ request.+ resolverRule :: Prelude.Maybe ResolverRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRule', 'getResolverRuleResponse_resolverRule' - Information about the Resolver rule that you specified in a+-- @GetResolverRule@ request.+--+-- 'httpStatus', 'getResolverRuleResponse_httpStatus' - The response's http status code.+newGetResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverRuleResponse+newGetResolverRuleResponse pHttpStatus_ =+ GetResolverRuleResponse'+ { resolverRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Resolver rule that you specified in a+-- @GetResolverRule@ request.+getResolverRuleResponse_resolverRule :: Lens.Lens' GetResolverRuleResponse (Prelude.Maybe ResolverRule)+getResolverRuleResponse_resolverRule = Lens.lens (\GetResolverRuleResponse' {resolverRule} -> resolverRule) (\s@GetResolverRuleResponse' {} a -> s {resolverRule = a} :: GetResolverRuleResponse)++-- | The response's http status code.+getResolverRuleResponse_httpStatus :: Lens.Lens' GetResolverRuleResponse Prelude.Int+getResolverRuleResponse_httpStatus = Lens.lens (\GetResolverRuleResponse' {httpStatus} -> httpStatus) (\s@GetResolverRuleResponse' {} a -> s {httpStatus = a} :: GetResolverRuleResponse)++instance Prelude.NFData GetResolverRuleResponse where+ rnf GetResolverRuleResponse' {..} =+ Prelude.rnf resolverRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverRuleAssociation.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverRuleAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about an association between a specified Resolver rule+-- and a VPC. You associate a Resolver rule and a VPC using+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html AssociateResolverRule>.+module Amazonka.Route53Resolver.GetResolverRuleAssociation+ ( -- * Creating a Request+ GetResolverRuleAssociation (..),+ newGetResolverRuleAssociation,++ -- * Request Lenses+ getResolverRuleAssociation_resolverRuleAssociationId,++ -- * Destructuring the Response+ GetResolverRuleAssociationResponse (..),+ newGetResolverRuleAssociationResponse,++ -- * Response Lenses+ getResolverRuleAssociationResponse_resolverRuleAssociation,+ getResolverRuleAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverRuleAssociation' smart constructor.+data GetResolverRuleAssociation = GetResolverRuleAssociation'+ { -- | The ID of the Resolver rule association that you want to get information+ -- about.+ resolverRuleAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverRuleAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleAssociationId', 'getResolverRuleAssociation_resolverRuleAssociationId' - The ID of the Resolver rule association that you want to get information+-- about.+newGetResolverRuleAssociation ::+ -- | 'resolverRuleAssociationId'+ Prelude.Text ->+ GetResolverRuleAssociation+newGetResolverRuleAssociation+ pResolverRuleAssociationId_ =+ GetResolverRuleAssociation'+ { resolverRuleAssociationId =+ pResolverRuleAssociationId_+ }++-- | The ID of the Resolver rule association that you want to get information+-- about.+getResolverRuleAssociation_resolverRuleAssociationId :: Lens.Lens' GetResolverRuleAssociation Prelude.Text+getResolverRuleAssociation_resolverRuleAssociationId = Lens.lens (\GetResolverRuleAssociation' {resolverRuleAssociationId} -> resolverRuleAssociationId) (\s@GetResolverRuleAssociation' {} a -> s {resolverRuleAssociationId = a} :: GetResolverRuleAssociation)++instance Core.AWSRequest GetResolverRuleAssociation where+ type+ AWSResponse GetResolverRuleAssociation =+ GetResolverRuleAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverRuleAssociationResponse'+ Prelude.<$> (x Data..?> "ResolverRuleAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverRuleAssociation where+ hashWithSalt _salt GetResolverRuleAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` resolverRuleAssociationId++instance Prelude.NFData GetResolverRuleAssociation where+ rnf GetResolverRuleAssociation' {..} =+ Prelude.rnf resolverRuleAssociationId++instance Data.ToHeaders GetResolverRuleAssociation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverRuleAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverRuleAssociation where+ toJSON GetResolverRuleAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "ResolverRuleAssociationId"+ Data..= resolverRuleAssociationId+ )+ ]+ )++instance Data.ToPath GetResolverRuleAssociation where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverRuleAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverRuleAssociationResponse' smart constructor.+data GetResolverRuleAssociationResponse = GetResolverRuleAssociationResponse'+ { -- | Information about the Resolver rule association that you specified in a+ -- @GetResolverRuleAssociation@ request.+ resolverRuleAssociation :: Prelude.Maybe ResolverRuleAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverRuleAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleAssociation', 'getResolverRuleAssociationResponse_resolverRuleAssociation' - Information about the Resolver rule association that you specified in a+-- @GetResolverRuleAssociation@ request.+--+-- 'httpStatus', 'getResolverRuleAssociationResponse_httpStatus' - The response's http status code.+newGetResolverRuleAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverRuleAssociationResponse+newGetResolverRuleAssociationResponse pHttpStatus_ =+ GetResolverRuleAssociationResponse'+ { resolverRuleAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the Resolver rule association that you specified in a+-- @GetResolverRuleAssociation@ request.+getResolverRuleAssociationResponse_resolverRuleAssociation :: Lens.Lens' GetResolverRuleAssociationResponse (Prelude.Maybe ResolverRuleAssociation)+getResolverRuleAssociationResponse_resolverRuleAssociation = Lens.lens (\GetResolverRuleAssociationResponse' {resolverRuleAssociation} -> resolverRuleAssociation) (\s@GetResolverRuleAssociationResponse' {} a -> s {resolverRuleAssociation = a} :: GetResolverRuleAssociationResponse)++-- | The response's http status code.+getResolverRuleAssociationResponse_httpStatus :: Lens.Lens' GetResolverRuleAssociationResponse Prelude.Int+getResolverRuleAssociationResponse_httpStatus = Lens.lens (\GetResolverRuleAssociationResponse' {httpStatus} -> httpStatus) (\s@GetResolverRuleAssociationResponse' {} a -> s {httpStatus = a} :: GetResolverRuleAssociationResponse)++instance+ Prelude.NFData+ GetResolverRuleAssociationResponse+ where+ rnf GetResolverRuleAssociationResponse' {..} =+ Prelude.rnf resolverRuleAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/GetResolverRulePolicy.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.GetResolverRulePolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the Resolver rule policy for a specified rule. A+-- Resolver rule policy includes the rule that you want to share with+-- another account, the account that you want to share the rule with, and+-- the Resolver operations that you want to allow the account to use.+module Amazonka.Route53Resolver.GetResolverRulePolicy+ ( -- * Creating a Request+ GetResolverRulePolicy (..),+ newGetResolverRulePolicy,++ -- * Request Lenses+ getResolverRulePolicy_arn,++ -- * Destructuring the Response+ GetResolverRulePolicyResponse (..),+ newGetResolverRulePolicyResponse,++ -- * Response Lenses+ getResolverRulePolicyResponse_resolverRulePolicy,+ getResolverRulePolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newGetResolverRulePolicy' smart constructor.+data GetResolverRulePolicy = GetResolverRulePolicy'+ { -- | The ID of the Resolver rule that you want to get the Resolver rule+ -- policy for.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResolverRulePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getResolverRulePolicy_arn' - The ID of the Resolver rule that you want to get the Resolver rule+-- policy for.+newGetResolverRulePolicy ::+ -- | 'arn'+ Prelude.Text ->+ GetResolverRulePolicy+newGetResolverRulePolicy pArn_ =+ GetResolverRulePolicy' {arn = pArn_}++-- | The ID of the Resolver rule that you want to get the Resolver rule+-- policy for.+getResolverRulePolicy_arn :: Lens.Lens' GetResolverRulePolicy Prelude.Text+getResolverRulePolicy_arn = Lens.lens (\GetResolverRulePolicy' {arn} -> arn) (\s@GetResolverRulePolicy' {} a -> s {arn = a} :: GetResolverRulePolicy)++instance Core.AWSRequest GetResolverRulePolicy where+ type+ AWSResponse GetResolverRulePolicy =+ GetResolverRulePolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResolverRulePolicyResponse'+ Prelude.<$> (x Data..?> "ResolverRulePolicy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResolverRulePolicy where+ hashWithSalt _salt GetResolverRulePolicy' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetResolverRulePolicy where+ rnf GetResolverRulePolicy' {..} = Prelude.rnf arn++instance Data.ToHeaders GetResolverRulePolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.GetResolverRulePolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResolverRulePolicy where+ toJSON GetResolverRulePolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath GetResolverRulePolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResolverRulePolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResolverRulePolicyResponse' smart constructor.+data GetResolverRulePolicyResponse = GetResolverRulePolicyResponse'+ { -- | The Resolver rule policy for the rule that you specified in a+ -- @GetResolverRulePolicy@ request.+ resolverRulePolicy :: 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 'GetResolverRulePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRulePolicy', 'getResolverRulePolicyResponse_resolverRulePolicy' - The Resolver rule policy for the rule that you specified in a+-- @GetResolverRulePolicy@ request.+--+-- 'httpStatus', 'getResolverRulePolicyResponse_httpStatus' - The response's http status code.+newGetResolverRulePolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResolverRulePolicyResponse+newGetResolverRulePolicyResponse pHttpStatus_ =+ GetResolverRulePolicyResponse'+ { resolverRulePolicy =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Resolver rule policy for the rule that you specified in a+-- @GetResolverRulePolicy@ request.+getResolverRulePolicyResponse_resolverRulePolicy :: Lens.Lens' GetResolverRulePolicyResponse (Prelude.Maybe Prelude.Text)+getResolverRulePolicyResponse_resolverRulePolicy = Lens.lens (\GetResolverRulePolicyResponse' {resolverRulePolicy} -> resolverRulePolicy) (\s@GetResolverRulePolicyResponse' {} a -> s {resolverRulePolicy = a} :: GetResolverRulePolicyResponse)++-- | The response's http status code.+getResolverRulePolicyResponse_httpStatus :: Lens.Lens' GetResolverRulePolicyResponse Prelude.Int+getResolverRulePolicyResponse_httpStatus = Lens.lens (\GetResolverRulePolicyResponse' {httpStatus} -> httpStatus) (\s@GetResolverRulePolicyResponse' {} a -> s {httpStatus = a} :: GetResolverRulePolicyResponse)++instance Prelude.NFData GetResolverRulePolicyResponse where+ rnf GetResolverRulePolicyResponse' {..} =+ Prelude.rnf resolverRulePolicy+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ImportFirewallDomains.hs view
@@ -0,0 +1,280 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ImportFirewallDomains+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports domain names from a file into a domain list, for use in a DNS+-- firewall rule group.+--+-- Each domain specification in your domain list must satisfy the following+-- requirements:+--+-- - It can optionally start with @*@ (asterisk).+--+-- - With the exception of the optional starting asterisk, it must only+-- contain the following characters: @A-Z@, @a-z@, @0-9@, @-@ (hyphen).+--+-- - It must be from 1-255 characters in length.+module Amazonka.Route53Resolver.ImportFirewallDomains+ ( -- * Creating a Request+ ImportFirewallDomains (..),+ newImportFirewallDomains,++ -- * Request Lenses+ importFirewallDomains_firewallDomainListId,+ importFirewallDomains_operation,+ importFirewallDomains_domainFileUrl,++ -- * Destructuring the Response+ ImportFirewallDomainsResponse (..),+ newImportFirewallDomainsResponse,++ -- * Response Lenses+ importFirewallDomainsResponse_id,+ importFirewallDomainsResponse_name,+ importFirewallDomainsResponse_status,+ importFirewallDomainsResponse_statusMessage,+ importFirewallDomainsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newImportFirewallDomains' smart constructor.+data ImportFirewallDomains = ImportFirewallDomains'+ { -- | The ID of the domain list that you want to modify with the import+ -- operation.+ firewallDomainListId :: Prelude.Text,+ -- | What you want DNS Firewall to do with the domains that are listed in the+ -- file. This must be set to @REPLACE@, which updates the domain list to+ -- exactly match the list in the file.+ operation :: FirewallDomainImportOperation,+ -- | The fully qualified URL or URI of the file stored in Amazon Simple+ -- Storage Service (Amazon S3) that contains the list of domains to import.+ --+ -- The file must be in an S3 bucket that\'s in the same Region as your DNS+ -- Firewall. The file must be a text file and must contain a single domain+ -- per line.+ domainFileUrl :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportFirewallDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainListId', 'importFirewallDomains_firewallDomainListId' - The ID of the domain list that you want to modify with the import+-- operation.+--+-- 'operation', 'importFirewallDomains_operation' - What you want DNS Firewall to do with the domains that are listed in the+-- file. This must be set to @REPLACE@, which updates the domain list to+-- exactly match the list in the file.+--+-- 'domainFileUrl', 'importFirewallDomains_domainFileUrl' - The fully qualified URL or URI of the file stored in Amazon Simple+-- Storage Service (Amazon S3) that contains the list of domains to import.+--+-- The file must be in an S3 bucket that\'s in the same Region as your DNS+-- Firewall. The file must be a text file and must contain a single domain+-- per line.+newImportFirewallDomains ::+ -- | 'firewallDomainListId'+ Prelude.Text ->+ -- | 'operation'+ FirewallDomainImportOperation ->+ -- | 'domainFileUrl'+ Prelude.Text ->+ ImportFirewallDomains+newImportFirewallDomains+ pFirewallDomainListId_+ pOperation_+ pDomainFileUrl_ =+ ImportFirewallDomains'+ { firewallDomainListId =+ pFirewallDomainListId_,+ operation = pOperation_,+ domainFileUrl = pDomainFileUrl_+ }++-- | The ID of the domain list that you want to modify with the import+-- operation.+importFirewallDomains_firewallDomainListId :: Lens.Lens' ImportFirewallDomains Prelude.Text+importFirewallDomains_firewallDomainListId = Lens.lens (\ImportFirewallDomains' {firewallDomainListId} -> firewallDomainListId) (\s@ImportFirewallDomains' {} a -> s {firewallDomainListId = a} :: ImportFirewallDomains)++-- | What you want DNS Firewall to do with the domains that are listed in the+-- file. This must be set to @REPLACE@, which updates the domain list to+-- exactly match the list in the file.+importFirewallDomains_operation :: Lens.Lens' ImportFirewallDomains FirewallDomainImportOperation+importFirewallDomains_operation = Lens.lens (\ImportFirewallDomains' {operation} -> operation) (\s@ImportFirewallDomains' {} a -> s {operation = a} :: ImportFirewallDomains)++-- | The fully qualified URL or URI of the file stored in Amazon Simple+-- Storage Service (Amazon S3) that contains the list of domains to import.+--+-- The file must be in an S3 bucket that\'s in the same Region as your DNS+-- Firewall. The file must be a text file and must contain a single domain+-- per line.+importFirewallDomains_domainFileUrl :: Lens.Lens' ImportFirewallDomains Prelude.Text+importFirewallDomains_domainFileUrl = Lens.lens (\ImportFirewallDomains' {domainFileUrl} -> domainFileUrl) (\s@ImportFirewallDomains' {} a -> s {domainFileUrl = a} :: ImportFirewallDomains)++instance Core.AWSRequest ImportFirewallDomains where+ type+ AWSResponse ImportFirewallDomains =+ ImportFirewallDomainsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ImportFirewallDomainsResponse'+ Prelude.<$> (x Data..?> "Id")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (x Data..?> "StatusMessage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ImportFirewallDomains where+ hashWithSalt _salt ImportFirewallDomains' {..} =+ _salt+ `Prelude.hashWithSalt` firewallDomainListId+ `Prelude.hashWithSalt` operation+ `Prelude.hashWithSalt` domainFileUrl++instance Prelude.NFData ImportFirewallDomains where+ rnf ImportFirewallDomains' {..} =+ Prelude.rnf firewallDomainListId+ `Prelude.seq` Prelude.rnf operation+ `Prelude.seq` Prelude.rnf domainFileUrl++instance Data.ToHeaders ImportFirewallDomains where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ImportFirewallDomains" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ImportFirewallDomains where+ toJSON ImportFirewallDomains' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ ),+ Prelude.Just ("Operation" Data..= operation),+ Prelude.Just+ ("DomainFileUrl" Data..= domainFileUrl)+ ]+ )++instance Data.ToPath ImportFirewallDomains where+ toPath = Prelude.const "/"++instance Data.ToQuery ImportFirewallDomains where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportFirewallDomainsResponse' smart constructor.+data ImportFirewallDomainsResponse = ImportFirewallDomainsResponse'+ { -- | The Id of the firewall domain list that DNS Firewall just updated.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the domain list.+ name :: Prelude.Maybe Prelude.Text,+ status :: Prelude.Maybe FirewallDomainListStatus,+ -- | Additional information about the status of the list, if available.+ statusMessage :: 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 'ImportFirewallDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'importFirewallDomainsResponse_id' - The Id of the firewall domain list that DNS Firewall just updated.+--+-- 'name', 'importFirewallDomainsResponse_name' - The name of the domain list.+--+-- 'status', 'importFirewallDomainsResponse_status' -+--+-- 'statusMessage', 'importFirewallDomainsResponse_statusMessage' - Additional information about the status of the list, if available.+--+-- 'httpStatus', 'importFirewallDomainsResponse_httpStatus' - The response's http status code.+newImportFirewallDomainsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ImportFirewallDomainsResponse+newImportFirewallDomainsResponse pHttpStatus_ =+ ImportFirewallDomainsResponse'+ { id =+ Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Id of the firewall domain list that DNS Firewall just updated.+importFirewallDomainsResponse_id :: Lens.Lens' ImportFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+importFirewallDomainsResponse_id = Lens.lens (\ImportFirewallDomainsResponse' {id} -> id) (\s@ImportFirewallDomainsResponse' {} a -> s {id = a} :: ImportFirewallDomainsResponse)++-- | The name of the domain list.+importFirewallDomainsResponse_name :: Lens.Lens' ImportFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+importFirewallDomainsResponse_name = Lens.lens (\ImportFirewallDomainsResponse' {name} -> name) (\s@ImportFirewallDomainsResponse' {} a -> s {name = a} :: ImportFirewallDomainsResponse)++importFirewallDomainsResponse_status :: Lens.Lens' ImportFirewallDomainsResponse (Prelude.Maybe FirewallDomainListStatus)+importFirewallDomainsResponse_status = Lens.lens (\ImportFirewallDomainsResponse' {status} -> status) (\s@ImportFirewallDomainsResponse' {} a -> s {status = a} :: ImportFirewallDomainsResponse)++-- | Additional information about the status of the list, if available.+importFirewallDomainsResponse_statusMessage :: Lens.Lens' ImportFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+importFirewallDomainsResponse_statusMessage = Lens.lens (\ImportFirewallDomainsResponse' {statusMessage} -> statusMessage) (\s@ImportFirewallDomainsResponse' {} a -> s {statusMessage = a} :: ImportFirewallDomainsResponse)++-- | The response's http status code.+importFirewallDomainsResponse_httpStatus :: Lens.Lens' ImportFirewallDomainsResponse Prelude.Int+importFirewallDomainsResponse_httpStatus = Lens.lens (\ImportFirewallDomainsResponse' {httpStatus} -> httpStatus) (\s@ImportFirewallDomainsResponse' {} a -> s {httpStatus = a} :: ImportFirewallDomainsResponse)++instance Prelude.NFData ImportFirewallDomainsResponse where+ rnf ImportFirewallDomainsResponse' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/Lens.hs view
@@ -0,0 +1,728 @@+{-# 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.Route53Resolver.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.Route53Resolver.Lens+ ( -- * Operations++ -- ** AssociateFirewallRuleGroup+ associateFirewallRuleGroup_mutationProtection,+ associateFirewallRuleGroup_tags,+ associateFirewallRuleGroup_creatorRequestId,+ associateFirewallRuleGroup_firewallRuleGroupId,+ associateFirewallRuleGroup_vpcId,+ associateFirewallRuleGroup_priority,+ associateFirewallRuleGroup_name,+ associateFirewallRuleGroupResponse_firewallRuleGroupAssociation,+ associateFirewallRuleGroupResponse_httpStatus,++ -- ** AssociateResolverEndpointIpAddress+ associateResolverEndpointIpAddress_resolverEndpointId,+ associateResolverEndpointIpAddress_ipAddress,+ associateResolverEndpointIpAddressResponse_resolverEndpoint,+ associateResolverEndpointIpAddressResponse_httpStatus,++ -- ** AssociateResolverQueryLogConfig+ associateResolverQueryLogConfig_resolverQueryLogConfigId,+ associateResolverQueryLogConfig_resourceId,+ associateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation,+ associateResolverQueryLogConfigResponse_httpStatus,++ -- ** AssociateResolverRule+ associateResolverRule_name,+ associateResolverRule_resolverRuleId,+ associateResolverRule_vPCId,+ associateResolverRuleResponse_resolverRuleAssociation,+ associateResolverRuleResponse_httpStatus,++ -- ** CreateFirewallDomainList+ createFirewallDomainList_tags,+ createFirewallDomainList_creatorRequestId,+ createFirewallDomainList_name,+ createFirewallDomainListResponse_firewallDomainList,+ createFirewallDomainListResponse_httpStatus,++ -- ** CreateFirewallRule+ createFirewallRule_blockOverrideDnsType,+ createFirewallRule_blockOverrideDomain,+ createFirewallRule_blockOverrideTtl,+ createFirewallRule_blockResponse,+ createFirewallRule_creatorRequestId,+ createFirewallRule_firewallRuleGroupId,+ createFirewallRule_firewallDomainListId,+ createFirewallRule_priority,+ createFirewallRule_action,+ createFirewallRule_name,+ createFirewallRuleResponse_firewallRule,+ createFirewallRuleResponse_httpStatus,++ -- ** CreateFirewallRuleGroup+ createFirewallRuleGroup_tags,+ createFirewallRuleGroup_creatorRequestId,+ createFirewallRuleGroup_name,+ createFirewallRuleGroupResponse_firewallRuleGroup,+ createFirewallRuleGroupResponse_httpStatus,++ -- ** CreateResolverEndpoint+ createResolverEndpoint_name,+ createResolverEndpoint_tags,+ createResolverEndpoint_creatorRequestId,+ createResolverEndpoint_securityGroupIds,+ createResolverEndpoint_direction,+ createResolverEndpoint_ipAddresses,+ createResolverEndpointResponse_resolverEndpoint,+ createResolverEndpointResponse_httpStatus,++ -- ** CreateResolverQueryLogConfig+ createResolverQueryLogConfig_tags,+ createResolverQueryLogConfig_name,+ createResolverQueryLogConfig_destinationArn,+ createResolverQueryLogConfig_creatorRequestId,+ createResolverQueryLogConfigResponse_resolverQueryLogConfig,+ createResolverQueryLogConfigResponse_httpStatus,++ -- ** CreateResolverRule+ createResolverRule_name,+ createResolverRule_resolverEndpointId,+ createResolverRule_tags,+ createResolverRule_targetIps,+ createResolverRule_creatorRequestId,+ createResolverRule_ruleType,+ createResolverRule_domainName,+ createResolverRuleResponse_resolverRule,+ createResolverRuleResponse_httpStatus,++ -- ** DeleteFirewallDomainList+ deleteFirewallDomainList_firewallDomainListId,+ deleteFirewallDomainListResponse_firewallDomainList,+ deleteFirewallDomainListResponse_httpStatus,++ -- ** DeleteFirewallRule+ deleteFirewallRule_firewallRuleGroupId,+ deleteFirewallRule_firewallDomainListId,+ deleteFirewallRuleResponse_firewallRule,+ deleteFirewallRuleResponse_httpStatus,++ -- ** DeleteFirewallRuleGroup+ deleteFirewallRuleGroup_firewallRuleGroupId,+ deleteFirewallRuleGroupResponse_firewallRuleGroup,+ deleteFirewallRuleGroupResponse_httpStatus,++ -- ** DeleteResolverEndpoint+ deleteResolverEndpoint_resolverEndpointId,+ deleteResolverEndpointResponse_resolverEndpoint,+ deleteResolverEndpointResponse_httpStatus,++ -- ** DeleteResolverQueryLogConfig+ deleteResolverQueryLogConfig_resolverQueryLogConfigId,+ deleteResolverQueryLogConfigResponse_resolverQueryLogConfig,+ deleteResolverQueryLogConfigResponse_httpStatus,++ -- ** DeleteResolverRule+ deleteResolverRule_resolverRuleId,+ deleteResolverRuleResponse_resolverRule,+ deleteResolverRuleResponse_httpStatus,++ -- ** DisassociateFirewallRuleGroup+ disassociateFirewallRuleGroup_firewallRuleGroupAssociationId,+ disassociateFirewallRuleGroupResponse_firewallRuleGroupAssociation,+ disassociateFirewallRuleGroupResponse_httpStatus,++ -- ** DisassociateResolverEndpointIpAddress+ disassociateResolverEndpointIpAddress_resolverEndpointId,+ disassociateResolverEndpointIpAddress_ipAddress,+ disassociateResolverEndpointIpAddressResponse_resolverEndpoint,+ disassociateResolverEndpointIpAddressResponse_httpStatus,++ -- ** DisassociateResolverQueryLogConfig+ disassociateResolverQueryLogConfig_resolverQueryLogConfigId,+ disassociateResolverQueryLogConfig_resourceId,+ disassociateResolverQueryLogConfigResponse_resolverQueryLogConfigAssociation,+ disassociateResolverQueryLogConfigResponse_httpStatus,++ -- ** DisassociateResolverRule+ disassociateResolverRule_vPCId,+ disassociateResolverRule_resolverRuleId,+ disassociateResolverRuleResponse_resolverRuleAssociation,+ disassociateResolverRuleResponse_httpStatus,++ -- ** GetFirewallConfig+ getFirewallConfig_resourceId,+ getFirewallConfigResponse_firewallConfig,+ getFirewallConfigResponse_httpStatus,++ -- ** GetFirewallDomainList+ getFirewallDomainList_firewallDomainListId,+ getFirewallDomainListResponse_firewallDomainList,+ getFirewallDomainListResponse_httpStatus,++ -- ** GetFirewallRuleGroup+ getFirewallRuleGroup_firewallRuleGroupId,+ getFirewallRuleGroupResponse_firewallRuleGroup,+ getFirewallRuleGroupResponse_httpStatus,++ -- ** GetFirewallRuleGroupAssociation+ getFirewallRuleGroupAssociation_firewallRuleGroupAssociationId,+ getFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation,+ getFirewallRuleGroupAssociationResponse_httpStatus,++ -- ** GetFirewallRuleGroupPolicy+ getFirewallRuleGroupPolicy_arn,+ getFirewallRuleGroupPolicyResponse_firewallRuleGroupPolicy,+ getFirewallRuleGroupPolicyResponse_httpStatus,++ -- ** GetResolverConfig+ getResolverConfig_resourceId,+ getResolverConfigResponse_resolverConfig,+ getResolverConfigResponse_httpStatus,++ -- ** GetResolverDnssecConfig+ getResolverDnssecConfig_resourceId,+ getResolverDnssecConfigResponse_resolverDNSSECConfig,+ getResolverDnssecConfigResponse_httpStatus,++ -- ** GetResolverEndpoint+ getResolverEndpoint_resolverEndpointId,+ getResolverEndpointResponse_resolverEndpoint,+ getResolverEndpointResponse_httpStatus,++ -- ** GetResolverQueryLogConfig+ getResolverQueryLogConfig_resolverQueryLogConfigId,+ getResolverQueryLogConfigResponse_resolverQueryLogConfig,+ getResolverQueryLogConfigResponse_httpStatus,++ -- ** GetResolverQueryLogConfigAssociation+ getResolverQueryLogConfigAssociation_resolverQueryLogConfigAssociationId,+ getResolverQueryLogConfigAssociationResponse_resolverQueryLogConfigAssociation,+ getResolverQueryLogConfigAssociationResponse_httpStatus,++ -- ** GetResolverQueryLogConfigPolicy+ getResolverQueryLogConfigPolicy_arn,+ getResolverQueryLogConfigPolicyResponse_resolverQueryLogConfigPolicy,+ getResolverQueryLogConfigPolicyResponse_httpStatus,++ -- ** GetResolverRule+ getResolverRule_resolverRuleId,+ getResolverRuleResponse_resolverRule,+ getResolverRuleResponse_httpStatus,++ -- ** GetResolverRuleAssociation+ getResolverRuleAssociation_resolverRuleAssociationId,+ getResolverRuleAssociationResponse_resolverRuleAssociation,+ getResolverRuleAssociationResponse_httpStatus,++ -- ** GetResolverRulePolicy+ getResolverRulePolicy_arn,+ getResolverRulePolicyResponse_resolverRulePolicy,+ getResolverRulePolicyResponse_httpStatus,++ -- ** ImportFirewallDomains+ importFirewallDomains_firewallDomainListId,+ importFirewallDomains_operation,+ importFirewallDomains_domainFileUrl,+ importFirewallDomainsResponse_id,+ importFirewallDomainsResponse_name,+ importFirewallDomainsResponse_status,+ importFirewallDomainsResponse_statusMessage,+ importFirewallDomainsResponse_httpStatus,++ -- ** ListFirewallConfigs+ listFirewallConfigs_maxResults,+ listFirewallConfigs_nextToken,+ listFirewallConfigsResponse_firewallConfigs,+ listFirewallConfigsResponse_nextToken,+ listFirewallConfigsResponse_httpStatus,++ -- ** ListFirewallDomainLists+ listFirewallDomainLists_maxResults,+ listFirewallDomainLists_nextToken,+ listFirewallDomainListsResponse_firewallDomainLists,+ listFirewallDomainListsResponse_nextToken,+ listFirewallDomainListsResponse_httpStatus,++ -- ** ListFirewallDomains+ listFirewallDomains_maxResults,+ listFirewallDomains_nextToken,+ listFirewallDomains_firewallDomainListId,+ listFirewallDomainsResponse_domains,+ listFirewallDomainsResponse_nextToken,+ listFirewallDomainsResponse_httpStatus,++ -- ** ListFirewallRuleGroupAssociations+ listFirewallRuleGroupAssociations_firewallRuleGroupId,+ listFirewallRuleGroupAssociations_maxResults,+ listFirewallRuleGroupAssociations_nextToken,+ listFirewallRuleGroupAssociations_priority,+ listFirewallRuleGroupAssociations_status,+ listFirewallRuleGroupAssociations_vpcId,+ listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations,+ listFirewallRuleGroupAssociationsResponse_nextToken,+ listFirewallRuleGroupAssociationsResponse_httpStatus,++ -- ** ListFirewallRuleGroups+ listFirewallRuleGroups_maxResults,+ listFirewallRuleGroups_nextToken,+ listFirewallRuleGroupsResponse_firewallRuleGroups,+ listFirewallRuleGroupsResponse_nextToken,+ listFirewallRuleGroupsResponse_httpStatus,++ -- ** ListFirewallRules+ listFirewallRules_action,+ listFirewallRules_maxResults,+ listFirewallRules_nextToken,+ listFirewallRules_priority,+ listFirewallRules_firewallRuleGroupId,+ listFirewallRulesResponse_firewallRules,+ listFirewallRulesResponse_nextToken,+ listFirewallRulesResponse_httpStatus,++ -- ** ListResolverConfigs+ listResolverConfigs_maxResults,+ listResolverConfigs_nextToken,+ listResolverConfigsResponse_nextToken,+ listResolverConfigsResponse_resolverConfigs,+ listResolverConfigsResponse_httpStatus,++ -- ** ListResolverDnssecConfigs+ listResolverDnssecConfigs_filters,+ listResolverDnssecConfigs_maxResults,+ listResolverDnssecConfigs_nextToken,+ listResolverDnssecConfigsResponse_nextToken,+ listResolverDnssecConfigsResponse_resolverDnssecConfigs,+ listResolverDnssecConfigsResponse_httpStatus,++ -- ** ListResolverEndpointIpAddresses+ listResolverEndpointIpAddresses_maxResults,+ listResolverEndpointIpAddresses_nextToken,+ listResolverEndpointIpAddresses_resolverEndpointId,+ listResolverEndpointIpAddressesResponse_ipAddresses,+ listResolverEndpointIpAddressesResponse_maxResults,+ listResolverEndpointIpAddressesResponse_nextToken,+ listResolverEndpointIpAddressesResponse_httpStatus,++ -- ** ListResolverEndpoints+ listResolverEndpoints_filters,+ listResolverEndpoints_maxResults,+ listResolverEndpoints_nextToken,+ listResolverEndpointsResponse_maxResults,+ listResolverEndpointsResponse_nextToken,+ listResolverEndpointsResponse_resolverEndpoints,+ listResolverEndpointsResponse_httpStatus,++ -- ** ListResolverQueryLogConfigAssociations+ listResolverQueryLogConfigAssociations_filters,+ listResolverQueryLogConfigAssociations_maxResults,+ listResolverQueryLogConfigAssociations_nextToken,+ listResolverQueryLogConfigAssociations_sortBy,+ listResolverQueryLogConfigAssociations_sortOrder,+ listResolverQueryLogConfigAssociationsResponse_nextToken,+ listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations,+ listResolverQueryLogConfigAssociationsResponse_totalCount,+ listResolverQueryLogConfigAssociationsResponse_totalFilteredCount,+ listResolverQueryLogConfigAssociationsResponse_httpStatus,++ -- ** ListResolverQueryLogConfigs+ listResolverQueryLogConfigs_filters,+ listResolverQueryLogConfigs_maxResults,+ listResolverQueryLogConfigs_nextToken,+ listResolverQueryLogConfigs_sortBy,+ listResolverQueryLogConfigs_sortOrder,+ listResolverQueryLogConfigsResponse_nextToken,+ listResolverQueryLogConfigsResponse_resolverQueryLogConfigs,+ listResolverQueryLogConfigsResponse_totalCount,+ listResolverQueryLogConfigsResponse_totalFilteredCount,+ listResolverQueryLogConfigsResponse_httpStatus,++ -- ** ListResolverRuleAssociations+ listResolverRuleAssociations_filters,+ listResolverRuleAssociations_maxResults,+ listResolverRuleAssociations_nextToken,+ listResolverRuleAssociationsResponse_maxResults,+ listResolverRuleAssociationsResponse_nextToken,+ listResolverRuleAssociationsResponse_resolverRuleAssociations,+ listResolverRuleAssociationsResponse_httpStatus,++ -- ** ListResolverRules+ listResolverRules_filters,+ listResolverRules_maxResults,+ listResolverRules_nextToken,+ listResolverRulesResponse_maxResults,+ listResolverRulesResponse_nextToken,+ listResolverRulesResponse_resolverRules,+ listResolverRulesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_maxResults,+ listTagsForResource_nextToken,+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_nextToken,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutFirewallRuleGroupPolicy+ putFirewallRuleGroupPolicy_arn,+ putFirewallRuleGroupPolicy_firewallRuleGroupPolicy,+ putFirewallRuleGroupPolicyResponse_returnValue,+ putFirewallRuleGroupPolicyResponse_httpStatus,++ -- ** PutResolverQueryLogConfigPolicy+ putResolverQueryLogConfigPolicy_arn,+ putResolverQueryLogConfigPolicy_resolverQueryLogConfigPolicy,+ putResolverQueryLogConfigPolicyResponse_returnValue,+ putResolverQueryLogConfigPolicyResponse_httpStatus,++ -- ** PutResolverRulePolicy+ putResolverRulePolicy_arn,+ putResolverRulePolicy_resolverRulePolicy,+ putResolverRulePolicyResponse_returnValue,+ putResolverRulePolicyResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateFirewallConfig+ updateFirewallConfig_resourceId,+ updateFirewallConfig_firewallFailOpen,+ updateFirewallConfigResponse_firewallConfig,+ updateFirewallConfigResponse_httpStatus,++ -- ** UpdateFirewallDomains+ updateFirewallDomains_firewallDomainListId,+ updateFirewallDomains_operation,+ updateFirewallDomains_domains,+ updateFirewallDomainsResponse_id,+ updateFirewallDomainsResponse_name,+ updateFirewallDomainsResponse_status,+ updateFirewallDomainsResponse_statusMessage,+ updateFirewallDomainsResponse_httpStatus,++ -- ** UpdateFirewallRule+ updateFirewallRule_action,+ updateFirewallRule_blockOverrideDnsType,+ updateFirewallRule_blockOverrideDomain,+ updateFirewallRule_blockOverrideTtl,+ updateFirewallRule_blockResponse,+ updateFirewallRule_name,+ updateFirewallRule_priority,+ updateFirewallRule_firewallRuleGroupId,+ updateFirewallRule_firewallDomainListId,+ updateFirewallRuleResponse_firewallRule,+ updateFirewallRuleResponse_httpStatus,++ -- ** UpdateFirewallRuleGroupAssociation+ updateFirewallRuleGroupAssociation_mutationProtection,+ updateFirewallRuleGroupAssociation_name,+ updateFirewallRuleGroupAssociation_priority,+ updateFirewallRuleGroupAssociation_firewallRuleGroupAssociationId,+ updateFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation,+ updateFirewallRuleGroupAssociationResponse_httpStatus,++ -- ** UpdateResolverConfig+ updateResolverConfig_resourceId,+ updateResolverConfig_autodefinedReverseFlag,+ updateResolverConfigResponse_resolverConfig,+ updateResolverConfigResponse_httpStatus,++ -- ** UpdateResolverDnssecConfig+ updateResolverDnssecConfig_resourceId,+ updateResolverDnssecConfig_validation,+ updateResolverDnssecConfigResponse_resolverDNSSECConfig,+ updateResolverDnssecConfigResponse_httpStatus,++ -- ** UpdateResolverEndpoint+ updateResolverEndpoint_name,+ updateResolverEndpoint_resolverEndpointId,+ updateResolverEndpointResponse_resolverEndpoint,+ updateResolverEndpointResponse_httpStatus,++ -- ** UpdateResolverRule+ updateResolverRule_resolverRuleId,+ updateResolverRule_config,+ updateResolverRuleResponse_resolverRule,+ updateResolverRuleResponse_httpStatus,++ -- * Types++ -- ** Filter+ filter_name,+ filter_values,++ -- ** FirewallConfig+ firewallConfig_firewallFailOpen,+ firewallConfig_id,+ firewallConfig_ownerId,+ firewallConfig_resourceId,++ -- ** FirewallDomainList+ firewallDomainList_arn,+ firewallDomainList_creationTime,+ firewallDomainList_creatorRequestId,+ firewallDomainList_domainCount,+ firewallDomainList_id,+ firewallDomainList_managedOwnerName,+ firewallDomainList_modificationTime,+ firewallDomainList_name,+ firewallDomainList_status,+ firewallDomainList_statusMessage,++ -- ** FirewallDomainListMetadata+ firewallDomainListMetadata_arn,+ firewallDomainListMetadata_creatorRequestId,+ firewallDomainListMetadata_id,+ firewallDomainListMetadata_managedOwnerName,+ firewallDomainListMetadata_name,++ -- ** FirewallRule+ firewallRule_action,+ firewallRule_blockOverrideDnsType,+ firewallRule_blockOverrideDomain,+ firewallRule_blockOverrideTtl,+ firewallRule_blockResponse,+ firewallRule_creationTime,+ firewallRule_creatorRequestId,+ firewallRule_firewallDomainListId,+ firewallRule_firewallRuleGroupId,+ firewallRule_modificationTime,+ firewallRule_name,+ firewallRule_priority,++ -- ** FirewallRuleGroup+ firewallRuleGroup_arn,+ firewallRuleGroup_creationTime,+ firewallRuleGroup_creatorRequestId,+ firewallRuleGroup_id,+ firewallRuleGroup_modificationTime,+ firewallRuleGroup_name,+ firewallRuleGroup_ownerId,+ firewallRuleGroup_ruleCount,+ firewallRuleGroup_shareStatus,+ firewallRuleGroup_status,+ firewallRuleGroup_statusMessage,++ -- ** FirewallRuleGroupAssociation+ firewallRuleGroupAssociation_arn,+ firewallRuleGroupAssociation_creationTime,+ firewallRuleGroupAssociation_creatorRequestId,+ firewallRuleGroupAssociation_firewallRuleGroupId,+ firewallRuleGroupAssociation_id,+ firewallRuleGroupAssociation_managedOwnerName,+ firewallRuleGroupAssociation_modificationTime,+ firewallRuleGroupAssociation_mutationProtection,+ firewallRuleGroupAssociation_name,+ firewallRuleGroupAssociation_priority,+ firewallRuleGroupAssociation_status,+ firewallRuleGroupAssociation_statusMessage,+ firewallRuleGroupAssociation_vpcId,++ -- ** FirewallRuleGroupMetadata+ firewallRuleGroupMetadata_arn,+ firewallRuleGroupMetadata_creatorRequestId,+ firewallRuleGroupMetadata_id,+ firewallRuleGroupMetadata_name,+ firewallRuleGroupMetadata_ownerId,+ firewallRuleGroupMetadata_shareStatus,++ -- ** IpAddressRequest+ ipAddressRequest_ip,+ ipAddressRequest_subnetId,++ -- ** IpAddressResponse+ ipAddressResponse_creationTime,+ ipAddressResponse_ip,+ ipAddressResponse_ipId,+ ipAddressResponse_modificationTime,+ ipAddressResponse_status,+ ipAddressResponse_statusMessage,+ ipAddressResponse_subnetId,++ -- ** IpAddressUpdate+ ipAddressUpdate_ip,+ ipAddressUpdate_ipId,+ ipAddressUpdate_subnetId,++ -- ** ResolverConfig+ resolverConfig_autodefinedReverse,+ resolverConfig_id,+ resolverConfig_ownerId,+ resolverConfig_resourceId,++ -- ** ResolverDnssecConfig+ resolverDnssecConfig_id,+ resolverDnssecConfig_ownerId,+ resolverDnssecConfig_resourceId,+ resolverDnssecConfig_validationStatus,++ -- ** ResolverEndpoint+ resolverEndpoint_arn,+ resolverEndpoint_creationTime,+ resolverEndpoint_creatorRequestId,+ resolverEndpoint_direction,+ resolverEndpoint_hostVPCId,+ resolverEndpoint_id,+ resolverEndpoint_ipAddressCount,+ resolverEndpoint_modificationTime,+ resolverEndpoint_name,+ resolverEndpoint_securityGroupIds,+ resolverEndpoint_status,+ resolverEndpoint_statusMessage,++ -- ** ResolverQueryLogConfig+ resolverQueryLogConfig_arn,+ resolverQueryLogConfig_associationCount,+ resolverQueryLogConfig_creationTime,+ resolverQueryLogConfig_creatorRequestId,+ resolverQueryLogConfig_destinationArn,+ resolverQueryLogConfig_id,+ resolverQueryLogConfig_name,+ resolverQueryLogConfig_ownerId,+ resolverQueryLogConfig_shareStatus,+ resolverQueryLogConfig_status,++ -- ** ResolverQueryLogConfigAssociation+ resolverQueryLogConfigAssociation_creationTime,+ resolverQueryLogConfigAssociation_error,+ resolverQueryLogConfigAssociation_errorMessage,+ resolverQueryLogConfigAssociation_id,+ resolverQueryLogConfigAssociation_resolverQueryLogConfigId,+ resolverQueryLogConfigAssociation_resourceId,+ resolverQueryLogConfigAssociation_status,++ -- ** ResolverRule+ resolverRule_arn,+ resolverRule_creationTime,+ resolverRule_creatorRequestId,+ resolverRule_domainName,+ resolverRule_id,+ resolverRule_modificationTime,+ resolverRule_name,+ resolverRule_ownerId,+ resolverRule_resolverEndpointId,+ resolverRule_ruleType,+ resolverRule_shareStatus,+ resolverRule_status,+ resolverRule_statusMessage,+ resolverRule_targetIps,++ -- ** ResolverRuleAssociation+ resolverRuleAssociation_id,+ resolverRuleAssociation_name,+ resolverRuleAssociation_resolverRuleId,+ resolverRuleAssociation_status,+ resolverRuleAssociation_statusMessage,+ resolverRuleAssociation_vPCId,++ -- ** ResolverRuleConfig+ resolverRuleConfig_name,+ resolverRuleConfig_resolverEndpointId,+ resolverRuleConfig_targetIps,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TargetAddress+ targetAddress_port,+ targetAddress_ip,+ )+where++import Amazonka.Route53Resolver.AssociateFirewallRuleGroup+import Amazonka.Route53Resolver.AssociateResolverEndpointIpAddress+import Amazonka.Route53Resolver.AssociateResolverQueryLogConfig+import Amazonka.Route53Resolver.AssociateResolverRule+import Amazonka.Route53Resolver.CreateFirewallDomainList+import Amazonka.Route53Resolver.CreateFirewallRule+import Amazonka.Route53Resolver.CreateFirewallRuleGroup+import Amazonka.Route53Resolver.CreateResolverEndpoint+import Amazonka.Route53Resolver.CreateResolverQueryLogConfig+import Amazonka.Route53Resolver.CreateResolverRule+import Amazonka.Route53Resolver.DeleteFirewallDomainList+import Amazonka.Route53Resolver.DeleteFirewallRule+import Amazonka.Route53Resolver.DeleteFirewallRuleGroup+import Amazonka.Route53Resolver.DeleteResolverEndpoint+import Amazonka.Route53Resolver.DeleteResolverQueryLogConfig+import Amazonka.Route53Resolver.DeleteResolverRule+import Amazonka.Route53Resolver.DisassociateFirewallRuleGroup+import Amazonka.Route53Resolver.DisassociateResolverEndpointIpAddress+import Amazonka.Route53Resolver.DisassociateResolverQueryLogConfig+import Amazonka.Route53Resolver.DisassociateResolverRule+import Amazonka.Route53Resolver.GetFirewallConfig+import Amazonka.Route53Resolver.GetFirewallDomainList+import Amazonka.Route53Resolver.GetFirewallRuleGroup+import Amazonka.Route53Resolver.GetFirewallRuleGroupAssociation+import Amazonka.Route53Resolver.GetFirewallRuleGroupPolicy+import Amazonka.Route53Resolver.GetResolverConfig+import Amazonka.Route53Resolver.GetResolverDnssecConfig+import Amazonka.Route53Resolver.GetResolverEndpoint+import Amazonka.Route53Resolver.GetResolverQueryLogConfig+import Amazonka.Route53Resolver.GetResolverQueryLogConfigAssociation+import Amazonka.Route53Resolver.GetResolverQueryLogConfigPolicy+import Amazonka.Route53Resolver.GetResolverRule+import Amazonka.Route53Resolver.GetResolverRuleAssociation+import Amazonka.Route53Resolver.GetResolverRulePolicy+import Amazonka.Route53Resolver.ImportFirewallDomains+import Amazonka.Route53Resolver.ListFirewallConfigs+import Amazonka.Route53Resolver.ListFirewallDomainLists+import Amazonka.Route53Resolver.ListFirewallDomains+import Amazonka.Route53Resolver.ListFirewallRuleGroupAssociations+import Amazonka.Route53Resolver.ListFirewallRuleGroups+import Amazonka.Route53Resolver.ListFirewallRules+import Amazonka.Route53Resolver.ListResolverConfigs+import Amazonka.Route53Resolver.ListResolverDnssecConfigs+import Amazonka.Route53Resolver.ListResolverEndpointIpAddresses+import Amazonka.Route53Resolver.ListResolverEndpoints+import Amazonka.Route53Resolver.ListResolverQueryLogConfigAssociations+import Amazonka.Route53Resolver.ListResolverQueryLogConfigs+import Amazonka.Route53Resolver.ListResolverRuleAssociations+import Amazonka.Route53Resolver.ListResolverRules+import Amazonka.Route53Resolver.ListTagsForResource+import Amazonka.Route53Resolver.PutFirewallRuleGroupPolicy+import Amazonka.Route53Resolver.PutResolverQueryLogConfigPolicy+import Amazonka.Route53Resolver.PutResolverRulePolicy+import Amazonka.Route53Resolver.TagResource+import Amazonka.Route53Resolver.Types.Filter+import Amazonka.Route53Resolver.Types.FirewallConfig+import Amazonka.Route53Resolver.Types.FirewallDomainList+import Amazonka.Route53Resolver.Types.FirewallDomainListMetadata+import Amazonka.Route53Resolver.Types.FirewallRule+import Amazonka.Route53Resolver.Types.FirewallRuleGroup+import Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociation+import Amazonka.Route53Resolver.Types.FirewallRuleGroupMetadata+import Amazonka.Route53Resolver.Types.IpAddressRequest+import Amazonka.Route53Resolver.Types.IpAddressResponse+import Amazonka.Route53Resolver.Types.IpAddressUpdate+import Amazonka.Route53Resolver.Types.ResolverConfig+import Amazonka.Route53Resolver.Types.ResolverDnssecConfig+import Amazonka.Route53Resolver.Types.ResolverEndpoint+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfig+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociation+import Amazonka.Route53Resolver.Types.ResolverRule+import Amazonka.Route53Resolver.Types.ResolverRuleAssociation+import Amazonka.Route53Resolver.Types.ResolverRuleConfig+import Amazonka.Route53Resolver.Types.Tag+import Amazonka.Route53Resolver.Types.TargetAddress+import Amazonka.Route53Resolver.UntagResource+import Amazonka.Route53Resolver.UpdateFirewallConfig+import Amazonka.Route53Resolver.UpdateFirewallDomains+import Amazonka.Route53Resolver.UpdateFirewallRule+import Amazonka.Route53Resolver.UpdateFirewallRuleGroupAssociation+import Amazonka.Route53Resolver.UpdateResolverConfig+import Amazonka.Route53Resolver.UpdateResolverDnssecConfig+import Amazonka.Route53Resolver.UpdateResolverEndpoint+import Amazonka.Route53Resolver.UpdateResolverRule
+ gen/Amazonka/Route53Resolver/ListFirewallConfigs.hs view
@@ -0,0 +1,273 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallConfigs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the firewall configurations that you have defined. DNS+-- Firewall uses the configurations to manage firewall behavior for your+-- VPCs.+--+-- A single call might return only a partial list of the configurations.+-- For information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallConfigs+ ( -- * Creating a Request+ ListFirewallConfigs (..),+ newListFirewallConfigs,++ -- * Request Lenses+ listFirewallConfigs_maxResults,+ listFirewallConfigs_nextToken,++ -- * Destructuring the Response+ ListFirewallConfigsResponse (..),+ newListFirewallConfigsResponse,++ -- * Response Lenses+ listFirewallConfigsResponse_firewallConfigs,+ listFirewallConfigsResponse_nextToken,+ listFirewallConfigsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallConfigs' smart constructor.+data ListFirewallConfigs = ListFirewallConfigs'+ { -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallConfigs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFirewallConfigs_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallConfigs_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+newListFirewallConfigs ::+ ListFirewallConfigs+newListFirewallConfigs =+ ListFirewallConfigs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallConfigs_maxResults :: Lens.Lens' ListFirewallConfigs (Prelude.Maybe Prelude.Natural)+listFirewallConfigs_maxResults = Lens.lens (\ListFirewallConfigs' {maxResults} -> maxResults) (\s@ListFirewallConfigs' {} a -> s {maxResults = a} :: ListFirewallConfigs)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallConfigs_nextToken :: Lens.Lens' ListFirewallConfigs (Prelude.Maybe Prelude.Text)+listFirewallConfigs_nextToken = Lens.lens (\ListFirewallConfigs' {nextToken} -> nextToken) (\s@ListFirewallConfigs' {} a -> s {nextToken = a} :: ListFirewallConfigs)++instance Core.AWSPager ListFirewallConfigs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallConfigsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallConfigsResponse_firewallConfigs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallConfigs_nextToken+ Lens..~ rs+ Lens.^? listFirewallConfigsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFirewallConfigs where+ type+ AWSResponse ListFirewallConfigs =+ ListFirewallConfigsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallConfigsResponse'+ Prelude.<$> ( x+ Data..?> "FirewallConfigs"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFirewallConfigs where+ hashWithSalt _salt ListFirewallConfigs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFirewallConfigs where+ rnf ListFirewallConfigs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFirewallConfigs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallConfigs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFirewallConfigs where+ toJSON ListFirewallConfigs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListFirewallConfigs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFirewallConfigs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallConfigsResponse' smart constructor.+data ListFirewallConfigsResponse = ListFirewallConfigsResponse'+ { -- | The configurations for the firewall behavior provided by DNS Firewall+ -- for VPCs from Amazon Virtual Private Cloud (Amazon VPC).+ firewallConfigs :: Prelude.Maybe [FirewallConfig],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallConfigsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallConfigs', 'listFirewallConfigsResponse_firewallConfigs' - The configurations for the firewall behavior provided by DNS Firewall+-- for VPCs from Amazon Virtual Private Cloud (Amazon VPC).+--+-- 'nextToken', 'listFirewallConfigsResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallConfigsResponse_httpStatus' - The response's http status code.+newListFirewallConfigsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallConfigsResponse+newListFirewallConfigsResponse pHttpStatus_ =+ ListFirewallConfigsResponse'+ { firewallConfigs =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The configurations for the firewall behavior provided by DNS Firewall+-- for VPCs from Amazon Virtual Private Cloud (Amazon VPC).+listFirewallConfigsResponse_firewallConfigs :: Lens.Lens' ListFirewallConfigsResponse (Prelude.Maybe [FirewallConfig])+listFirewallConfigsResponse_firewallConfigs = Lens.lens (\ListFirewallConfigsResponse' {firewallConfigs} -> firewallConfigs) (\s@ListFirewallConfigsResponse' {} a -> s {firewallConfigs = a} :: ListFirewallConfigsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallConfigsResponse_nextToken :: Lens.Lens' ListFirewallConfigsResponse (Prelude.Maybe Prelude.Text)+listFirewallConfigsResponse_nextToken = Lens.lens (\ListFirewallConfigsResponse' {nextToken} -> nextToken) (\s@ListFirewallConfigsResponse' {} a -> s {nextToken = a} :: ListFirewallConfigsResponse)++-- | The response's http status code.+listFirewallConfigsResponse_httpStatus :: Lens.Lens' ListFirewallConfigsResponse Prelude.Int+listFirewallConfigsResponse_httpStatus = Lens.lens (\ListFirewallConfigsResponse' {httpStatus} -> httpStatus) (\s@ListFirewallConfigsResponse' {} a -> s {httpStatus = a} :: ListFirewallConfigsResponse)++instance Prelude.NFData ListFirewallConfigsResponse where+ rnf ListFirewallConfigsResponse' {..} =+ Prelude.rnf firewallConfigs+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListFirewallDomainLists.hs view
@@ -0,0 +1,283 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallDomainLists+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the firewall domain lists that you have defined. For each+-- firewall domain list, you can retrieve the domains that are defined for+-- a list by calling ListFirewallDomains.+--+-- A single call to this list operation might return only a partial list of+-- the domain lists. For information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallDomainLists+ ( -- * Creating a Request+ ListFirewallDomainLists (..),+ newListFirewallDomainLists,++ -- * Request Lenses+ listFirewallDomainLists_maxResults,+ listFirewallDomainLists_nextToken,++ -- * Destructuring the Response+ ListFirewallDomainListsResponse (..),+ newListFirewallDomainListsResponse,++ -- * Response Lenses+ listFirewallDomainListsResponse_firewallDomainLists,+ listFirewallDomainListsResponse_nextToken,+ listFirewallDomainListsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallDomainLists' smart constructor.+data ListFirewallDomainLists = ListFirewallDomainLists'+ { -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallDomainLists' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFirewallDomainLists_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallDomainLists_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+newListFirewallDomainLists ::+ ListFirewallDomainLists+newListFirewallDomainLists =+ ListFirewallDomainLists'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallDomainLists_maxResults :: Lens.Lens' ListFirewallDomainLists (Prelude.Maybe Prelude.Natural)+listFirewallDomainLists_maxResults = Lens.lens (\ListFirewallDomainLists' {maxResults} -> maxResults) (\s@ListFirewallDomainLists' {} a -> s {maxResults = a} :: ListFirewallDomainLists)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallDomainLists_nextToken :: Lens.Lens' ListFirewallDomainLists (Prelude.Maybe Prelude.Text)+listFirewallDomainLists_nextToken = Lens.lens (\ListFirewallDomainLists' {nextToken} -> nextToken) (\s@ListFirewallDomainLists' {} a -> s {nextToken = a} :: ListFirewallDomainLists)++instance Core.AWSPager ListFirewallDomainLists where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallDomainListsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallDomainListsResponse_firewallDomainLists+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallDomainLists_nextToken+ Lens..~ rs+ Lens.^? listFirewallDomainListsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFirewallDomainLists where+ type+ AWSResponse ListFirewallDomainLists =+ ListFirewallDomainListsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallDomainListsResponse'+ Prelude.<$> ( x+ Data..?> "FirewallDomainLists"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFirewallDomainLists where+ hashWithSalt _salt ListFirewallDomainLists' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFirewallDomainLists where+ rnf ListFirewallDomainLists' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFirewallDomainLists where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallDomainLists" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFirewallDomainLists where+ toJSON ListFirewallDomainLists' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListFirewallDomainLists where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFirewallDomainLists where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallDomainListsResponse' smart constructor.+data ListFirewallDomainListsResponse = ListFirewallDomainListsResponse'+ { -- | A list of the domain lists that you have defined.+ --+ -- This might be a partial list of the domain lists that you\'ve defined.+ -- For information, see @MaxResults@.+ firewallDomainLists :: Prelude.Maybe [FirewallDomainListMetadata],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallDomainListsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainLists', 'listFirewallDomainListsResponse_firewallDomainLists' - A list of the domain lists that you have defined.+--+-- This might be a partial list of the domain lists that you\'ve defined.+-- For information, see @MaxResults@.+--+-- 'nextToken', 'listFirewallDomainListsResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallDomainListsResponse_httpStatus' - The response's http status code.+newListFirewallDomainListsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallDomainListsResponse+newListFirewallDomainListsResponse pHttpStatus_ =+ ListFirewallDomainListsResponse'+ { firewallDomainLists =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the domain lists that you have defined.+--+-- This might be a partial list of the domain lists that you\'ve defined.+-- For information, see @MaxResults@.+listFirewallDomainListsResponse_firewallDomainLists :: Lens.Lens' ListFirewallDomainListsResponse (Prelude.Maybe [FirewallDomainListMetadata])+listFirewallDomainListsResponse_firewallDomainLists = Lens.lens (\ListFirewallDomainListsResponse' {firewallDomainLists} -> firewallDomainLists) (\s@ListFirewallDomainListsResponse' {} a -> s {firewallDomainLists = a} :: ListFirewallDomainListsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallDomainListsResponse_nextToken :: Lens.Lens' ListFirewallDomainListsResponse (Prelude.Maybe Prelude.Text)+listFirewallDomainListsResponse_nextToken = Lens.lens (\ListFirewallDomainListsResponse' {nextToken} -> nextToken) (\s@ListFirewallDomainListsResponse' {} a -> s {nextToken = a} :: ListFirewallDomainListsResponse)++-- | The response's http status code.+listFirewallDomainListsResponse_httpStatus :: Lens.Lens' ListFirewallDomainListsResponse Prelude.Int+listFirewallDomainListsResponse_httpStatus = Lens.lens (\ListFirewallDomainListsResponse' {httpStatus} -> httpStatus) (\s@ListFirewallDomainListsResponse' {} a -> s {httpStatus = a} :: ListFirewallDomainListsResponse)++instance+ Prelude.NFData+ ListFirewallDomainListsResponse+ where+ rnf ListFirewallDomainListsResponse' {..} =+ Prelude.rnf firewallDomainLists+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListFirewallDomains.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallDomains+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the domains that you have defined for the specified firewall+-- domain list.+--+-- A single call might return only a partial list of the domains. For+-- information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallDomains+ ( -- * Creating a Request+ ListFirewallDomains (..),+ newListFirewallDomains,++ -- * Request Lenses+ listFirewallDomains_maxResults,+ listFirewallDomains_nextToken,+ listFirewallDomains_firewallDomainListId,++ -- * Destructuring the Response+ ListFirewallDomainsResponse (..),+ newListFirewallDomainsResponse,++ -- * Response Lenses+ listFirewallDomainsResponse_domains,+ listFirewallDomainsResponse_nextToken,+ listFirewallDomainsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallDomains' smart constructor.+data ListFirewallDomains = ListFirewallDomains'+ { -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the domain list whose domains you want to retrieve.+ firewallDomainListId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFirewallDomains_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallDomains_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+--+-- 'firewallDomainListId', 'listFirewallDomains_firewallDomainListId' - The ID of the domain list whose domains you want to retrieve.+newListFirewallDomains ::+ -- | 'firewallDomainListId'+ Prelude.Text ->+ ListFirewallDomains+newListFirewallDomains pFirewallDomainListId_ =+ ListFirewallDomains'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ firewallDomainListId = pFirewallDomainListId_+ }++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallDomains_maxResults :: Lens.Lens' ListFirewallDomains (Prelude.Maybe Prelude.Natural)+listFirewallDomains_maxResults = Lens.lens (\ListFirewallDomains' {maxResults} -> maxResults) (\s@ListFirewallDomains' {} a -> s {maxResults = a} :: ListFirewallDomains)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallDomains_nextToken :: Lens.Lens' ListFirewallDomains (Prelude.Maybe Prelude.Text)+listFirewallDomains_nextToken = Lens.lens (\ListFirewallDomains' {nextToken} -> nextToken) (\s@ListFirewallDomains' {} a -> s {nextToken = a} :: ListFirewallDomains)++-- | The ID of the domain list whose domains you want to retrieve.+listFirewallDomains_firewallDomainListId :: Lens.Lens' ListFirewallDomains Prelude.Text+listFirewallDomains_firewallDomainListId = Lens.lens (\ListFirewallDomains' {firewallDomainListId} -> firewallDomainListId) (\s@ListFirewallDomains' {} a -> s {firewallDomainListId = a} :: ListFirewallDomains)++instance Core.AWSPager ListFirewallDomains where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallDomainsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallDomainsResponse_domains+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallDomains_nextToken+ Lens..~ rs+ Lens.^? listFirewallDomainsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFirewallDomains where+ type+ AWSResponse ListFirewallDomains =+ ListFirewallDomainsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallDomainsResponse'+ Prelude.<$> (x Data..?> "Domains" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFirewallDomains where+ hashWithSalt _salt ListFirewallDomains' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` firewallDomainListId++instance Prelude.NFData ListFirewallDomains where+ rnf ListFirewallDomains' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf firewallDomainListId++instance Data.ToHeaders ListFirewallDomains where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallDomains" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFirewallDomains where+ toJSON ListFirewallDomains' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ )+ ]+ )++instance Data.ToPath ListFirewallDomains where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFirewallDomains where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallDomainsResponse' smart constructor.+data ListFirewallDomainsResponse = ListFirewallDomainsResponse'+ { -- | A list of the domains in the firewall domain list.+ --+ -- This might be a partial list of the domains that you\'ve defined in the+ -- domain list. For information, see @MaxResults@.+ domains :: Prelude.Maybe [Prelude.Text],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domains', 'listFirewallDomainsResponse_domains' - A list of the domains in the firewall domain list.+--+-- This might be a partial list of the domains that you\'ve defined in the+-- domain list. For information, see @MaxResults@.+--+-- 'nextToken', 'listFirewallDomainsResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallDomainsResponse_httpStatus' - The response's http status code.+newListFirewallDomainsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallDomainsResponse+newListFirewallDomainsResponse pHttpStatus_ =+ ListFirewallDomainsResponse'+ { domains =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the domains in the firewall domain list.+--+-- This might be a partial list of the domains that you\'ve defined in the+-- domain list. For information, see @MaxResults@.+listFirewallDomainsResponse_domains :: Lens.Lens' ListFirewallDomainsResponse (Prelude.Maybe [Prelude.Text])+listFirewallDomainsResponse_domains = Lens.lens (\ListFirewallDomainsResponse' {domains} -> domains) (\s@ListFirewallDomainsResponse' {} a -> s {domains = a} :: ListFirewallDomainsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallDomainsResponse_nextToken :: Lens.Lens' ListFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+listFirewallDomainsResponse_nextToken = Lens.lens (\ListFirewallDomainsResponse' {nextToken} -> nextToken) (\s@ListFirewallDomainsResponse' {} a -> s {nextToken = a} :: ListFirewallDomainsResponse)++-- | The response's http status code.+listFirewallDomainsResponse_httpStatus :: Lens.Lens' ListFirewallDomainsResponse Prelude.Int+listFirewallDomainsResponse_httpStatus = Lens.lens (\ListFirewallDomainsResponse' {httpStatus} -> httpStatus) (\s@ListFirewallDomainsResponse' {} a -> s {httpStatus = a} :: ListFirewallDomainsResponse)++instance Prelude.NFData ListFirewallDomainsResponse where+ rnf ListFirewallDomainsResponse' {..} =+ Prelude.rnf domains+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListFirewallRuleGroupAssociations.hs view
@@ -0,0 +1,386 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallRuleGroupAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the firewall rule group associations that you have defined.+-- Each association enables DNS filtering for a VPC with one rule group.+--+-- A single call might return only a partial list of the associations. For+-- information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallRuleGroupAssociations+ ( -- * Creating a Request+ ListFirewallRuleGroupAssociations (..),+ newListFirewallRuleGroupAssociations,++ -- * Request Lenses+ listFirewallRuleGroupAssociations_firewallRuleGroupId,+ listFirewallRuleGroupAssociations_maxResults,+ listFirewallRuleGroupAssociations_nextToken,+ listFirewallRuleGroupAssociations_priority,+ listFirewallRuleGroupAssociations_status,+ listFirewallRuleGroupAssociations_vpcId,++ -- * Destructuring the Response+ ListFirewallRuleGroupAssociationsResponse (..),+ newListFirewallRuleGroupAssociationsResponse,++ -- * Response Lenses+ listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations,+ listFirewallRuleGroupAssociationsResponse_nextToken,+ listFirewallRuleGroupAssociationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallRuleGroupAssociations' smart constructor.+data ListFirewallRuleGroupAssociations = ListFirewallRuleGroupAssociations'+ { -- | The unique identifier of the firewall rule group that you want to+ -- retrieve the associations for. Leave this blank to retrieve associations+ -- for any rule group.+ firewallRuleGroupId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The setting that determines the processing order of the rule group among+ -- the rule groups that are associated with a single VPC. DNS Firewall+ -- filters VPC traffic starting from the rule group with the lowest numeric+ -- priority setting.+ priority :: Prelude.Maybe Prelude.Int,+ -- | The association @Status@ setting that you want DNS Firewall to filter on+ -- for the list. If you don\'t specify this, then DNS Firewall returns all+ -- associations, regardless of status.+ status :: Prelude.Maybe FirewallRuleGroupAssociationStatus,+ -- | The unique identifier of the VPC that you want to retrieve the+ -- associations for. Leave this blank to retrieve associations for any VPC.+ vpcId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallRuleGroupAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupId', 'listFirewallRuleGroupAssociations_firewallRuleGroupId' - The unique identifier of the firewall rule group that you want to+-- retrieve the associations for. Leave this blank to retrieve associations+-- for any rule group.+--+-- 'maxResults', 'listFirewallRuleGroupAssociations_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallRuleGroupAssociations_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+--+-- 'priority', 'listFirewallRuleGroupAssociations_priority' - The setting that determines the processing order of the rule group among+-- the rule groups that are associated with a single VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+--+-- 'status', 'listFirewallRuleGroupAssociations_status' - The association @Status@ setting that you want DNS Firewall to filter on+-- for the list. If you don\'t specify this, then DNS Firewall returns all+-- associations, regardless of status.+--+-- 'vpcId', 'listFirewallRuleGroupAssociations_vpcId' - The unique identifier of the VPC that you want to retrieve the+-- associations for. Leave this blank to retrieve associations for any VPC.+newListFirewallRuleGroupAssociations ::+ ListFirewallRuleGroupAssociations+newListFirewallRuleGroupAssociations =+ ListFirewallRuleGroupAssociations'+ { firewallRuleGroupId =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ priority = Prelude.Nothing,+ status = Prelude.Nothing,+ vpcId = Prelude.Nothing+ }++-- | The unique identifier of the firewall rule group that you want to+-- retrieve the associations for. Leave this blank to retrieve associations+-- for any rule group.+listFirewallRuleGroupAssociations_firewallRuleGroupId :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe Prelude.Text)+listFirewallRuleGroupAssociations_firewallRuleGroupId = Lens.lens (\ListFirewallRuleGroupAssociations' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@ListFirewallRuleGroupAssociations' {} a -> s {firewallRuleGroupId = a} :: ListFirewallRuleGroupAssociations)++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallRuleGroupAssociations_maxResults :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe Prelude.Natural)+listFirewallRuleGroupAssociations_maxResults = Lens.lens (\ListFirewallRuleGroupAssociations' {maxResults} -> maxResults) (\s@ListFirewallRuleGroupAssociations' {} a -> s {maxResults = a} :: ListFirewallRuleGroupAssociations)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallRuleGroupAssociations_nextToken :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe Prelude.Text)+listFirewallRuleGroupAssociations_nextToken = Lens.lens (\ListFirewallRuleGroupAssociations' {nextToken} -> nextToken) (\s@ListFirewallRuleGroupAssociations' {} a -> s {nextToken = a} :: ListFirewallRuleGroupAssociations)++-- | The setting that determines the processing order of the rule group among+-- the rule groups that are associated with a single VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+listFirewallRuleGroupAssociations_priority :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe Prelude.Int)+listFirewallRuleGroupAssociations_priority = Lens.lens (\ListFirewallRuleGroupAssociations' {priority} -> priority) (\s@ListFirewallRuleGroupAssociations' {} a -> s {priority = a} :: ListFirewallRuleGroupAssociations)++-- | The association @Status@ setting that you want DNS Firewall to filter on+-- for the list. If you don\'t specify this, then DNS Firewall returns all+-- associations, regardless of status.+listFirewallRuleGroupAssociations_status :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe FirewallRuleGroupAssociationStatus)+listFirewallRuleGroupAssociations_status = Lens.lens (\ListFirewallRuleGroupAssociations' {status} -> status) (\s@ListFirewallRuleGroupAssociations' {} a -> s {status = a} :: ListFirewallRuleGroupAssociations)++-- | The unique identifier of the VPC that you want to retrieve the+-- associations for. Leave this blank to retrieve associations for any VPC.+listFirewallRuleGroupAssociations_vpcId :: Lens.Lens' ListFirewallRuleGroupAssociations (Prelude.Maybe Prelude.Text)+listFirewallRuleGroupAssociations_vpcId = Lens.lens (\ListFirewallRuleGroupAssociations' {vpcId} -> vpcId) (\s@ListFirewallRuleGroupAssociations' {} a -> s {vpcId = a} :: ListFirewallRuleGroupAssociations)++instance+ Core.AWSPager+ ListFirewallRuleGroupAssociations+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallRuleGroupAssociationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallRuleGroupAssociations_nextToken+ Lens..~ rs+ Lens.^? listFirewallRuleGroupAssociationsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListFirewallRuleGroupAssociations+ where+ type+ AWSResponse ListFirewallRuleGroupAssociations =+ ListFirewallRuleGroupAssociationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallRuleGroupAssociationsResponse'+ Prelude.<$> ( x+ Data..?> "FirewallRuleGroupAssociations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListFirewallRuleGroupAssociations+ where+ hashWithSalt+ _salt+ ListFirewallRuleGroupAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` vpcId++instance+ Prelude.NFData+ ListFirewallRuleGroupAssociations+ where+ rnf ListFirewallRuleGroupAssociations' {..} =+ Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf vpcId++instance+ Data.ToHeaders+ ListFirewallRuleGroupAssociations+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallRuleGroupAssociations" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListFirewallRuleGroupAssociations+ where+ toJSON ListFirewallRuleGroupAssociations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FirewallRuleGroupId" Data..=)+ Prelude.<$> firewallRuleGroupId,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("Priority" Data..=) Prelude.<$> priority,+ ("Status" Data..=) Prelude.<$> status,+ ("VpcId" Data..=) Prelude.<$> vpcId+ ]+ )++instance+ Data.ToPath+ ListFirewallRuleGroupAssociations+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ ListFirewallRuleGroupAssociations+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallRuleGroupAssociationsResponse' smart constructor.+data ListFirewallRuleGroupAssociationsResponse = ListFirewallRuleGroupAssociationsResponse'+ { -- | A list of your firewall rule group associations.+ --+ -- This might be a partial list of the associations that you have defined.+ -- For information, see @MaxResults@.+ firewallRuleGroupAssociations :: Prelude.Maybe [FirewallRuleGroupAssociation],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallRuleGroupAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociations', 'listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations' - A list of your firewall rule group associations.+--+-- This might be a partial list of the associations that you have defined.+-- For information, see @MaxResults@.+--+-- 'nextToken', 'listFirewallRuleGroupAssociationsResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallRuleGroupAssociationsResponse_httpStatus' - The response's http status code.+newListFirewallRuleGroupAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallRuleGroupAssociationsResponse+newListFirewallRuleGroupAssociationsResponse+ pHttpStatus_ =+ ListFirewallRuleGroupAssociationsResponse'+ { firewallRuleGroupAssociations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of your firewall rule group associations.+--+-- This might be a partial list of the associations that you have defined.+-- For information, see @MaxResults@.+listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations :: Lens.Lens' ListFirewallRuleGroupAssociationsResponse (Prelude.Maybe [FirewallRuleGroupAssociation])+listFirewallRuleGroupAssociationsResponse_firewallRuleGroupAssociations = Lens.lens (\ListFirewallRuleGroupAssociationsResponse' {firewallRuleGroupAssociations} -> firewallRuleGroupAssociations) (\s@ListFirewallRuleGroupAssociationsResponse' {} a -> s {firewallRuleGroupAssociations = a} :: ListFirewallRuleGroupAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallRuleGroupAssociationsResponse_nextToken :: Lens.Lens' ListFirewallRuleGroupAssociationsResponse (Prelude.Maybe Prelude.Text)+listFirewallRuleGroupAssociationsResponse_nextToken = Lens.lens (\ListFirewallRuleGroupAssociationsResponse' {nextToken} -> nextToken) (\s@ListFirewallRuleGroupAssociationsResponse' {} a -> s {nextToken = a} :: ListFirewallRuleGroupAssociationsResponse)++-- | The response's http status code.+listFirewallRuleGroupAssociationsResponse_httpStatus :: Lens.Lens' ListFirewallRuleGroupAssociationsResponse Prelude.Int+listFirewallRuleGroupAssociationsResponse_httpStatus = Lens.lens (\ListFirewallRuleGroupAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListFirewallRuleGroupAssociationsResponse' {} a -> s {httpStatus = a} :: ListFirewallRuleGroupAssociationsResponse)++instance+ Prelude.NFData+ ListFirewallRuleGroupAssociationsResponse+ where+ rnf ListFirewallRuleGroupAssociationsResponse' {..} =+ Prelude.rnf firewallRuleGroupAssociations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListFirewallRuleGroups.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallRuleGroups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the minimal high-level information for the rule groups that+-- you have defined.+--+-- A single call might return only a partial list of the rule groups. For+-- information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallRuleGroups+ ( -- * Creating a Request+ ListFirewallRuleGroups (..),+ newListFirewallRuleGroups,++ -- * Request Lenses+ listFirewallRuleGroups_maxResults,+ listFirewallRuleGroups_nextToken,++ -- * Destructuring the Response+ ListFirewallRuleGroupsResponse (..),+ newListFirewallRuleGroupsResponse,++ -- * Response Lenses+ listFirewallRuleGroupsResponse_firewallRuleGroups,+ listFirewallRuleGroupsResponse_nextToken,+ listFirewallRuleGroupsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallRuleGroups' smart constructor.+data ListFirewallRuleGroups = ListFirewallRuleGroups'+ { -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallRuleGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFirewallRuleGroups_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallRuleGroups_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+newListFirewallRuleGroups ::+ ListFirewallRuleGroups+newListFirewallRuleGroups =+ ListFirewallRuleGroups'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallRuleGroups_maxResults :: Lens.Lens' ListFirewallRuleGroups (Prelude.Maybe Prelude.Natural)+listFirewallRuleGroups_maxResults = Lens.lens (\ListFirewallRuleGroups' {maxResults} -> maxResults) (\s@ListFirewallRuleGroups' {} a -> s {maxResults = a} :: ListFirewallRuleGroups)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallRuleGroups_nextToken :: Lens.Lens' ListFirewallRuleGroups (Prelude.Maybe Prelude.Text)+listFirewallRuleGroups_nextToken = Lens.lens (\ListFirewallRuleGroups' {nextToken} -> nextToken) (\s@ListFirewallRuleGroups' {} a -> s {nextToken = a} :: ListFirewallRuleGroups)++instance Core.AWSPager ListFirewallRuleGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallRuleGroupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallRuleGroupsResponse_firewallRuleGroups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallRuleGroups_nextToken+ Lens..~ rs+ Lens.^? listFirewallRuleGroupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFirewallRuleGroups where+ type+ AWSResponse ListFirewallRuleGroups =+ ListFirewallRuleGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallRuleGroupsResponse'+ Prelude.<$> ( x+ Data..?> "FirewallRuleGroups"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFirewallRuleGroups where+ hashWithSalt _salt ListFirewallRuleGroups' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFirewallRuleGroups where+ rnf ListFirewallRuleGroups' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFirewallRuleGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallRuleGroups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFirewallRuleGroups where+ toJSON ListFirewallRuleGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListFirewallRuleGroups where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFirewallRuleGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallRuleGroupsResponse' smart constructor.+data ListFirewallRuleGroupsResponse = ListFirewallRuleGroupsResponse'+ { -- | A list of your firewall rule groups.+ --+ -- This might be a partial list of the rule groups that you have defined.+ -- For information, see @MaxResults@.+ firewallRuleGroups :: Prelude.Maybe [FirewallRuleGroupMetadata],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallRuleGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroups', 'listFirewallRuleGroupsResponse_firewallRuleGroups' - A list of your firewall rule groups.+--+-- This might be a partial list of the rule groups that you have defined.+-- For information, see @MaxResults@.+--+-- 'nextToken', 'listFirewallRuleGroupsResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallRuleGroupsResponse_httpStatus' - The response's http status code.+newListFirewallRuleGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallRuleGroupsResponse+newListFirewallRuleGroupsResponse pHttpStatus_ =+ ListFirewallRuleGroupsResponse'+ { firewallRuleGroups =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of your firewall rule groups.+--+-- This might be a partial list of the rule groups that you have defined.+-- For information, see @MaxResults@.+listFirewallRuleGroupsResponse_firewallRuleGroups :: Lens.Lens' ListFirewallRuleGroupsResponse (Prelude.Maybe [FirewallRuleGroupMetadata])+listFirewallRuleGroupsResponse_firewallRuleGroups = Lens.lens (\ListFirewallRuleGroupsResponse' {firewallRuleGroups} -> firewallRuleGroups) (\s@ListFirewallRuleGroupsResponse' {} a -> s {firewallRuleGroups = a} :: ListFirewallRuleGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallRuleGroupsResponse_nextToken :: Lens.Lens' ListFirewallRuleGroupsResponse (Prelude.Maybe Prelude.Text)+listFirewallRuleGroupsResponse_nextToken = Lens.lens (\ListFirewallRuleGroupsResponse' {nextToken} -> nextToken) (\s@ListFirewallRuleGroupsResponse' {} a -> s {nextToken = a} :: ListFirewallRuleGroupsResponse)++-- | The response's http status code.+listFirewallRuleGroupsResponse_httpStatus :: Lens.Lens' ListFirewallRuleGroupsResponse Prelude.Int+listFirewallRuleGroupsResponse_httpStatus = Lens.lens (\ListFirewallRuleGroupsResponse' {httpStatus} -> httpStatus) (\s@ListFirewallRuleGroupsResponse' {} a -> s {httpStatus = a} :: ListFirewallRuleGroupsResponse)++instance+ Prelude.NFData+ ListFirewallRuleGroupsResponse+ where+ rnf ListFirewallRuleGroupsResponse' {..} =+ Prelude.rnf firewallRuleGroups+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListFirewallRules.hs view
@@ -0,0 +1,369 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListFirewallRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the firewall rules that you have defined for the specified+-- firewall rule group. DNS Firewall uses the rules in a rule group to+-- filter DNS network traffic for a VPC.+--+-- A single call might return only a partial list of the rules. For+-- information, see @MaxResults@.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListFirewallRules+ ( -- * Creating a Request+ ListFirewallRules (..),+ newListFirewallRules,++ -- * Request Lenses+ listFirewallRules_action,+ listFirewallRules_maxResults,+ listFirewallRules_nextToken,+ listFirewallRules_priority,+ listFirewallRules_firewallRuleGroupId,++ -- * Destructuring the Response+ ListFirewallRulesResponse (..),+ newListFirewallRulesResponse,++ -- * Response Lenses+ listFirewallRulesResponse_firewallRules,+ listFirewallRulesResponse_nextToken,+ listFirewallRulesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListFirewallRules' smart constructor.+data ListFirewallRules = ListFirewallRules'+ { -- | Optional additional filter for the rules to retrieve.+ --+ -- The action that DNS Firewall should take on a DNS query when it matches+ -- one of the domains in the rule\'s domain list:+ --+ -- - @ALLOW@ - Permit the request to go through.+ --+ -- - @ALERT@ - Permit the request to go through but send an alert to the+ -- logs.+ --+ -- - @BLOCK@ - Disallow the request. If this is specified, additional+ -- handling details are provided in the rule\'s @BlockResponse@+ -- setting.+ action :: Prelude.Maybe Action,+ -- | The maximum number of objects that you want Resolver to return for this+ -- request. If more objects are available, in the response, Resolver+ -- provides a @NextToken@ value that you can use in a subsequent call to+ -- get the next batch of objects.+ --+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 objects.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first call to this list request, omit this value.+ --+ -- When you request a list of objects, Resolver returns at most the number+ -- of objects specified in @MaxResults@. If more objects are available for+ -- retrieval, Resolver returns a @NextToken@ value in the response. To+ -- retrieve the next batch of objects, use the token that was returned for+ -- the prior request in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional additional filter for the rules to retrieve.+ --+ -- The setting that determines the processing order of the rules in a rule+ -- group. DNS Firewall processes the rules in a rule group by order of+ -- priority, starting from the lowest setting.+ priority :: Prelude.Maybe Prelude.Int,+ -- | The unique identifier of the firewall rule group that you want to+ -- retrieve the rules for.+ firewallRuleGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFirewallRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'listFirewallRules_action' - Optional additional filter for the rules to retrieve.+--+-- The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. If this is specified, additional+-- handling details are provided in the rule\'s @BlockResponse@+-- setting.+--+-- 'maxResults', 'listFirewallRules_maxResults' - The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+--+-- 'nextToken', 'listFirewallRules_nextToken' - For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+--+-- 'priority', 'listFirewallRules_priority' - Optional additional filter for the rules to retrieve.+--+-- The setting that determines the processing order of the rules in a rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+--+-- 'firewallRuleGroupId', 'listFirewallRules_firewallRuleGroupId' - The unique identifier of the firewall rule group that you want to+-- retrieve the rules for.+newListFirewallRules ::+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ ListFirewallRules+newListFirewallRules pFirewallRuleGroupId_ =+ ListFirewallRules'+ { action = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ priority = Prelude.Nothing,+ firewallRuleGroupId = pFirewallRuleGroupId_+ }++-- | Optional additional filter for the rules to retrieve.+--+-- The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. If this is specified, additional+-- handling details are provided in the rule\'s @BlockResponse@+-- setting.+listFirewallRules_action :: Lens.Lens' ListFirewallRules (Prelude.Maybe Action)+listFirewallRules_action = Lens.lens (\ListFirewallRules' {action} -> action) (\s@ListFirewallRules' {} a -> s {action = a} :: ListFirewallRules)++-- | The maximum number of objects that you want Resolver to return for this+-- request. If more objects are available, in the response, Resolver+-- provides a @NextToken@ value that you can use in a subsequent call to+-- get the next batch of objects.+--+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 objects.+listFirewallRules_maxResults :: Lens.Lens' ListFirewallRules (Prelude.Maybe Prelude.Natural)+listFirewallRules_maxResults = Lens.lens (\ListFirewallRules' {maxResults} -> maxResults) (\s@ListFirewallRules' {} a -> s {maxResults = a} :: ListFirewallRules)++-- | For the first call to this list request, omit this value.+--+-- When you request a list of objects, Resolver returns at most the number+-- of objects specified in @MaxResults@. If more objects are available for+-- retrieval, Resolver returns a @NextToken@ value in the response. To+-- retrieve the next batch of objects, use the token that was returned for+-- the prior request in your next request.+listFirewallRules_nextToken :: Lens.Lens' ListFirewallRules (Prelude.Maybe Prelude.Text)+listFirewallRules_nextToken = Lens.lens (\ListFirewallRules' {nextToken} -> nextToken) (\s@ListFirewallRules' {} a -> s {nextToken = a} :: ListFirewallRules)++-- | Optional additional filter for the rules to retrieve.+--+-- The setting that determines the processing order of the rules in a rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+listFirewallRules_priority :: Lens.Lens' ListFirewallRules (Prelude.Maybe Prelude.Int)+listFirewallRules_priority = Lens.lens (\ListFirewallRules' {priority} -> priority) (\s@ListFirewallRules' {} a -> s {priority = a} :: ListFirewallRules)++-- | The unique identifier of the firewall rule group that you want to+-- retrieve the rules for.+listFirewallRules_firewallRuleGroupId :: Lens.Lens' ListFirewallRules Prelude.Text+listFirewallRules_firewallRuleGroupId = Lens.lens (\ListFirewallRules' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@ListFirewallRules' {} a -> s {firewallRuleGroupId = a} :: ListFirewallRules)++instance Core.AWSPager ListFirewallRules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFirewallRulesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFirewallRulesResponse_firewallRules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFirewallRules_nextToken+ Lens..~ rs+ Lens.^? listFirewallRulesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFirewallRules where+ type+ AWSResponse ListFirewallRules =+ ListFirewallRulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFirewallRulesResponse'+ Prelude.<$> (x Data..?> "FirewallRules" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFirewallRules where+ hashWithSalt _salt ListFirewallRules' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` firewallRuleGroupId++instance Prelude.NFData ListFirewallRules where+ rnf ListFirewallRules' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf firewallRuleGroupId++instance Data.ToHeaders ListFirewallRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListFirewallRules" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFirewallRules where+ toJSON ListFirewallRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Action" Data..=) Prelude.<$> action,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("Priority" Data..=) Prelude.<$> priority,+ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId)+ ]+ )++instance Data.ToPath ListFirewallRules where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFirewallRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFirewallRulesResponse' smart constructor.+data ListFirewallRulesResponse = ListFirewallRulesResponse'+ { -- | A list of the rules that you have defined.+ --+ -- This might be a partial list of the firewall rules that you\'ve defined.+ -- For information, see @MaxResults@.+ firewallRules :: Prelude.Maybe [FirewallRule],+ -- | If objects are still available for retrieval, Resolver returns this+ -- token in the response. To retrieve the next batch of objects, provide+ -- this token in your next request.+ 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 'ListFirewallRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRules', 'listFirewallRulesResponse_firewallRules' - A list of the rules that you have defined.+--+-- This might be a partial list of the firewall rules that you\'ve defined.+-- For information, see @MaxResults@.+--+-- 'nextToken', 'listFirewallRulesResponse_nextToken' - If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+--+-- 'httpStatus', 'listFirewallRulesResponse_httpStatus' - The response's http status code.+newListFirewallRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFirewallRulesResponse+newListFirewallRulesResponse pHttpStatus_ =+ ListFirewallRulesResponse'+ { firewallRules =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the rules that you have defined.+--+-- This might be a partial list of the firewall rules that you\'ve defined.+-- For information, see @MaxResults@.+listFirewallRulesResponse_firewallRules :: Lens.Lens' ListFirewallRulesResponse (Prelude.Maybe [FirewallRule])+listFirewallRulesResponse_firewallRules = Lens.lens (\ListFirewallRulesResponse' {firewallRules} -> firewallRules) (\s@ListFirewallRulesResponse' {} a -> s {firewallRules = a} :: ListFirewallRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | If objects are still available for retrieval, Resolver returns this+-- token in the response. To retrieve the next batch of objects, provide+-- this token in your next request.+listFirewallRulesResponse_nextToken :: Lens.Lens' ListFirewallRulesResponse (Prelude.Maybe Prelude.Text)+listFirewallRulesResponse_nextToken = Lens.lens (\ListFirewallRulesResponse' {nextToken} -> nextToken) (\s@ListFirewallRulesResponse' {} a -> s {nextToken = a} :: ListFirewallRulesResponse)++-- | The response's http status code.+listFirewallRulesResponse_httpStatus :: Lens.Lens' ListFirewallRulesResponse Prelude.Int+listFirewallRulesResponse_httpStatus = Lens.lens (\ListFirewallRulesResponse' {httpStatus} -> httpStatus) (\s@ListFirewallRulesResponse' {} a -> s {httpStatus = a} :: ListFirewallRulesResponse)++instance Prelude.NFData ListFirewallRulesResponse where+ rnf ListFirewallRulesResponse' {..} =+ Prelude.rnf firewallRules+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverConfigs.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverConfigs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the Resolver configurations that you have defined. Route 53+-- Resolver uses the configurations to manage DNS resolution behavior for+-- your VPCs.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverConfigs+ ( -- * Creating a Request+ ListResolverConfigs (..),+ newListResolverConfigs,++ -- * Request Lenses+ listResolverConfigs_maxResults,+ listResolverConfigs_nextToken,++ -- * Destructuring the Response+ ListResolverConfigsResponse (..),+ newListResolverConfigsResponse,++ -- * Response Lenses+ listResolverConfigsResponse_nextToken,+ listResolverConfigsResponse_resolverConfigs,+ listResolverConfigsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverConfigs' smart constructor.+data ListResolverConfigs = ListResolverConfigs'+ { -- | The maximum number of Resolver configurations that you want to return in+ -- the response to a @ListResolverConfigs@ request. If you don\'t specify a+ -- value for @MaxResults@, up to 100 Resolver configurations are returned.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) If the current Amazon Web Services account has more than+ -- @MaxResults@ Resolver configurations, use @NextToken@ to get the second+ -- and subsequent pages of results.+ --+ -- For the first @ListResolverConfigs@ request, omit this value.+ --+ -- For the second and subsequent requests, get the value of @NextToken@+ -- from the previous response and specify that value for @NextToken@ in the+ -- request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverConfigs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResolverConfigs_maxResults' - The maximum number of Resolver configurations that you want to return in+-- the response to a @ListResolverConfigs@ request. If you don\'t specify a+-- value for @MaxResults@, up to 100 Resolver configurations are returned.+--+-- 'nextToken', 'listResolverConfigs_nextToken' - (Optional) If the current Amazon Web Services account has more than+-- @MaxResults@ Resolver configurations, use @NextToken@ to get the second+-- and subsequent pages of results.+--+-- For the first @ListResolverConfigs@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+newListResolverConfigs ::+ ListResolverConfigs+newListResolverConfigs =+ ListResolverConfigs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of Resolver configurations that you want to return in+-- the response to a @ListResolverConfigs@ request. If you don\'t specify a+-- value for @MaxResults@, up to 100 Resolver configurations are returned.+listResolverConfigs_maxResults :: Lens.Lens' ListResolverConfigs (Prelude.Maybe Prelude.Natural)+listResolverConfigs_maxResults = Lens.lens (\ListResolverConfigs' {maxResults} -> maxResults) (\s@ListResolverConfigs' {} a -> s {maxResults = a} :: ListResolverConfigs)++-- | (Optional) If the current Amazon Web Services account has more than+-- @MaxResults@ Resolver configurations, use @NextToken@ to get the second+-- and subsequent pages of results.+--+-- For the first @ListResolverConfigs@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+listResolverConfigs_nextToken :: Lens.Lens' ListResolverConfigs (Prelude.Maybe Prelude.Text)+listResolverConfigs_nextToken = Lens.lens (\ListResolverConfigs' {nextToken} -> nextToken) (\s@ListResolverConfigs' {} a -> s {nextToken = a} :: ListResolverConfigs)++instance Core.AWSPager ListResolverConfigs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverConfigsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverConfigsResponse_resolverConfigs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverConfigs_nextToken+ Lens..~ rs+ Lens.^? listResolverConfigsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverConfigs where+ type+ AWSResponse ListResolverConfigs =+ ListResolverConfigsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverConfigsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverConfigs"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListResolverConfigs where+ hashWithSalt _salt ListResolverConfigs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResolverConfigs where+ rnf ListResolverConfigs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResolverConfigs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverConfigs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverConfigs where+ toJSON ListResolverConfigs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListResolverConfigs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverConfigs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverConfigsResponse' smart constructor.+data ListResolverConfigsResponse = ListResolverConfigsResponse'+ { -- | If a response includes the last of the Resolver configurations that are+ -- associated with the current Amazon Web Services account, @NextToken@+ -- doesn\'t appear in the response.+ --+ -- If a response doesn\'t include the last of the configurations, you can+ -- get more configurations by submitting another @ListResolverConfigs@+ -- request. Get the value of @NextToken@ that Amazon Route 53 returned in+ -- the previous response and include it in @NextToken@ in the next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array that contains one @ResolverConfigs@ element for each Resolver+ -- configuration that is associated with the current Amazon Web Services+ -- account.+ resolverConfigs :: Prelude.Maybe [ResolverConfig],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverConfigsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResolverConfigsResponse_nextToken' - If a response includes the last of the Resolver configurations that are+-- associated with the current Amazon Web Services account, @NextToken@+-- doesn\'t appear in the response.+--+-- If a response doesn\'t include the last of the configurations, you can+-- get more configurations by submitting another @ListResolverConfigs@+-- request. Get the value of @NextToken@ that Amazon Route 53 returned in+-- the previous response and include it in @NextToken@ in the next request.+--+-- 'resolverConfigs', 'listResolverConfigsResponse_resolverConfigs' - An array that contains one @ResolverConfigs@ element for each Resolver+-- configuration that is associated with the current Amazon Web Services+-- account.+--+-- 'httpStatus', 'listResolverConfigsResponse_httpStatus' - The response's http status code.+newListResolverConfigsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverConfigsResponse+newListResolverConfigsResponse pHttpStatus_ =+ ListResolverConfigsResponse'+ { nextToken =+ Prelude.Nothing,+ resolverConfigs = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If a response includes the last of the Resolver configurations that are+-- associated with the current Amazon Web Services account, @NextToken@+-- doesn\'t appear in the response.+--+-- If a response doesn\'t include the last of the configurations, you can+-- get more configurations by submitting another @ListResolverConfigs@+-- request. Get the value of @NextToken@ that Amazon Route 53 returned in+-- the previous response and include it in @NextToken@ in the next request.+listResolverConfigsResponse_nextToken :: Lens.Lens' ListResolverConfigsResponse (Prelude.Maybe Prelude.Text)+listResolverConfigsResponse_nextToken = Lens.lens (\ListResolverConfigsResponse' {nextToken} -> nextToken) (\s@ListResolverConfigsResponse' {} a -> s {nextToken = a} :: ListResolverConfigsResponse)++-- | An array that contains one @ResolverConfigs@ element for each Resolver+-- configuration that is associated with the current Amazon Web Services+-- account.+listResolverConfigsResponse_resolverConfigs :: Lens.Lens' ListResolverConfigsResponse (Prelude.Maybe [ResolverConfig])+listResolverConfigsResponse_resolverConfigs = Lens.lens (\ListResolverConfigsResponse' {resolverConfigs} -> resolverConfigs) (\s@ListResolverConfigsResponse' {} a -> s {resolverConfigs = a} :: ListResolverConfigsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResolverConfigsResponse_httpStatus :: Lens.Lens' ListResolverConfigsResponse Prelude.Int+listResolverConfigsResponse_httpStatus = Lens.lens (\ListResolverConfigsResponse' {httpStatus} -> httpStatus) (\s@ListResolverConfigsResponse' {} a -> s {httpStatus = a} :: ListResolverConfigsResponse)++instance Prelude.NFData ListResolverConfigsResponse where+ rnf ListResolverConfigsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverConfigs+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverDnssecConfigs.hs view
@@ -0,0 +1,307 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverDnssecConfigs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the configurations for DNSSEC validation that are associated with+-- the current Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverDnssecConfigs+ ( -- * Creating a Request+ ListResolverDnssecConfigs (..),+ newListResolverDnssecConfigs,++ -- * Request Lenses+ listResolverDnssecConfigs_filters,+ listResolverDnssecConfigs_maxResults,+ listResolverDnssecConfigs_nextToken,++ -- * Destructuring the Response+ ListResolverDnssecConfigsResponse (..),+ newListResolverDnssecConfigsResponse,++ -- * Response Lenses+ listResolverDnssecConfigsResponse_nextToken,+ listResolverDnssecConfigsResponse_resolverDnssecConfigs,+ listResolverDnssecConfigsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverDnssecConfigs' smart constructor.+data ListResolverDnssecConfigs = ListResolverDnssecConfigs'+ { -- | An optional specification to return a subset of objects.+ filters :: Prelude.Maybe [Filter],+ -- | /Optional/: An integer that specifies the maximum number of DNSSEC+ -- configuration results that you want Amazon Route 53 to return. If you+ -- don\'t specify a value for @MaxResults@, Route 53 returns up to 100+ -- configuration per page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) If the current Amazon Web Services account has more than+ -- @MaxResults@ DNSSEC configurations, use @NextToken@ to get the second+ -- and subsequent pages of results.+ --+ -- For the first @ListResolverDnssecConfigs@ request, omit this value.+ --+ -- For the second and subsequent requests, get the value of @NextToken@+ -- from the previous response and specify that value for @NextToken@ in the+ -- request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverDnssecConfigs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverDnssecConfigs_filters' - An optional specification to return a subset of objects.+--+-- 'maxResults', 'listResolverDnssecConfigs_maxResults' - /Optional/: An integer that specifies the maximum number of DNSSEC+-- configuration results that you want Amazon Route 53 to return. If you+-- don\'t specify a value for @MaxResults@, Route 53 returns up to 100+-- configuration per page.+--+-- 'nextToken', 'listResolverDnssecConfigs_nextToken' - (Optional) If the current Amazon Web Services account has more than+-- @MaxResults@ DNSSEC configurations, use @NextToken@ to get the second+-- and subsequent pages of results.+--+-- For the first @ListResolverDnssecConfigs@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+newListResolverDnssecConfigs ::+ ListResolverDnssecConfigs+newListResolverDnssecConfigs =+ ListResolverDnssecConfigs'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional specification to return a subset of objects.+listResolverDnssecConfigs_filters :: Lens.Lens' ListResolverDnssecConfigs (Prelude.Maybe [Filter])+listResolverDnssecConfigs_filters = Lens.lens (\ListResolverDnssecConfigs' {filters} -> filters) (\s@ListResolverDnssecConfigs' {} a -> s {filters = a} :: ListResolverDnssecConfigs) Prelude.. Lens.mapping Lens.coerced++-- | /Optional/: An integer that specifies the maximum number of DNSSEC+-- configuration results that you want Amazon Route 53 to return. If you+-- don\'t specify a value for @MaxResults@, Route 53 returns up to 100+-- configuration per page.+listResolverDnssecConfigs_maxResults :: Lens.Lens' ListResolverDnssecConfigs (Prelude.Maybe Prelude.Natural)+listResolverDnssecConfigs_maxResults = Lens.lens (\ListResolverDnssecConfigs' {maxResults} -> maxResults) (\s@ListResolverDnssecConfigs' {} a -> s {maxResults = a} :: ListResolverDnssecConfigs)++-- | (Optional) If the current Amazon Web Services account has more than+-- @MaxResults@ DNSSEC configurations, use @NextToken@ to get the second+-- and subsequent pages of results.+--+-- For the first @ListResolverDnssecConfigs@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+listResolverDnssecConfigs_nextToken :: Lens.Lens' ListResolverDnssecConfigs (Prelude.Maybe Prelude.Text)+listResolverDnssecConfigs_nextToken = Lens.lens (\ListResolverDnssecConfigs' {nextToken} -> nextToken) (\s@ListResolverDnssecConfigs' {} a -> s {nextToken = a} :: ListResolverDnssecConfigs)++instance Core.AWSPager ListResolverDnssecConfigs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverDnssecConfigsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverDnssecConfigsResponse_resolverDnssecConfigs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverDnssecConfigs_nextToken+ Lens..~ rs+ Lens.^? listResolverDnssecConfigsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverDnssecConfigs where+ type+ AWSResponse ListResolverDnssecConfigs =+ ListResolverDnssecConfigsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverDnssecConfigsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverDnssecConfigs"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListResolverDnssecConfigs where+ hashWithSalt _salt ListResolverDnssecConfigs' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResolverDnssecConfigs where+ rnf ListResolverDnssecConfigs' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResolverDnssecConfigs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverDnssecConfigs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverDnssecConfigs where+ toJSON ListResolverDnssecConfigs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListResolverDnssecConfigs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverDnssecConfigs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverDnssecConfigsResponse' smart constructor.+data ListResolverDnssecConfigsResponse = ListResolverDnssecConfigsResponse'+ { -- | If a response includes the last of the DNSSEC configurations that are+ -- associated with the current Amazon Web Services account, @NextToken@+ -- doesn\'t appear in the response.+ --+ -- If a response doesn\'t include the last of the configurations, you can+ -- get more configurations by submitting another+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html ListResolverDnssecConfigs>+ -- request. Get the value of @NextToken@ that Amazon Route 53 returned in+ -- the previous response and include it in @NextToken@ in the next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array that contains one+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html ResolverDnssecConfig>+ -- element for each configuration for DNSSEC validation that is associated+ -- with the current Amazon Web Services account.+ resolverDnssecConfigs :: Prelude.Maybe [ResolverDnssecConfig],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverDnssecConfigsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResolverDnssecConfigsResponse_nextToken' - If a response includes the last of the DNSSEC configurations that are+-- associated with the current Amazon Web Services account, @NextToken@+-- doesn\'t appear in the response.+--+-- If a response doesn\'t include the last of the configurations, you can+-- get more configurations by submitting another+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html ListResolverDnssecConfigs>+-- request. Get the value of @NextToken@ that Amazon Route 53 returned in+-- the previous response and include it in @NextToken@ in the next request.+--+-- 'resolverDnssecConfigs', 'listResolverDnssecConfigsResponse_resolverDnssecConfigs' - An array that contains one+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html ResolverDnssecConfig>+-- element for each configuration for DNSSEC validation that is associated+-- with the current Amazon Web Services account.+--+-- 'httpStatus', 'listResolverDnssecConfigsResponse_httpStatus' - The response's http status code.+newListResolverDnssecConfigsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverDnssecConfigsResponse+newListResolverDnssecConfigsResponse pHttpStatus_ =+ ListResolverDnssecConfigsResponse'+ { nextToken =+ Prelude.Nothing,+ resolverDnssecConfigs = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If a response includes the last of the DNSSEC configurations that are+-- associated with the current Amazon Web Services account, @NextToken@+-- doesn\'t appear in the response.+--+-- If a response doesn\'t include the last of the configurations, you can+-- get more configurations by submitting another+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html ListResolverDnssecConfigs>+-- request. Get the value of @NextToken@ that Amazon Route 53 returned in+-- the previous response and include it in @NextToken@ in the next request.+listResolverDnssecConfigsResponse_nextToken :: Lens.Lens' ListResolverDnssecConfigsResponse (Prelude.Maybe Prelude.Text)+listResolverDnssecConfigsResponse_nextToken = Lens.lens (\ListResolverDnssecConfigsResponse' {nextToken} -> nextToken) (\s@ListResolverDnssecConfigsResponse' {} a -> s {nextToken = a} :: ListResolverDnssecConfigsResponse)++-- | An array that contains one+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html ResolverDnssecConfig>+-- element for each configuration for DNSSEC validation that is associated+-- with the current Amazon Web Services account.+listResolverDnssecConfigsResponse_resolverDnssecConfigs :: Lens.Lens' ListResolverDnssecConfigsResponse (Prelude.Maybe [ResolverDnssecConfig])+listResolverDnssecConfigsResponse_resolverDnssecConfigs = Lens.lens (\ListResolverDnssecConfigsResponse' {resolverDnssecConfigs} -> resolverDnssecConfigs) (\s@ListResolverDnssecConfigsResponse' {} a -> s {resolverDnssecConfigs = a} :: ListResolverDnssecConfigsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResolverDnssecConfigsResponse_httpStatus :: Lens.Lens' ListResolverDnssecConfigsResponse Prelude.Int+listResolverDnssecConfigsResponse_httpStatus = Lens.lens (\ListResolverDnssecConfigsResponse' {httpStatus} -> httpStatus) (\s@ListResolverDnssecConfigsResponse' {} a -> s {httpStatus = a} :: ListResolverDnssecConfigsResponse)++instance+ Prelude.NFData+ ListResolverDnssecConfigsResponse+ where+ rnf ListResolverDnssecConfigsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverDnssecConfigs+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverEndpointIpAddresses.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverEndpointIpAddresses+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the IP addresses for a specified Resolver endpoint.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverEndpointIpAddresses+ ( -- * Creating a Request+ ListResolverEndpointIpAddresses (..),+ newListResolverEndpointIpAddresses,++ -- * Request Lenses+ listResolverEndpointIpAddresses_maxResults,+ listResolverEndpointIpAddresses_nextToken,+ listResolverEndpointIpAddresses_resolverEndpointId,++ -- * Destructuring the Response+ ListResolverEndpointIpAddressesResponse (..),+ newListResolverEndpointIpAddressesResponse,++ -- * Response Lenses+ listResolverEndpointIpAddressesResponse_ipAddresses,+ listResolverEndpointIpAddressesResponse_maxResults,+ listResolverEndpointIpAddressesResponse_nextToken,+ listResolverEndpointIpAddressesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverEndpointIpAddresses' smart constructor.+data ListResolverEndpointIpAddresses = ListResolverEndpointIpAddresses'+ { -- | The maximum number of IP addresses that you want to return in the+ -- response to a @ListResolverEndpointIpAddresses@ request. If you don\'t+ -- specify a value for @MaxResults@, Resolver returns up to 100 IP+ -- addresses.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverEndpointIpAddresses@ request, omit this+ -- value.+ --+ -- If the specified Resolver endpoint has more than @MaxResults@ IP+ -- addresses, you can submit another @ListResolverEndpointIpAddresses@+ -- request to get the next group of IP addresses. In the next request,+ -- specify the value of @NextToken@ from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Resolver endpoint that you want to get IP addresses for.+ resolverEndpointId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverEndpointIpAddresses' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResolverEndpointIpAddresses_maxResults' - The maximum number of IP addresses that you want to return in the+-- response to a @ListResolverEndpointIpAddresses@ request. If you don\'t+-- specify a value for @MaxResults@, Resolver returns up to 100 IP+-- addresses.+--+-- 'nextToken', 'listResolverEndpointIpAddresses_nextToken' - For the first @ListResolverEndpointIpAddresses@ request, omit this+-- value.+--+-- If the specified Resolver endpoint has more than @MaxResults@ IP+-- addresses, you can submit another @ListResolverEndpointIpAddresses@+-- request to get the next group of IP addresses. In the next request,+-- specify the value of @NextToken@ from the previous response.+--+-- 'resolverEndpointId', 'listResolverEndpointIpAddresses_resolverEndpointId' - The ID of the Resolver endpoint that you want to get IP addresses for.+newListResolverEndpointIpAddresses ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ ListResolverEndpointIpAddresses+newListResolverEndpointIpAddresses+ pResolverEndpointId_ =+ ListResolverEndpointIpAddresses'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resolverEndpointId = pResolverEndpointId_+ }++-- | The maximum number of IP addresses that you want to return in the+-- response to a @ListResolverEndpointIpAddresses@ request. If you don\'t+-- specify a value for @MaxResults@, Resolver returns up to 100 IP+-- addresses.+listResolverEndpointIpAddresses_maxResults :: Lens.Lens' ListResolverEndpointIpAddresses (Prelude.Maybe Prelude.Natural)+listResolverEndpointIpAddresses_maxResults = Lens.lens (\ListResolverEndpointIpAddresses' {maxResults} -> maxResults) (\s@ListResolverEndpointIpAddresses' {} a -> s {maxResults = a} :: ListResolverEndpointIpAddresses)++-- | For the first @ListResolverEndpointIpAddresses@ request, omit this+-- value.+--+-- If the specified Resolver endpoint has more than @MaxResults@ IP+-- addresses, you can submit another @ListResolverEndpointIpAddresses@+-- request to get the next group of IP addresses. In the next request,+-- specify the value of @NextToken@ from the previous response.+listResolverEndpointIpAddresses_nextToken :: Lens.Lens' ListResolverEndpointIpAddresses (Prelude.Maybe Prelude.Text)+listResolverEndpointIpAddresses_nextToken = Lens.lens (\ListResolverEndpointIpAddresses' {nextToken} -> nextToken) (\s@ListResolverEndpointIpAddresses' {} a -> s {nextToken = a} :: ListResolverEndpointIpAddresses)++-- | The ID of the Resolver endpoint that you want to get IP addresses for.+listResolverEndpointIpAddresses_resolverEndpointId :: Lens.Lens' ListResolverEndpointIpAddresses Prelude.Text+listResolverEndpointIpAddresses_resolverEndpointId = Lens.lens (\ListResolverEndpointIpAddresses' {resolverEndpointId} -> resolverEndpointId) (\s@ListResolverEndpointIpAddresses' {} a -> s {resolverEndpointId = a} :: ListResolverEndpointIpAddresses)++instance+ Core.AWSPager+ ListResolverEndpointIpAddresses+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverEndpointIpAddressesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverEndpointIpAddressesResponse_ipAddresses+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverEndpointIpAddresses_nextToken+ Lens..~ rs+ Lens.^? listResolverEndpointIpAddressesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListResolverEndpointIpAddresses+ where+ type+ AWSResponse ListResolverEndpointIpAddresses =+ ListResolverEndpointIpAddressesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverEndpointIpAddressesResponse'+ Prelude.<$> (x Data..?> "IpAddresses" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "MaxResults")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResolverEndpointIpAddresses+ where+ hashWithSalt+ _salt+ ListResolverEndpointIpAddresses' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resolverEndpointId++instance+ Prelude.NFData+ ListResolverEndpointIpAddresses+ where+ rnf ListResolverEndpointIpAddresses' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverEndpointId++instance+ Data.ToHeaders+ ListResolverEndpointIpAddresses+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverEndpointIpAddresses" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverEndpointIpAddresses where+ toJSON ListResolverEndpointIpAddresses' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId)+ ]+ )++instance Data.ToPath ListResolverEndpointIpAddresses where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverEndpointIpAddresses where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverEndpointIpAddressesResponse' smart constructor.+data ListResolverEndpointIpAddressesResponse = ListResolverEndpointIpAddressesResponse'+ { -- | Information about the IP addresses in your VPC that DNS queries+ -- originate from (for outbound endpoints) or that you forward DNS queries+ -- to (for inbound endpoints).+ ipAddresses :: Prelude.Maybe [IpAddressResponse],+ -- | The value that you specified for @MaxResults@ in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the specified endpoint has more than @MaxResults@ IP addresses, you+ -- can submit another @ListResolverEndpointIpAddresses@ request to get the+ -- next group of IP addresses. In the next request, specify the value of+ -- @NextToken@ from the previous response.+ 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 'ListResolverEndpointIpAddressesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ipAddresses', 'listResolverEndpointIpAddressesResponse_ipAddresses' - Information about the IP addresses in your VPC that DNS queries+-- originate from (for outbound endpoints) or that you forward DNS queries+-- to (for inbound endpoints).+--+-- 'maxResults', 'listResolverEndpointIpAddressesResponse_maxResults' - The value that you specified for @MaxResults@ in the request.+--+-- 'nextToken', 'listResolverEndpointIpAddressesResponse_nextToken' - If the specified endpoint has more than @MaxResults@ IP addresses, you+-- can submit another @ListResolverEndpointIpAddresses@ request to get the+-- next group of IP addresses. In the next request, specify the value of+-- @NextToken@ from the previous response.+--+-- 'httpStatus', 'listResolverEndpointIpAddressesResponse_httpStatus' - The response's http status code.+newListResolverEndpointIpAddressesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverEndpointIpAddressesResponse+newListResolverEndpointIpAddressesResponse+ pHttpStatus_ =+ ListResolverEndpointIpAddressesResponse'+ { ipAddresses =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the IP addresses in your VPC that DNS queries+-- originate from (for outbound endpoints) or that you forward DNS queries+-- to (for inbound endpoints).+listResolverEndpointIpAddressesResponse_ipAddresses :: Lens.Lens' ListResolverEndpointIpAddressesResponse (Prelude.Maybe [IpAddressResponse])+listResolverEndpointIpAddressesResponse_ipAddresses = Lens.lens (\ListResolverEndpointIpAddressesResponse' {ipAddresses} -> ipAddresses) (\s@ListResolverEndpointIpAddressesResponse' {} a -> s {ipAddresses = a} :: ListResolverEndpointIpAddressesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The value that you specified for @MaxResults@ in the request.+listResolverEndpointIpAddressesResponse_maxResults :: Lens.Lens' ListResolverEndpointIpAddressesResponse (Prelude.Maybe Prelude.Natural)+listResolverEndpointIpAddressesResponse_maxResults = Lens.lens (\ListResolverEndpointIpAddressesResponse' {maxResults} -> maxResults) (\s@ListResolverEndpointIpAddressesResponse' {} a -> s {maxResults = a} :: ListResolverEndpointIpAddressesResponse)++-- | If the specified endpoint has more than @MaxResults@ IP addresses, you+-- can submit another @ListResolverEndpointIpAddresses@ request to get the+-- next group of IP addresses. In the next request, specify the value of+-- @NextToken@ from the previous response.+listResolverEndpointIpAddressesResponse_nextToken :: Lens.Lens' ListResolverEndpointIpAddressesResponse (Prelude.Maybe Prelude.Text)+listResolverEndpointIpAddressesResponse_nextToken = Lens.lens (\ListResolverEndpointIpAddressesResponse' {nextToken} -> nextToken) (\s@ListResolverEndpointIpAddressesResponse' {} a -> s {nextToken = a} :: ListResolverEndpointIpAddressesResponse)++-- | The response's http status code.+listResolverEndpointIpAddressesResponse_httpStatus :: Lens.Lens' ListResolverEndpointIpAddressesResponse Prelude.Int+listResolverEndpointIpAddressesResponse_httpStatus = Lens.lens (\ListResolverEndpointIpAddressesResponse' {httpStatus} -> httpStatus) (\s@ListResolverEndpointIpAddressesResponse' {} a -> s {httpStatus = a} :: ListResolverEndpointIpAddressesResponse)++instance+ Prelude.NFData+ ListResolverEndpointIpAddressesResponse+ where+ rnf ListResolverEndpointIpAddressesResponse' {..} =+ Prelude.rnf ipAddresses+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverEndpoints.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverEndpoints+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the Resolver endpoints that were created using the current+-- Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverEndpoints+ ( -- * Creating a Request+ ListResolverEndpoints (..),+ newListResolverEndpoints,++ -- * Request Lenses+ listResolverEndpoints_filters,+ listResolverEndpoints_maxResults,+ listResolverEndpoints_nextToken,++ -- * Destructuring the Response+ ListResolverEndpointsResponse (..),+ newListResolverEndpointsResponse,++ -- * Response Lenses+ listResolverEndpointsResponse_maxResults,+ listResolverEndpointsResponse_nextToken,+ listResolverEndpointsResponse_resolverEndpoints,+ listResolverEndpointsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverEndpoints' smart constructor.+data ListResolverEndpoints = ListResolverEndpoints'+ { -- | An optional specification to return a subset of Resolver endpoints, such+ -- as all inbound Resolver endpoints.+ --+ -- If you submit a second or subsequent @ListResolverEndpoints@ request and+ -- specify the @NextToken@ parameter, you must use the same values for+ -- @Filters@, if any, as in the previous request.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of Resolver endpoints that you want to return in the+ -- response to a @ListResolverEndpoints@ request. If you don\'t specify a+ -- value for @MaxResults@, Resolver returns up to 100 Resolver endpoints.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverEndpoints@ request, omit this value.+ --+ -- If you have more than @MaxResults@ Resolver endpoints, you can submit+ -- another @ListResolverEndpoints@ request to get the next group of+ -- Resolver endpoints. In the next request, specify the value of+ -- @NextToken@ from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverEndpoints_filters' - An optional specification to return a subset of Resolver endpoints, such+-- as all inbound Resolver endpoints.+--+-- If you submit a second or subsequent @ListResolverEndpoints@ request and+-- specify the @NextToken@ parameter, you must use the same values for+-- @Filters@, if any, as in the previous request.+--+-- 'maxResults', 'listResolverEndpoints_maxResults' - The maximum number of Resolver endpoints that you want to return in the+-- response to a @ListResolverEndpoints@ request. If you don\'t specify a+-- value for @MaxResults@, Resolver returns up to 100 Resolver endpoints.+--+-- 'nextToken', 'listResolverEndpoints_nextToken' - For the first @ListResolverEndpoints@ request, omit this value.+--+-- If you have more than @MaxResults@ Resolver endpoints, you can submit+-- another @ListResolverEndpoints@ request to get the next group of+-- Resolver endpoints. In the next request, specify the value of+-- @NextToken@ from the previous response.+newListResolverEndpoints ::+ ListResolverEndpoints+newListResolverEndpoints =+ ListResolverEndpoints'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional specification to return a subset of Resolver endpoints, such+-- as all inbound Resolver endpoints.+--+-- If you submit a second or subsequent @ListResolverEndpoints@ request and+-- specify the @NextToken@ parameter, you must use the same values for+-- @Filters@, if any, as in the previous request.+listResolverEndpoints_filters :: Lens.Lens' ListResolverEndpoints (Prelude.Maybe [Filter])+listResolverEndpoints_filters = Lens.lens (\ListResolverEndpoints' {filters} -> filters) (\s@ListResolverEndpoints' {} a -> s {filters = a} :: ListResolverEndpoints) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of Resolver endpoints that you want to return in the+-- response to a @ListResolverEndpoints@ request. If you don\'t specify a+-- value for @MaxResults@, Resolver returns up to 100 Resolver endpoints.+listResolverEndpoints_maxResults :: Lens.Lens' ListResolverEndpoints (Prelude.Maybe Prelude.Natural)+listResolverEndpoints_maxResults = Lens.lens (\ListResolverEndpoints' {maxResults} -> maxResults) (\s@ListResolverEndpoints' {} a -> s {maxResults = a} :: ListResolverEndpoints)++-- | For the first @ListResolverEndpoints@ request, omit this value.+--+-- If you have more than @MaxResults@ Resolver endpoints, you can submit+-- another @ListResolverEndpoints@ request to get the next group of+-- Resolver endpoints. In the next request, specify the value of+-- @NextToken@ from the previous response.+listResolverEndpoints_nextToken :: Lens.Lens' ListResolverEndpoints (Prelude.Maybe Prelude.Text)+listResolverEndpoints_nextToken = Lens.lens (\ListResolverEndpoints' {nextToken} -> nextToken) (\s@ListResolverEndpoints' {} a -> s {nextToken = a} :: ListResolverEndpoints)++instance Core.AWSPager ListResolverEndpoints where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverEndpointsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverEndpointsResponse_resolverEndpoints+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverEndpoints_nextToken+ Lens..~ rs+ Lens.^? listResolverEndpointsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverEndpoints where+ type+ AWSResponse ListResolverEndpoints =+ ListResolverEndpointsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverEndpointsResponse'+ Prelude.<$> (x Data..?> "MaxResults")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverEndpoints"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListResolverEndpoints where+ hashWithSalt _salt ListResolverEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResolverEndpoints where+ rnf ListResolverEndpoints' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResolverEndpoints where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverEndpoints" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverEndpoints where+ toJSON ListResolverEndpoints' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListResolverEndpoints where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverEndpoints where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverEndpointsResponse' smart constructor.+data ListResolverEndpointsResponse = ListResolverEndpointsResponse'+ { -- | The value that you specified for @MaxResults@ in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If more than @MaxResults@ IP addresses match the specified criteria, you+ -- can submit another @ListResolverEndpoint@ request to get the next group+ -- of results. In the next request, specify the value of @NextToken@ from+ -- the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Resolver endpoints that were created by using the current Amazon Web+ -- Services account, and that match the specified filters, if any.+ resolverEndpoints :: Prelude.Maybe [ResolverEndpoint],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResolverEndpointsResponse_maxResults' - The value that you specified for @MaxResults@ in the request.+--+-- 'nextToken', 'listResolverEndpointsResponse_nextToken' - If more than @MaxResults@ IP addresses match the specified criteria, you+-- can submit another @ListResolverEndpoint@ request to get the next group+-- of results. In the next request, specify the value of @NextToken@ from+-- the previous response.+--+-- 'resolverEndpoints', 'listResolverEndpointsResponse_resolverEndpoints' - The Resolver endpoints that were created by using the current Amazon Web+-- Services account, and that match the specified filters, if any.+--+-- 'httpStatus', 'listResolverEndpointsResponse_httpStatus' - The response's http status code.+newListResolverEndpointsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverEndpointsResponse+newListResolverEndpointsResponse pHttpStatus_ =+ ListResolverEndpointsResponse'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resolverEndpoints = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The value that you specified for @MaxResults@ in the request.+listResolverEndpointsResponse_maxResults :: Lens.Lens' ListResolverEndpointsResponse (Prelude.Maybe Prelude.Natural)+listResolverEndpointsResponse_maxResults = Lens.lens (\ListResolverEndpointsResponse' {maxResults} -> maxResults) (\s@ListResolverEndpointsResponse' {} a -> s {maxResults = a} :: ListResolverEndpointsResponse)++-- | If more than @MaxResults@ IP addresses match the specified criteria, you+-- can submit another @ListResolverEndpoint@ request to get the next group+-- of results. In the next request, specify the value of @NextToken@ from+-- the previous response.+listResolverEndpointsResponse_nextToken :: Lens.Lens' ListResolverEndpointsResponse (Prelude.Maybe Prelude.Text)+listResolverEndpointsResponse_nextToken = Lens.lens (\ListResolverEndpointsResponse' {nextToken} -> nextToken) (\s@ListResolverEndpointsResponse' {} a -> s {nextToken = a} :: ListResolverEndpointsResponse)++-- | The Resolver endpoints that were created by using the current Amazon Web+-- Services account, and that match the specified filters, if any.+listResolverEndpointsResponse_resolverEndpoints :: Lens.Lens' ListResolverEndpointsResponse (Prelude.Maybe [ResolverEndpoint])+listResolverEndpointsResponse_resolverEndpoints = Lens.lens (\ListResolverEndpointsResponse' {resolverEndpoints} -> resolverEndpoints) (\s@ListResolverEndpointsResponse' {} a -> s {resolverEndpoints = a} :: ListResolverEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResolverEndpointsResponse_httpStatus :: Lens.Lens' ListResolverEndpointsResponse Prelude.Int+listResolverEndpointsResponse_httpStatus = Lens.lens (\ListResolverEndpointsResponse' {httpStatus} -> httpStatus) (\s@ListResolverEndpointsResponse' {} a -> s {httpStatus = a} :: ListResolverEndpointsResponse)++instance Prelude.NFData ListResolverEndpointsResponse where+ rnf ListResolverEndpointsResponse' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverEndpoints+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverQueryLogConfigAssociations.hs view
@@ -0,0 +1,575 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverQueryLogConfigAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about associations between Amazon VPCs and query+-- logging configurations.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverQueryLogConfigAssociations+ ( -- * Creating a Request+ ListResolverQueryLogConfigAssociations (..),+ newListResolverQueryLogConfigAssociations,++ -- * Request Lenses+ listResolverQueryLogConfigAssociations_filters,+ listResolverQueryLogConfigAssociations_maxResults,+ listResolverQueryLogConfigAssociations_nextToken,+ listResolverQueryLogConfigAssociations_sortBy,+ listResolverQueryLogConfigAssociations_sortOrder,++ -- * Destructuring the Response+ ListResolverQueryLogConfigAssociationsResponse (..),+ newListResolverQueryLogConfigAssociationsResponse,++ -- * Response Lenses+ listResolverQueryLogConfigAssociationsResponse_nextToken,+ listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations,+ listResolverQueryLogConfigAssociationsResponse_totalCount,+ listResolverQueryLogConfigAssociationsResponse_totalFilteredCount,+ listResolverQueryLogConfigAssociationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverQueryLogConfigAssociations' smart constructor.+data ListResolverQueryLogConfigAssociations = ListResolverQueryLogConfigAssociations'+ { -- | An optional specification to return a subset of query logging+ -- associations.+ --+ -- If you submit a second or subsequent+ -- @ListResolverQueryLogConfigAssociations@ request and specify the+ -- @NextToken@ parameter, you must use the same values for @Filters@, if+ -- any, as in the previous request.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of query logging associations that you want to return+ -- in the response to a @ListResolverQueryLogConfigAssociations@ request.+ -- If you don\'t specify a value for @MaxResults@, Resolver returns up to+ -- 100 query logging associations.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverQueryLogConfigAssociations@ request, omit+ -- this value.+ --+ -- If there are more than @MaxResults@ query logging associations that+ -- match the values that you specify for @Filters@, you can submit another+ -- @ListResolverQueryLogConfigAssociations@ request to get the next group+ -- of associations. In the next request, specify the value of @NextToken@+ -- from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The element that you want Resolver to sort query logging associations+ -- by.+ --+ -- If you submit a second or subsequent+ -- @ListResolverQueryLogConfigAssociations@ request and specify the+ -- @NextToken@ parameter, you must use the same value for @SortBy@, if any,+ -- as in the previous request.+ --+ -- Valid values include the following elements:+ --+ -- - @CreationTime@: The ID of the query logging association.+ --+ -- - @Error@: If the value of @Status@ is @FAILED@, the value of @Error@+ -- indicates the cause:+ --+ -- - @DESTINATION_NOT_FOUND@: The specified destination (for example,+ -- an Amazon S3 bucket) was deleted.+ --+ -- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+ -- destination.+ --+ -- If @Status@ is a value other than @FAILED@, @ERROR@ is null.+ --+ -- - @Id@: The ID of the query logging association+ --+ -- - @ResolverQueryLogConfigId@: The ID of the query logging+ -- configuration+ --+ -- - @ResourceId@: The ID of the VPC that is associated with the query+ -- logging configuration+ --+ -- - @Status@: The current status of the configuration. Valid values+ -- include the following:+ --+ -- - @CREATING@: Resolver is creating an association between an+ -- Amazon VPC and a query logging configuration.+ --+ -- - @CREATED@: The association between an Amazon VPC and a query+ -- logging configuration was successfully created. Resolver is+ -- logging queries that originate in the specified VPC.+ --+ -- - @DELETING@: Resolver is deleting this query logging association.+ --+ -- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+ -- the query logging association. Here are two common causes:+ --+ -- - The specified destination (for example, an Amazon S3 bucket)+ -- was deleted.+ --+ -- - Permissions don\'t allow sending logs to the destination.+ sortBy :: Prelude.Maybe Prelude.Text,+ -- | If you specified a value for @SortBy@, the order that you want query+ -- logging associations to be listed in, @ASCENDING@ or @DESCENDING@.+ --+ -- If you submit a second or subsequent+ -- @ListResolverQueryLogConfigAssociations@ request and specify the+ -- @NextToken@ parameter, you must use the same value for @SortOrder@, if+ -- any, as in the previous request.+ sortOrder :: Prelude.Maybe SortOrder+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverQueryLogConfigAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverQueryLogConfigAssociations_filters' - An optional specification to return a subset of query logging+-- associations.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same values for @Filters@, if+-- any, as in the previous request.+--+-- 'maxResults', 'listResolverQueryLogConfigAssociations_maxResults' - The maximum number of query logging associations that you want to return+-- in the response to a @ListResolverQueryLogConfigAssociations@ request.+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 query logging associations.+--+-- 'nextToken', 'listResolverQueryLogConfigAssociations_nextToken' - For the first @ListResolverQueryLogConfigAssociations@ request, omit+-- this value.+--+-- If there are more than @MaxResults@ query logging associations that+-- match the values that you specify for @Filters@, you can submit another+-- @ListResolverQueryLogConfigAssociations@ request to get the next group+-- of associations. In the next request, specify the value of @NextToken@+-- from the previous response.+--+-- 'sortBy', 'listResolverQueryLogConfigAssociations_sortBy' - The element that you want Resolver to sort query logging associations+-- by.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same value for @SortBy@, if any,+-- as in the previous request.+--+-- Valid values include the following elements:+--+-- - @CreationTime@: The ID of the query logging association.+--+-- - @Error@: If the value of @Status@ is @FAILED@, the value of @Error@+-- indicates the cause:+--+-- - @DESTINATION_NOT_FOUND@: The specified destination (for example,+-- an Amazon S3 bucket) was deleted.+--+-- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+-- destination.+--+-- If @Status@ is a value other than @FAILED@, @ERROR@ is null.+--+-- - @Id@: The ID of the query logging association+--+-- - @ResolverQueryLogConfigId@: The ID of the query logging+-- configuration+--+-- - @ResourceId@: The ID of the VPC that is associated with the query+-- logging configuration+--+-- - @Status@: The current status of the configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating an association between an+-- Amazon VPC and a query logging configuration.+--+-- - @CREATED@: The association between an Amazon VPC and a query+-- logging configuration was successfully created. Resolver is+-- logging queries that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging association.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+-- the query logging association. Here are two common causes:+--+-- - The specified destination (for example, an Amazon S3 bucket)+-- was deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+--+-- 'sortOrder', 'listResolverQueryLogConfigAssociations_sortOrder' - If you specified a value for @SortBy@, the order that you want query+-- logging associations to be listed in, @ASCENDING@ or @DESCENDING@.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same value for @SortOrder@, if+-- any, as in the previous request.+newListResolverQueryLogConfigAssociations ::+ ListResolverQueryLogConfigAssociations+newListResolverQueryLogConfigAssociations =+ ListResolverQueryLogConfigAssociations'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortBy = Prelude.Nothing,+ sortOrder = Prelude.Nothing+ }++-- | An optional specification to return a subset of query logging+-- associations.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same values for @Filters@, if+-- any, as in the previous request.+listResolverQueryLogConfigAssociations_filters :: Lens.Lens' ListResolverQueryLogConfigAssociations (Prelude.Maybe [Filter])+listResolverQueryLogConfigAssociations_filters = Lens.lens (\ListResolverQueryLogConfigAssociations' {filters} -> filters) (\s@ListResolverQueryLogConfigAssociations' {} a -> s {filters = a} :: ListResolverQueryLogConfigAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of query logging associations that you want to return+-- in the response to a @ListResolverQueryLogConfigAssociations@ request.+-- If you don\'t specify a value for @MaxResults@, Resolver returns up to+-- 100 query logging associations.+listResolverQueryLogConfigAssociations_maxResults :: Lens.Lens' ListResolverQueryLogConfigAssociations (Prelude.Maybe Prelude.Natural)+listResolverQueryLogConfigAssociations_maxResults = Lens.lens (\ListResolverQueryLogConfigAssociations' {maxResults} -> maxResults) (\s@ListResolverQueryLogConfigAssociations' {} a -> s {maxResults = a} :: ListResolverQueryLogConfigAssociations)++-- | For the first @ListResolverQueryLogConfigAssociations@ request, omit+-- this value.+--+-- If there are more than @MaxResults@ query logging associations that+-- match the values that you specify for @Filters@, you can submit another+-- @ListResolverQueryLogConfigAssociations@ request to get the next group+-- of associations. In the next request, specify the value of @NextToken@+-- from the previous response.+listResolverQueryLogConfigAssociations_nextToken :: Lens.Lens' ListResolverQueryLogConfigAssociations (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigAssociations_nextToken = Lens.lens (\ListResolverQueryLogConfigAssociations' {nextToken} -> nextToken) (\s@ListResolverQueryLogConfigAssociations' {} a -> s {nextToken = a} :: ListResolverQueryLogConfigAssociations)++-- | The element that you want Resolver to sort query logging associations+-- by.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same value for @SortBy@, if any,+-- as in the previous request.+--+-- Valid values include the following elements:+--+-- - @CreationTime@: The ID of the query logging association.+--+-- - @Error@: If the value of @Status@ is @FAILED@, the value of @Error@+-- indicates the cause:+--+-- - @DESTINATION_NOT_FOUND@: The specified destination (for example,+-- an Amazon S3 bucket) was deleted.+--+-- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+-- destination.+--+-- If @Status@ is a value other than @FAILED@, @ERROR@ is null.+--+-- - @Id@: The ID of the query logging association+--+-- - @ResolverQueryLogConfigId@: The ID of the query logging+-- configuration+--+-- - @ResourceId@: The ID of the VPC that is associated with the query+-- logging configuration+--+-- - @Status@: The current status of the configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating an association between an+-- Amazon VPC and a query logging configuration.+--+-- - @CREATED@: The association between an Amazon VPC and a query+-- logging configuration was successfully created. Resolver is+-- logging queries that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging association.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+-- the query logging association. Here are two common causes:+--+-- - The specified destination (for example, an Amazon S3 bucket)+-- was deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+listResolverQueryLogConfigAssociations_sortBy :: Lens.Lens' ListResolverQueryLogConfigAssociations (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigAssociations_sortBy = Lens.lens (\ListResolverQueryLogConfigAssociations' {sortBy} -> sortBy) (\s@ListResolverQueryLogConfigAssociations' {} a -> s {sortBy = a} :: ListResolverQueryLogConfigAssociations)++-- | If you specified a value for @SortBy@, the order that you want query+-- logging associations to be listed in, @ASCENDING@ or @DESCENDING@.+--+-- If you submit a second or subsequent+-- @ListResolverQueryLogConfigAssociations@ request and specify the+-- @NextToken@ parameter, you must use the same value for @SortOrder@, if+-- any, as in the previous request.+listResolverQueryLogConfigAssociations_sortOrder :: Lens.Lens' ListResolverQueryLogConfigAssociations (Prelude.Maybe SortOrder)+listResolverQueryLogConfigAssociations_sortOrder = Lens.lens (\ListResolverQueryLogConfigAssociations' {sortOrder} -> sortOrder) (\s@ListResolverQueryLogConfigAssociations' {} a -> s {sortOrder = a} :: ListResolverQueryLogConfigAssociations)++instance+ Core.AWSPager+ ListResolverQueryLogConfigAssociations+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverQueryLogConfigAssociationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverQueryLogConfigAssociations_nextToken+ Lens..~ rs+ Lens.^? listResolverQueryLogConfigAssociationsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListResolverQueryLogConfigAssociations+ where+ type+ AWSResponse+ ListResolverQueryLogConfigAssociations =+ ListResolverQueryLogConfigAssociationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverQueryLogConfigAssociationsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverQueryLogConfigAssociations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "TotalCount")+ Prelude.<*> (x Data..?> "TotalFilteredCount")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResolverQueryLogConfigAssociations+ where+ hashWithSalt+ _salt+ ListResolverQueryLogConfigAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortBy+ `Prelude.hashWithSalt` sortOrder++instance+ Prelude.NFData+ ListResolverQueryLogConfigAssociations+ where+ rnf ListResolverQueryLogConfigAssociations' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortBy+ `Prelude.seq` Prelude.rnf sortOrder++instance+ Data.ToHeaders+ ListResolverQueryLogConfigAssociations+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverQueryLogConfigAssociations" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListResolverQueryLogConfigAssociations+ where+ toJSON ListResolverQueryLogConfigAssociations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("SortBy" Data..=) Prelude.<$> sortBy,+ ("SortOrder" Data..=) Prelude.<$> sortOrder+ ]+ )++instance+ Data.ToPath+ ListResolverQueryLogConfigAssociations+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ ListResolverQueryLogConfigAssociations+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverQueryLogConfigAssociationsResponse' smart constructor.+data ListResolverQueryLogConfigAssociationsResponse = ListResolverQueryLogConfigAssociationsResponse'+ { -- | If there are more than @MaxResults@ query logging associations, you can+ -- submit another @ListResolverQueryLogConfigAssociations@ request to get+ -- the next group of associations. In the next request, specify the value+ -- of @NextToken@ from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list that contains one @ResolverQueryLogConfigAssociations@ element+ -- for each query logging association that matches the values that you+ -- specified for @Filter@.+ resolverQueryLogConfigAssociations :: Prelude.Maybe [ResolverQueryLogConfigAssociation],+ -- | The total number of query logging associations that were created by the+ -- current account in the specified Region. This count can differ from the+ -- number of associations that are returned in a+ -- @ListResolverQueryLogConfigAssociations@ response, depending on the+ -- values that you specify in the request.+ totalCount :: Prelude.Maybe Prelude.Int,+ -- | The total number of query logging associations that were created by the+ -- current account in the specified Region and that match the filters that+ -- were specified in the @ListResolverQueryLogConfigAssociations@ request.+ -- For the total number of associations that were created by the current+ -- account in the specified Region, see @TotalCount@.+ totalFilteredCount :: Prelude.Maybe Prelude.Int,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverQueryLogConfigAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResolverQueryLogConfigAssociationsResponse_nextToken' - If there are more than @MaxResults@ query logging associations, you can+-- submit another @ListResolverQueryLogConfigAssociations@ request to get+-- the next group of associations. In the next request, specify the value+-- of @NextToken@ from the previous response.+--+-- 'resolverQueryLogConfigAssociations', 'listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations' - A list that contains one @ResolverQueryLogConfigAssociations@ element+-- for each query logging association that matches the values that you+-- specified for @Filter@.+--+-- 'totalCount', 'listResolverQueryLogConfigAssociationsResponse_totalCount' - The total number of query logging associations that were created by the+-- current account in the specified Region. This count can differ from the+-- number of associations that are returned in a+-- @ListResolverQueryLogConfigAssociations@ response, depending on the+-- values that you specify in the request.+--+-- 'totalFilteredCount', 'listResolverQueryLogConfigAssociationsResponse_totalFilteredCount' - The total number of query logging associations that were created by the+-- current account in the specified Region and that match the filters that+-- were specified in the @ListResolverQueryLogConfigAssociations@ request.+-- For the total number of associations that were created by the current+-- account in the specified Region, see @TotalCount@.+--+-- 'httpStatus', 'listResolverQueryLogConfigAssociationsResponse_httpStatus' - The response's http status code.+newListResolverQueryLogConfigAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverQueryLogConfigAssociationsResponse+newListResolverQueryLogConfigAssociationsResponse+ pHttpStatus_ =+ ListResolverQueryLogConfigAssociationsResponse'+ { nextToken =+ Prelude.Nothing,+ resolverQueryLogConfigAssociations =+ Prelude.Nothing,+ totalCount =+ Prelude.Nothing,+ totalFilteredCount =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If there are more than @MaxResults@ query logging associations, you can+-- submit another @ListResolverQueryLogConfigAssociations@ request to get+-- the next group of associations. In the next request, specify the value+-- of @NextToken@ from the previous response.+listResolverQueryLogConfigAssociationsResponse_nextToken :: Lens.Lens' ListResolverQueryLogConfigAssociationsResponse (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigAssociationsResponse_nextToken = Lens.lens (\ListResolverQueryLogConfigAssociationsResponse' {nextToken} -> nextToken) (\s@ListResolverQueryLogConfigAssociationsResponse' {} a -> s {nextToken = a} :: ListResolverQueryLogConfigAssociationsResponse)++-- | A list that contains one @ResolverQueryLogConfigAssociations@ element+-- for each query logging association that matches the values that you+-- specified for @Filter@.+listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations :: Lens.Lens' ListResolverQueryLogConfigAssociationsResponse (Prelude.Maybe [ResolverQueryLogConfigAssociation])+listResolverQueryLogConfigAssociationsResponse_resolverQueryLogConfigAssociations = Lens.lens (\ListResolverQueryLogConfigAssociationsResponse' {resolverQueryLogConfigAssociations} -> resolverQueryLogConfigAssociations) (\s@ListResolverQueryLogConfigAssociationsResponse' {} a -> s {resolverQueryLogConfigAssociations = a} :: ListResolverQueryLogConfigAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The total number of query logging associations that were created by the+-- current account in the specified Region. This count can differ from the+-- number of associations that are returned in a+-- @ListResolverQueryLogConfigAssociations@ response, depending on the+-- values that you specify in the request.+listResolverQueryLogConfigAssociationsResponse_totalCount :: Lens.Lens' ListResolverQueryLogConfigAssociationsResponse (Prelude.Maybe Prelude.Int)+listResolverQueryLogConfigAssociationsResponse_totalCount = Lens.lens (\ListResolverQueryLogConfigAssociationsResponse' {totalCount} -> totalCount) (\s@ListResolverQueryLogConfigAssociationsResponse' {} a -> s {totalCount = a} :: ListResolverQueryLogConfigAssociationsResponse)++-- | The total number of query logging associations that were created by the+-- current account in the specified Region and that match the filters that+-- were specified in the @ListResolverQueryLogConfigAssociations@ request.+-- For the total number of associations that were created by the current+-- account in the specified Region, see @TotalCount@.+listResolverQueryLogConfigAssociationsResponse_totalFilteredCount :: Lens.Lens' ListResolverQueryLogConfigAssociationsResponse (Prelude.Maybe Prelude.Int)+listResolverQueryLogConfigAssociationsResponse_totalFilteredCount = Lens.lens (\ListResolverQueryLogConfigAssociationsResponse' {totalFilteredCount} -> totalFilteredCount) (\s@ListResolverQueryLogConfigAssociationsResponse' {} a -> s {totalFilteredCount = a} :: ListResolverQueryLogConfigAssociationsResponse)++-- | The response's http status code.+listResolverQueryLogConfigAssociationsResponse_httpStatus :: Lens.Lens' ListResolverQueryLogConfigAssociationsResponse Prelude.Int+listResolverQueryLogConfigAssociationsResponse_httpStatus = Lens.lens (\ListResolverQueryLogConfigAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListResolverQueryLogConfigAssociationsResponse' {} a -> s {httpStatus = a} :: ListResolverQueryLogConfigAssociationsResponse)++instance+ Prelude.NFData+ ListResolverQueryLogConfigAssociationsResponse+ where+ rnf+ ListResolverQueryLogConfigAssociationsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverQueryLogConfigAssociations+ `Prelude.seq` Prelude.rnf totalCount+ `Prelude.seq` Prelude.rnf totalFilteredCount+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverQueryLogConfigs.hs view
@@ -0,0 +1,548 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverQueryLogConfigs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about the specified query logging configurations. Each+-- configuration defines where you want Resolver to save DNS query logs and+-- specifies the VPCs that you want to log queries for.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverQueryLogConfigs+ ( -- * Creating a Request+ ListResolverQueryLogConfigs (..),+ newListResolverQueryLogConfigs,++ -- * Request Lenses+ listResolverQueryLogConfigs_filters,+ listResolverQueryLogConfigs_maxResults,+ listResolverQueryLogConfigs_nextToken,+ listResolverQueryLogConfigs_sortBy,+ listResolverQueryLogConfigs_sortOrder,++ -- * Destructuring the Response+ ListResolverQueryLogConfigsResponse (..),+ newListResolverQueryLogConfigsResponse,++ -- * Response Lenses+ listResolverQueryLogConfigsResponse_nextToken,+ listResolverQueryLogConfigsResponse_resolverQueryLogConfigs,+ listResolverQueryLogConfigsResponse_totalCount,+ listResolverQueryLogConfigsResponse_totalFilteredCount,+ listResolverQueryLogConfigsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverQueryLogConfigs' smart constructor.+data ListResolverQueryLogConfigs = ListResolverQueryLogConfigs'+ { -- | An optional specification to return a subset of query logging+ -- configurations.+ --+ -- If you submit a second or subsequent @ListResolverQueryLogConfigs@+ -- request and specify the @NextToken@ parameter, you must use the same+ -- values for @Filters@, if any, as in the previous request.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of query logging configurations that you want to+ -- return in the response to a @ListResolverQueryLogConfigs@ request. If+ -- you don\'t specify a value for @MaxResults@, Resolver returns up to 100+ -- query logging configurations.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverQueryLogConfigs@ request, omit this value.+ --+ -- If there are more than @MaxResults@ query logging configurations that+ -- match the values that you specify for @Filters@, you can submit another+ -- @ListResolverQueryLogConfigs@ request to get the next group of+ -- configurations. In the next request, specify the value of @NextToken@+ -- from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The element that you want Resolver to sort query logging configurations+ -- by.+ --+ -- If you submit a second or subsequent @ListResolverQueryLogConfigs@+ -- request and specify the @NextToken@ parameter, you must use the same+ -- value for @SortBy@, if any, as in the previous request.+ --+ -- Valid values include the following elements:+ --+ -- - @Arn@: The ARN of the query logging configuration+ --+ -- - @AssociationCount@: The number of VPCs that are associated with the+ -- specified configuration+ --+ -- - @CreationTime@: The date and time that Resolver returned when the+ -- configuration was created+ --+ -- - @CreatorRequestId@: The value that was specified for+ -- @CreatorRequestId@ when the configuration was created+ --+ -- - @DestinationArn@: The location that logs are sent to+ --+ -- - @Id@: The ID of the configuration+ --+ -- - @Name@: The name of the configuration+ --+ -- - @OwnerId@: The Amazon Web Services account number of the account+ -- that created the configuration+ --+ -- - @ShareStatus@: Whether the configuration is shared with other Amazon+ -- Web Services accounts or shared with the current account by another+ -- Amazon Web Services account. Sharing is configured through Resource+ -- Access Manager (RAM).+ --+ -- - @Status@: The current status of the configuration. Valid values+ -- include the following:+ --+ -- - @CREATING@: Resolver is creating the query logging+ -- configuration.+ --+ -- - @CREATED@: The query logging configuration was successfully+ -- created. Resolver is logging queries that originate in the+ -- specified VPC.+ --+ -- - @DELETING@: Resolver is deleting this query logging+ -- configuration.+ --+ -- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+ -- the query logging configuration. Here are two common causes:+ --+ -- - The specified destination (for example, an Amazon S3 bucket)+ -- was deleted.+ --+ -- - Permissions don\'t allow sending logs to the destination.+ sortBy :: Prelude.Maybe Prelude.Text,+ -- | If you specified a value for @SortBy@, the order that you want query+ -- logging configurations to be listed in, @ASCENDING@ or @DESCENDING@.+ --+ -- If you submit a second or subsequent @ListResolverQueryLogConfigs@+ -- request and specify the @NextToken@ parameter, you must use the same+ -- value for @SortOrder@, if any, as in the previous request.+ sortOrder :: Prelude.Maybe SortOrder+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverQueryLogConfigs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverQueryLogConfigs_filters' - An optional specification to return a subset of query logging+-- configurations.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- values for @Filters@, if any, as in the previous request.+--+-- 'maxResults', 'listResolverQueryLogConfigs_maxResults' - The maximum number of query logging configurations that you want to+-- return in the response to a @ListResolverQueryLogConfigs@ request. If+-- you don\'t specify a value for @MaxResults@, Resolver returns up to 100+-- query logging configurations.+--+-- 'nextToken', 'listResolverQueryLogConfigs_nextToken' - For the first @ListResolverQueryLogConfigs@ request, omit this value.+--+-- If there are more than @MaxResults@ query logging configurations that+-- match the values that you specify for @Filters@, you can submit another+-- @ListResolverQueryLogConfigs@ request to get the next group of+-- configurations. In the next request, specify the value of @NextToken@+-- from the previous response.+--+-- 'sortBy', 'listResolverQueryLogConfigs_sortBy' - The element that you want Resolver to sort query logging configurations+-- by.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- value for @SortBy@, if any, as in the previous request.+--+-- Valid values include the following elements:+--+-- - @Arn@: The ARN of the query logging configuration+--+-- - @AssociationCount@: The number of VPCs that are associated with the+-- specified configuration+--+-- - @CreationTime@: The date and time that Resolver returned when the+-- configuration was created+--+-- - @CreatorRequestId@: The value that was specified for+-- @CreatorRequestId@ when the configuration was created+--+-- - @DestinationArn@: The location that logs are sent to+--+-- - @Id@: The ID of the configuration+--+-- - @Name@: The name of the configuration+--+-- - @OwnerId@: The Amazon Web Services account number of the account+-- that created the configuration+--+-- - @ShareStatus@: Whether the configuration is shared with other Amazon+-- Web Services accounts or shared with the current account by another+-- Amazon Web Services account. Sharing is configured through Resource+-- Access Manager (RAM).+--+-- - @Status@: The current status of the configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating the query logging+-- configuration.+--+-- - @CREATED@: The query logging configuration was successfully+-- created. Resolver is logging queries that originate in the+-- specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging+-- configuration.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+-- the query logging configuration. Here are two common causes:+--+-- - The specified destination (for example, an Amazon S3 bucket)+-- was deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+--+-- 'sortOrder', 'listResolverQueryLogConfigs_sortOrder' - If you specified a value for @SortBy@, the order that you want query+-- logging configurations to be listed in, @ASCENDING@ or @DESCENDING@.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- value for @SortOrder@, if any, as in the previous request.+newListResolverQueryLogConfigs ::+ ListResolverQueryLogConfigs+newListResolverQueryLogConfigs =+ ListResolverQueryLogConfigs'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortBy = Prelude.Nothing,+ sortOrder = Prelude.Nothing+ }++-- | An optional specification to return a subset of query logging+-- configurations.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- values for @Filters@, if any, as in the previous request.+listResolverQueryLogConfigs_filters :: Lens.Lens' ListResolverQueryLogConfigs (Prelude.Maybe [Filter])+listResolverQueryLogConfigs_filters = Lens.lens (\ListResolverQueryLogConfigs' {filters} -> filters) (\s@ListResolverQueryLogConfigs' {} a -> s {filters = a} :: ListResolverQueryLogConfigs) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of query logging configurations that you want to+-- return in the response to a @ListResolverQueryLogConfigs@ request. If+-- you don\'t specify a value for @MaxResults@, Resolver returns up to 100+-- query logging configurations.+listResolverQueryLogConfigs_maxResults :: Lens.Lens' ListResolverQueryLogConfigs (Prelude.Maybe Prelude.Natural)+listResolverQueryLogConfigs_maxResults = Lens.lens (\ListResolverQueryLogConfigs' {maxResults} -> maxResults) (\s@ListResolverQueryLogConfigs' {} a -> s {maxResults = a} :: ListResolverQueryLogConfigs)++-- | For the first @ListResolverQueryLogConfigs@ request, omit this value.+--+-- If there are more than @MaxResults@ query logging configurations that+-- match the values that you specify for @Filters@, you can submit another+-- @ListResolverQueryLogConfigs@ request to get the next group of+-- configurations. In the next request, specify the value of @NextToken@+-- from the previous response.+listResolverQueryLogConfigs_nextToken :: Lens.Lens' ListResolverQueryLogConfigs (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigs_nextToken = Lens.lens (\ListResolverQueryLogConfigs' {nextToken} -> nextToken) (\s@ListResolverQueryLogConfigs' {} a -> s {nextToken = a} :: ListResolverQueryLogConfigs)++-- | The element that you want Resolver to sort query logging configurations+-- by.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- value for @SortBy@, if any, as in the previous request.+--+-- Valid values include the following elements:+--+-- - @Arn@: The ARN of the query logging configuration+--+-- - @AssociationCount@: The number of VPCs that are associated with the+-- specified configuration+--+-- - @CreationTime@: The date and time that Resolver returned when the+-- configuration was created+--+-- - @CreatorRequestId@: The value that was specified for+-- @CreatorRequestId@ when the configuration was created+--+-- - @DestinationArn@: The location that logs are sent to+--+-- - @Id@: The ID of the configuration+--+-- - @Name@: The name of the configuration+--+-- - @OwnerId@: The Amazon Web Services account number of the account+-- that created the configuration+--+-- - @ShareStatus@: Whether the configuration is shared with other Amazon+-- Web Services accounts or shared with the current account by another+-- Amazon Web Services account. Sharing is configured through Resource+-- Access Manager (RAM).+--+-- - @Status@: The current status of the configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating the query logging+-- configuration.+--+-- - @CREATED@: The query logging configuration was successfully+-- created. Resolver is logging queries that originate in the+-- specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging+-- configuration.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete+-- the query logging configuration. Here are two common causes:+--+-- - The specified destination (for example, an Amazon S3 bucket)+-- was deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+listResolverQueryLogConfigs_sortBy :: Lens.Lens' ListResolverQueryLogConfigs (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigs_sortBy = Lens.lens (\ListResolverQueryLogConfigs' {sortBy} -> sortBy) (\s@ListResolverQueryLogConfigs' {} a -> s {sortBy = a} :: ListResolverQueryLogConfigs)++-- | If you specified a value for @SortBy@, the order that you want query+-- logging configurations to be listed in, @ASCENDING@ or @DESCENDING@.+--+-- If you submit a second or subsequent @ListResolverQueryLogConfigs@+-- request and specify the @NextToken@ parameter, you must use the same+-- value for @SortOrder@, if any, as in the previous request.+listResolverQueryLogConfigs_sortOrder :: Lens.Lens' ListResolverQueryLogConfigs (Prelude.Maybe SortOrder)+listResolverQueryLogConfigs_sortOrder = Lens.lens (\ListResolverQueryLogConfigs' {sortOrder} -> sortOrder) (\s@ListResolverQueryLogConfigs' {} a -> s {sortOrder = a} :: ListResolverQueryLogConfigs)++instance Core.AWSPager ListResolverQueryLogConfigs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverQueryLogConfigsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverQueryLogConfigsResponse_resolverQueryLogConfigs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverQueryLogConfigs_nextToken+ Lens..~ rs+ Lens.^? listResolverQueryLogConfigsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverQueryLogConfigs where+ type+ AWSResponse ListResolverQueryLogConfigs =+ ListResolverQueryLogConfigsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverQueryLogConfigsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverQueryLogConfigs"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "TotalCount")+ Prelude.<*> (x Data..?> "TotalFilteredCount")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListResolverQueryLogConfigs where+ hashWithSalt _salt ListResolverQueryLogConfigs' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortBy+ `Prelude.hashWithSalt` sortOrder++instance Prelude.NFData ListResolverQueryLogConfigs where+ rnf ListResolverQueryLogConfigs' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortBy+ `Prelude.seq` Prelude.rnf sortOrder++instance Data.ToHeaders ListResolverQueryLogConfigs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverQueryLogConfigs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverQueryLogConfigs where+ toJSON ListResolverQueryLogConfigs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("SortBy" Data..=) Prelude.<$> sortBy,+ ("SortOrder" Data..=) Prelude.<$> sortOrder+ ]+ )++instance Data.ToPath ListResolverQueryLogConfigs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverQueryLogConfigs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverQueryLogConfigsResponse' smart constructor.+data ListResolverQueryLogConfigsResponse = ListResolverQueryLogConfigsResponse'+ { -- | If there are more than @MaxResults@ query logging configurations, you+ -- can submit another @ListResolverQueryLogConfigs@ request to get the next+ -- group of configurations. In the next request, specify the value of+ -- @NextToken@ from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list that contains one @ResolverQueryLogConfig@ element for each query+ -- logging configuration that matches the values that you specified for+ -- @Filter@.+ resolverQueryLogConfigs :: Prelude.Maybe [ResolverQueryLogConfig],+ -- | The total number of query logging configurations that were created by+ -- the current account in the specified Region. This count can differ from+ -- the number of query logging configurations that are returned in a+ -- @ListResolverQueryLogConfigs@ response, depending on the values that you+ -- specify in the request.+ totalCount :: Prelude.Maybe Prelude.Int,+ -- | The total number of query logging configurations that were created by+ -- the current account in the specified Region and that match the filters+ -- that were specified in the @ListResolverQueryLogConfigs@ request. For+ -- the total number of query logging configurations that were created by+ -- the current account in the specified Region, see @TotalCount@.+ totalFilteredCount :: Prelude.Maybe Prelude.Int,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverQueryLogConfigsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResolverQueryLogConfigsResponse_nextToken' - If there are more than @MaxResults@ query logging configurations, you+-- can submit another @ListResolverQueryLogConfigs@ request to get the next+-- group of configurations. In the next request, specify the value of+-- @NextToken@ from the previous response.+--+-- 'resolverQueryLogConfigs', 'listResolverQueryLogConfigsResponse_resolverQueryLogConfigs' - A list that contains one @ResolverQueryLogConfig@ element for each query+-- logging configuration that matches the values that you specified for+-- @Filter@.+--+-- 'totalCount', 'listResolverQueryLogConfigsResponse_totalCount' - The total number of query logging configurations that were created by+-- the current account in the specified Region. This count can differ from+-- the number of query logging configurations that are returned in a+-- @ListResolverQueryLogConfigs@ response, depending on the values that you+-- specify in the request.+--+-- 'totalFilteredCount', 'listResolverQueryLogConfigsResponse_totalFilteredCount' - The total number of query logging configurations that were created by+-- the current account in the specified Region and that match the filters+-- that were specified in the @ListResolverQueryLogConfigs@ request. For+-- the total number of query logging configurations that were created by+-- the current account in the specified Region, see @TotalCount@.+--+-- 'httpStatus', 'listResolverQueryLogConfigsResponse_httpStatus' - The response's http status code.+newListResolverQueryLogConfigsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverQueryLogConfigsResponse+newListResolverQueryLogConfigsResponse pHttpStatus_ =+ ListResolverQueryLogConfigsResponse'+ { nextToken =+ Prelude.Nothing,+ resolverQueryLogConfigs =+ Prelude.Nothing,+ totalCount = Prelude.Nothing,+ totalFilteredCount = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If there are more than @MaxResults@ query logging configurations, you+-- can submit another @ListResolverQueryLogConfigs@ request to get the next+-- group of configurations. In the next request, specify the value of+-- @NextToken@ from the previous response.+listResolverQueryLogConfigsResponse_nextToken :: Lens.Lens' ListResolverQueryLogConfigsResponse (Prelude.Maybe Prelude.Text)+listResolverQueryLogConfigsResponse_nextToken = Lens.lens (\ListResolverQueryLogConfigsResponse' {nextToken} -> nextToken) (\s@ListResolverQueryLogConfigsResponse' {} a -> s {nextToken = a} :: ListResolverQueryLogConfigsResponse)++-- | A list that contains one @ResolverQueryLogConfig@ element for each query+-- logging configuration that matches the values that you specified for+-- @Filter@.+listResolverQueryLogConfigsResponse_resolverQueryLogConfigs :: Lens.Lens' ListResolverQueryLogConfigsResponse (Prelude.Maybe [ResolverQueryLogConfig])+listResolverQueryLogConfigsResponse_resolverQueryLogConfigs = Lens.lens (\ListResolverQueryLogConfigsResponse' {resolverQueryLogConfigs} -> resolverQueryLogConfigs) (\s@ListResolverQueryLogConfigsResponse' {} a -> s {resolverQueryLogConfigs = a} :: ListResolverQueryLogConfigsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The total number of query logging configurations that were created by+-- the current account in the specified Region. This count can differ from+-- the number of query logging configurations that are returned in a+-- @ListResolverQueryLogConfigs@ response, depending on the values that you+-- specify in the request.+listResolverQueryLogConfigsResponse_totalCount :: Lens.Lens' ListResolverQueryLogConfigsResponse (Prelude.Maybe Prelude.Int)+listResolverQueryLogConfigsResponse_totalCount = Lens.lens (\ListResolverQueryLogConfigsResponse' {totalCount} -> totalCount) (\s@ListResolverQueryLogConfigsResponse' {} a -> s {totalCount = a} :: ListResolverQueryLogConfigsResponse)++-- | The total number of query logging configurations that were created by+-- the current account in the specified Region and that match the filters+-- that were specified in the @ListResolverQueryLogConfigs@ request. For+-- the total number of query logging configurations that were created by+-- the current account in the specified Region, see @TotalCount@.+listResolverQueryLogConfigsResponse_totalFilteredCount :: Lens.Lens' ListResolverQueryLogConfigsResponse (Prelude.Maybe Prelude.Int)+listResolverQueryLogConfigsResponse_totalFilteredCount = Lens.lens (\ListResolverQueryLogConfigsResponse' {totalFilteredCount} -> totalFilteredCount) (\s@ListResolverQueryLogConfigsResponse' {} a -> s {totalFilteredCount = a} :: ListResolverQueryLogConfigsResponse)++-- | The response's http status code.+listResolverQueryLogConfigsResponse_httpStatus :: Lens.Lens' ListResolverQueryLogConfigsResponse Prelude.Int+listResolverQueryLogConfigsResponse_httpStatus = Lens.lens (\ListResolverQueryLogConfigsResponse' {httpStatus} -> httpStatus) (\s@ListResolverQueryLogConfigsResponse' {} a -> s {httpStatus = a} :: ListResolverQueryLogConfigsResponse)++instance+ Prelude.NFData+ ListResolverQueryLogConfigsResponse+ where+ rnf ListResolverQueryLogConfigsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverQueryLogConfigs+ `Prelude.seq` Prelude.rnf totalCount+ `Prelude.seq` Prelude.rnf totalFilteredCount+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverRuleAssociations.hs view
@@ -0,0 +1,311 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverRuleAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the associations that were created between Resolver rules and VPCs+-- using the current Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverRuleAssociations+ ( -- * Creating a Request+ ListResolverRuleAssociations (..),+ newListResolverRuleAssociations,++ -- * Request Lenses+ listResolverRuleAssociations_filters,+ listResolverRuleAssociations_maxResults,+ listResolverRuleAssociations_nextToken,++ -- * Destructuring the Response+ ListResolverRuleAssociationsResponse (..),+ newListResolverRuleAssociationsResponse,++ -- * Response Lenses+ listResolverRuleAssociationsResponse_maxResults,+ listResolverRuleAssociationsResponse_nextToken,+ listResolverRuleAssociationsResponse_resolverRuleAssociations,+ listResolverRuleAssociationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverRuleAssociations' smart constructor.+data ListResolverRuleAssociations = ListResolverRuleAssociations'+ { -- | An optional specification to return a subset of Resolver rules, such as+ -- Resolver rules that are associated with the same VPC ID.+ --+ -- If you submit a second or subsequent @ListResolverRuleAssociations@+ -- request and specify the @NextToken@ parameter, you must use the same+ -- values for @Filters@, if any, as in the previous request.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of rule associations that you want to return in the+ -- response to a @ListResolverRuleAssociations@ request. If you don\'t+ -- specify a value for @MaxResults@, Resolver returns up to 100 rule+ -- associations.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverRuleAssociation@ request, omit this value.+ --+ -- If you have more than @MaxResults@ rule associations, you can submit+ -- another @ListResolverRuleAssociation@ request to get the next group of+ -- rule associations. In the next request, specify the value of @NextToken@+ -- from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverRuleAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverRuleAssociations_filters' - An optional specification to return a subset of Resolver rules, such as+-- Resolver rules that are associated with the same VPC ID.+--+-- If you submit a second or subsequent @ListResolverRuleAssociations@+-- request and specify the @NextToken@ parameter, you must use the same+-- values for @Filters@, if any, as in the previous request.+--+-- 'maxResults', 'listResolverRuleAssociations_maxResults' - The maximum number of rule associations that you want to return in the+-- response to a @ListResolverRuleAssociations@ request. If you don\'t+-- specify a value for @MaxResults@, Resolver returns up to 100 rule+-- associations.+--+-- 'nextToken', 'listResolverRuleAssociations_nextToken' - For the first @ListResolverRuleAssociation@ request, omit this value.+--+-- If you have more than @MaxResults@ rule associations, you can submit+-- another @ListResolverRuleAssociation@ request to get the next group of+-- rule associations. In the next request, specify the value of @NextToken@+-- from the previous response.+newListResolverRuleAssociations ::+ ListResolverRuleAssociations+newListResolverRuleAssociations =+ ListResolverRuleAssociations'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional specification to return a subset of Resolver rules, such as+-- Resolver rules that are associated with the same VPC ID.+--+-- If you submit a second or subsequent @ListResolverRuleAssociations@+-- request and specify the @NextToken@ parameter, you must use the same+-- values for @Filters@, if any, as in the previous request.+listResolverRuleAssociations_filters :: Lens.Lens' ListResolverRuleAssociations (Prelude.Maybe [Filter])+listResolverRuleAssociations_filters = Lens.lens (\ListResolverRuleAssociations' {filters} -> filters) (\s@ListResolverRuleAssociations' {} a -> s {filters = a} :: ListResolverRuleAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of rule associations that you want to return in the+-- response to a @ListResolverRuleAssociations@ request. If you don\'t+-- specify a value for @MaxResults@, Resolver returns up to 100 rule+-- associations.+listResolverRuleAssociations_maxResults :: Lens.Lens' ListResolverRuleAssociations (Prelude.Maybe Prelude.Natural)+listResolverRuleAssociations_maxResults = Lens.lens (\ListResolverRuleAssociations' {maxResults} -> maxResults) (\s@ListResolverRuleAssociations' {} a -> s {maxResults = a} :: ListResolverRuleAssociations)++-- | For the first @ListResolverRuleAssociation@ request, omit this value.+--+-- If you have more than @MaxResults@ rule associations, you can submit+-- another @ListResolverRuleAssociation@ request to get the next group of+-- rule associations. In the next request, specify the value of @NextToken@+-- from the previous response.+listResolverRuleAssociations_nextToken :: Lens.Lens' ListResolverRuleAssociations (Prelude.Maybe Prelude.Text)+listResolverRuleAssociations_nextToken = Lens.lens (\ListResolverRuleAssociations' {nextToken} -> nextToken) (\s@ListResolverRuleAssociations' {} a -> s {nextToken = a} :: ListResolverRuleAssociations)++instance Core.AWSPager ListResolverRuleAssociations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverRuleAssociationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverRuleAssociationsResponse_resolverRuleAssociations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverRuleAssociations_nextToken+ Lens..~ rs+ Lens.^? listResolverRuleAssociationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverRuleAssociations where+ type+ AWSResponse ListResolverRuleAssociations =+ ListResolverRuleAssociationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverRuleAssociationsResponse'+ Prelude.<$> (x Data..?> "MaxResults")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> ( x+ Data..?> "ResolverRuleAssociations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResolverRuleAssociations+ where+ hashWithSalt _salt ListResolverRuleAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResolverRuleAssociations where+ rnf ListResolverRuleAssociations' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResolverRuleAssociations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverRuleAssociations" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverRuleAssociations where+ toJSON ListResolverRuleAssociations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListResolverRuleAssociations where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverRuleAssociations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverRuleAssociationsResponse' smart constructor.+data ListResolverRuleAssociationsResponse = ListResolverRuleAssociationsResponse'+ { -- | The value that you specified for @MaxResults@ in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If more than @MaxResults@ rule associations match the specified+ -- criteria, you can submit another @ListResolverRuleAssociation@ request+ -- to get the next group of results. In the next request, specify the value+ -- of @NextToken@ from the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The associations that were created between Resolver rules and VPCs using+ -- the current Amazon Web Services account, and that match the specified+ -- filters, if any.+ resolverRuleAssociations :: Prelude.Maybe [ResolverRuleAssociation],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverRuleAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResolverRuleAssociationsResponse_maxResults' - The value that you specified for @MaxResults@ in the request.+--+-- 'nextToken', 'listResolverRuleAssociationsResponse_nextToken' - If more than @MaxResults@ rule associations match the specified+-- criteria, you can submit another @ListResolverRuleAssociation@ request+-- to get the next group of results. In the next request, specify the value+-- of @NextToken@ from the previous response.+--+-- 'resolverRuleAssociations', 'listResolverRuleAssociationsResponse_resolverRuleAssociations' - The associations that were created between Resolver rules and VPCs using+-- the current Amazon Web Services account, and that match the specified+-- filters, if any.+--+-- 'httpStatus', 'listResolverRuleAssociationsResponse_httpStatus' - The response's http status code.+newListResolverRuleAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverRuleAssociationsResponse+newListResolverRuleAssociationsResponse pHttpStatus_ =+ ListResolverRuleAssociationsResponse'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resolverRuleAssociations =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The value that you specified for @MaxResults@ in the request.+listResolverRuleAssociationsResponse_maxResults :: Lens.Lens' ListResolverRuleAssociationsResponse (Prelude.Maybe Prelude.Natural)+listResolverRuleAssociationsResponse_maxResults = Lens.lens (\ListResolverRuleAssociationsResponse' {maxResults} -> maxResults) (\s@ListResolverRuleAssociationsResponse' {} a -> s {maxResults = a} :: ListResolverRuleAssociationsResponse)++-- | If more than @MaxResults@ rule associations match the specified+-- criteria, you can submit another @ListResolverRuleAssociation@ request+-- to get the next group of results. In the next request, specify the value+-- of @NextToken@ from the previous response.+listResolverRuleAssociationsResponse_nextToken :: Lens.Lens' ListResolverRuleAssociationsResponse (Prelude.Maybe Prelude.Text)+listResolverRuleAssociationsResponse_nextToken = Lens.lens (\ListResolverRuleAssociationsResponse' {nextToken} -> nextToken) (\s@ListResolverRuleAssociationsResponse' {} a -> s {nextToken = a} :: ListResolverRuleAssociationsResponse)++-- | The associations that were created between Resolver rules and VPCs using+-- the current Amazon Web Services account, and that match the specified+-- filters, if any.+listResolverRuleAssociationsResponse_resolverRuleAssociations :: Lens.Lens' ListResolverRuleAssociationsResponse (Prelude.Maybe [ResolverRuleAssociation])+listResolverRuleAssociationsResponse_resolverRuleAssociations = Lens.lens (\ListResolverRuleAssociationsResponse' {resolverRuleAssociations} -> resolverRuleAssociations) (\s@ListResolverRuleAssociationsResponse' {} a -> s {resolverRuleAssociations = a} :: ListResolverRuleAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResolverRuleAssociationsResponse_httpStatus :: Lens.Lens' ListResolverRuleAssociationsResponse Prelude.Int+listResolverRuleAssociationsResponse_httpStatus = Lens.lens (\ListResolverRuleAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListResolverRuleAssociationsResponse' {} a -> s {httpStatus = a} :: ListResolverRuleAssociationsResponse)++instance+ Prelude.NFData+ ListResolverRuleAssociationsResponse+ where+ rnf ListResolverRuleAssociationsResponse' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverRuleAssociations+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListResolverRules.hs view
@@ -0,0 +1,294 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.ListResolverRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the Resolver rules that were created using the current Amazon Web+-- Services account.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListResolverRules+ ( -- * Creating a Request+ ListResolverRules (..),+ newListResolverRules,++ -- * Request Lenses+ listResolverRules_filters,+ listResolverRules_maxResults,+ listResolverRules_nextToken,++ -- * Destructuring the Response+ ListResolverRulesResponse (..),+ newListResolverRulesResponse,++ -- * Response Lenses+ listResolverRulesResponse_maxResults,+ listResolverRulesResponse_nextToken,+ listResolverRulesResponse_resolverRules,+ listResolverRulesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListResolverRules' smart constructor.+data ListResolverRules = ListResolverRules'+ { -- | An optional specification to return a subset of Resolver rules, such as+ -- all Resolver rules that are associated with the same Resolver endpoint.+ --+ -- If you submit a second or subsequent @ListResolverRules@ request and+ -- specify the @NextToken@ parameter, you must use the same values for+ -- @Filters@, if any, as in the previous request.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of Resolver rules that you want to return in the+ -- response to a @ListResolverRules@ request. If you don\'t specify a value+ -- for @MaxResults@, Resolver returns up to 100 Resolver rules.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListResolverRules@ request, omit this value.+ --+ -- If you have more than @MaxResults@ Resolver rules, you can submit+ -- another @ListResolverRules@ request to get the next group of Resolver+ -- rules. In the next request, specify the value of @NextToken@ from the+ -- previous response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listResolverRules_filters' - An optional specification to return a subset of Resolver rules, such as+-- all Resolver rules that are associated with the same Resolver endpoint.+--+-- If you submit a second or subsequent @ListResolverRules@ request and+-- specify the @NextToken@ parameter, you must use the same values for+-- @Filters@, if any, as in the previous request.+--+-- 'maxResults', 'listResolverRules_maxResults' - The maximum number of Resolver rules that you want to return in the+-- response to a @ListResolverRules@ request. If you don\'t specify a value+-- for @MaxResults@, Resolver returns up to 100 Resolver rules.+--+-- 'nextToken', 'listResolverRules_nextToken' - For the first @ListResolverRules@ request, omit this value.+--+-- If you have more than @MaxResults@ Resolver rules, you can submit+-- another @ListResolverRules@ request to get the next group of Resolver+-- rules. In the next request, specify the value of @NextToken@ from the+-- previous response.+newListResolverRules ::+ ListResolverRules+newListResolverRules =+ ListResolverRules'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional specification to return a subset of Resolver rules, such as+-- all Resolver rules that are associated with the same Resolver endpoint.+--+-- If you submit a second or subsequent @ListResolverRules@ request and+-- specify the @NextToken@ parameter, you must use the same values for+-- @Filters@, if any, as in the previous request.+listResolverRules_filters :: Lens.Lens' ListResolverRules (Prelude.Maybe [Filter])+listResolverRules_filters = Lens.lens (\ListResolverRules' {filters} -> filters) (\s@ListResolverRules' {} a -> s {filters = a} :: ListResolverRules) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of Resolver rules that you want to return in the+-- response to a @ListResolverRules@ request. If you don\'t specify a value+-- for @MaxResults@, Resolver returns up to 100 Resolver rules.+listResolverRules_maxResults :: Lens.Lens' ListResolverRules (Prelude.Maybe Prelude.Natural)+listResolverRules_maxResults = Lens.lens (\ListResolverRules' {maxResults} -> maxResults) (\s@ListResolverRules' {} a -> s {maxResults = a} :: ListResolverRules)++-- | For the first @ListResolverRules@ request, omit this value.+--+-- If you have more than @MaxResults@ Resolver rules, you can submit+-- another @ListResolverRules@ request to get the next group of Resolver+-- rules. In the next request, specify the value of @NextToken@ from the+-- previous response.+listResolverRules_nextToken :: Lens.Lens' ListResolverRules (Prelude.Maybe Prelude.Text)+listResolverRules_nextToken = Lens.lens (\ListResolverRules' {nextToken} -> nextToken) (\s@ListResolverRules' {} a -> s {nextToken = a} :: ListResolverRules)++instance Core.AWSPager ListResolverRules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResolverRulesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResolverRulesResponse_resolverRules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResolverRules_nextToken+ Lens..~ rs+ Lens.^? listResolverRulesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResolverRules where+ type+ AWSResponse ListResolverRules =+ ListResolverRulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResolverRulesResponse'+ Prelude.<$> (x Data..?> "MaxResults")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "ResolverRules" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListResolverRules where+ hashWithSalt _salt ListResolverRules' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResolverRules where+ rnf ListResolverRules' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResolverRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListResolverRules" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListResolverRules where+ toJSON ListResolverRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListResolverRules where+ toPath = Prelude.const "/"++instance Data.ToQuery ListResolverRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResolverRulesResponse' smart constructor.+data ListResolverRulesResponse = ListResolverRulesResponse'+ { -- | The value that you specified for @MaxResults@ in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If more than @MaxResults@ Resolver rules match the specified criteria,+ -- you can submit another @ListResolverRules@ request to get the next group+ -- of results. In the next request, specify the value of @NextToken@ from+ -- the previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Resolver rules that were created using the current Amazon Web+ -- Services account and that match the specified filters, if any.+ resolverRules :: Prelude.Maybe [ResolverRule],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResolverRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResolverRulesResponse_maxResults' - The value that you specified for @MaxResults@ in the request.+--+-- 'nextToken', 'listResolverRulesResponse_nextToken' - If more than @MaxResults@ Resolver rules match the specified criteria,+-- you can submit another @ListResolverRules@ request to get the next group+-- of results. In the next request, specify the value of @NextToken@ from+-- the previous response.+--+-- 'resolverRules', 'listResolverRulesResponse_resolverRules' - The Resolver rules that were created using the current Amazon Web+-- Services account and that match the specified filters, if any.+--+-- 'httpStatus', 'listResolverRulesResponse_httpStatus' - The response's http status code.+newListResolverRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResolverRulesResponse+newListResolverRulesResponse pHttpStatus_ =+ ListResolverRulesResponse'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resolverRules = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The value that you specified for @MaxResults@ in the request.+listResolverRulesResponse_maxResults :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe Prelude.Natural)+listResolverRulesResponse_maxResults = Lens.lens (\ListResolverRulesResponse' {maxResults} -> maxResults) (\s@ListResolverRulesResponse' {} a -> s {maxResults = a} :: ListResolverRulesResponse)++-- | If more than @MaxResults@ Resolver rules match the specified criteria,+-- you can submit another @ListResolverRules@ request to get the next group+-- of results. In the next request, specify the value of @NextToken@ from+-- the previous response.+listResolverRulesResponse_nextToken :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe Prelude.Text)+listResolverRulesResponse_nextToken = Lens.lens (\ListResolverRulesResponse' {nextToken} -> nextToken) (\s@ListResolverRulesResponse' {} a -> s {nextToken = a} :: ListResolverRulesResponse)++-- | The Resolver rules that were created using the current Amazon Web+-- Services account and that match the specified filters, if any.+listResolverRulesResponse_resolverRules :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe [ResolverRule])+listResolverRulesResponse_resolverRules = Lens.lens (\ListResolverRulesResponse' {resolverRules} -> resolverRules) (\s@ListResolverRulesResponse' {} a -> s {resolverRules = a} :: ListResolverRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResolverRulesResponse_httpStatus :: Lens.Lens' ListResolverRulesResponse Prelude.Int+listResolverRulesResponse_httpStatus = Lens.lens (\ListResolverRulesResponse' {httpStatus} -> httpStatus) (\s@ListResolverRulesResponse' {} a -> s {httpStatus = a} :: ListResolverRulesResponse)++instance Prelude.NFData ListResolverRulesResponse where+ rnf ListResolverRulesResponse' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resolverRules+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/ListTagsForResource.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.Route53Resolver.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags that you associated with the specified resource.+--+-- This operation returns paginated results.+module Amazonka.Route53Resolver.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_maxResults,+ listTagsForResource_nextToken,+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_nextToken,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The maximum number of tags that you want to return in the response to a+ -- @ListTagsForResource@ request. If you don\'t specify a value for+ -- @MaxResults@, Resolver returns up to 100 tags.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | For the first @ListTagsForResource@ request, omit this value.+ --+ -- If you have more than @MaxResults@ tags, you can submit another+ -- @ListTagsForResource@ request to get the next group of tags for the+ -- resource. In the next request, specify the value of @NextToken@ from the+ -- previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) for the resource that you want to list+ -- tags 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:+--+-- 'maxResults', 'listTagsForResource_maxResults' - The maximum number of tags that you want to return in the response to a+-- @ListTagsForResource@ request. If you don\'t specify a value for+-- @MaxResults@, Resolver returns up to 100 tags.+--+-- 'nextToken', 'listTagsForResource_nextToken' - For the first @ListTagsForResource@ request, omit this value.+--+-- If you have more than @MaxResults@ tags, you can submit another+-- @ListTagsForResource@ request to get the next group of tags for the+-- resource. In the next request, specify the value of @NextToken@ from the+-- previous response.+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) for the resource that you want to list+-- tags for.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | The maximum number of tags that you want to return in the response to a+-- @ListTagsForResource@ request. If you don\'t specify a value for+-- @MaxResults@, Resolver returns up to 100 tags.+listTagsForResource_maxResults :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Natural)+listTagsForResource_maxResults = Lens.lens (\ListTagsForResource' {maxResults} -> maxResults) (\s@ListTagsForResource' {} a -> s {maxResults = a} :: ListTagsForResource)++-- | For the first @ListTagsForResource@ request, omit this value.+--+-- If you have more than @MaxResults@ tags, you can submit another+-- @ListTagsForResource@ request to get the next group of tags for the+-- resource. In the next request, specify the value of @NextToken@ from the+-- previous response.+listTagsForResource_nextToken :: Lens.Lens' ListTagsForResource (Prelude.Maybe Prelude.Text)+listTagsForResource_nextToken = Lens.lens (\ListTagsForResource' {nextToken} -> nextToken) (\s@ListTagsForResource' {} a -> s {nextToken = a} :: ListTagsForResource)++-- | The Amazon Resource Name (ARN) for the resource that you want to list+-- tags for.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSPager ListTagsForResource where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTagsForResourceResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listTagsForResourceResponse_tags+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTagsForResource_nextToken+ Lens..~ rs+ Lens.^? listTagsForResourceResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("ResourceArn" Data..= resourceArn)+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | If more than @MaxResults@ tags match the specified criteria, you can+ -- submit another @ListTagsForResource@ request to get the next group of+ -- results. In the next request, specify the value of @NextToken@ from the+ -- previous response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the resource that you specified in the+ -- @ListTagsForResource@ request.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTagsForResourceResponse_nextToken' - If more than @MaxResults@ tags match the specified criteria, you can+-- submit another @ListTagsForResource@ request to get the next group of+-- results. In the next request, specify the value of @NextToken@ from the+-- previous response.+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags that are associated with the resource that you specified in the+-- @ListTagsForResource@ request.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { nextToken =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If more than @MaxResults@ tags match the specified criteria, you can+-- submit another @ListTagsForResource@ request to get the next group of+-- results. In the next request, specify the value of @NextToken@ from the+-- previous response.+listTagsForResourceResponse_nextToken :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_nextToken = Lens.lens (\ListTagsForResourceResponse' {nextToken} -> nextToken) (\s@ListTagsForResourceResponse' {} a -> s {nextToken = a} :: ListTagsForResourceResponse)++-- | The tags that are associated with the resource that you specified in the+-- @ListTagsForResource@ request.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/PutFirewallRuleGroupPolicy.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.PutFirewallRuleGroupPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Attaches an Identity and Access Management (Amazon Web Services IAM)+-- policy for sharing the rule group. You can use the policy to share the+-- rule group using Resource Access Manager (RAM).+module Amazonka.Route53Resolver.PutFirewallRuleGroupPolicy+ ( -- * Creating a Request+ PutFirewallRuleGroupPolicy (..),+ newPutFirewallRuleGroupPolicy,++ -- * Request Lenses+ putFirewallRuleGroupPolicy_arn,+ putFirewallRuleGroupPolicy_firewallRuleGroupPolicy,++ -- * Destructuring the Response+ PutFirewallRuleGroupPolicyResponse (..),+ newPutFirewallRuleGroupPolicyResponse,++ -- * Response Lenses+ putFirewallRuleGroupPolicyResponse_returnValue,+ putFirewallRuleGroupPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newPutFirewallRuleGroupPolicy' smart constructor.+data PutFirewallRuleGroupPolicy = PutFirewallRuleGroupPolicy'+ { -- | The ARN (Amazon Resource Name) for the rule group that you want to+ -- share.+ arn :: Prelude.Text,+ -- | The Identity and Access Management (Amazon Web Services IAM) policy to+ -- attach to the rule group.+ firewallRuleGroupPolicy :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutFirewallRuleGroupPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'putFirewallRuleGroupPolicy_arn' - The ARN (Amazon Resource Name) for the rule group that you want to+-- share.+--+-- 'firewallRuleGroupPolicy', 'putFirewallRuleGroupPolicy_firewallRuleGroupPolicy' - The Identity and Access Management (Amazon Web Services IAM) policy to+-- attach to the rule group.+newPutFirewallRuleGroupPolicy ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'firewallRuleGroupPolicy'+ Prelude.Text ->+ PutFirewallRuleGroupPolicy+newPutFirewallRuleGroupPolicy+ pArn_+ pFirewallRuleGroupPolicy_ =+ PutFirewallRuleGroupPolicy'+ { arn = pArn_,+ firewallRuleGroupPolicy =+ pFirewallRuleGroupPolicy_+ }++-- | The ARN (Amazon Resource Name) for the rule group that you want to+-- share.+putFirewallRuleGroupPolicy_arn :: Lens.Lens' PutFirewallRuleGroupPolicy Prelude.Text+putFirewallRuleGroupPolicy_arn = Lens.lens (\PutFirewallRuleGroupPolicy' {arn} -> arn) (\s@PutFirewallRuleGroupPolicy' {} a -> s {arn = a} :: PutFirewallRuleGroupPolicy)++-- | The Identity and Access Management (Amazon Web Services IAM) policy to+-- attach to the rule group.+putFirewallRuleGroupPolicy_firewallRuleGroupPolicy :: Lens.Lens' PutFirewallRuleGroupPolicy Prelude.Text+putFirewallRuleGroupPolicy_firewallRuleGroupPolicy = Lens.lens (\PutFirewallRuleGroupPolicy' {firewallRuleGroupPolicy} -> firewallRuleGroupPolicy) (\s@PutFirewallRuleGroupPolicy' {} a -> s {firewallRuleGroupPolicy = a} :: PutFirewallRuleGroupPolicy)++instance Core.AWSRequest PutFirewallRuleGroupPolicy where+ type+ AWSResponse PutFirewallRuleGroupPolicy =+ PutFirewallRuleGroupPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutFirewallRuleGroupPolicyResponse'+ Prelude.<$> (x Data..?> "ReturnValue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutFirewallRuleGroupPolicy where+ hashWithSalt _salt PutFirewallRuleGroupPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` firewallRuleGroupPolicy++instance Prelude.NFData PutFirewallRuleGroupPolicy where+ rnf PutFirewallRuleGroupPolicy' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf firewallRuleGroupPolicy++instance Data.ToHeaders PutFirewallRuleGroupPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.PutFirewallRuleGroupPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutFirewallRuleGroupPolicy where+ toJSON PutFirewallRuleGroupPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just+ ( "FirewallRuleGroupPolicy"+ Data..= firewallRuleGroupPolicy+ )+ ]+ )++instance Data.ToPath PutFirewallRuleGroupPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery PutFirewallRuleGroupPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutFirewallRuleGroupPolicyResponse' smart constructor.+data PutFirewallRuleGroupPolicyResponse = PutFirewallRuleGroupPolicyResponse'+ { returnValue :: 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 'PutFirewallRuleGroupPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'returnValue', 'putFirewallRuleGroupPolicyResponse_returnValue' -+--+-- 'httpStatus', 'putFirewallRuleGroupPolicyResponse_httpStatus' - The response's http status code.+newPutFirewallRuleGroupPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutFirewallRuleGroupPolicyResponse+newPutFirewallRuleGroupPolicyResponse pHttpStatus_ =+ PutFirewallRuleGroupPolicyResponse'+ { returnValue =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++putFirewallRuleGroupPolicyResponse_returnValue :: Lens.Lens' PutFirewallRuleGroupPolicyResponse (Prelude.Maybe Prelude.Bool)+putFirewallRuleGroupPolicyResponse_returnValue = Lens.lens (\PutFirewallRuleGroupPolicyResponse' {returnValue} -> returnValue) (\s@PutFirewallRuleGroupPolicyResponse' {} a -> s {returnValue = a} :: PutFirewallRuleGroupPolicyResponse)++-- | The response's http status code.+putFirewallRuleGroupPolicyResponse_httpStatus :: Lens.Lens' PutFirewallRuleGroupPolicyResponse Prelude.Int+putFirewallRuleGroupPolicyResponse_httpStatus = Lens.lens (\PutFirewallRuleGroupPolicyResponse' {httpStatus} -> httpStatus) (\s@PutFirewallRuleGroupPolicyResponse' {} a -> s {httpStatus = a} :: PutFirewallRuleGroupPolicyResponse)++instance+ Prelude.NFData+ PutFirewallRuleGroupPolicyResponse+ where+ rnf PutFirewallRuleGroupPolicyResponse' {..} =+ Prelude.rnf returnValue+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/PutResolverQueryLogConfigPolicy.hs view
@@ -0,0 +1,268 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.PutResolverQueryLogConfigPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Specifies an Amazon Web Services account that you want to share a query+-- logging configuration with, the query logging configuration that you+-- want to share, and the operations that you want the account to be able+-- to perform on the configuration.+module Amazonka.Route53Resolver.PutResolverQueryLogConfigPolicy+ ( -- * Creating a Request+ PutResolverQueryLogConfigPolicy (..),+ newPutResolverQueryLogConfigPolicy,++ -- * Request Lenses+ putResolverQueryLogConfigPolicy_arn,+ putResolverQueryLogConfigPolicy_resolverQueryLogConfigPolicy,++ -- * Destructuring the Response+ PutResolverQueryLogConfigPolicyResponse (..),+ newPutResolverQueryLogConfigPolicyResponse,++ -- * Response Lenses+ putResolverQueryLogConfigPolicyResponse_returnValue,+ putResolverQueryLogConfigPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newPutResolverQueryLogConfigPolicy' smart constructor.+data PutResolverQueryLogConfigPolicy = PutResolverQueryLogConfigPolicy'+ { -- | The Amazon Resource Name (ARN) of the account that you want to share+ -- rules with.+ arn :: Prelude.Text,+ -- | An Identity and Access Management policy statement that lists the query+ -- logging configurations that you want to share with another Amazon Web+ -- Services account and the operations that you want the account to be able+ -- to perform. You can specify the following operations in the @Actions@+ -- section of the statement:+ --+ -- - @route53resolver:AssociateResolverQueryLogConfig@+ --+ -- - @route53resolver:DisassociateResolverQueryLogConfig@+ --+ -- - @route53resolver:ListResolverQueryLogConfigAssociations@+ --+ -- - @route53resolver:ListResolverQueryLogConfigs@+ --+ -- In the @Resource@ section of the statement, you specify the ARNs for the+ -- query logging configurations that you want to share with the account+ -- that you specified in @Arn@.+ resolverQueryLogConfigPolicy :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResolverQueryLogConfigPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'putResolverQueryLogConfigPolicy_arn' - The Amazon Resource Name (ARN) of the account that you want to share+-- rules with.+--+-- 'resolverQueryLogConfigPolicy', 'putResolverQueryLogConfigPolicy_resolverQueryLogConfigPolicy' - An Identity and Access Management policy statement that lists the query+-- logging configurations that you want to share with another Amazon Web+-- Services account and the operations that you want the account to be able+-- to perform. You can specify the following operations in the @Actions@+-- section of the statement:+--+-- - @route53resolver:AssociateResolverQueryLogConfig@+--+-- - @route53resolver:DisassociateResolverQueryLogConfig@+--+-- - @route53resolver:ListResolverQueryLogConfigAssociations@+--+-- - @route53resolver:ListResolverQueryLogConfigs@+--+-- In the @Resource@ section of the statement, you specify the ARNs for the+-- query logging configurations that you want to share with the account+-- that you specified in @Arn@.+newPutResolverQueryLogConfigPolicy ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'resolverQueryLogConfigPolicy'+ Prelude.Text ->+ PutResolverQueryLogConfigPolicy+newPutResolverQueryLogConfigPolicy+ pArn_+ pResolverQueryLogConfigPolicy_ =+ PutResolverQueryLogConfigPolicy'+ { arn = pArn_,+ resolverQueryLogConfigPolicy =+ pResolverQueryLogConfigPolicy_+ }++-- | The Amazon Resource Name (ARN) of the account that you want to share+-- rules with.+putResolverQueryLogConfigPolicy_arn :: Lens.Lens' PutResolverQueryLogConfigPolicy Prelude.Text+putResolverQueryLogConfigPolicy_arn = Lens.lens (\PutResolverQueryLogConfigPolicy' {arn} -> arn) (\s@PutResolverQueryLogConfigPolicy' {} a -> s {arn = a} :: PutResolverQueryLogConfigPolicy)++-- | An Identity and Access Management policy statement that lists the query+-- logging configurations that you want to share with another Amazon Web+-- Services account and the operations that you want the account to be able+-- to perform. You can specify the following operations in the @Actions@+-- section of the statement:+--+-- - @route53resolver:AssociateResolverQueryLogConfig@+--+-- - @route53resolver:DisassociateResolverQueryLogConfig@+--+-- - @route53resolver:ListResolverQueryLogConfigAssociations@+--+-- - @route53resolver:ListResolverQueryLogConfigs@+--+-- In the @Resource@ section of the statement, you specify the ARNs for the+-- query logging configurations that you want to share with the account+-- that you specified in @Arn@.+putResolverQueryLogConfigPolicy_resolverQueryLogConfigPolicy :: Lens.Lens' PutResolverQueryLogConfigPolicy Prelude.Text+putResolverQueryLogConfigPolicy_resolverQueryLogConfigPolicy = Lens.lens (\PutResolverQueryLogConfigPolicy' {resolverQueryLogConfigPolicy} -> resolverQueryLogConfigPolicy) (\s@PutResolverQueryLogConfigPolicy' {} a -> s {resolverQueryLogConfigPolicy = a} :: PutResolverQueryLogConfigPolicy)++instance+ Core.AWSRequest+ PutResolverQueryLogConfigPolicy+ where+ type+ AWSResponse PutResolverQueryLogConfigPolicy =+ PutResolverQueryLogConfigPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutResolverQueryLogConfigPolicyResponse'+ Prelude.<$> (x Data..?> "ReturnValue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutResolverQueryLogConfigPolicy+ where+ hashWithSalt+ _salt+ PutResolverQueryLogConfigPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` resolverQueryLogConfigPolicy++instance+ Prelude.NFData+ PutResolverQueryLogConfigPolicy+ where+ rnf PutResolverQueryLogConfigPolicy' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf resolverQueryLogConfigPolicy++instance+ Data.ToHeaders+ PutResolverQueryLogConfigPolicy+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.PutResolverQueryLogConfigPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutResolverQueryLogConfigPolicy where+ toJSON PutResolverQueryLogConfigPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just+ ( "ResolverQueryLogConfigPolicy"+ Data..= resolverQueryLogConfigPolicy+ )+ ]+ )++instance Data.ToPath PutResolverQueryLogConfigPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery PutResolverQueryLogConfigPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a @PutResolverQueryLogConfigPolicy@ request.+--+-- /See:/ 'newPutResolverQueryLogConfigPolicyResponse' smart constructor.+data PutResolverQueryLogConfigPolicyResponse = PutResolverQueryLogConfigPolicyResponse'+ { -- | Whether the @PutResolverQueryLogConfigPolicy@ request was successful.+ returnValue :: 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 'PutResolverQueryLogConfigPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'returnValue', 'putResolverQueryLogConfigPolicyResponse_returnValue' - Whether the @PutResolverQueryLogConfigPolicy@ request was successful.+--+-- 'httpStatus', 'putResolverQueryLogConfigPolicyResponse_httpStatus' - The response's http status code.+newPutResolverQueryLogConfigPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutResolverQueryLogConfigPolicyResponse+newPutResolverQueryLogConfigPolicyResponse+ pHttpStatus_ =+ PutResolverQueryLogConfigPolicyResponse'+ { returnValue =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Whether the @PutResolverQueryLogConfigPolicy@ request was successful.+putResolverQueryLogConfigPolicyResponse_returnValue :: Lens.Lens' PutResolverQueryLogConfigPolicyResponse (Prelude.Maybe Prelude.Bool)+putResolverQueryLogConfigPolicyResponse_returnValue = Lens.lens (\PutResolverQueryLogConfigPolicyResponse' {returnValue} -> returnValue) (\s@PutResolverQueryLogConfigPolicyResponse' {} a -> s {returnValue = a} :: PutResolverQueryLogConfigPolicyResponse)++-- | The response's http status code.+putResolverQueryLogConfigPolicyResponse_httpStatus :: Lens.Lens' PutResolverQueryLogConfigPolicyResponse Prelude.Int+putResolverQueryLogConfigPolicyResponse_httpStatus = Lens.lens (\PutResolverQueryLogConfigPolicyResponse' {httpStatus} -> httpStatus) (\s@PutResolverQueryLogConfigPolicyResponse' {} a -> s {httpStatus = a} :: PutResolverQueryLogConfigPolicyResponse)++instance+ Prelude.NFData+ PutResolverQueryLogConfigPolicyResponse+ where+ rnf PutResolverQueryLogConfigPolicyResponse' {..} =+ Prelude.rnf returnValue+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/PutResolverRulePolicy.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.Route53Resolver.PutResolverRulePolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Specifies an Amazon Web Services rule that you want to share with+-- another account, the account that you want to share the rule with, and+-- the operations that you want the account to be able to perform on the+-- rule.+module Amazonka.Route53Resolver.PutResolverRulePolicy+ ( -- * Creating a Request+ PutResolverRulePolicy (..),+ newPutResolverRulePolicy,++ -- * Request Lenses+ putResolverRulePolicy_arn,+ putResolverRulePolicy_resolverRulePolicy,++ -- * Destructuring the Response+ PutResolverRulePolicyResponse (..),+ newPutResolverRulePolicyResponse,++ -- * Response Lenses+ putResolverRulePolicyResponse_returnValue,+ putResolverRulePolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newPutResolverRulePolicy' smart constructor.+data PutResolverRulePolicy = PutResolverRulePolicy'+ { -- | The Amazon Resource Name (ARN) of the rule that you want to share with+ -- another account.+ arn :: Prelude.Text,+ -- | An Identity and Access Management policy statement that lists the rules+ -- that you want to share with another Amazon Web Services account and the+ -- operations that you want the account to be able to perform. You can+ -- specify the following operations in the @Action@ section of the+ -- statement:+ --+ -- - @route53resolver:GetResolverRule@+ --+ -- - @route53resolver:AssociateResolverRule@+ --+ -- - @route53resolver:DisassociateResolverRule@+ --+ -- - @route53resolver:ListResolverRules@+ --+ -- - @route53resolver:ListResolverRuleAssociations@+ --+ -- In the @Resource@ section of the statement, specify the ARN for the rule+ -- that you want to share with another account. Specify the same ARN that+ -- you specified in @Arn@.+ resolverRulePolicy :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResolverRulePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'putResolverRulePolicy_arn' - The Amazon Resource Name (ARN) of the rule that you want to share with+-- another account.+--+-- 'resolverRulePolicy', 'putResolverRulePolicy_resolverRulePolicy' - An Identity and Access Management policy statement that lists the rules+-- that you want to share with another Amazon Web Services account and the+-- operations that you want the account to be able to perform. You can+-- specify the following operations in the @Action@ section of the+-- statement:+--+-- - @route53resolver:GetResolverRule@+--+-- - @route53resolver:AssociateResolverRule@+--+-- - @route53resolver:DisassociateResolverRule@+--+-- - @route53resolver:ListResolverRules@+--+-- - @route53resolver:ListResolverRuleAssociations@+--+-- In the @Resource@ section of the statement, specify the ARN for the rule+-- that you want to share with another account. Specify the same ARN that+-- you specified in @Arn@.+newPutResolverRulePolicy ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'resolverRulePolicy'+ Prelude.Text ->+ PutResolverRulePolicy+newPutResolverRulePolicy pArn_ pResolverRulePolicy_ =+ PutResolverRulePolicy'+ { arn = pArn_,+ resolverRulePolicy = pResolverRulePolicy_+ }++-- | The Amazon Resource Name (ARN) of the rule that you want to share with+-- another account.+putResolverRulePolicy_arn :: Lens.Lens' PutResolverRulePolicy Prelude.Text+putResolverRulePolicy_arn = Lens.lens (\PutResolverRulePolicy' {arn} -> arn) (\s@PutResolverRulePolicy' {} a -> s {arn = a} :: PutResolverRulePolicy)++-- | An Identity and Access Management policy statement that lists the rules+-- that you want to share with another Amazon Web Services account and the+-- operations that you want the account to be able to perform. You can+-- specify the following operations in the @Action@ section of the+-- statement:+--+-- - @route53resolver:GetResolverRule@+--+-- - @route53resolver:AssociateResolverRule@+--+-- - @route53resolver:DisassociateResolverRule@+--+-- - @route53resolver:ListResolverRules@+--+-- - @route53resolver:ListResolverRuleAssociations@+--+-- In the @Resource@ section of the statement, specify the ARN for the rule+-- that you want to share with another account. Specify the same ARN that+-- you specified in @Arn@.+putResolverRulePolicy_resolverRulePolicy :: Lens.Lens' PutResolverRulePolicy Prelude.Text+putResolverRulePolicy_resolverRulePolicy = Lens.lens (\PutResolverRulePolicy' {resolverRulePolicy} -> resolverRulePolicy) (\s@PutResolverRulePolicy' {} a -> s {resolverRulePolicy = a} :: PutResolverRulePolicy)++instance Core.AWSRequest PutResolverRulePolicy where+ type+ AWSResponse PutResolverRulePolicy =+ PutResolverRulePolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutResolverRulePolicyResponse'+ Prelude.<$> (x Data..?> "ReturnValue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutResolverRulePolicy where+ hashWithSalt _salt PutResolverRulePolicy' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` resolverRulePolicy++instance Prelude.NFData PutResolverRulePolicy where+ rnf PutResolverRulePolicy' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf resolverRulePolicy++instance Data.ToHeaders PutResolverRulePolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.PutResolverRulePolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutResolverRulePolicy where+ toJSON PutResolverRulePolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just+ ("ResolverRulePolicy" Data..= resolverRulePolicy)+ ]+ )++instance Data.ToPath PutResolverRulePolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery PutResolverRulePolicy where+ toQuery = Prelude.const Prelude.mempty++-- | The response to a @PutResolverRulePolicy@ request.+--+-- /See:/ 'newPutResolverRulePolicyResponse' smart constructor.+data PutResolverRulePolicyResponse = PutResolverRulePolicyResponse'+ { -- | Whether the @PutResolverRulePolicy@ request was successful.+ returnValue :: 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 'PutResolverRulePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'returnValue', 'putResolverRulePolicyResponse_returnValue' - Whether the @PutResolverRulePolicy@ request was successful.+--+-- 'httpStatus', 'putResolverRulePolicyResponse_httpStatus' - The response's http status code.+newPutResolverRulePolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutResolverRulePolicyResponse+newPutResolverRulePolicyResponse pHttpStatus_ =+ PutResolverRulePolicyResponse'+ { returnValue =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Whether the @PutResolverRulePolicy@ request was successful.+putResolverRulePolicyResponse_returnValue :: Lens.Lens' PutResolverRulePolicyResponse (Prelude.Maybe Prelude.Bool)+putResolverRulePolicyResponse_returnValue = Lens.lens (\PutResolverRulePolicyResponse' {returnValue} -> returnValue) (\s@PutResolverRulePolicyResponse' {} a -> s {returnValue = a} :: PutResolverRulePolicyResponse)++-- | The response's http status code.+putResolverRulePolicyResponse_httpStatus :: Lens.Lens' PutResolverRulePolicyResponse Prelude.Int+putResolverRulePolicyResponse_httpStatus = Lens.lens (\PutResolverRulePolicyResponse' {httpStatus} -> httpStatus) (\s@PutResolverRulePolicyResponse' {} a -> s {httpStatus = a} :: PutResolverRulePolicyResponse)++instance Prelude.NFData PutResolverRulePolicyResponse where+ rnf PutResolverRulePolicyResponse' {..} =+ Prelude.rnf returnValue+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/TagResource.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.Route53Resolver.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)+--+-- Adds one or more tags to a specified resource.+module Amazonka.Route53Resolver.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) for the resource that you want to add+ -- tags to. To get the ARN for a resource, use the applicable @Get@ or+ -- @List@ command:+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+ resourceArn :: Prelude.Text,+ -- | The tags that you want to add to the specified resource.+ 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) for the resource that you want to add+-- tags to. To get the ARN for a resource, use the applicable @Get@ or+-- @List@ command:+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+--+-- 'tags', 'tagResource_tags' - The tags that you want to add to the specified resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) for the resource that you want to add+-- tags to. To get the ARN for a resource, use the applicable @Get@ or+-- @List@ command:+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags that you want to add to the specified resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.TagResource" ::+ Prelude.ByteString+ ),+ "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 "/"++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/Route53Resolver/Types.hs view
@@ -0,0 +1,569 @@+{-# 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.Route53Resolver.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.Route53Resolver.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServiceErrorException,+ _InvalidNextTokenException,+ _InvalidParameterException,+ _InvalidPolicyDocument,+ _InvalidRequestException,+ _InvalidTagException,+ _LimitExceededException,+ _ResourceExistsException,+ _ResourceInUseException,+ _ResourceNotFoundException,+ _ResourceUnavailableException,+ _ThrottlingException,+ _UnknownResourceException,+ _ValidationException,++ -- * Action+ Action (..),++ -- * AutodefinedReverseFlag+ AutodefinedReverseFlag (..),++ -- * BlockOverrideDnsType+ BlockOverrideDnsType (..),++ -- * BlockResponse+ BlockResponse (..),++ -- * FirewallDomainImportOperation+ FirewallDomainImportOperation (..),++ -- * FirewallDomainListStatus+ FirewallDomainListStatus (..),++ -- * FirewallDomainUpdateOperation+ FirewallDomainUpdateOperation (..),++ -- * FirewallFailOpenStatus+ FirewallFailOpenStatus (..),++ -- * FirewallRuleGroupAssociationStatus+ FirewallRuleGroupAssociationStatus (..),++ -- * FirewallRuleGroupStatus+ FirewallRuleGroupStatus (..),++ -- * IpAddressStatus+ IpAddressStatus (..),++ -- * MutationProtectionStatus+ MutationProtectionStatus (..),++ -- * ResolverAutodefinedReverseStatus+ ResolverAutodefinedReverseStatus (..),++ -- * ResolverDNSSECValidationStatus+ ResolverDNSSECValidationStatus (..),++ -- * ResolverEndpointDirection+ ResolverEndpointDirection (..),++ -- * ResolverEndpointStatus+ ResolverEndpointStatus (..),++ -- * ResolverQueryLogConfigAssociationError+ ResolverQueryLogConfigAssociationError (..),++ -- * ResolverQueryLogConfigAssociationStatus+ ResolverQueryLogConfigAssociationStatus (..),++ -- * ResolverQueryLogConfigStatus+ ResolverQueryLogConfigStatus (..),++ -- * ResolverRuleAssociationStatus+ ResolverRuleAssociationStatus (..),++ -- * ResolverRuleStatus+ ResolverRuleStatus (..),++ -- * RuleTypeOption+ RuleTypeOption (..),++ -- * ShareStatus+ ShareStatus (..),++ -- * SortOrder+ SortOrder (..),++ -- * Validation+ Validation (..),++ -- * Filter+ Filter (..),+ newFilter,+ filter_name,+ filter_values,++ -- * FirewallConfig+ FirewallConfig (..),+ newFirewallConfig,+ firewallConfig_firewallFailOpen,+ firewallConfig_id,+ firewallConfig_ownerId,+ firewallConfig_resourceId,++ -- * FirewallDomainList+ FirewallDomainList (..),+ newFirewallDomainList,+ firewallDomainList_arn,+ firewallDomainList_creationTime,+ firewallDomainList_creatorRequestId,+ firewallDomainList_domainCount,+ firewallDomainList_id,+ firewallDomainList_managedOwnerName,+ firewallDomainList_modificationTime,+ firewallDomainList_name,+ firewallDomainList_status,+ firewallDomainList_statusMessage,++ -- * FirewallDomainListMetadata+ FirewallDomainListMetadata (..),+ newFirewallDomainListMetadata,+ firewallDomainListMetadata_arn,+ firewallDomainListMetadata_creatorRequestId,+ firewallDomainListMetadata_id,+ firewallDomainListMetadata_managedOwnerName,+ firewallDomainListMetadata_name,++ -- * FirewallRule+ FirewallRule (..),+ newFirewallRule,+ firewallRule_action,+ firewallRule_blockOverrideDnsType,+ firewallRule_blockOverrideDomain,+ firewallRule_blockOverrideTtl,+ firewallRule_blockResponse,+ firewallRule_creationTime,+ firewallRule_creatorRequestId,+ firewallRule_firewallDomainListId,+ firewallRule_firewallRuleGroupId,+ firewallRule_modificationTime,+ firewallRule_name,+ firewallRule_priority,++ -- * FirewallRuleGroup+ FirewallRuleGroup (..),+ newFirewallRuleGroup,+ firewallRuleGroup_arn,+ firewallRuleGroup_creationTime,+ firewallRuleGroup_creatorRequestId,+ firewallRuleGroup_id,+ firewallRuleGroup_modificationTime,+ firewallRuleGroup_name,+ firewallRuleGroup_ownerId,+ firewallRuleGroup_ruleCount,+ firewallRuleGroup_shareStatus,+ firewallRuleGroup_status,+ firewallRuleGroup_statusMessage,++ -- * FirewallRuleGroupAssociation+ FirewallRuleGroupAssociation (..),+ newFirewallRuleGroupAssociation,+ firewallRuleGroupAssociation_arn,+ firewallRuleGroupAssociation_creationTime,+ firewallRuleGroupAssociation_creatorRequestId,+ firewallRuleGroupAssociation_firewallRuleGroupId,+ firewallRuleGroupAssociation_id,+ firewallRuleGroupAssociation_managedOwnerName,+ firewallRuleGroupAssociation_modificationTime,+ firewallRuleGroupAssociation_mutationProtection,+ firewallRuleGroupAssociation_name,+ firewallRuleGroupAssociation_priority,+ firewallRuleGroupAssociation_status,+ firewallRuleGroupAssociation_statusMessage,+ firewallRuleGroupAssociation_vpcId,++ -- * FirewallRuleGroupMetadata+ FirewallRuleGroupMetadata (..),+ newFirewallRuleGroupMetadata,+ firewallRuleGroupMetadata_arn,+ firewallRuleGroupMetadata_creatorRequestId,+ firewallRuleGroupMetadata_id,+ firewallRuleGroupMetadata_name,+ firewallRuleGroupMetadata_ownerId,+ firewallRuleGroupMetadata_shareStatus,++ -- * IpAddressRequest+ IpAddressRequest (..),+ newIpAddressRequest,+ ipAddressRequest_ip,+ ipAddressRequest_subnetId,++ -- * IpAddressResponse+ IpAddressResponse (..),+ newIpAddressResponse,+ ipAddressResponse_creationTime,+ ipAddressResponse_ip,+ ipAddressResponse_ipId,+ ipAddressResponse_modificationTime,+ ipAddressResponse_status,+ ipAddressResponse_statusMessage,+ ipAddressResponse_subnetId,++ -- * IpAddressUpdate+ IpAddressUpdate (..),+ newIpAddressUpdate,+ ipAddressUpdate_ip,+ ipAddressUpdate_ipId,+ ipAddressUpdate_subnetId,++ -- * ResolverConfig+ ResolverConfig (..),+ newResolverConfig,+ resolverConfig_autodefinedReverse,+ resolverConfig_id,+ resolverConfig_ownerId,+ resolverConfig_resourceId,++ -- * ResolverDnssecConfig+ ResolverDnssecConfig (..),+ newResolverDnssecConfig,+ resolverDnssecConfig_id,+ resolverDnssecConfig_ownerId,+ resolverDnssecConfig_resourceId,+ resolverDnssecConfig_validationStatus,++ -- * ResolverEndpoint+ ResolverEndpoint (..),+ newResolverEndpoint,+ resolverEndpoint_arn,+ resolverEndpoint_creationTime,+ resolverEndpoint_creatorRequestId,+ resolverEndpoint_direction,+ resolverEndpoint_hostVPCId,+ resolverEndpoint_id,+ resolverEndpoint_ipAddressCount,+ resolverEndpoint_modificationTime,+ resolverEndpoint_name,+ resolverEndpoint_securityGroupIds,+ resolverEndpoint_status,+ resolverEndpoint_statusMessage,++ -- * ResolverQueryLogConfig+ ResolverQueryLogConfig (..),+ newResolverQueryLogConfig,+ resolverQueryLogConfig_arn,+ resolverQueryLogConfig_associationCount,+ resolverQueryLogConfig_creationTime,+ resolverQueryLogConfig_creatorRequestId,+ resolverQueryLogConfig_destinationArn,+ resolverQueryLogConfig_id,+ resolverQueryLogConfig_name,+ resolverQueryLogConfig_ownerId,+ resolverQueryLogConfig_shareStatus,+ resolverQueryLogConfig_status,++ -- * ResolverQueryLogConfigAssociation+ ResolverQueryLogConfigAssociation (..),+ newResolverQueryLogConfigAssociation,+ resolverQueryLogConfigAssociation_creationTime,+ resolverQueryLogConfigAssociation_error,+ resolverQueryLogConfigAssociation_errorMessage,+ resolverQueryLogConfigAssociation_id,+ resolverQueryLogConfigAssociation_resolverQueryLogConfigId,+ resolverQueryLogConfigAssociation_resourceId,+ resolverQueryLogConfigAssociation_status,++ -- * ResolverRule+ ResolverRule (..),+ newResolverRule,+ resolverRule_arn,+ resolverRule_creationTime,+ resolverRule_creatorRequestId,+ resolverRule_domainName,+ resolverRule_id,+ resolverRule_modificationTime,+ resolverRule_name,+ resolverRule_ownerId,+ resolverRule_resolverEndpointId,+ resolverRule_ruleType,+ resolverRule_shareStatus,+ resolverRule_status,+ resolverRule_statusMessage,+ resolverRule_targetIps,++ -- * ResolverRuleAssociation+ ResolverRuleAssociation (..),+ newResolverRuleAssociation,+ resolverRuleAssociation_id,+ resolverRuleAssociation_name,+ resolverRuleAssociation_resolverRuleId,+ resolverRuleAssociation_status,+ resolverRuleAssociation_statusMessage,+ resolverRuleAssociation_vPCId,++ -- * ResolverRuleConfig+ ResolverRuleConfig (..),+ newResolverRuleConfig,+ resolverRuleConfig_name,+ resolverRuleConfig_resolverEndpointId,+ resolverRuleConfig_targetIps,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TargetAddress+ TargetAddress (..),+ newTargetAddress,+ targetAddress_port,+ targetAddress_ip,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.Action+import Amazonka.Route53Resolver.Types.AutodefinedReverseFlag+import Amazonka.Route53Resolver.Types.BlockOverrideDnsType+import Amazonka.Route53Resolver.Types.BlockResponse+import Amazonka.Route53Resolver.Types.Filter+import Amazonka.Route53Resolver.Types.FirewallConfig+import Amazonka.Route53Resolver.Types.FirewallDomainImportOperation+import Amazonka.Route53Resolver.Types.FirewallDomainList+import Amazonka.Route53Resolver.Types.FirewallDomainListMetadata+import Amazonka.Route53Resolver.Types.FirewallDomainListStatus+import Amazonka.Route53Resolver.Types.FirewallDomainUpdateOperation+import Amazonka.Route53Resolver.Types.FirewallFailOpenStatus+import Amazonka.Route53Resolver.Types.FirewallRule+import Amazonka.Route53Resolver.Types.FirewallRuleGroup+import Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociation+import Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociationStatus+import Amazonka.Route53Resolver.Types.FirewallRuleGroupMetadata+import Amazonka.Route53Resolver.Types.FirewallRuleGroupStatus+import Amazonka.Route53Resolver.Types.IpAddressRequest+import Amazonka.Route53Resolver.Types.IpAddressResponse+import Amazonka.Route53Resolver.Types.IpAddressStatus+import Amazonka.Route53Resolver.Types.IpAddressUpdate+import Amazonka.Route53Resolver.Types.MutationProtectionStatus+import Amazonka.Route53Resolver.Types.ResolverAutodefinedReverseStatus+import Amazonka.Route53Resolver.Types.ResolverConfig+import Amazonka.Route53Resolver.Types.ResolverDNSSECValidationStatus+import Amazonka.Route53Resolver.Types.ResolverDnssecConfig+import Amazonka.Route53Resolver.Types.ResolverEndpoint+import Amazonka.Route53Resolver.Types.ResolverEndpointDirection+import Amazonka.Route53Resolver.Types.ResolverEndpointStatus+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfig+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociation+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationError+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationStatus+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigStatus+import Amazonka.Route53Resolver.Types.ResolverRule+import Amazonka.Route53Resolver.Types.ResolverRuleAssociation+import Amazonka.Route53Resolver.Types.ResolverRuleAssociationStatus+import Amazonka.Route53Resolver.Types.ResolverRuleConfig+import Amazonka.Route53Resolver.Types.ResolverRuleStatus+import Amazonka.Route53Resolver.Types.RuleTypeOption+import Amazonka.Route53Resolver.Types.ShareStatus+import Amazonka.Route53Resolver.Types.SortOrder+import Amazonka.Route53Resolver.Types.Tag+import Amazonka.Route53Resolver.Types.TargetAddress+import Amazonka.Route53Resolver.Types.Validation+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-04-01@ of the Amazon Route 53 Resolver SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "Route53Resolver",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "route53resolver",+ Core.signingName = "route53resolver",+ Core.version = "2018-04-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "Route53Resolver",+ 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 current account doesn\'t have the IAM permissions required to+-- perform the specified Resolver operation.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"++_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | We encountered an unknown error. Try again in a few minutes.+_InternalServiceErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServiceErrorException"++-- | The value that you specified for @NextToken@ in a @List@ request isn\'t+-- valid.+_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNextTokenException =+ Core._MatchServiceError+ defaultService+ "InvalidNextTokenException"++-- | One or more parameters in this request are not valid.+_InvalidParameterException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidParameterException =+ Core._MatchServiceError+ defaultService+ "InvalidParameterException"++-- | The specified Resolver rule policy is invalid.+_InvalidPolicyDocument :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidPolicyDocument =+ Core._MatchServiceError+ defaultService+ "InvalidPolicyDocument"++-- | The request is invalid.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+ Core._MatchServiceError+ defaultService+ "InvalidRequestException"++-- | The specified tag is invalid.+_InvalidTagException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidTagException =+ Core._MatchServiceError+ defaultService+ "InvalidTagException"++-- | The request caused one or more limits to be exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"++-- | The resource that you tried to create already exists.+_ResourceExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceExistsException =+ Core._MatchServiceError+ defaultService+ "ResourceExistsException"++-- | The resource that you tried to update or delete is currently in use.+_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceInUseException =+ Core._MatchServiceError+ defaultService+ "ResourceInUseException"++-- | The specified resource doesn\'t exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | The specified resource isn\'t available.+_ResourceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceUnavailableException =+ Core._MatchServiceError+ defaultService+ "ResourceUnavailableException"++-- | The request was throttled. Try again in a few minutes.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"++-- | The specified resource doesn\'t exist.+_UnknownResourceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnknownResourceException =+ Core._MatchServiceError+ defaultService+ "UnknownResourceException"++_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/Route53Resolver/Types/Action.hs view
@@ -0,0 +1,73 @@+{-# 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.Route53Resolver.Types.Action+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.Action+ ( Action+ ( ..,+ Action_ALERT,+ Action_ALLOW,+ Action_BLOCK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Action = Action' {fromAction :: 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 Action_ALERT :: Action+pattern Action_ALERT = Action' "ALERT"++pattern Action_ALLOW :: Action+pattern Action_ALLOW = Action' "ALLOW"++pattern Action_BLOCK :: Action+pattern Action_BLOCK = Action' "BLOCK"++{-# COMPLETE+ Action_ALERT,+ Action_ALLOW,+ Action_BLOCK,+ Action'+ #-}
+ gen/Amazonka/Route53Resolver/Types/AutodefinedReverseFlag.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.AutodefinedReverseFlag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.AutodefinedReverseFlag+ ( AutodefinedReverseFlag+ ( ..,+ AutodefinedReverseFlag_DISABLE,+ AutodefinedReverseFlag_ENABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutodefinedReverseFlag = AutodefinedReverseFlag'+ { fromAutodefinedReverseFlag ::+ 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 AutodefinedReverseFlag_DISABLE :: AutodefinedReverseFlag+pattern AutodefinedReverseFlag_DISABLE = AutodefinedReverseFlag' "DISABLE"++pattern AutodefinedReverseFlag_ENABLE :: AutodefinedReverseFlag+pattern AutodefinedReverseFlag_ENABLE = AutodefinedReverseFlag' "ENABLE"++{-# COMPLETE+ AutodefinedReverseFlag_DISABLE,+ AutodefinedReverseFlag_ENABLE,+ AutodefinedReverseFlag'+ #-}
+ gen/Amazonka/Route53Resolver/Types/BlockOverrideDnsType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.BlockOverrideDnsType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.BlockOverrideDnsType+ ( BlockOverrideDnsType+ ( ..,+ BlockOverrideDnsType_CNAME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BlockOverrideDnsType = BlockOverrideDnsType'+ { fromBlockOverrideDnsType ::+ 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 BlockOverrideDnsType_CNAME :: BlockOverrideDnsType+pattern BlockOverrideDnsType_CNAME = BlockOverrideDnsType' "CNAME"++{-# COMPLETE+ BlockOverrideDnsType_CNAME,+ BlockOverrideDnsType'+ #-}
+ gen/Amazonka/Route53Resolver/Types/BlockResponse.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.Route53Resolver.Types.BlockResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.BlockResponse+ ( BlockResponse+ ( ..,+ BlockResponse_NODATA,+ BlockResponse_NXDOMAIN,+ BlockResponse_OVERRIDE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BlockResponse = BlockResponse'+ { fromBlockResponse ::+ 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 BlockResponse_NODATA :: BlockResponse+pattern BlockResponse_NODATA = BlockResponse' "NODATA"++pattern BlockResponse_NXDOMAIN :: BlockResponse+pattern BlockResponse_NXDOMAIN = BlockResponse' "NXDOMAIN"++pattern BlockResponse_OVERRIDE :: BlockResponse+pattern BlockResponse_OVERRIDE = BlockResponse' "OVERRIDE"++{-# COMPLETE+ BlockResponse_NODATA,+ BlockResponse_NXDOMAIN,+ BlockResponse_OVERRIDE,+ BlockResponse'+ #-}
+ gen/Amazonka/Route53Resolver/Types/Filter.hs view
@@ -0,0 +1,617 @@+{-# 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.Route53Resolver.Types.Filter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | For Resolver list operations+-- (<https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html ListResolverQueryLogConfigs>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html ListResolverQueryLogConfigAssociations>),+-- and+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverDnssecConfigs.html ListResolverDnssecConfigs>),+-- an optional specification to return a subset of objects.+--+-- To filter objects, such as Resolver endpoints or Resolver rules, you+-- specify @Name@ and @Values@. For example, to list only inbound Resolver+-- endpoints, specify @Direction@ for @Name@ and specify @INBOUND@ for+-- @Values@.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+ { -- | The name of the parameter that you want to use to filter objects.+ --+ -- The valid values for @Name@ depend on the action that you\'re including+ -- the filter in,+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>,+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>,+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>,+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html ListResolverQueryLogConfigs>,+ -- or+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html ListResolverQueryLogConfigAssociations>.+ --+ -- In early versions of Resolver, values for @Name@ were listed as+ -- uppercase, with underscore (_) delimiters. For example,+ -- @CreatorRequestId@ was originally listed as @CREATOR_REQUEST_ID@.+ -- Uppercase values for @Name@ are still supported.+ --+ -- __ListResolverEndpoints__+ --+ -- Valid values for @Name@ include the following:+ --+ -- - @CreatorRequestId@: The value that you specified when you created+ -- the Resolver endpoint.+ --+ -- - @Direction@: Whether you want to return inbound or outbound Resolver+ -- endpoints. If you specify @DIRECTION@ for @Name@, specify @INBOUND@+ -- or @OUTBOUND@ for @Values@.+ --+ -- - @HostVPCId@: The ID of the VPC that inbound DNS queries pass through+ -- on the way from your network to your VPCs in a region, or the VPC+ -- that outbound queries pass through on the way from your VPCs to your+ -- network. In a+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+ -- request, @SubnetId@ indirectly identifies the VPC. In a+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+ -- request, the VPC ID for a Resolver endpoint is returned in the+ -- @HostVPCId@ element.+ --+ -- - @IpAddressCount@: The number of IP addresses that you have+ -- associated with the Resolver endpoint.+ --+ -- - @Name@: The name of the Resolver endpoint.+ --+ -- - @SecurityGroupIds@: The IDs of the VPC security groups that you+ -- specified when you created the Resolver endpoint.+ --+ -- - @Status@: The status of the Resolver endpoint. If you specify+ -- @Status@ for @Name@, specify one of the following status codes for+ -- @Values@: @CREATING@, @OPERATIONAL@, @UPDATING@, @AUTO_RECOVERING@,+ -- @ACTION_NEEDED@, or @DELETING@. For more information, see @Status@+ -- in+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html ResolverEndpoint>.+ --+ -- __ListResolverRules__+ --+ -- Valid values for @Name@ include the following:+ --+ -- - @CreatorRequestId@: The value that you specified when you created+ -- the Resolver rule.+ --+ -- - @DomainName@: The domain name for which Resolver is forwarding DNS+ -- queries to your network. In the value that you specify for @Values@,+ -- include a trailing dot (.) after the domain name. For example, if+ -- the domain name is example.com, specify the following value. Note+ -- the \".\" after @com@:+ --+ -- @example.com.@+ --+ -- - @Name@: The name of the Resolver rule.+ --+ -- - @ResolverEndpointId@: The ID of the Resolver endpoint that the+ -- Resolver rule is associated with.+ --+ -- You can filter on the Resolver endpoint only for rules that have a+ -- value of @FORWARD@ for @RuleType@.+ --+ -- - @Status@: The status of the Resolver rule. If you specify @Status@+ -- for @Name@, specify one of the following status codes for @Values@:+ -- @COMPLETE@, @DELETING@, @UPDATING@, or @FAILED@.+ --+ -- - @Type@: The type of the Resolver rule. If you specify @TYPE@ for+ -- @Name@, specify @FORWARD@ or @SYSTEM@ for @Values@.+ --+ -- __ListResolverRuleAssociations__+ --+ -- Valid values for @Name@ include the following:+ --+ -- - @Name@: The name of the Resolver rule association.+ --+ -- - @ResolverRuleId@: The ID of the Resolver rule that is associated+ -- with one or more VPCs.+ --+ -- - @Status@: The status of the Resolver rule association. If you+ -- specify @Status@ for @Name@, specify one of the following status+ -- codes for @Values@: @CREATING@, @COMPLETE@, @DELETING@, or @FAILED@.+ --+ -- - @VPCId@: The ID of the VPC that the Resolver rule is associated+ -- with.+ --+ -- __ListResolverQueryLogConfigs__+ --+ -- Valid values for @Name@ include the following:+ --+ -- - @Arn@: The ARN for the query logging configuration.+ --+ -- - @AssociationCount@: The number of VPCs that are associated with the+ -- query logging configuration.+ --+ -- - @CreationTime@: The date and time that the query logging+ -- configuration was created, in Unix time format and Coordinated+ -- Universal Time (UTC).+ --+ -- - @CreatorRequestId@: A unique string that identifies the request that+ -- created the query logging configuration.+ --+ -- - @Destination@: The Amazon Web Services service that you want to+ -- forward query logs to. Valid values include the following:+ --+ -- - @S3@+ --+ -- - @CloudWatchLogs@+ --+ -- - @KinesisFirehose@+ --+ -- - @DestinationArn@: The ARN of the location that Resolver is sending+ -- query logs to. This value can be the ARN for an S3 bucket, a+ -- CloudWatch Logs log group, or a Kinesis Data Firehose delivery+ -- stream.+ --+ -- - @Id@: The ID of the query logging configuration+ --+ -- - @Name@: The name of the query logging configuration+ --+ -- - @OwnerId@: The Amazon Web Services account ID for the account that+ -- created the query logging configuration.+ --+ -- - @ShareStatus@: An indication of whether the query logging+ -- configuration is shared with other Amazon Web Services accounts, or+ -- was shared with the current account by another Amazon Web Services+ -- account. Valid values include: @NOT_SHARED@, @SHARED_WITH_ME@, or+ -- @SHARED_BY_ME@.+ --+ -- - @Status@: The status of the query logging configuration. If you+ -- specify @Status@ for @Name@, specify the applicable status code for+ -- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+ -- information, see+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status Status>.+ --+ -- __ListResolverQueryLogConfigAssociations__+ --+ -- Valid values for @Name@ include the following:+ --+ -- - @CreationTime@: The date and time that the VPC was associated with+ -- the query logging configuration, in Unix time format and Coordinated+ -- Universal Time (UTC).+ --+ -- - @Error@: If the value of @Status@ is @FAILED@, specify the cause:+ -- @DESTINATION_NOT_FOUND@ or @ACCESS_DENIED@.+ --+ -- - @Id@: The ID of the query logging association.+ --+ -- - @ResolverQueryLogConfigId@: The ID of the query logging+ -- configuration that a VPC is associated with.+ --+ -- - @ResourceId@: The ID of the Amazon VPC that is associated with the+ -- query logging configuration.+ --+ -- - @Status@: The status of the query logging association. If you+ -- specify @Status@ for @Name@, specify the applicable status code for+ -- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+ -- information, see+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status Status>.+ name :: Prelude.Maybe Prelude.Text,+ -- | When you\'re using a @List@ operation and you want the operation to+ -- return a subset of objects, such as Resolver endpoints or Resolver+ -- rules, the value of the parameter that you want to use to filter+ -- objects. For example, to list only inbound Resolver endpoints, specify+ -- @Direction@ for @Name@ and specify @INBOUND@ for @Values@.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'filter_name' - The name of the parameter that you want to use to filter objects.+--+-- The valid values for @Name@ depend on the action that you\'re including+-- the filter in,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html ListResolverQueryLogConfigs>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html ListResolverQueryLogConfigAssociations>.+--+-- In early versions of Resolver, values for @Name@ were listed as+-- uppercase, with underscore (_) delimiters. For example,+-- @CreatorRequestId@ was originally listed as @CREATOR_REQUEST_ID@.+-- Uppercase values for @Name@ are still supported.+--+-- __ListResolverEndpoints__+--+-- Valid values for @Name@ include the following:+--+-- - @CreatorRequestId@: The value that you specified when you created+-- the Resolver endpoint.+--+-- - @Direction@: Whether you want to return inbound or outbound Resolver+-- endpoints. If you specify @DIRECTION@ for @Name@, specify @INBOUND@+-- or @OUTBOUND@ for @Values@.+--+-- - @HostVPCId@: The ID of the VPC that inbound DNS queries pass through+-- on the way from your network to your VPCs in a region, or the VPC+-- that outbound queries pass through on the way from your VPCs to your+-- network. In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+-- request, @SubnetId@ indirectly identifies the VPC. In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+-- request, the VPC ID for a Resolver endpoint is returned in the+-- @HostVPCId@ element.+--+-- - @IpAddressCount@: The number of IP addresses that you have+-- associated with the Resolver endpoint.+--+-- - @Name@: The name of the Resolver endpoint.+--+-- - @SecurityGroupIds@: The IDs of the VPC security groups that you+-- specified when you created the Resolver endpoint.+--+-- - @Status@: The status of the Resolver endpoint. If you specify+-- @Status@ for @Name@, specify one of the following status codes for+-- @Values@: @CREATING@, @OPERATIONAL@, @UPDATING@, @AUTO_RECOVERING@,+-- @ACTION_NEEDED@, or @DELETING@. For more information, see @Status@+-- in+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html ResolverEndpoint>.+--+-- __ListResolverRules__+--+-- Valid values for @Name@ include the following:+--+-- - @CreatorRequestId@: The value that you specified when you created+-- the Resolver rule.+--+-- - @DomainName@: The domain name for which Resolver is forwarding DNS+-- queries to your network. In the value that you specify for @Values@,+-- include a trailing dot (.) after the domain name. For example, if+-- the domain name is example.com, specify the following value. Note+-- the \".\" after @com@:+--+-- @example.com.@+--+-- - @Name@: The name of the Resolver rule.+--+-- - @ResolverEndpointId@: The ID of the Resolver endpoint that the+-- Resolver rule is associated with.+--+-- You can filter on the Resolver endpoint only for rules that have a+-- value of @FORWARD@ for @RuleType@.+--+-- - @Status@: The status of the Resolver rule. If you specify @Status@+-- for @Name@, specify one of the following status codes for @Values@:+-- @COMPLETE@, @DELETING@, @UPDATING@, or @FAILED@.+--+-- - @Type@: The type of the Resolver rule. If you specify @TYPE@ for+-- @Name@, specify @FORWARD@ or @SYSTEM@ for @Values@.+--+-- __ListResolverRuleAssociations__+--+-- Valid values for @Name@ include the following:+--+-- - @Name@: The name of the Resolver rule association.+--+-- - @ResolverRuleId@: The ID of the Resolver rule that is associated+-- with one or more VPCs.+--+-- - @Status@: The status of the Resolver rule association. If you+-- specify @Status@ for @Name@, specify one of the following status+-- codes for @Values@: @CREATING@, @COMPLETE@, @DELETING@, or @FAILED@.+--+-- - @VPCId@: The ID of the VPC that the Resolver rule is associated+-- with.+--+-- __ListResolverQueryLogConfigs__+--+-- Valid values for @Name@ include the following:+--+-- - @Arn@: The ARN for the query logging configuration.+--+-- - @AssociationCount@: The number of VPCs that are associated with the+-- query logging configuration.+--+-- - @CreationTime@: The date and time that the query logging+-- configuration was created, in Unix time format and Coordinated+-- Universal Time (UTC).+--+-- - @CreatorRequestId@: A unique string that identifies the request that+-- created the query logging configuration.+--+-- - @Destination@: The Amazon Web Services service that you want to+-- forward query logs to. Valid values include the following:+--+-- - @S3@+--+-- - @CloudWatchLogs@+--+-- - @KinesisFirehose@+--+-- - @DestinationArn@: The ARN of the location that Resolver is sending+-- query logs to. This value can be the ARN for an S3 bucket, a+-- CloudWatch Logs log group, or a Kinesis Data Firehose delivery+-- stream.+--+-- - @Id@: The ID of the query logging configuration+--+-- - @Name@: The name of the query logging configuration+--+-- - @OwnerId@: The Amazon Web Services account ID for the account that+-- created the query logging configuration.+--+-- - @ShareStatus@: An indication of whether the query logging+-- configuration is shared with other Amazon Web Services accounts, or+-- was shared with the current account by another Amazon Web Services+-- account. Valid values include: @NOT_SHARED@, @SHARED_WITH_ME@, or+-- @SHARED_BY_ME@.+--+-- - @Status@: The status of the query logging configuration. If you+-- specify @Status@ for @Name@, specify the applicable status code for+-- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+-- information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status Status>.+--+-- __ListResolverQueryLogConfigAssociations__+--+-- Valid values for @Name@ include the following:+--+-- - @CreationTime@: The date and time that the VPC was associated with+-- the query logging configuration, in Unix time format and Coordinated+-- Universal Time (UTC).+--+-- - @Error@: If the value of @Status@ is @FAILED@, specify the cause:+-- @DESTINATION_NOT_FOUND@ or @ACCESS_DENIED@.+--+-- - @Id@: The ID of the query logging association.+--+-- - @ResolverQueryLogConfigId@: The ID of the query logging+-- configuration that a VPC is associated with.+--+-- - @ResourceId@: The ID of the Amazon VPC that is associated with the+-- query logging configuration.+--+-- - @Status@: The status of the query logging association. If you+-- specify @Status@ for @Name@, specify the applicable status code for+-- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+-- information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status Status>.+--+-- 'values', 'filter_values' - When you\'re using a @List@ operation and you want the operation to+-- return a subset of objects, such as Resolver endpoints or Resolver+-- rules, the value of the parameter that you want to use to filter+-- objects. For example, to list only inbound Resolver endpoints, specify+-- @Direction@ for @Name@ and specify @INBOUND@ for @Values@.+newFilter ::+ Filter+newFilter =+ Filter'+ { name = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The name of the parameter that you want to use to filter objects.+--+-- The valid values for @Name@ depend on the action that you\'re including+-- the filter in,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html ListResolverQueryLogConfigs>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html ListResolverQueryLogConfigAssociations>.+--+-- In early versions of Resolver, values for @Name@ were listed as+-- uppercase, with underscore (_) delimiters. For example,+-- @CreatorRequestId@ was originally listed as @CREATOR_REQUEST_ID@.+-- Uppercase values for @Name@ are still supported.+--+-- __ListResolverEndpoints__+--+-- Valid values for @Name@ include the following:+--+-- - @CreatorRequestId@: The value that you specified when you created+-- the Resolver endpoint.+--+-- - @Direction@: Whether you want to return inbound or outbound Resolver+-- endpoints. If you specify @DIRECTION@ for @Name@, specify @INBOUND@+-- or @OUTBOUND@ for @Values@.+--+-- - @HostVPCId@: The ID of the VPC that inbound DNS queries pass through+-- on the way from your network to your VPCs in a region, or the VPC+-- that outbound queries pass through on the way from your VPCs to your+-- network. In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+-- request, @SubnetId@ indirectly identifies the VPC. In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+-- request, the VPC ID for a Resolver endpoint is returned in the+-- @HostVPCId@ element.+--+-- - @IpAddressCount@: The number of IP addresses that you have+-- associated with the Resolver endpoint.+--+-- - @Name@: The name of the Resolver endpoint.+--+-- - @SecurityGroupIds@: The IDs of the VPC security groups that you+-- specified when you created the Resolver endpoint.+--+-- - @Status@: The status of the Resolver endpoint. If you specify+-- @Status@ for @Name@, specify one of the following status codes for+-- @Values@: @CREATING@, @OPERATIONAL@, @UPDATING@, @AUTO_RECOVERING@,+-- @ACTION_NEEDED@, or @DELETING@. For more information, see @Status@+-- in+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html ResolverEndpoint>.+--+-- __ListResolverRules__+--+-- Valid values for @Name@ include the following:+--+-- - @CreatorRequestId@: The value that you specified when you created+-- the Resolver rule.+--+-- - @DomainName@: The domain name for which Resolver is forwarding DNS+-- queries to your network. In the value that you specify for @Values@,+-- include a trailing dot (.) after the domain name. For example, if+-- the domain name is example.com, specify the following value. Note+-- the \".\" after @com@:+--+-- @example.com.@+--+-- - @Name@: The name of the Resolver rule.+--+-- - @ResolverEndpointId@: The ID of the Resolver endpoint that the+-- Resolver rule is associated with.+--+-- You can filter on the Resolver endpoint only for rules that have a+-- value of @FORWARD@ for @RuleType@.+--+-- - @Status@: The status of the Resolver rule. If you specify @Status@+-- for @Name@, specify one of the following status codes for @Values@:+-- @COMPLETE@, @DELETING@, @UPDATING@, or @FAILED@.+--+-- - @Type@: The type of the Resolver rule. If you specify @TYPE@ for+-- @Name@, specify @FORWARD@ or @SYSTEM@ for @Values@.+--+-- __ListResolverRuleAssociations__+--+-- Valid values for @Name@ include the following:+--+-- - @Name@: The name of the Resolver rule association.+--+-- - @ResolverRuleId@: The ID of the Resolver rule that is associated+-- with one or more VPCs.+--+-- - @Status@: The status of the Resolver rule association. If you+-- specify @Status@ for @Name@, specify one of the following status+-- codes for @Values@: @CREATING@, @COMPLETE@, @DELETING@, or @FAILED@.+--+-- - @VPCId@: The ID of the VPC that the Resolver rule is associated+-- with.+--+-- __ListResolverQueryLogConfigs__+--+-- Valid values for @Name@ include the following:+--+-- - @Arn@: The ARN for the query logging configuration.+--+-- - @AssociationCount@: The number of VPCs that are associated with the+-- query logging configuration.+--+-- - @CreationTime@: The date and time that the query logging+-- configuration was created, in Unix time format and Coordinated+-- Universal Time (UTC).+--+-- - @CreatorRequestId@: A unique string that identifies the request that+-- created the query logging configuration.+--+-- - @Destination@: The Amazon Web Services service that you want to+-- forward query logs to. Valid values include the following:+--+-- - @S3@+--+-- - @CloudWatchLogs@+--+-- - @KinesisFirehose@+--+-- - @DestinationArn@: The ARN of the location that Resolver is sending+-- query logs to. This value can be the ARN for an S3 bucket, a+-- CloudWatch Logs log group, or a Kinesis Data Firehose delivery+-- stream.+--+-- - @Id@: The ID of the query logging configuration+--+-- - @Name@: The name of the query logging configuration+--+-- - @OwnerId@: The Amazon Web Services account ID for the account that+-- created the query logging configuration.+--+-- - @ShareStatus@: An indication of whether the query logging+-- configuration is shared with other Amazon Web Services accounts, or+-- was shared with the current account by another Amazon Web Services+-- account. Valid values include: @NOT_SHARED@, @SHARED_WITH_ME@, or+-- @SHARED_BY_ME@.+--+-- - @Status@: The status of the query logging configuration. If you+-- specify @Status@ for @Name@, specify the applicable status code for+-- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+-- information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status Status>.+--+-- __ListResolverQueryLogConfigAssociations__+--+-- Valid values for @Name@ include the following:+--+-- - @CreationTime@: The date and time that the VPC was associated with+-- the query logging configuration, in Unix time format and Coordinated+-- Universal Time (UTC).+--+-- - @Error@: If the value of @Status@ is @FAILED@, specify the cause:+-- @DESTINATION_NOT_FOUND@ or @ACCESS_DENIED@.+--+-- - @Id@: The ID of the query logging association.+--+-- - @ResolverQueryLogConfigId@: The ID of the query logging+-- configuration that a VPC is associated with.+--+-- - @ResourceId@: The ID of the Amazon VPC that is associated with the+-- query logging configuration.+--+-- - @Status@: The status of the query logging association. If you+-- specify @Status@ for @Name@, specify the applicable status code for+-- @Values@: @CREATING@, @CREATED@, @DELETING@, or @FAILED@. For more+-- information, see+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status Status>.+filter_name :: Lens.Lens' Filter (Prelude.Maybe Prelude.Text)+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | When you\'re using a @List@ operation and you want the operation to+-- return a subset of objects, such as Resolver endpoints or Resolver+-- rules, the value of the parameter that you want to use to filter+-- objects. For example, to list only inbound Resolver endpoints, specify+-- @Direction@ for @Name@ and specify @INBOUND@ for @Values@.+filter_values :: Lens.Lens' Filter (Prelude.Maybe [Prelude.Text])+filter_values = Lens.lens (\Filter' {values} -> values) (\s@Filter' {} a -> s {values = a} :: Filter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Filter where+ hashWithSalt _salt Filter' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` values++instance Prelude.NFData Filter where+ rnf Filter' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON Filter where+ toJSON Filter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("Values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/Route53Resolver/Types/FirewallConfig.hs view
@@ -0,0 +1,152 @@+{-# 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.Route53Resolver.Types.FirewallConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.FirewallFailOpenStatus++-- | Configuration of the firewall behavior provided by DNS Firewall for a+-- single VPC from Amazon Virtual Private Cloud (Amazon VPC).+--+-- /See:/ 'newFirewallConfig' smart constructor.+data FirewallConfig = FirewallConfig'+ { -- | Determines how DNS Firewall operates during failures, for example when+ -- all traffic that is sent to DNS Firewall fails to receive a reply.+ --+ -- - By default, fail open is disabled, which means the failure mode is+ -- closed. This approach favors security over availability. DNS+ -- Firewall returns a failure error when it is unable to properly+ -- evaluate a query.+ --+ -- - If you enable this option, the failure mode is open. This approach+ -- favors availability over security. DNS Firewall allows queries to+ -- proceed if it is unable to properly evaluate them.+ --+ -- This behavior is only enforced for VPCs that have at least one DNS+ -- Firewall rule group association.+ firewallFailOpen :: Prelude.Maybe FirewallFailOpenStatus,+ -- | The ID of the firewall configuration.+ id :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID of the owner of the VPC that this+ -- firewall configuration applies to.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the VPC that this firewall configuration applies to.+ resourceId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallFailOpen', 'firewallConfig_firewallFailOpen' - Determines how DNS Firewall operates during failures, for example when+-- all traffic that is sent to DNS Firewall fails to receive a reply.+--+-- - By default, fail open is disabled, which means the failure mode is+-- closed. This approach favors security over availability. DNS+-- Firewall returns a failure error when it is unable to properly+-- evaluate a query.+--+-- - If you enable this option, the failure mode is open. This approach+-- favors availability over security. DNS Firewall allows queries to+-- proceed if it is unable to properly evaluate them.+--+-- This behavior is only enforced for VPCs that have at least one DNS+-- Firewall rule group association.+--+-- 'id', 'firewallConfig_id' - The ID of the firewall configuration.+--+-- 'ownerId', 'firewallConfig_ownerId' - The Amazon Web Services account ID of the owner of the VPC that this+-- firewall configuration applies to.+--+-- 'resourceId', 'firewallConfig_resourceId' - The ID of the VPC that this firewall configuration applies to.+newFirewallConfig ::+ FirewallConfig+newFirewallConfig =+ FirewallConfig'+ { firewallFailOpen = Prelude.Nothing,+ id = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceId = Prelude.Nothing+ }++-- | Determines how DNS Firewall operates during failures, for example when+-- all traffic that is sent to DNS Firewall fails to receive a reply.+--+-- - By default, fail open is disabled, which means the failure mode is+-- closed. This approach favors security over availability. DNS+-- Firewall returns a failure error when it is unable to properly+-- evaluate a query.+--+-- - If you enable this option, the failure mode is open. This approach+-- favors availability over security. DNS Firewall allows queries to+-- proceed if it is unable to properly evaluate them.+--+-- This behavior is only enforced for VPCs that have at least one DNS+-- Firewall rule group association.+firewallConfig_firewallFailOpen :: Lens.Lens' FirewallConfig (Prelude.Maybe FirewallFailOpenStatus)+firewallConfig_firewallFailOpen = Lens.lens (\FirewallConfig' {firewallFailOpen} -> firewallFailOpen) (\s@FirewallConfig' {} a -> s {firewallFailOpen = a} :: FirewallConfig)++-- | The ID of the firewall configuration.+firewallConfig_id :: Lens.Lens' FirewallConfig (Prelude.Maybe Prelude.Text)+firewallConfig_id = Lens.lens (\FirewallConfig' {id} -> id) (\s@FirewallConfig' {} a -> s {id = a} :: FirewallConfig)++-- | The Amazon Web Services account ID of the owner of the VPC that this+-- firewall configuration applies to.+firewallConfig_ownerId :: Lens.Lens' FirewallConfig (Prelude.Maybe Prelude.Text)+firewallConfig_ownerId = Lens.lens (\FirewallConfig' {ownerId} -> ownerId) (\s@FirewallConfig' {} a -> s {ownerId = a} :: FirewallConfig)++-- | The ID of the VPC that this firewall configuration applies to.+firewallConfig_resourceId :: Lens.Lens' FirewallConfig (Prelude.Maybe Prelude.Text)+firewallConfig_resourceId = Lens.lens (\FirewallConfig' {resourceId} -> resourceId) (\s@FirewallConfig' {} a -> s {resourceId = a} :: FirewallConfig)++instance Data.FromJSON FirewallConfig where+ parseJSON =+ Data.withObject+ "FirewallConfig"+ ( \x ->+ FirewallConfig'+ Prelude.<$> (x Data..:? "FirewallFailOpen")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceId")+ )++instance Prelude.Hashable FirewallConfig where+ hashWithSalt _salt FirewallConfig' {..} =+ _salt+ `Prelude.hashWithSalt` firewallFailOpen+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceId++instance Prelude.NFData FirewallConfig where+ rnf FirewallConfig' {..} =+ Prelude.rnf firewallFailOpen+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceId
+ gen/Amazonka/Route53Resolver/Types/FirewallDomainImportOperation.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.FirewallDomainImportOperation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallDomainImportOperation+ ( FirewallDomainImportOperation+ ( ..,+ FirewallDomainImportOperation_REPLACE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallDomainImportOperation = FirewallDomainImportOperation'+ { fromFirewallDomainImportOperation ::+ 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 FirewallDomainImportOperation_REPLACE :: FirewallDomainImportOperation+pattern FirewallDomainImportOperation_REPLACE = FirewallDomainImportOperation' "REPLACE"++{-# COMPLETE+ FirewallDomainImportOperation_REPLACE,+ FirewallDomainImportOperation'+ #-}
+ gen/Amazonka/Route53Resolver/Types/FirewallDomainList.hs view
@@ -0,0 +1,206 @@+{-# 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.Route53Resolver.Types.FirewallDomainList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallDomainList where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.FirewallDomainListStatus++-- | High-level information about a list of firewall domains for use in a+-- FirewallRule. This is returned by GetFirewallDomainList.+--+-- To retrieve the domains that are defined for this domain list, call+-- ListFirewallDomains.+--+-- /See:/ 'newFirewallDomainList' smart constructor.+data FirewallDomainList = FirewallDomainList'+ { -- | The Amazon Resource Name (ARN) of the firewall domain list.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the domain list was created, in Unix time format+ -- and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The number of domain names that are specified in the domain list.+ domainCount :: Prelude.Maybe Prelude.Int,+ -- | The ID of the domain list.+ id :: Prelude.Maybe Prelude.Text,+ -- | The owner of the list, used only for lists that are not managed by you.+ -- For example, the managed domain list+ -- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+ -- @Route 53 Resolver DNS Firewall@.+ managedOwnerName :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the domain list was last modified, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | The name of the domain list.+ name :: Prelude.Maybe Prelude.Text,+ -- | The status of the domain list.+ status :: Prelude.Maybe FirewallDomainListStatus,+ -- | Additional information about the status of the list, if available.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallDomainList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'firewallDomainList_arn' - The Amazon Resource Name (ARN) of the firewall domain list.+--+-- 'creationTime', 'firewallDomainList_creationTime' - The date and time that the domain list was created, in Unix time format+-- and Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'firewallDomainList_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'domainCount', 'firewallDomainList_domainCount' - The number of domain names that are specified in the domain list.+--+-- 'id', 'firewallDomainList_id' - The ID of the domain list.+--+-- 'managedOwnerName', 'firewallDomainList_managedOwnerName' - The owner of the list, used only for lists that are not managed by you.+-- For example, the managed domain list+-- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+-- @Route 53 Resolver DNS Firewall@.+--+-- 'modificationTime', 'firewallDomainList_modificationTime' - The date and time that the domain list was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'name', 'firewallDomainList_name' - The name of the domain list.+--+-- 'status', 'firewallDomainList_status' - The status of the domain list.+--+-- 'statusMessage', 'firewallDomainList_statusMessage' - Additional information about the status of the list, if available.+newFirewallDomainList ::+ FirewallDomainList+newFirewallDomainList =+ FirewallDomainList'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ domainCount = Prelude.Nothing,+ id = Prelude.Nothing,+ managedOwnerName = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the firewall domain list.+firewallDomainList_arn :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_arn = Lens.lens (\FirewallDomainList' {arn} -> arn) (\s@FirewallDomainList' {} a -> s {arn = a} :: FirewallDomainList)++-- | The date and time that the domain list was created, in Unix time format+-- and Coordinated Universal Time (UTC).+firewallDomainList_creationTime :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_creationTime = Lens.lens (\FirewallDomainList' {creationTime} -> creationTime) (\s@FirewallDomainList' {} a -> s {creationTime = a} :: FirewallDomainList)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallDomainList_creatorRequestId :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_creatorRequestId = Lens.lens (\FirewallDomainList' {creatorRequestId} -> creatorRequestId) (\s@FirewallDomainList' {} a -> s {creatorRequestId = a} :: FirewallDomainList)++-- | The number of domain names that are specified in the domain list.+firewallDomainList_domainCount :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Int)+firewallDomainList_domainCount = Lens.lens (\FirewallDomainList' {domainCount} -> domainCount) (\s@FirewallDomainList' {} a -> s {domainCount = a} :: FirewallDomainList)++-- | The ID of the domain list.+firewallDomainList_id :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_id = Lens.lens (\FirewallDomainList' {id} -> id) (\s@FirewallDomainList' {} a -> s {id = a} :: FirewallDomainList)++-- | The owner of the list, used only for lists that are not managed by you.+-- For example, the managed domain list+-- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+-- @Route 53 Resolver DNS Firewall@.+firewallDomainList_managedOwnerName :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_managedOwnerName = Lens.lens (\FirewallDomainList' {managedOwnerName} -> managedOwnerName) (\s@FirewallDomainList' {} a -> s {managedOwnerName = a} :: FirewallDomainList)++-- | The date and time that the domain list was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+firewallDomainList_modificationTime :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_modificationTime = Lens.lens (\FirewallDomainList' {modificationTime} -> modificationTime) (\s@FirewallDomainList' {} a -> s {modificationTime = a} :: FirewallDomainList)++-- | The name of the domain list.+firewallDomainList_name :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_name = Lens.lens (\FirewallDomainList' {name} -> name) (\s@FirewallDomainList' {} a -> s {name = a} :: FirewallDomainList)++-- | The status of the domain list.+firewallDomainList_status :: Lens.Lens' FirewallDomainList (Prelude.Maybe FirewallDomainListStatus)+firewallDomainList_status = Lens.lens (\FirewallDomainList' {status} -> status) (\s@FirewallDomainList' {} a -> s {status = a} :: FirewallDomainList)++-- | Additional information about the status of the list, if available.+firewallDomainList_statusMessage :: Lens.Lens' FirewallDomainList (Prelude.Maybe Prelude.Text)+firewallDomainList_statusMessage = Lens.lens (\FirewallDomainList' {statusMessage} -> statusMessage) (\s@FirewallDomainList' {} a -> s {statusMessage = a} :: FirewallDomainList)++instance Data.FromJSON FirewallDomainList where+ parseJSON =+ Data.withObject+ "FirewallDomainList"+ ( \x ->+ FirewallDomainList'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "DomainCount")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ManagedOwnerName")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable FirewallDomainList where+ hashWithSalt _salt FirewallDomainList' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` domainCount+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` managedOwnerName+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData FirewallDomainList where+ rnf FirewallDomainList' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf domainCount+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf managedOwnerName+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/Route53Resolver/Types/FirewallDomainListMetadata.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.FirewallDomainListMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallDomainListMetadata 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++-- | Minimal high-level information for a firewall domain list. The action+-- ListFirewallDomainLists returns an array of these objects.+--+-- To retrieve full information for a firewall domain list, call+-- GetFirewallDomainList and ListFirewallDomains.+--+-- /See:/ 'newFirewallDomainListMetadata' smart constructor.+data FirewallDomainListMetadata = FirewallDomainListMetadata'+ { -- | The Amazon Resource Name (ARN) of the firewall domain list metadata.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the domain list.+ id :: Prelude.Maybe Prelude.Text,+ -- | The owner of the list, used only for lists that are not managed by you.+ -- For example, the managed domain list+ -- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+ -- @Route 53 Resolver DNS Firewall@.+ managedOwnerName :: Prelude.Maybe Prelude.Text,+ -- | The name of the domain list.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallDomainListMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'firewallDomainListMetadata_arn' - The Amazon Resource Name (ARN) of the firewall domain list metadata.+--+-- 'creatorRequestId', 'firewallDomainListMetadata_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'id', 'firewallDomainListMetadata_id' - The ID of the domain list.+--+-- 'managedOwnerName', 'firewallDomainListMetadata_managedOwnerName' - The owner of the list, used only for lists that are not managed by you.+-- For example, the managed domain list+-- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+-- @Route 53 Resolver DNS Firewall@.+--+-- 'name', 'firewallDomainListMetadata_name' - The name of the domain list.+newFirewallDomainListMetadata ::+ FirewallDomainListMetadata+newFirewallDomainListMetadata =+ FirewallDomainListMetadata'+ { arn = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ id = Prelude.Nothing,+ managedOwnerName = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the firewall domain list metadata.+firewallDomainListMetadata_arn :: Lens.Lens' FirewallDomainListMetadata (Prelude.Maybe Prelude.Text)+firewallDomainListMetadata_arn = Lens.lens (\FirewallDomainListMetadata' {arn} -> arn) (\s@FirewallDomainListMetadata' {} a -> s {arn = a} :: FirewallDomainListMetadata)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallDomainListMetadata_creatorRequestId :: Lens.Lens' FirewallDomainListMetadata (Prelude.Maybe Prelude.Text)+firewallDomainListMetadata_creatorRequestId = Lens.lens (\FirewallDomainListMetadata' {creatorRequestId} -> creatorRequestId) (\s@FirewallDomainListMetadata' {} a -> s {creatorRequestId = a} :: FirewallDomainListMetadata)++-- | The ID of the domain list.+firewallDomainListMetadata_id :: Lens.Lens' FirewallDomainListMetadata (Prelude.Maybe Prelude.Text)+firewallDomainListMetadata_id = Lens.lens (\FirewallDomainListMetadata' {id} -> id) (\s@FirewallDomainListMetadata' {} a -> s {id = a} :: FirewallDomainListMetadata)++-- | The owner of the list, used only for lists that are not managed by you.+-- For example, the managed domain list+-- @AWSManagedDomainsMalwareDomainList@ has the managed owner name+-- @Route 53 Resolver DNS Firewall@.+firewallDomainListMetadata_managedOwnerName :: Lens.Lens' FirewallDomainListMetadata (Prelude.Maybe Prelude.Text)+firewallDomainListMetadata_managedOwnerName = Lens.lens (\FirewallDomainListMetadata' {managedOwnerName} -> managedOwnerName) (\s@FirewallDomainListMetadata' {} a -> s {managedOwnerName = a} :: FirewallDomainListMetadata)++-- | The name of the domain list.+firewallDomainListMetadata_name :: Lens.Lens' FirewallDomainListMetadata (Prelude.Maybe Prelude.Text)+firewallDomainListMetadata_name = Lens.lens (\FirewallDomainListMetadata' {name} -> name) (\s@FirewallDomainListMetadata' {} a -> s {name = a} :: FirewallDomainListMetadata)++instance Data.FromJSON FirewallDomainListMetadata where+ parseJSON =+ Data.withObject+ "FirewallDomainListMetadata"+ ( \x ->+ FirewallDomainListMetadata'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ManagedOwnerName")+ Prelude.<*> (x Data..:? "Name")+ )++instance Prelude.Hashable FirewallDomainListMetadata where+ hashWithSalt _salt FirewallDomainListMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` managedOwnerName+ `Prelude.hashWithSalt` name++instance Prelude.NFData FirewallDomainListMetadata where+ rnf FirewallDomainListMetadata' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf managedOwnerName+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Route53Resolver/Types/FirewallDomainListStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.FirewallDomainListStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallDomainListStatus+ ( FirewallDomainListStatus+ ( ..,+ FirewallDomainListStatus_COMPLETE,+ FirewallDomainListStatus_COMPLETE_IMPORT_FAILED,+ FirewallDomainListStatus_DELETING,+ FirewallDomainListStatus_IMPORTING,+ FirewallDomainListStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallDomainListStatus = FirewallDomainListStatus'+ { fromFirewallDomainListStatus ::+ 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 FirewallDomainListStatus_COMPLETE :: FirewallDomainListStatus+pattern FirewallDomainListStatus_COMPLETE = FirewallDomainListStatus' "COMPLETE"++pattern FirewallDomainListStatus_COMPLETE_IMPORT_FAILED :: FirewallDomainListStatus+pattern FirewallDomainListStatus_COMPLETE_IMPORT_FAILED = FirewallDomainListStatus' "COMPLETE_IMPORT_FAILED"++pattern FirewallDomainListStatus_DELETING :: FirewallDomainListStatus+pattern FirewallDomainListStatus_DELETING = FirewallDomainListStatus' "DELETING"++pattern FirewallDomainListStatus_IMPORTING :: FirewallDomainListStatus+pattern FirewallDomainListStatus_IMPORTING = FirewallDomainListStatus' "IMPORTING"++pattern FirewallDomainListStatus_UPDATING :: FirewallDomainListStatus+pattern FirewallDomainListStatus_UPDATING = FirewallDomainListStatus' "UPDATING"++{-# COMPLETE+ FirewallDomainListStatus_COMPLETE,+ FirewallDomainListStatus_COMPLETE_IMPORT_FAILED,+ FirewallDomainListStatus_DELETING,+ FirewallDomainListStatus_IMPORTING,+ FirewallDomainListStatus_UPDATING,+ FirewallDomainListStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/FirewallDomainUpdateOperation.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.Route53Resolver.Types.FirewallDomainUpdateOperation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallDomainUpdateOperation+ ( FirewallDomainUpdateOperation+ ( ..,+ FirewallDomainUpdateOperation_ADD,+ FirewallDomainUpdateOperation_REMOVE,+ FirewallDomainUpdateOperation_REPLACE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallDomainUpdateOperation = FirewallDomainUpdateOperation'+ { fromFirewallDomainUpdateOperation ::+ 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 FirewallDomainUpdateOperation_ADD :: FirewallDomainUpdateOperation+pattern FirewallDomainUpdateOperation_ADD = FirewallDomainUpdateOperation' "ADD"++pattern FirewallDomainUpdateOperation_REMOVE :: FirewallDomainUpdateOperation+pattern FirewallDomainUpdateOperation_REMOVE = FirewallDomainUpdateOperation' "REMOVE"++pattern FirewallDomainUpdateOperation_REPLACE :: FirewallDomainUpdateOperation+pattern FirewallDomainUpdateOperation_REPLACE = FirewallDomainUpdateOperation' "REPLACE"++{-# COMPLETE+ FirewallDomainUpdateOperation_ADD,+ FirewallDomainUpdateOperation_REMOVE,+ FirewallDomainUpdateOperation_REPLACE,+ FirewallDomainUpdateOperation'+ #-}
+ gen/Amazonka/Route53Resolver/Types/FirewallFailOpenStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.FirewallFailOpenStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallFailOpenStatus+ ( FirewallFailOpenStatus+ ( ..,+ FirewallFailOpenStatus_DISABLED,+ FirewallFailOpenStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallFailOpenStatus = FirewallFailOpenStatus'+ { fromFirewallFailOpenStatus ::+ 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 FirewallFailOpenStatus_DISABLED :: FirewallFailOpenStatus+pattern FirewallFailOpenStatus_DISABLED = FirewallFailOpenStatus' "DISABLED"++pattern FirewallFailOpenStatus_ENABLED :: FirewallFailOpenStatus+pattern FirewallFailOpenStatus_ENABLED = FirewallFailOpenStatus' "ENABLED"++{-# COMPLETE+ FirewallFailOpenStatus_DISABLED,+ FirewallFailOpenStatus_ENABLED,+ FirewallFailOpenStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/FirewallRule.hs view
@@ -0,0 +1,303 @@+{-# 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.Route53Resolver.Types.FirewallRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.Action+import Amazonka.Route53Resolver.Types.BlockOverrideDnsType+import Amazonka.Route53Resolver.Types.BlockResponse++-- | A single firewall rule in a rule group.+--+-- /See:/ 'newFirewallRule' smart constructor.+data FirewallRule = FirewallRule'+ { -- | The action that DNS Firewall should take on a DNS query when it matches+ -- one of the domains in the rule\'s domain list:+ --+ -- - @ALLOW@ - Permit the request to go through.+ --+ -- - @ALERT@ - Permit the request to go through but send an alert to the+ -- logs.+ --+ -- - @BLOCK@ - Disallow the request. If this is specified, additional+ -- handling details are provided in the rule\'s @BlockResponse@+ -- setting.+ action :: Prelude.Maybe Action,+ -- | The DNS record\'s type. This determines the format of the record value+ -- that you provided in @BlockOverrideDomain@. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideDnsType :: Prelude.Maybe BlockOverrideDnsType,+ -- | The custom DNS record to send back in response to the query. Used for+ -- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideDomain :: Prelude.Maybe Prelude.Text,+ -- | The recommended amount of time, in seconds, for the DNS resolver or web+ -- browser to cache the provided override record. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideTtl :: Prelude.Maybe Prelude.Int,+ -- | The way that you want DNS Firewall to block the request. Used for the+ -- rule action setting @BLOCK@.+ --+ -- - @NODATA@ - Respond indicating that the query was successful, but no+ -- response is available for it.+ --+ -- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+ -- query doesn\'t exist.+ --+ -- - @OVERRIDE@ - Provide a custom override in the response. This option+ -- requires custom handling details in the rule\'s @BlockOverride*@+ -- settings.+ blockResponse :: Prelude.Maybe BlockResponse,+ -- | The date and time that the rule was created, in Unix time format and+ -- Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of executing the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the domain list that\'s used in the rule.+ firewallDomainListId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the firewall rule group of the rule.+ firewallRuleGroupId :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the rule was last modified, in Unix time format+ -- and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | The name of the rule.+ name :: Prelude.Maybe Prelude.Text,+ -- | The priority of the rule in the rule group. This value must be unique+ -- within the rule group. DNS Firewall processes the rules in a rule group+ -- by order of priority, starting from the lowest setting.+ priority :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'firewallRule_action' - The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. If this is specified, additional+-- handling details are provided in the rule\'s @BlockResponse@+-- setting.+--+-- 'blockOverrideDnsType', 'firewallRule_blockOverrideDnsType' - The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockOverrideDomain', 'firewallRule_blockOverrideDomain' - The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockOverrideTtl', 'firewallRule_blockOverrideTtl' - The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockResponse', 'firewallRule_blockResponse' - The way that you want DNS Firewall to block the request. Used for the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+--+-- 'creationTime', 'firewallRule_creationTime' - The date and time that the rule was created, in Unix time format and+-- Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'firewallRule_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of executing the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'firewallDomainListId', 'firewallRule_firewallDomainListId' - The ID of the domain list that\'s used in the rule.+--+-- 'firewallRuleGroupId', 'firewallRule_firewallRuleGroupId' - The unique identifier of the firewall rule group of the rule.+--+-- 'modificationTime', 'firewallRule_modificationTime' - The date and time that the rule was last modified, in Unix time format+-- and Coordinated Universal Time (UTC).+--+-- 'name', 'firewallRule_name' - The name of the rule.+--+-- 'priority', 'firewallRule_priority' - The priority of the rule in the rule group. This value must be unique+-- within the rule group. DNS Firewall processes the rules in a rule group+-- by order of priority, starting from the lowest setting.+newFirewallRule ::+ FirewallRule+newFirewallRule =+ FirewallRule'+ { action = Prelude.Nothing,+ blockOverrideDnsType = Prelude.Nothing,+ blockOverrideDomain = Prelude.Nothing,+ blockOverrideTtl = Prelude.Nothing,+ blockResponse = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ firewallDomainListId = Prelude.Nothing,+ firewallRuleGroupId = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ priority = Prelude.Nothing+ }++-- | The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. If this is specified, additional+-- handling details are provided in the rule\'s @BlockResponse@+-- setting.+firewallRule_action :: Lens.Lens' FirewallRule (Prelude.Maybe Action)+firewallRule_action = Lens.lens (\FirewallRule' {action} -> action) (\s@FirewallRule' {} a -> s {action = a} :: FirewallRule)++-- | The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+firewallRule_blockOverrideDnsType :: Lens.Lens' FirewallRule (Prelude.Maybe BlockOverrideDnsType)+firewallRule_blockOverrideDnsType = Lens.lens (\FirewallRule' {blockOverrideDnsType} -> blockOverrideDnsType) (\s@FirewallRule' {} a -> s {blockOverrideDnsType = a} :: FirewallRule)++-- | The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+firewallRule_blockOverrideDomain :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_blockOverrideDomain = Lens.lens (\FirewallRule' {blockOverrideDomain} -> blockOverrideDomain) (\s@FirewallRule' {} a -> s {blockOverrideDomain = a} :: FirewallRule)++-- | The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+firewallRule_blockOverrideTtl :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Int)+firewallRule_blockOverrideTtl = Lens.lens (\FirewallRule' {blockOverrideTtl} -> blockOverrideTtl) (\s@FirewallRule' {} a -> s {blockOverrideTtl = a} :: FirewallRule)++-- | The way that you want DNS Firewall to block the request. Used for the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+firewallRule_blockResponse :: Lens.Lens' FirewallRule (Prelude.Maybe BlockResponse)+firewallRule_blockResponse = Lens.lens (\FirewallRule' {blockResponse} -> blockResponse) (\s@FirewallRule' {} a -> s {blockResponse = a} :: FirewallRule)++-- | The date and time that the rule was created, in Unix time format and+-- Coordinated Universal Time (UTC).+firewallRule_creationTime :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_creationTime = Lens.lens (\FirewallRule' {creationTime} -> creationTime) (\s@FirewallRule' {} a -> s {creationTime = a} :: FirewallRule)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of executing the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallRule_creatorRequestId :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_creatorRequestId = Lens.lens (\FirewallRule' {creatorRequestId} -> creatorRequestId) (\s@FirewallRule' {} a -> s {creatorRequestId = a} :: FirewallRule)++-- | The ID of the domain list that\'s used in the rule.+firewallRule_firewallDomainListId :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_firewallDomainListId = Lens.lens (\FirewallRule' {firewallDomainListId} -> firewallDomainListId) (\s@FirewallRule' {} a -> s {firewallDomainListId = a} :: FirewallRule)++-- | The unique identifier of the firewall rule group of the rule.+firewallRule_firewallRuleGroupId :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_firewallRuleGroupId = Lens.lens (\FirewallRule' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@FirewallRule' {} a -> s {firewallRuleGroupId = a} :: FirewallRule)++-- | The date and time that the rule was last modified, in Unix time format+-- and Coordinated Universal Time (UTC).+firewallRule_modificationTime :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_modificationTime = Lens.lens (\FirewallRule' {modificationTime} -> modificationTime) (\s@FirewallRule' {} a -> s {modificationTime = a} :: FirewallRule)++-- | The name of the rule.+firewallRule_name :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Text)+firewallRule_name = Lens.lens (\FirewallRule' {name} -> name) (\s@FirewallRule' {} a -> s {name = a} :: FirewallRule)++-- | The priority of the rule in the rule group. This value must be unique+-- within the rule group. DNS Firewall processes the rules in a rule group+-- by order of priority, starting from the lowest setting.+firewallRule_priority :: Lens.Lens' FirewallRule (Prelude.Maybe Prelude.Int)+firewallRule_priority = Lens.lens (\FirewallRule' {priority} -> priority) (\s@FirewallRule' {} a -> s {priority = a} :: FirewallRule)++instance Data.FromJSON FirewallRule where+ parseJSON =+ Data.withObject+ "FirewallRule"+ ( \x ->+ FirewallRule'+ Prelude.<$> (x Data..:? "Action")+ Prelude.<*> (x Data..:? "BlockOverrideDnsType")+ Prelude.<*> (x Data..:? "BlockOverrideDomain")+ Prelude.<*> (x Data..:? "BlockOverrideTtl")+ Prelude.<*> (x Data..:? "BlockResponse")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "FirewallDomainListId")+ Prelude.<*> (x Data..:? "FirewallRuleGroupId")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Priority")+ )++instance Prelude.Hashable FirewallRule where+ hashWithSalt _salt FirewallRule' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` blockOverrideDnsType+ `Prelude.hashWithSalt` blockOverrideDomain+ `Prelude.hashWithSalt` blockOverrideTtl+ `Prelude.hashWithSalt` blockResponse+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` firewallDomainListId+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` priority++instance Prelude.NFData FirewallRule where+ rnf FirewallRule' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf blockOverrideDnsType+ `Prelude.seq` Prelude.rnf blockOverrideDomain+ `Prelude.seq` Prelude.rnf blockOverrideTtl+ `Prelude.seq` Prelude.rnf blockResponse+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf firewallDomainListId+ `Prelude.seq` Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf priority
+ gen/Amazonka/Route53Resolver/Types/FirewallRuleGroup.hs view
@@ -0,0 +1,224 @@+{-# 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.Route53Resolver.Types.FirewallRuleGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRuleGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.FirewallRuleGroupStatus+import Amazonka.Route53Resolver.Types.ShareStatus++-- | High-level information for a firewall rule group. A firewall rule group+-- is a collection of rules that DNS Firewall uses to filter DNS network+-- traffic for a VPC. To retrieve the rules for the rule group, call+-- ListFirewallRules.+--+-- /See:/ 'newFirewallRuleGroup' smart constructor.+data FirewallRuleGroup = FirewallRuleGroup'+ { -- | The ARN (Amazon Resource Name) of the rule group.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the rule group was created, in Unix time format+ -- and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the rule group.+ id :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the rule group was last modified, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | The name of the rule group.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the account that created the rule+ -- group. When a rule group is shared with your account, this is the+ -- account that has shared the rule group with you.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The number of rules in the rule group.+ ruleCount :: Prelude.Maybe Prelude.Int,+ -- | Whether the rule group is shared with other Amazon Web Services+ -- accounts, or was shared with the current account by another Amazon Web+ -- Services account. Sharing is configured through Resource Access Manager+ -- (RAM).+ shareStatus :: Prelude.Maybe ShareStatus,+ -- | The status of the domain list.+ status :: Prelude.Maybe FirewallRuleGroupStatus,+ -- | Additional information about the status of the rule group, if available.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallRuleGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'firewallRuleGroup_arn' - The ARN (Amazon Resource Name) of the rule group.+--+-- 'creationTime', 'firewallRuleGroup_creationTime' - The date and time that the rule group was created, in Unix time format+-- and Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'firewallRuleGroup_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'id', 'firewallRuleGroup_id' - The ID of the rule group.+--+-- 'modificationTime', 'firewallRuleGroup_modificationTime' - The date and time that the rule group was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'name', 'firewallRuleGroup_name' - The name of the rule group.+--+-- 'ownerId', 'firewallRuleGroup_ownerId' - The Amazon Web Services account ID for the account that created the rule+-- group. When a rule group is shared with your account, this is the+-- account that has shared the rule group with you.+--+-- 'ruleCount', 'firewallRuleGroup_ruleCount' - The number of rules in the rule group.+--+-- 'shareStatus', 'firewallRuleGroup_shareStatus' - Whether the rule group is shared with other Amazon Web Services+-- accounts, or was shared with the current account by another Amazon Web+-- Services account. Sharing is configured through Resource Access Manager+-- (RAM).+--+-- 'status', 'firewallRuleGroup_status' - The status of the domain list.+--+-- 'statusMessage', 'firewallRuleGroup_statusMessage' - Additional information about the status of the rule group, if available.+newFirewallRuleGroup ::+ FirewallRuleGroup+newFirewallRuleGroup =+ FirewallRuleGroup'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ id = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ ruleCount = Prelude.Nothing,+ shareStatus = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The ARN (Amazon Resource Name) of the rule group.+firewallRuleGroup_arn :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_arn = Lens.lens (\FirewallRuleGroup' {arn} -> arn) (\s@FirewallRuleGroup' {} a -> s {arn = a} :: FirewallRuleGroup)++-- | The date and time that the rule group was created, in Unix time format+-- and Coordinated Universal Time (UTC).+firewallRuleGroup_creationTime :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_creationTime = Lens.lens (\FirewallRuleGroup' {creationTime} -> creationTime) (\s@FirewallRuleGroup' {} a -> s {creationTime = a} :: FirewallRuleGroup)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallRuleGroup_creatorRequestId :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_creatorRequestId = Lens.lens (\FirewallRuleGroup' {creatorRequestId} -> creatorRequestId) (\s@FirewallRuleGroup' {} a -> s {creatorRequestId = a} :: FirewallRuleGroup)++-- | The ID of the rule group.+firewallRuleGroup_id :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_id = Lens.lens (\FirewallRuleGroup' {id} -> id) (\s@FirewallRuleGroup' {} a -> s {id = a} :: FirewallRuleGroup)++-- | The date and time that the rule group was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+firewallRuleGroup_modificationTime :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_modificationTime = Lens.lens (\FirewallRuleGroup' {modificationTime} -> modificationTime) (\s@FirewallRuleGroup' {} a -> s {modificationTime = a} :: FirewallRuleGroup)++-- | The name of the rule group.+firewallRuleGroup_name :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_name = Lens.lens (\FirewallRuleGroup' {name} -> name) (\s@FirewallRuleGroup' {} a -> s {name = a} :: FirewallRuleGroup)++-- | The Amazon Web Services account ID for the account that created the rule+-- group. When a rule group is shared with your account, this is the+-- account that has shared the rule group with you.+firewallRuleGroup_ownerId :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_ownerId = Lens.lens (\FirewallRuleGroup' {ownerId} -> ownerId) (\s@FirewallRuleGroup' {} a -> s {ownerId = a} :: FirewallRuleGroup)++-- | The number of rules in the rule group.+firewallRuleGroup_ruleCount :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Int)+firewallRuleGroup_ruleCount = Lens.lens (\FirewallRuleGroup' {ruleCount} -> ruleCount) (\s@FirewallRuleGroup' {} a -> s {ruleCount = a} :: FirewallRuleGroup)++-- | Whether the rule group is shared with other Amazon Web Services+-- accounts, or was shared with the current account by another Amazon Web+-- Services account. Sharing is configured through Resource Access Manager+-- (RAM).+firewallRuleGroup_shareStatus :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe ShareStatus)+firewallRuleGroup_shareStatus = Lens.lens (\FirewallRuleGroup' {shareStatus} -> shareStatus) (\s@FirewallRuleGroup' {} a -> s {shareStatus = a} :: FirewallRuleGroup)++-- | The status of the domain list.+firewallRuleGroup_status :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe FirewallRuleGroupStatus)+firewallRuleGroup_status = Lens.lens (\FirewallRuleGroup' {status} -> status) (\s@FirewallRuleGroup' {} a -> s {status = a} :: FirewallRuleGroup)++-- | Additional information about the status of the rule group, if available.+firewallRuleGroup_statusMessage :: Lens.Lens' FirewallRuleGroup (Prelude.Maybe Prelude.Text)+firewallRuleGroup_statusMessage = Lens.lens (\FirewallRuleGroup' {statusMessage} -> statusMessage) (\s@FirewallRuleGroup' {} a -> s {statusMessage = a} :: FirewallRuleGroup)++instance Data.FromJSON FirewallRuleGroup where+ parseJSON =+ Data.withObject+ "FirewallRuleGroup"+ ( \x ->+ FirewallRuleGroup'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "RuleCount")+ Prelude.<*> (x Data..:? "ShareStatus")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable FirewallRuleGroup where+ hashWithSalt _salt FirewallRuleGroup' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` ruleCount+ `Prelude.hashWithSalt` shareStatus+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData FirewallRuleGroup where+ rnf FirewallRuleGroup' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf ruleCount+ `Prelude.seq` Prelude.rnf shareStatus+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupAssociation.hs view
@@ -0,0 +1,256 @@+{-# 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.Route53Resolver.Types.FirewallRuleGroupAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociationStatus+import Amazonka.Route53Resolver.Types.MutationProtectionStatus++-- | An association between a firewall rule group and a VPC, which enables+-- DNS filtering for the VPC.+--+-- /See:/ 'newFirewallRuleGroupAssociation' smart constructor.+data FirewallRuleGroupAssociation = FirewallRuleGroupAssociation'+ { -- | The Amazon Resource Name (ARN) of the firewall rule group association.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the association was created, in Unix time format+ -- and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the firewall rule group.+ firewallRuleGroupId :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the association.+ id :: Prelude.Maybe Prelude.Text,+ -- | The owner of the association, used only for associations that are not+ -- managed by you. If you use Firewall Manager to manage your DNS+ -- Firewalls, then this reports Firewall Manager as the managed owner.+ managedOwnerName :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the association was last modified, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | If enabled, this setting disallows modification or removal of the+ -- association, to help prevent against accidentally altering DNS firewall+ -- protections.+ mutationProtection :: Prelude.Maybe MutationProtectionStatus,+ -- | The name of the association.+ name :: Prelude.Maybe Prelude.Text,+ -- | The setting that determines the processing order of the rule group among+ -- the rule groups that are associated with a single VPC. DNS Firewall+ -- filters VPC traffic starting from rule group with the lowest numeric+ -- priority setting.+ priority :: Prelude.Maybe Prelude.Int,+ -- | The current status of the association.+ status :: Prelude.Maybe FirewallRuleGroupAssociationStatus,+ -- | Additional information about the status of the response, if available.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the VPC that is associated with the rule group.+ vpcId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallRuleGroupAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'firewallRuleGroupAssociation_arn' - The Amazon Resource Name (ARN) of the firewall rule group association.+--+-- 'creationTime', 'firewallRuleGroupAssociation_creationTime' - The date and time that the association was created, in Unix time format+-- and Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'firewallRuleGroupAssociation_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'firewallRuleGroupId', 'firewallRuleGroupAssociation_firewallRuleGroupId' - The unique identifier of the firewall rule group.+--+-- 'id', 'firewallRuleGroupAssociation_id' - The identifier for the association.+--+-- 'managedOwnerName', 'firewallRuleGroupAssociation_managedOwnerName' - The owner of the association, used only for associations that are not+-- managed by you. If you use Firewall Manager to manage your DNS+-- Firewalls, then this reports Firewall Manager as the managed owner.+--+-- 'modificationTime', 'firewallRuleGroupAssociation_modificationTime' - The date and time that the association was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'mutationProtection', 'firewallRuleGroupAssociation_mutationProtection' - If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections.+--+-- 'name', 'firewallRuleGroupAssociation_name' - The name of the association.+--+-- 'priority', 'firewallRuleGroupAssociation_priority' - The setting that determines the processing order of the rule group among+-- the rule groups that are associated with a single VPC. DNS Firewall+-- filters VPC traffic starting from rule group with the lowest numeric+-- priority setting.+--+-- 'status', 'firewallRuleGroupAssociation_status' - The current status of the association.+--+-- 'statusMessage', 'firewallRuleGroupAssociation_statusMessage' - Additional information about the status of the response, if available.+--+-- 'vpcId', 'firewallRuleGroupAssociation_vpcId' - The unique identifier of the VPC that is associated with the rule group.+newFirewallRuleGroupAssociation ::+ FirewallRuleGroupAssociation+newFirewallRuleGroupAssociation =+ FirewallRuleGroupAssociation'+ { arn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ firewallRuleGroupId = Prelude.Nothing,+ id = Prelude.Nothing,+ managedOwnerName = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ mutationProtection = Prelude.Nothing,+ name = Prelude.Nothing,+ priority = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ vpcId = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the firewall rule group association.+firewallRuleGroupAssociation_arn :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_arn = Lens.lens (\FirewallRuleGroupAssociation' {arn} -> arn) (\s@FirewallRuleGroupAssociation' {} a -> s {arn = a} :: FirewallRuleGroupAssociation)++-- | The date and time that the association was created, in Unix time format+-- and Coordinated Universal Time (UTC).+firewallRuleGroupAssociation_creationTime :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_creationTime = Lens.lens (\FirewallRuleGroupAssociation' {creationTime} -> creationTime) (\s@FirewallRuleGroupAssociation' {} a -> s {creationTime = a} :: FirewallRuleGroupAssociation)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallRuleGroupAssociation_creatorRequestId :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_creatorRequestId = Lens.lens (\FirewallRuleGroupAssociation' {creatorRequestId} -> creatorRequestId) (\s@FirewallRuleGroupAssociation' {} a -> s {creatorRequestId = a} :: FirewallRuleGroupAssociation)++-- | The unique identifier of the firewall rule group.+firewallRuleGroupAssociation_firewallRuleGroupId :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_firewallRuleGroupId = Lens.lens (\FirewallRuleGroupAssociation' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@FirewallRuleGroupAssociation' {} a -> s {firewallRuleGroupId = a} :: FirewallRuleGroupAssociation)++-- | The identifier for the association.+firewallRuleGroupAssociation_id :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_id = Lens.lens (\FirewallRuleGroupAssociation' {id} -> id) (\s@FirewallRuleGroupAssociation' {} a -> s {id = a} :: FirewallRuleGroupAssociation)++-- | The owner of the association, used only for associations that are not+-- managed by you. If you use Firewall Manager to manage your DNS+-- Firewalls, then this reports Firewall Manager as the managed owner.+firewallRuleGroupAssociation_managedOwnerName :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_managedOwnerName = Lens.lens (\FirewallRuleGroupAssociation' {managedOwnerName} -> managedOwnerName) (\s@FirewallRuleGroupAssociation' {} a -> s {managedOwnerName = a} :: FirewallRuleGroupAssociation)++-- | The date and time that the association was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+firewallRuleGroupAssociation_modificationTime :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_modificationTime = Lens.lens (\FirewallRuleGroupAssociation' {modificationTime} -> modificationTime) (\s@FirewallRuleGroupAssociation' {} a -> s {modificationTime = a} :: FirewallRuleGroupAssociation)++-- | If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections.+firewallRuleGroupAssociation_mutationProtection :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe MutationProtectionStatus)+firewallRuleGroupAssociation_mutationProtection = Lens.lens (\FirewallRuleGroupAssociation' {mutationProtection} -> mutationProtection) (\s@FirewallRuleGroupAssociation' {} a -> s {mutationProtection = a} :: FirewallRuleGroupAssociation)++-- | The name of the association.+firewallRuleGroupAssociation_name :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_name = Lens.lens (\FirewallRuleGroupAssociation' {name} -> name) (\s@FirewallRuleGroupAssociation' {} a -> s {name = a} :: FirewallRuleGroupAssociation)++-- | The setting that determines the processing order of the rule group among+-- the rule groups that are associated with a single VPC. DNS Firewall+-- filters VPC traffic starting from rule group with the lowest numeric+-- priority setting.+firewallRuleGroupAssociation_priority :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Int)+firewallRuleGroupAssociation_priority = Lens.lens (\FirewallRuleGroupAssociation' {priority} -> priority) (\s@FirewallRuleGroupAssociation' {} a -> s {priority = a} :: FirewallRuleGroupAssociation)++-- | The current status of the association.+firewallRuleGroupAssociation_status :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe FirewallRuleGroupAssociationStatus)+firewallRuleGroupAssociation_status = Lens.lens (\FirewallRuleGroupAssociation' {status} -> status) (\s@FirewallRuleGroupAssociation' {} a -> s {status = a} :: FirewallRuleGroupAssociation)++-- | Additional information about the status of the response, if available.+firewallRuleGroupAssociation_statusMessage :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_statusMessage = Lens.lens (\FirewallRuleGroupAssociation' {statusMessage} -> statusMessage) (\s@FirewallRuleGroupAssociation' {} a -> s {statusMessage = a} :: FirewallRuleGroupAssociation)++-- | The unique identifier of the VPC that is associated with the rule group.+firewallRuleGroupAssociation_vpcId :: Lens.Lens' FirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+firewallRuleGroupAssociation_vpcId = Lens.lens (\FirewallRuleGroupAssociation' {vpcId} -> vpcId) (\s@FirewallRuleGroupAssociation' {} a -> s {vpcId = a} :: FirewallRuleGroupAssociation)++instance Data.FromJSON FirewallRuleGroupAssociation where+ parseJSON =+ Data.withObject+ "FirewallRuleGroupAssociation"+ ( \x ->+ FirewallRuleGroupAssociation'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "FirewallRuleGroupId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ManagedOwnerName")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "MutationProtection")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Priority")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ Prelude.<*> (x Data..:? "VpcId")+ )++instance+ Prelude.Hashable+ FirewallRuleGroupAssociation+ where+ hashWithSalt _salt FirewallRuleGroupAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` managedOwnerName+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` mutationProtection+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` vpcId++instance Prelude.NFData FirewallRuleGroupAssociation where+ rnf FirewallRuleGroupAssociation' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf managedOwnerName+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf mutationProtection+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupAssociationStatus.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.Route53Resolver.Types.FirewallRuleGroupAssociationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRuleGroupAssociationStatus+ ( FirewallRuleGroupAssociationStatus+ ( ..,+ FirewallRuleGroupAssociationStatus_COMPLETE,+ FirewallRuleGroupAssociationStatus_DELETING,+ FirewallRuleGroupAssociationStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallRuleGroupAssociationStatus = FirewallRuleGroupAssociationStatus'+ { fromFirewallRuleGroupAssociationStatus ::+ 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 FirewallRuleGroupAssociationStatus_COMPLETE :: FirewallRuleGroupAssociationStatus+pattern FirewallRuleGroupAssociationStatus_COMPLETE = FirewallRuleGroupAssociationStatus' "COMPLETE"++pattern FirewallRuleGroupAssociationStatus_DELETING :: FirewallRuleGroupAssociationStatus+pattern FirewallRuleGroupAssociationStatus_DELETING = FirewallRuleGroupAssociationStatus' "DELETING"++pattern FirewallRuleGroupAssociationStatus_UPDATING :: FirewallRuleGroupAssociationStatus+pattern FirewallRuleGroupAssociationStatus_UPDATING = FirewallRuleGroupAssociationStatus' "UPDATING"++{-# COMPLETE+ FirewallRuleGroupAssociationStatus_COMPLETE,+ FirewallRuleGroupAssociationStatus_DELETING,+ FirewallRuleGroupAssociationStatus_UPDATING,+ FirewallRuleGroupAssociationStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupMetadata.hs view
@@ -0,0 +1,158 @@+{-# 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.Route53Resolver.Types.FirewallRuleGroupMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRuleGroupMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ShareStatus++-- | Minimal high-level information for a firewall rule group. The action+-- ListFirewallRuleGroups returns an array of these objects.+--+-- To retrieve full information for a firewall rule group, call+-- GetFirewallRuleGroup and ListFirewallRules.+--+-- /See:/ 'newFirewallRuleGroupMetadata' smart constructor.+data FirewallRuleGroupMetadata = FirewallRuleGroupMetadata'+ { -- | The ARN (Amazon Resource Name) of the rule group.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A unique string defined by you to identify the request. This allows you+ -- to retry failed requests without the risk of running the operation+ -- twice. This can be any unique string, for example, a timestamp.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the rule group.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the rule group.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the account that created the rule+ -- group. When a rule group is shared with your account, this is the+ -- account that has shared the rule group with you.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | Whether the rule group is shared with other Amazon Web Services+ -- accounts, or was shared with the current account by another Amazon Web+ -- Services account. Sharing is configured through Resource Access Manager+ -- (RAM).+ shareStatus :: Prelude.Maybe ShareStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirewallRuleGroupMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'firewallRuleGroupMetadata_arn' - The ARN (Amazon Resource Name) of the rule group.+--+-- 'creatorRequestId', 'firewallRuleGroupMetadata_creatorRequestId' - A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+--+-- 'id', 'firewallRuleGroupMetadata_id' - The ID of the rule group.+--+-- 'name', 'firewallRuleGroupMetadata_name' - The name of the rule group.+--+-- 'ownerId', 'firewallRuleGroupMetadata_ownerId' - The Amazon Web Services account ID for the account that created the rule+-- group. When a rule group is shared with your account, this is the+-- account that has shared the rule group with you.+--+-- 'shareStatus', 'firewallRuleGroupMetadata_shareStatus' - Whether the rule group is shared with other Amazon Web Services+-- accounts, or was shared with the current account by another Amazon Web+-- Services account. Sharing is configured through Resource Access Manager+-- (RAM).+newFirewallRuleGroupMetadata ::+ FirewallRuleGroupMetadata+newFirewallRuleGroupMetadata =+ FirewallRuleGroupMetadata'+ { arn = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ shareStatus = Prelude.Nothing+ }++-- | The ARN (Amazon Resource Name) of the rule group.+firewallRuleGroupMetadata_arn :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe Prelude.Text)+firewallRuleGroupMetadata_arn = Lens.lens (\FirewallRuleGroupMetadata' {arn} -> arn) (\s@FirewallRuleGroupMetadata' {} a -> s {arn = a} :: FirewallRuleGroupMetadata)++-- | A unique string defined by you to identify the request. This allows you+-- to retry failed requests without the risk of running the operation+-- twice. This can be any unique string, for example, a timestamp.+firewallRuleGroupMetadata_creatorRequestId :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe Prelude.Text)+firewallRuleGroupMetadata_creatorRequestId = Lens.lens (\FirewallRuleGroupMetadata' {creatorRequestId} -> creatorRequestId) (\s@FirewallRuleGroupMetadata' {} a -> s {creatorRequestId = a} :: FirewallRuleGroupMetadata)++-- | The ID of the rule group.+firewallRuleGroupMetadata_id :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe Prelude.Text)+firewallRuleGroupMetadata_id = Lens.lens (\FirewallRuleGroupMetadata' {id} -> id) (\s@FirewallRuleGroupMetadata' {} a -> s {id = a} :: FirewallRuleGroupMetadata)++-- | The name of the rule group.+firewallRuleGroupMetadata_name :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe Prelude.Text)+firewallRuleGroupMetadata_name = Lens.lens (\FirewallRuleGroupMetadata' {name} -> name) (\s@FirewallRuleGroupMetadata' {} a -> s {name = a} :: FirewallRuleGroupMetadata)++-- | The Amazon Web Services account ID for the account that created the rule+-- group. When a rule group is shared with your account, this is the+-- account that has shared the rule group with you.+firewallRuleGroupMetadata_ownerId :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe Prelude.Text)+firewallRuleGroupMetadata_ownerId = Lens.lens (\FirewallRuleGroupMetadata' {ownerId} -> ownerId) (\s@FirewallRuleGroupMetadata' {} a -> s {ownerId = a} :: FirewallRuleGroupMetadata)++-- | Whether the rule group is shared with other Amazon Web Services+-- accounts, or was shared with the current account by another Amazon Web+-- Services account. Sharing is configured through Resource Access Manager+-- (RAM).+firewallRuleGroupMetadata_shareStatus :: Lens.Lens' FirewallRuleGroupMetadata (Prelude.Maybe ShareStatus)+firewallRuleGroupMetadata_shareStatus = Lens.lens (\FirewallRuleGroupMetadata' {shareStatus} -> shareStatus) (\s@FirewallRuleGroupMetadata' {} a -> s {shareStatus = a} :: FirewallRuleGroupMetadata)++instance Data.FromJSON FirewallRuleGroupMetadata where+ parseJSON =+ Data.withObject+ "FirewallRuleGroupMetadata"+ ( \x ->+ FirewallRuleGroupMetadata'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ShareStatus")+ )++instance Prelude.Hashable FirewallRuleGroupMetadata where+ hashWithSalt _salt FirewallRuleGroupMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` shareStatus++instance Prelude.NFData FirewallRuleGroupMetadata where+ rnf FirewallRuleGroupMetadata' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf shareStatus
+ gen/Amazonka/Route53Resolver/Types/FirewallRuleGroupStatus.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.Route53Resolver.Types.FirewallRuleGroupStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.FirewallRuleGroupStatus+ ( FirewallRuleGroupStatus+ ( ..,+ FirewallRuleGroupStatus_COMPLETE,+ FirewallRuleGroupStatus_DELETING,+ FirewallRuleGroupStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FirewallRuleGroupStatus = FirewallRuleGroupStatus'+ { fromFirewallRuleGroupStatus ::+ 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 FirewallRuleGroupStatus_COMPLETE :: FirewallRuleGroupStatus+pattern FirewallRuleGroupStatus_COMPLETE = FirewallRuleGroupStatus' "COMPLETE"++pattern FirewallRuleGroupStatus_DELETING :: FirewallRuleGroupStatus+pattern FirewallRuleGroupStatus_DELETING = FirewallRuleGroupStatus' "DELETING"++pattern FirewallRuleGroupStatus_UPDATING :: FirewallRuleGroupStatus+pattern FirewallRuleGroupStatus_UPDATING = FirewallRuleGroupStatus' "UPDATING"++{-# COMPLETE+ FirewallRuleGroupStatus_COMPLETE,+ FirewallRuleGroupStatus_DELETING,+ FirewallRuleGroupStatus_UPDATING,+ FirewallRuleGroupStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/IpAddressRequest.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.Route53Resolver.Types.IpAddressRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.IpAddressRequest 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++-- | In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+-- request, the IP address that DNS queries originate from (for outbound+-- endpoints) or that you forward DNS queries to (for inbound endpoints).+-- @IpAddressRequest@ also includes the ID of the subnet that contains the+-- IP address.+--+-- /See:/ 'newIpAddressRequest' smart constructor.+data IpAddressRequest = IpAddressRequest'+ { -- | The IP address that you want to use for DNS queries.+ ip :: Prelude.Maybe Prelude.Text,+ -- | The ID of the subnet that contains the IP address.+ subnetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpAddressRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'ipAddressRequest_ip' - The IP address that you want to use for DNS queries.+--+-- 'subnetId', 'ipAddressRequest_subnetId' - The ID of the subnet that contains the IP address.+newIpAddressRequest ::+ -- | 'subnetId'+ Prelude.Text ->+ IpAddressRequest+newIpAddressRequest pSubnetId_ =+ IpAddressRequest'+ { ip = Prelude.Nothing,+ subnetId = pSubnetId_+ }++-- | The IP address that you want to use for DNS queries.+ipAddressRequest_ip :: Lens.Lens' IpAddressRequest (Prelude.Maybe Prelude.Text)+ipAddressRequest_ip = Lens.lens (\IpAddressRequest' {ip} -> ip) (\s@IpAddressRequest' {} a -> s {ip = a} :: IpAddressRequest)++-- | The ID of the subnet that contains the IP address.+ipAddressRequest_subnetId :: Lens.Lens' IpAddressRequest Prelude.Text+ipAddressRequest_subnetId = Lens.lens (\IpAddressRequest' {subnetId} -> subnetId) (\s@IpAddressRequest' {} a -> s {subnetId = a} :: IpAddressRequest)++instance Prelude.Hashable IpAddressRequest where+ hashWithSalt _salt IpAddressRequest' {..} =+ _salt+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` subnetId++instance Prelude.NFData IpAddressRequest where+ rnf IpAddressRequest' {..} =+ Prelude.rnf ip `Prelude.seq` Prelude.rnf subnetId++instance Data.ToJSON IpAddressRequest where+ toJSON IpAddressRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Ip" Data..=) Prelude.<$> ip,+ Prelude.Just ("SubnetId" Data..= subnetId)+ ]+ )
+ gen/Amazonka/Route53Resolver/Types/IpAddressResponse.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.IpAddressResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.IpAddressResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.IpAddressStatus++-- | In the response to a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+-- request, information about the IP addresses that the Resolver endpoint+-- uses for DNS queries.+--+-- /See:/ 'newIpAddressResponse' smart constructor.+data IpAddressResponse = IpAddressResponse'+ { -- | The date and time that the IP address was created, in Unix time format+ -- and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | One IP address that the Resolver endpoint uses for DNS queries.+ ip :: Prelude.Maybe Prelude.Text,+ -- | The ID of one IP address.+ ipId :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the IP address was last modified, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | A status code that gives the current status of the request.+ status :: Prelude.Maybe IpAddressStatus,+ -- | A message that provides additional information about the status of the+ -- request.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The ID of one subnet.+ subnetId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpAddressResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'ipAddressResponse_creationTime' - The date and time that the IP address was created, in Unix time format+-- and Coordinated Universal Time (UTC).+--+-- 'ip', 'ipAddressResponse_ip' - One IP address that the Resolver endpoint uses for DNS queries.+--+-- 'ipId', 'ipAddressResponse_ipId' - The ID of one IP address.+--+-- 'modificationTime', 'ipAddressResponse_modificationTime' - The date and time that the IP address was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'status', 'ipAddressResponse_status' - A status code that gives the current status of the request.+--+-- 'statusMessage', 'ipAddressResponse_statusMessage' - A message that provides additional information about the status of the+-- request.+--+-- 'subnetId', 'ipAddressResponse_subnetId' - The ID of one subnet.+newIpAddressResponse ::+ IpAddressResponse+newIpAddressResponse =+ IpAddressResponse'+ { creationTime = Prelude.Nothing,+ ip = Prelude.Nothing,+ ipId = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ subnetId = Prelude.Nothing+ }++-- | The date and time that the IP address was created, in Unix time format+-- and Coordinated Universal Time (UTC).+ipAddressResponse_creationTime :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_creationTime = Lens.lens (\IpAddressResponse' {creationTime} -> creationTime) (\s@IpAddressResponse' {} a -> s {creationTime = a} :: IpAddressResponse)++-- | One IP address that the Resolver endpoint uses for DNS queries.+ipAddressResponse_ip :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_ip = Lens.lens (\IpAddressResponse' {ip} -> ip) (\s@IpAddressResponse' {} a -> s {ip = a} :: IpAddressResponse)++-- | The ID of one IP address.+ipAddressResponse_ipId :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_ipId = Lens.lens (\IpAddressResponse' {ipId} -> ipId) (\s@IpAddressResponse' {} a -> s {ipId = a} :: IpAddressResponse)++-- | The date and time that the IP address was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+ipAddressResponse_modificationTime :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_modificationTime = Lens.lens (\IpAddressResponse' {modificationTime} -> modificationTime) (\s@IpAddressResponse' {} a -> s {modificationTime = a} :: IpAddressResponse)++-- | A status code that gives the current status of the request.+ipAddressResponse_status :: Lens.Lens' IpAddressResponse (Prelude.Maybe IpAddressStatus)+ipAddressResponse_status = Lens.lens (\IpAddressResponse' {status} -> status) (\s@IpAddressResponse' {} a -> s {status = a} :: IpAddressResponse)++-- | A message that provides additional information about the status of the+-- request.+ipAddressResponse_statusMessage :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_statusMessage = Lens.lens (\IpAddressResponse' {statusMessage} -> statusMessage) (\s@IpAddressResponse' {} a -> s {statusMessage = a} :: IpAddressResponse)++-- | The ID of one subnet.+ipAddressResponse_subnetId :: Lens.Lens' IpAddressResponse (Prelude.Maybe Prelude.Text)+ipAddressResponse_subnetId = Lens.lens (\IpAddressResponse' {subnetId} -> subnetId) (\s@IpAddressResponse' {} a -> s {subnetId = a} :: IpAddressResponse)++instance Data.FromJSON IpAddressResponse where+ parseJSON =+ Data.withObject+ "IpAddressResponse"+ ( \x ->+ IpAddressResponse'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Ip")+ Prelude.<*> (x Data..:? "IpId")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ Prelude.<*> (x Data..:? "SubnetId")+ )++instance Prelude.Hashable IpAddressResponse where+ hashWithSalt _salt IpAddressResponse' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` ipId+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` subnetId++instance Prelude.NFData IpAddressResponse where+ rnf IpAddressResponse' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf ip+ `Prelude.seq` Prelude.rnf ipId+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf subnetId
+ gen/Amazonka/Route53Resolver/Types/IpAddressStatus.hs view
@@ -0,0 +1,111 @@+{-# 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.Route53Resolver.Types.IpAddressStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.IpAddressStatus+ ( IpAddressStatus+ ( ..,+ IpAddressStatus_ATTACHED,+ IpAddressStatus_ATTACHING,+ IpAddressStatus_CREATING,+ IpAddressStatus_DELETE_FAILED_FAS_EXPIRED,+ IpAddressStatus_DELETING,+ IpAddressStatus_DETACHING,+ IpAddressStatus_FAILED_CREATION,+ IpAddressStatus_FAILED_RESOURCE_GONE,+ IpAddressStatus_REMAP_ATTACHING,+ IpAddressStatus_REMAP_DETACHING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IpAddressStatus = IpAddressStatus'+ { fromIpAddressStatus ::+ 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 IpAddressStatus_ATTACHED :: IpAddressStatus+pattern IpAddressStatus_ATTACHED = IpAddressStatus' "ATTACHED"++pattern IpAddressStatus_ATTACHING :: IpAddressStatus+pattern IpAddressStatus_ATTACHING = IpAddressStatus' "ATTACHING"++pattern IpAddressStatus_CREATING :: IpAddressStatus+pattern IpAddressStatus_CREATING = IpAddressStatus' "CREATING"++pattern IpAddressStatus_DELETE_FAILED_FAS_EXPIRED :: IpAddressStatus+pattern IpAddressStatus_DELETE_FAILED_FAS_EXPIRED = IpAddressStatus' "DELETE_FAILED_FAS_EXPIRED"++pattern IpAddressStatus_DELETING :: IpAddressStatus+pattern IpAddressStatus_DELETING = IpAddressStatus' "DELETING"++pattern IpAddressStatus_DETACHING :: IpAddressStatus+pattern IpAddressStatus_DETACHING = IpAddressStatus' "DETACHING"++pattern IpAddressStatus_FAILED_CREATION :: IpAddressStatus+pattern IpAddressStatus_FAILED_CREATION = IpAddressStatus' "FAILED_CREATION"++pattern IpAddressStatus_FAILED_RESOURCE_GONE :: IpAddressStatus+pattern IpAddressStatus_FAILED_RESOURCE_GONE = IpAddressStatus' "FAILED_RESOURCE_GONE"++pattern IpAddressStatus_REMAP_ATTACHING :: IpAddressStatus+pattern IpAddressStatus_REMAP_ATTACHING = IpAddressStatus' "REMAP_ATTACHING"++pattern IpAddressStatus_REMAP_DETACHING :: IpAddressStatus+pattern IpAddressStatus_REMAP_DETACHING = IpAddressStatus' "REMAP_DETACHING"++{-# COMPLETE+ IpAddressStatus_ATTACHED,+ IpAddressStatus_ATTACHING,+ IpAddressStatus_CREATING,+ IpAddressStatus_DELETE_FAILED_FAS_EXPIRED,+ IpAddressStatus_DELETING,+ IpAddressStatus_DETACHING,+ IpAddressStatus_FAILED_CREATION,+ IpAddressStatus_FAILED_RESOURCE_GONE,+ IpAddressStatus_REMAP_ATTACHING,+ IpAddressStatus_REMAP_DETACHING,+ IpAddressStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/IpAddressUpdate.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.Route53Resolver.Types.IpAddressUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.IpAddressUpdate 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++-- | In an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html UpdateResolverEndpoint>+-- request, information about an IP address to update.+--+-- /See:/ 'newIpAddressUpdate' smart constructor.+data IpAddressUpdate = IpAddressUpdate'+ { -- | The new IP address.+ ip :: Prelude.Maybe Prelude.Text,+ -- | /Only when removing an IP address from a Resolver endpoint/: The ID of+ -- the IP address that you want to remove. To get this ID, use+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+ ipId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the subnet that includes the IP address that you want to+ -- update. To get this ID, use+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+ subnetId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpAddressUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'ipAddressUpdate_ip' - The new IP address.+--+-- 'ipId', 'ipAddressUpdate_ipId' - /Only when removing an IP address from a Resolver endpoint/: The ID of+-- the IP address that you want to remove. To get this ID, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+--+-- 'subnetId', 'ipAddressUpdate_subnetId' - The ID of the subnet that includes the IP address that you want to+-- update. To get this ID, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+newIpAddressUpdate ::+ IpAddressUpdate+newIpAddressUpdate =+ IpAddressUpdate'+ { ip = Prelude.Nothing,+ ipId = Prelude.Nothing,+ subnetId = Prelude.Nothing+ }++-- | The new IP address.+ipAddressUpdate_ip :: Lens.Lens' IpAddressUpdate (Prelude.Maybe Prelude.Text)+ipAddressUpdate_ip = Lens.lens (\IpAddressUpdate' {ip} -> ip) (\s@IpAddressUpdate' {} a -> s {ip = a} :: IpAddressUpdate)++-- | /Only when removing an IP address from a Resolver endpoint/: The ID of+-- the IP address that you want to remove. To get this ID, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+ipAddressUpdate_ipId :: Lens.Lens' IpAddressUpdate (Prelude.Maybe Prelude.Text)+ipAddressUpdate_ipId = Lens.lens (\IpAddressUpdate' {ipId} -> ipId) (\s@IpAddressUpdate' {} a -> s {ipId = a} :: IpAddressUpdate)++-- | The ID of the subnet that includes the IP address that you want to+-- update. To get this ID, use+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>.+ipAddressUpdate_subnetId :: Lens.Lens' IpAddressUpdate (Prelude.Maybe Prelude.Text)+ipAddressUpdate_subnetId = Lens.lens (\IpAddressUpdate' {subnetId} -> subnetId) (\s@IpAddressUpdate' {} a -> s {subnetId = a} :: IpAddressUpdate)++instance Prelude.Hashable IpAddressUpdate where+ hashWithSalt _salt IpAddressUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` ip+ `Prelude.hashWithSalt` ipId+ `Prelude.hashWithSalt` subnetId++instance Prelude.NFData IpAddressUpdate where+ rnf IpAddressUpdate' {..} =+ Prelude.rnf ip+ `Prelude.seq` Prelude.rnf ipId+ `Prelude.seq` Prelude.rnf subnetId++instance Data.ToJSON IpAddressUpdate where+ toJSON IpAddressUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Ip" Data..=) Prelude.<$> ip,+ ("IpId" Data..=) Prelude.<$> ipId,+ ("SubnetId" Data..=) Prelude.<$> subnetId+ ]+ )
+ gen/Amazonka/Route53Resolver/Types/MutationProtectionStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.MutationProtectionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.MutationProtectionStatus+ ( MutationProtectionStatus+ ( ..,+ MutationProtectionStatus_DISABLED,+ MutationProtectionStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MutationProtectionStatus = MutationProtectionStatus'+ { fromMutationProtectionStatus ::+ 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 MutationProtectionStatus_DISABLED :: MutationProtectionStatus+pattern MutationProtectionStatus_DISABLED = MutationProtectionStatus' "DISABLED"++pattern MutationProtectionStatus_ENABLED :: MutationProtectionStatus+pattern MutationProtectionStatus_ENABLED = MutationProtectionStatus' "ENABLED"++{-# COMPLETE+ MutationProtectionStatus_DISABLED,+ MutationProtectionStatus_ENABLED,+ MutationProtectionStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverAutodefinedReverseStatus.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.Route53Resolver.Types.ResolverAutodefinedReverseStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverAutodefinedReverseStatus+ ( ResolverAutodefinedReverseStatus+ ( ..,+ ResolverAutodefinedReverseStatus_DISABLED,+ ResolverAutodefinedReverseStatus_DISABLING,+ ResolverAutodefinedReverseStatus_ENABLED,+ ResolverAutodefinedReverseStatus_ENABLING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverAutodefinedReverseStatus = ResolverAutodefinedReverseStatus'+ { fromResolverAutodefinedReverseStatus ::+ 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 ResolverAutodefinedReverseStatus_DISABLED :: ResolverAutodefinedReverseStatus+pattern ResolverAutodefinedReverseStatus_DISABLED = ResolverAutodefinedReverseStatus' "DISABLED"++pattern ResolverAutodefinedReverseStatus_DISABLING :: ResolverAutodefinedReverseStatus+pattern ResolverAutodefinedReverseStatus_DISABLING = ResolverAutodefinedReverseStatus' "DISABLING"++pattern ResolverAutodefinedReverseStatus_ENABLED :: ResolverAutodefinedReverseStatus+pattern ResolverAutodefinedReverseStatus_ENABLED = ResolverAutodefinedReverseStatus' "ENABLED"++pattern ResolverAutodefinedReverseStatus_ENABLING :: ResolverAutodefinedReverseStatus+pattern ResolverAutodefinedReverseStatus_ENABLING = ResolverAutodefinedReverseStatus' "ENABLING"++{-# COMPLETE+ ResolverAutodefinedReverseStatus_DISABLED,+ ResolverAutodefinedReverseStatus_DISABLING,+ ResolverAutodefinedReverseStatus_ENABLED,+ ResolverAutodefinedReverseStatus_ENABLING,+ ResolverAutodefinedReverseStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverConfig.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.ResolverConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverAutodefinedReverseStatus++-- | A complex type that contains information about a Resolver configuration+-- for a VPC.+--+-- /See:/ 'newResolverConfig' smart constructor.+data ResolverConfig = ResolverConfig'+ { -- | The status of whether or not the Resolver will create autodefined rules+ -- for reverse DNS lookups. This is enabled by default. The status can be+ -- one of following:+ --+ -- Status of the rules generated by VPCs based on CIDR\/Region for reverse+ -- DNS resolution. The status can be one of following:+ --+ -- - __ENABLING:__ Autodefined rules for reverse DNS lookups are being+ -- enabled but are not complete.+ --+ -- - __ENABLED:__ Autodefined rules for reverse DNS lookups are enabled.+ --+ -- - __DISABLING:__ Autodefined rules for reverse DNS lookups are being+ -- disabled but are not complete.+ --+ -- - __DISABLED:__ Autodefined rules for reverse DNS lookups are+ -- disabled.+ autodefinedReverse :: Prelude.Maybe ResolverAutodefinedReverseStatus,+ -- | ID for the Resolver configuration.+ id :: Prelude.Maybe Prelude.Text,+ -- | The owner account ID of the Amazon Virtual Private Cloud VPC.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Amazon Virtual Private Cloud VPC that you\'re configuring+ -- Resolver for.+ resourceId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autodefinedReverse', 'resolverConfig_autodefinedReverse' - The status of whether or not the Resolver will create autodefined rules+-- for reverse DNS lookups. This is enabled by default. The status can be+-- one of following:+--+-- Status of the rules generated by VPCs based on CIDR\/Region for reverse+-- DNS resolution. The status can be one of following:+--+-- - __ENABLING:__ Autodefined rules for reverse DNS lookups are being+-- enabled but are not complete.+--+-- - __ENABLED:__ Autodefined rules for reverse DNS lookups are enabled.+--+-- - __DISABLING:__ Autodefined rules for reverse DNS lookups are being+-- disabled but are not complete.+--+-- - __DISABLED:__ Autodefined rules for reverse DNS lookups are+-- disabled.+--+-- 'id', 'resolverConfig_id' - ID for the Resolver configuration.+--+-- 'ownerId', 'resolverConfig_ownerId' - The owner account ID of the Amazon Virtual Private Cloud VPC.+--+-- 'resourceId', 'resolverConfig_resourceId' - The ID of the Amazon Virtual Private Cloud VPC that you\'re configuring+-- Resolver for.+newResolverConfig ::+ ResolverConfig+newResolverConfig =+ ResolverConfig'+ { autodefinedReverse =+ Prelude.Nothing,+ id = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceId = Prelude.Nothing+ }++-- | The status of whether or not the Resolver will create autodefined rules+-- for reverse DNS lookups. This is enabled by default. The status can be+-- one of following:+--+-- Status of the rules generated by VPCs based on CIDR\/Region for reverse+-- DNS resolution. The status can be one of following:+--+-- - __ENABLING:__ Autodefined rules for reverse DNS lookups are being+-- enabled but are not complete.+--+-- - __ENABLED:__ Autodefined rules for reverse DNS lookups are enabled.+--+-- - __DISABLING:__ Autodefined rules for reverse DNS lookups are being+-- disabled but are not complete.+--+-- - __DISABLED:__ Autodefined rules for reverse DNS lookups are+-- disabled.+resolverConfig_autodefinedReverse :: Lens.Lens' ResolverConfig (Prelude.Maybe ResolverAutodefinedReverseStatus)+resolverConfig_autodefinedReverse = Lens.lens (\ResolverConfig' {autodefinedReverse} -> autodefinedReverse) (\s@ResolverConfig' {} a -> s {autodefinedReverse = a} :: ResolverConfig)++-- | ID for the Resolver configuration.+resolverConfig_id :: Lens.Lens' ResolverConfig (Prelude.Maybe Prelude.Text)+resolverConfig_id = Lens.lens (\ResolverConfig' {id} -> id) (\s@ResolverConfig' {} a -> s {id = a} :: ResolverConfig)++-- | The owner account ID of the Amazon Virtual Private Cloud VPC.+resolverConfig_ownerId :: Lens.Lens' ResolverConfig (Prelude.Maybe Prelude.Text)+resolverConfig_ownerId = Lens.lens (\ResolverConfig' {ownerId} -> ownerId) (\s@ResolverConfig' {} a -> s {ownerId = a} :: ResolverConfig)++-- | The ID of the Amazon Virtual Private Cloud VPC that you\'re configuring+-- Resolver for.+resolverConfig_resourceId :: Lens.Lens' ResolverConfig (Prelude.Maybe Prelude.Text)+resolverConfig_resourceId = Lens.lens (\ResolverConfig' {resourceId} -> resourceId) (\s@ResolverConfig' {} a -> s {resourceId = a} :: ResolverConfig)++instance Data.FromJSON ResolverConfig where+ parseJSON =+ Data.withObject+ "ResolverConfig"+ ( \x ->+ ResolverConfig'+ Prelude.<$> (x Data..:? "AutodefinedReverse")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceId")+ )++instance Prelude.Hashable ResolverConfig where+ hashWithSalt _salt ResolverConfig' {..} =+ _salt+ `Prelude.hashWithSalt` autodefinedReverse+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceId++instance Prelude.NFData ResolverConfig where+ rnf ResolverConfig' {..} =+ Prelude.rnf autodefinedReverse+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceId
+ gen/Amazonka/Route53Resolver/Types/ResolverDNSSECValidationStatus.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.Route53Resolver.Types.ResolverDNSSECValidationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverDNSSECValidationStatus+ ( ResolverDNSSECValidationStatus+ ( ..,+ ResolverDNSSECValidationStatus_DISABLED,+ ResolverDNSSECValidationStatus_DISABLING,+ ResolverDNSSECValidationStatus_ENABLED,+ ResolverDNSSECValidationStatus_ENABLING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverDNSSECValidationStatus = ResolverDNSSECValidationStatus'+ { fromResolverDNSSECValidationStatus ::+ 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 ResolverDNSSECValidationStatus_DISABLED :: ResolverDNSSECValidationStatus+pattern ResolverDNSSECValidationStatus_DISABLED = ResolverDNSSECValidationStatus' "DISABLED"++pattern ResolverDNSSECValidationStatus_DISABLING :: ResolverDNSSECValidationStatus+pattern ResolverDNSSECValidationStatus_DISABLING = ResolverDNSSECValidationStatus' "DISABLING"++pattern ResolverDNSSECValidationStatus_ENABLED :: ResolverDNSSECValidationStatus+pattern ResolverDNSSECValidationStatus_ENABLED = ResolverDNSSECValidationStatus' "ENABLED"++pattern ResolverDNSSECValidationStatus_ENABLING :: ResolverDNSSECValidationStatus+pattern ResolverDNSSECValidationStatus_ENABLING = ResolverDNSSECValidationStatus' "ENABLING"++{-# COMPLETE+ ResolverDNSSECValidationStatus_DISABLED,+ ResolverDNSSECValidationStatus_DISABLING,+ ResolverDNSSECValidationStatus_ENABLED,+ ResolverDNSSECValidationStatus_ENABLING,+ ResolverDNSSECValidationStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverDnssecConfig.hs view
@@ -0,0 +1,149 @@+{-# 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.Route53Resolver.Types.ResolverDnssecConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverDnssecConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverDNSSECValidationStatus++-- | A complex type that contains information about a configuration for+-- DNSSEC validation.+--+-- /See:/ 'newResolverDnssecConfig' smart constructor.+data ResolverDnssecConfig = ResolverDnssecConfig'+ { -- | The ID for a configuration for DNSSEC validation.+ id :: Prelude.Maybe Prelude.Text,+ -- | The owner account ID of the virtual private cloud (VPC) for a+ -- configuration for DNSSEC validation.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the virtual private cloud (VPC) that you\'re configuring the+ -- DNSSEC validation status for.+ resourceId :: Prelude.Maybe Prelude.Text,+ -- | The validation status for a DNSSEC configuration. The status can be one+ -- of the following:+ --+ -- - __ENABLING:__ DNSSEC validation is being enabled but is not+ -- complete.+ --+ -- - __ENABLED:__ DNSSEC validation is enabled.+ --+ -- - __DISABLING:__ DNSSEC validation is being disabled but is not+ -- complete.+ --+ -- - __DISABLED__ DNSSEC validation is disabled.+ validationStatus :: Prelude.Maybe ResolverDNSSECValidationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverDnssecConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'resolverDnssecConfig_id' - The ID for a configuration for DNSSEC validation.+--+-- 'ownerId', 'resolverDnssecConfig_ownerId' - The owner account ID of the virtual private cloud (VPC) for a+-- configuration for DNSSEC validation.+--+-- 'resourceId', 'resolverDnssecConfig_resourceId' - The ID of the virtual private cloud (VPC) that you\'re configuring the+-- DNSSEC validation status for.+--+-- 'validationStatus', 'resolverDnssecConfig_validationStatus' - The validation status for a DNSSEC configuration. The status can be one+-- of the following:+--+-- - __ENABLING:__ DNSSEC validation is being enabled but is not+-- complete.+--+-- - __ENABLED:__ DNSSEC validation is enabled.+--+-- - __DISABLING:__ DNSSEC validation is being disabled but is not+-- complete.+--+-- - __DISABLED__ DNSSEC validation is disabled.+newResolverDnssecConfig ::+ ResolverDnssecConfig+newResolverDnssecConfig =+ ResolverDnssecConfig'+ { id = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resourceId = Prelude.Nothing,+ validationStatus = Prelude.Nothing+ }++-- | The ID for a configuration for DNSSEC validation.+resolverDnssecConfig_id :: Lens.Lens' ResolverDnssecConfig (Prelude.Maybe Prelude.Text)+resolverDnssecConfig_id = Lens.lens (\ResolverDnssecConfig' {id} -> id) (\s@ResolverDnssecConfig' {} a -> s {id = a} :: ResolverDnssecConfig)++-- | The owner account ID of the virtual private cloud (VPC) for a+-- configuration for DNSSEC validation.+resolverDnssecConfig_ownerId :: Lens.Lens' ResolverDnssecConfig (Prelude.Maybe Prelude.Text)+resolverDnssecConfig_ownerId = Lens.lens (\ResolverDnssecConfig' {ownerId} -> ownerId) (\s@ResolverDnssecConfig' {} a -> s {ownerId = a} :: ResolverDnssecConfig)++-- | The ID of the virtual private cloud (VPC) that you\'re configuring the+-- DNSSEC validation status for.+resolverDnssecConfig_resourceId :: Lens.Lens' ResolverDnssecConfig (Prelude.Maybe Prelude.Text)+resolverDnssecConfig_resourceId = Lens.lens (\ResolverDnssecConfig' {resourceId} -> resourceId) (\s@ResolverDnssecConfig' {} a -> s {resourceId = a} :: ResolverDnssecConfig)++-- | The validation status for a DNSSEC configuration. The status can be one+-- of the following:+--+-- - __ENABLING:__ DNSSEC validation is being enabled but is not+-- complete.+--+-- - __ENABLED:__ DNSSEC validation is enabled.+--+-- - __DISABLING:__ DNSSEC validation is being disabled but is not+-- complete.+--+-- - __DISABLED__ DNSSEC validation is disabled.+resolverDnssecConfig_validationStatus :: Lens.Lens' ResolverDnssecConfig (Prelude.Maybe ResolverDNSSECValidationStatus)+resolverDnssecConfig_validationStatus = Lens.lens (\ResolverDnssecConfig' {validationStatus} -> validationStatus) (\s@ResolverDnssecConfig' {} a -> s {validationStatus = a} :: ResolverDnssecConfig)++instance Data.FromJSON ResolverDnssecConfig where+ parseJSON =+ Data.withObject+ "ResolverDnssecConfig"+ ( \x ->+ ResolverDnssecConfig'+ Prelude.<$> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResourceId")+ Prelude.<*> (x Data..:? "ValidationStatus")+ )++instance Prelude.Hashable ResolverDnssecConfig where+ hashWithSalt _salt ResolverDnssecConfig' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` validationStatus++instance Prelude.NFData ResolverDnssecConfig where+ rnf ResolverDnssecConfig' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf validationStatus
+ gen/Amazonka/Route53Resolver/Types/ResolverEndpoint.hs view
@@ -0,0 +1,376 @@+{-# 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.Route53Resolver.Types.ResolverEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverEndpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverEndpointDirection+import Amazonka.Route53Resolver.Types.ResolverEndpointStatus++-- | In the response to a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html DeleteResolverEndpoint>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html UpdateResolverEndpoint>+-- request, a complex type that contains settings for an existing inbound+-- or outbound Resolver endpoint.+--+-- /See:/ 'newResolverEndpoint' smart constructor.+data ResolverEndpoint = ResolverEndpoint'+ { -- | The ARN (Amazon Resource Name) for the Resolver endpoint.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the endpoint was created, in Unix time format and+ -- Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string that identifies the request that created the Resolver+ -- endpoint. The @CreatorRequestId@ allows failed requests to be retried+ -- without the risk of running the operation twice.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | Indicates whether the Resolver endpoint allows inbound or outbound DNS+ -- queries:+ --+ -- - @INBOUND@: allows DNS queries to your VPC from your network+ --+ -- - @OUTBOUND@: allows DNS queries from your VPC to your network+ direction :: Prelude.Maybe ResolverEndpointDirection,+ -- | The ID of the VPC that you want to create the Resolver endpoint in.+ hostVPCId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Resolver endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The number of IP addresses that the Resolver endpoint can use for DNS+ -- queries.+ ipAddressCount :: Prelude.Maybe Prelude.Int,+ -- | The date and time that the endpoint was last modified, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | The name that you assigned to the Resolver endpoint when you submitted a+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+ -- request.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of one or more security groups that control access to this VPC.+ -- The security group must include one or more inbound rules (for inbound+ -- endpoints) or outbound rules (for outbound endpoints). Inbound and+ -- outbound rules must allow TCP and UDP access. For inbound access, open+ -- port 53. For outbound access, open the port that you\'re using for DNS+ -- queries on your network.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | A code that specifies the current status of the Resolver endpoint. Valid+ -- values include the following:+ --+ -- - @CREATING@: Resolver is creating and configuring one or more Amazon+ -- VPC network interfaces for this endpoint.+ --+ -- - @OPERATIONAL@: The Amazon VPC network interfaces for this endpoint+ -- are correctly configured and able to pass inbound or outbound DNS+ -- queries between your network and Resolver.+ --+ -- - @UPDATING@: Resolver is associating or disassociating one or more+ -- network interfaces with this endpoint.+ --+ -- - @AUTO_RECOVERING@: Resolver is trying to recover one or more of the+ -- network interfaces that are associated with this endpoint. During+ -- the recovery process, the endpoint functions with limited capacity+ -- because of the limit on the number of DNS queries per IP address+ -- (per network interface). For the current limit, see+ -- <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver Limits on Route 53 Resolver>.+ --+ -- - @ACTION_NEEDED@: This endpoint is unhealthy, and Resolver can\'t+ -- automatically recover it. To resolve the problem, we recommend that+ -- you check each IP address that you associated with the endpoint. For+ -- each IP address that isn\'t available, add another IP address and+ -- then delete the IP address that isn\'t available. (An endpoint must+ -- always include at least two IP addresses.) A status of+ -- @ACTION_NEEDED@ can have a variety of causes. Here are two common+ -- causes:+ --+ -- - One or more of the network interfaces that are associated with+ -- the endpoint were deleted using Amazon VPC.+ --+ -- - The network interface couldn\'t be created for some reason+ -- that\'s outside the control of Resolver.+ --+ -- - @DELETING@: Resolver is deleting this endpoint and the associated+ -- network interfaces.+ status :: Prelude.Maybe ResolverEndpointStatus,+ -- | A detailed description of the status of the Resolver endpoint.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'resolverEndpoint_arn' - The ARN (Amazon Resource Name) for the Resolver endpoint.+--+-- 'creationTime', 'resolverEndpoint_creationTime' - The date and time that the endpoint was created, in Unix time format and+-- Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'resolverEndpoint_creatorRequestId' - A unique string that identifies the request that created the Resolver+-- endpoint. The @CreatorRequestId@ allows failed requests to be retried+-- without the risk of running the operation twice.+--+-- 'direction', 'resolverEndpoint_direction' - Indicates whether the Resolver endpoint allows inbound or outbound DNS+-- queries:+--+-- - @INBOUND@: allows DNS queries to your VPC from your network+--+-- - @OUTBOUND@: allows DNS queries from your VPC to your network+--+-- 'hostVPCId', 'resolverEndpoint_hostVPCId' - The ID of the VPC that you want to create the Resolver endpoint in.+--+-- 'id', 'resolverEndpoint_id' - The ID of the Resolver endpoint.+--+-- 'ipAddressCount', 'resolverEndpoint_ipAddressCount' - The number of IP addresses that the Resolver endpoint can use for DNS+-- queries.+--+-- 'modificationTime', 'resolverEndpoint_modificationTime' - The date and time that the endpoint was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'name', 'resolverEndpoint_name' - The name that you assigned to the Resolver endpoint when you submitted a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+-- request.+--+-- 'securityGroupIds', 'resolverEndpoint_securityGroupIds' - The ID of one or more security groups that control access to this VPC.+-- The security group must include one or more inbound rules (for inbound+-- endpoints) or outbound rules (for outbound endpoints). Inbound and+-- outbound rules must allow TCP and UDP access. For inbound access, open+-- port 53. For outbound access, open the port that you\'re using for DNS+-- queries on your network.+--+-- 'status', 'resolverEndpoint_status' - A code that specifies the current status of the Resolver endpoint. Valid+-- values include the following:+--+-- - @CREATING@: Resolver is creating and configuring one or more Amazon+-- VPC network interfaces for this endpoint.+--+-- - @OPERATIONAL@: The Amazon VPC network interfaces for this endpoint+-- are correctly configured and able to pass inbound or outbound DNS+-- queries between your network and Resolver.+--+-- - @UPDATING@: Resolver is associating or disassociating one or more+-- network interfaces with this endpoint.+--+-- - @AUTO_RECOVERING@: Resolver is trying to recover one or more of the+-- network interfaces that are associated with this endpoint. During+-- the recovery process, the endpoint functions with limited capacity+-- because of the limit on the number of DNS queries per IP address+-- (per network interface). For the current limit, see+-- <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver Limits on Route 53 Resolver>.+--+-- - @ACTION_NEEDED@: This endpoint is unhealthy, and Resolver can\'t+-- automatically recover it. To resolve the problem, we recommend that+-- you check each IP address that you associated with the endpoint. For+-- each IP address that isn\'t available, add another IP address and+-- then delete the IP address that isn\'t available. (An endpoint must+-- always include at least two IP addresses.) A status of+-- @ACTION_NEEDED@ can have a variety of causes. Here are two common+-- causes:+--+-- - One or more of the network interfaces that are associated with+-- the endpoint were deleted using Amazon VPC.+--+-- - The network interface couldn\'t be created for some reason+-- that\'s outside the control of Resolver.+--+-- - @DELETING@: Resolver is deleting this endpoint and the associated+-- network interfaces.+--+-- 'statusMessage', 'resolverEndpoint_statusMessage' - A detailed description of the status of the Resolver endpoint.+newResolverEndpoint ::+ ResolverEndpoint+newResolverEndpoint =+ ResolverEndpoint'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ direction = Prelude.Nothing,+ hostVPCId = Prelude.Nothing,+ id = Prelude.Nothing,+ ipAddressCount = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The ARN (Amazon Resource Name) for the Resolver endpoint.+resolverEndpoint_arn :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_arn = Lens.lens (\ResolverEndpoint' {arn} -> arn) (\s@ResolverEndpoint' {} a -> s {arn = a} :: ResolverEndpoint)++-- | The date and time that the endpoint was created, in Unix time format and+-- Coordinated Universal Time (UTC).+resolverEndpoint_creationTime :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_creationTime = Lens.lens (\ResolverEndpoint' {creationTime} -> creationTime) (\s@ResolverEndpoint' {} a -> s {creationTime = a} :: ResolverEndpoint)++-- | A unique string that identifies the request that created the Resolver+-- endpoint. The @CreatorRequestId@ allows failed requests to be retried+-- without the risk of running the operation twice.+resolverEndpoint_creatorRequestId :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_creatorRequestId = Lens.lens (\ResolverEndpoint' {creatorRequestId} -> creatorRequestId) (\s@ResolverEndpoint' {} a -> s {creatorRequestId = a} :: ResolverEndpoint)++-- | Indicates whether the Resolver endpoint allows inbound or outbound DNS+-- queries:+--+-- - @INBOUND@: allows DNS queries to your VPC from your network+--+-- - @OUTBOUND@: allows DNS queries from your VPC to your network+resolverEndpoint_direction :: Lens.Lens' ResolverEndpoint (Prelude.Maybe ResolverEndpointDirection)+resolverEndpoint_direction = Lens.lens (\ResolverEndpoint' {direction} -> direction) (\s@ResolverEndpoint' {} a -> s {direction = a} :: ResolverEndpoint)++-- | The ID of the VPC that you want to create the Resolver endpoint in.+resolverEndpoint_hostVPCId :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_hostVPCId = Lens.lens (\ResolverEndpoint' {hostVPCId} -> hostVPCId) (\s@ResolverEndpoint' {} a -> s {hostVPCId = a} :: ResolverEndpoint)++-- | The ID of the Resolver endpoint.+resolverEndpoint_id :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_id = Lens.lens (\ResolverEndpoint' {id} -> id) (\s@ResolverEndpoint' {} a -> s {id = a} :: ResolverEndpoint)++-- | The number of IP addresses that the Resolver endpoint can use for DNS+-- queries.+resolverEndpoint_ipAddressCount :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Int)+resolverEndpoint_ipAddressCount = Lens.lens (\ResolverEndpoint' {ipAddressCount} -> ipAddressCount) (\s@ResolverEndpoint' {} a -> s {ipAddressCount = a} :: ResolverEndpoint)++-- | The date and time that the endpoint was last modified, in Unix time+-- format and Coordinated Universal Time (UTC).+resolverEndpoint_modificationTime :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_modificationTime = Lens.lens (\ResolverEndpoint' {modificationTime} -> modificationTime) (\s@ResolverEndpoint' {} a -> s {modificationTime = a} :: ResolverEndpoint)++-- | The name that you assigned to the Resolver endpoint when you submitted a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html CreateResolverEndpoint>+-- request.+resolverEndpoint_name :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_name = Lens.lens (\ResolverEndpoint' {name} -> name) (\s@ResolverEndpoint' {} a -> s {name = a} :: ResolverEndpoint)++-- | The ID of one or more security groups that control access to this VPC.+-- The security group must include one or more inbound rules (for inbound+-- endpoints) or outbound rules (for outbound endpoints). Inbound and+-- outbound rules must allow TCP and UDP access. For inbound access, open+-- port 53. For outbound access, open the port that you\'re using for DNS+-- queries on your network.+resolverEndpoint_securityGroupIds :: Lens.Lens' ResolverEndpoint (Prelude.Maybe [Prelude.Text])+resolverEndpoint_securityGroupIds = Lens.lens (\ResolverEndpoint' {securityGroupIds} -> securityGroupIds) (\s@ResolverEndpoint' {} a -> s {securityGroupIds = a} :: ResolverEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | A code that specifies the current status of the Resolver endpoint. Valid+-- values include the following:+--+-- - @CREATING@: Resolver is creating and configuring one or more Amazon+-- VPC network interfaces for this endpoint.+--+-- - @OPERATIONAL@: The Amazon VPC network interfaces for this endpoint+-- are correctly configured and able to pass inbound or outbound DNS+-- queries between your network and Resolver.+--+-- - @UPDATING@: Resolver is associating or disassociating one or more+-- network interfaces with this endpoint.+--+-- - @AUTO_RECOVERING@: Resolver is trying to recover one or more of the+-- network interfaces that are associated with this endpoint. During+-- the recovery process, the endpoint functions with limited capacity+-- because of the limit on the number of DNS queries per IP address+-- (per network interface). For the current limit, see+-- <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver Limits on Route 53 Resolver>.+--+-- - @ACTION_NEEDED@: This endpoint is unhealthy, and Resolver can\'t+-- automatically recover it. To resolve the problem, we recommend that+-- you check each IP address that you associated with the endpoint. For+-- each IP address that isn\'t available, add another IP address and+-- then delete the IP address that isn\'t available. (An endpoint must+-- always include at least two IP addresses.) A status of+-- @ACTION_NEEDED@ can have a variety of causes. Here are two common+-- causes:+--+-- - One or more of the network interfaces that are associated with+-- the endpoint were deleted using Amazon VPC.+--+-- - The network interface couldn\'t be created for some reason+-- that\'s outside the control of Resolver.+--+-- - @DELETING@: Resolver is deleting this endpoint and the associated+-- network interfaces.+resolverEndpoint_status :: Lens.Lens' ResolverEndpoint (Prelude.Maybe ResolverEndpointStatus)+resolverEndpoint_status = Lens.lens (\ResolverEndpoint' {status} -> status) (\s@ResolverEndpoint' {} a -> s {status = a} :: ResolverEndpoint)++-- | A detailed description of the status of the Resolver endpoint.+resolverEndpoint_statusMessage :: Lens.Lens' ResolverEndpoint (Prelude.Maybe Prelude.Text)+resolverEndpoint_statusMessage = Lens.lens (\ResolverEndpoint' {statusMessage} -> statusMessage) (\s@ResolverEndpoint' {} a -> s {statusMessage = a} :: ResolverEndpoint)++instance Data.FromJSON ResolverEndpoint where+ parseJSON =+ Data.withObject+ "ResolverEndpoint"+ ( \x ->+ ResolverEndpoint'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "Direction")+ Prelude.<*> (x Data..:? "HostVPCId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "IpAddressCount")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> ( x+ Data..:? "SecurityGroupIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable ResolverEndpoint where+ hashWithSalt _salt ResolverEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` direction+ `Prelude.hashWithSalt` hostVPCId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` ipAddressCount+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData ResolverEndpoint where+ rnf ResolverEndpoint' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf direction+ `Prelude.seq` Prelude.rnf hostVPCId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf ipAddressCount+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/Route53Resolver/Types/ResolverEndpointDirection.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.ResolverEndpointDirection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverEndpointDirection+ ( ResolverEndpointDirection+ ( ..,+ ResolverEndpointDirection_INBOUND,+ ResolverEndpointDirection_OUTBOUND+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverEndpointDirection = ResolverEndpointDirection'+ { fromResolverEndpointDirection ::+ 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 ResolverEndpointDirection_INBOUND :: ResolverEndpointDirection+pattern ResolverEndpointDirection_INBOUND = ResolverEndpointDirection' "INBOUND"++pattern ResolverEndpointDirection_OUTBOUND :: ResolverEndpointDirection+pattern ResolverEndpointDirection_OUTBOUND = ResolverEndpointDirection' "OUTBOUND"++{-# COMPLETE+ ResolverEndpointDirection_INBOUND,+ ResolverEndpointDirection_OUTBOUND,+ ResolverEndpointDirection'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverEndpointStatus.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.ResolverEndpointStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverEndpointStatus+ ( ResolverEndpointStatus+ ( ..,+ ResolverEndpointStatus_ACTION_NEEDED,+ ResolverEndpointStatus_AUTO_RECOVERING,+ ResolverEndpointStatus_CREATING,+ ResolverEndpointStatus_DELETING,+ ResolverEndpointStatus_OPERATIONAL,+ ResolverEndpointStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverEndpointStatus = ResolverEndpointStatus'+ { fromResolverEndpointStatus ::+ 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 ResolverEndpointStatus_ACTION_NEEDED :: ResolverEndpointStatus+pattern ResolverEndpointStatus_ACTION_NEEDED = ResolverEndpointStatus' "ACTION_NEEDED"++pattern ResolverEndpointStatus_AUTO_RECOVERING :: ResolverEndpointStatus+pattern ResolverEndpointStatus_AUTO_RECOVERING = ResolverEndpointStatus' "AUTO_RECOVERING"++pattern ResolverEndpointStatus_CREATING :: ResolverEndpointStatus+pattern ResolverEndpointStatus_CREATING = ResolverEndpointStatus' "CREATING"++pattern ResolverEndpointStatus_DELETING :: ResolverEndpointStatus+pattern ResolverEndpointStatus_DELETING = ResolverEndpointStatus' "DELETING"++pattern ResolverEndpointStatus_OPERATIONAL :: ResolverEndpointStatus+pattern ResolverEndpointStatus_OPERATIONAL = ResolverEndpointStatus' "OPERATIONAL"++pattern ResolverEndpointStatus_UPDATING :: ResolverEndpointStatus+pattern ResolverEndpointStatus_UPDATING = ResolverEndpointStatus' "UPDATING"++{-# COMPLETE+ ResolverEndpointStatus_ACTION_NEEDED,+ ResolverEndpointStatus_AUTO_RECOVERING,+ ResolverEndpointStatus_CREATING,+ ResolverEndpointStatus_DELETING,+ ResolverEndpointStatus_OPERATIONAL,+ ResolverEndpointStatus_UPDATING,+ ResolverEndpointStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfig.hs view
@@ -0,0 +1,270 @@+{-# 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.Route53Resolver.Types.ResolverQueryLogConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverQueryLogConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigStatus+import Amazonka.Route53Resolver.Types.ShareStatus++-- | In the response to a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverQueryLogConfig.html CreateResolverQueryLogConfig>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverQueryLogConfig.html DeleteResolverQueryLogConfig>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfig.html GetResolverQueryLogConfig>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html ListResolverQueryLogConfigs>+-- request, a complex type that contains settings for one query logging+-- configuration.+--+-- /See:/ 'newResolverQueryLogConfig' smart constructor.+data ResolverQueryLogConfig = ResolverQueryLogConfig'+ { -- | The ARN for the query logging configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The number of VPCs that are associated with the query logging+ -- configuration.+ associationCount :: Prelude.Maybe Prelude.Int,+ -- | The date and time that the query logging configuration was created, in+ -- Unix time format and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string that identifies the request that created the query+ -- logging configuration. The @CreatorRequestId@ allows failed requests to+ -- be retried without the risk of running the operation twice.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the resource that you want Resolver to send query logs: an+ -- Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data+ -- Firehose delivery stream.+ destinationArn :: Prelude.Maybe Prelude.Text,+ -- | The ID for the query logging configuration.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the query logging configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the account that created the+ -- query logging configuration.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | An indication of whether the query logging configuration is shared with+ -- other Amazon Web Services accounts, or was shared with the current+ -- account by another Amazon Web Services account. Sharing is configured+ -- through Resource Access Manager (RAM).+ shareStatus :: Prelude.Maybe ShareStatus,+ -- | The status of the specified query logging configuration. Valid values+ -- include the following:+ --+ -- - @CREATING@: Resolver is creating the query logging configuration.+ --+ -- - @CREATED@: The query logging configuration was successfully created.+ -- Resolver is logging queries that originate in the specified VPC.+ --+ -- - @DELETING@: Resolver is deleting this query logging configuration.+ --+ -- - @FAILED@: Resolver can\'t deliver logs to the location that is+ -- specified in the query logging configuration. Here are two common+ -- causes:+ --+ -- - The specified destination (for example, an Amazon S3 bucket) was+ -- deleted.+ --+ -- - Permissions don\'t allow sending logs to the destination.+ status :: Prelude.Maybe ResolverQueryLogConfigStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverQueryLogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'resolverQueryLogConfig_arn' - The ARN for the query logging configuration.+--+-- 'associationCount', 'resolverQueryLogConfig_associationCount' - The number of VPCs that are associated with the query logging+-- configuration.+--+-- 'creationTime', 'resolverQueryLogConfig_creationTime' - The date and time that the query logging configuration was created, in+-- Unix time format and Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'resolverQueryLogConfig_creatorRequestId' - A unique string that identifies the request that created the query+-- logging configuration. The @CreatorRequestId@ allows failed requests to+-- be retried without the risk of running the operation twice.+--+-- 'destinationArn', 'resolverQueryLogConfig_destinationArn' - The ARN of the resource that you want Resolver to send query logs: an+-- Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data+-- Firehose delivery stream.+--+-- 'id', 'resolverQueryLogConfig_id' - The ID for the query logging configuration.+--+-- 'name', 'resolverQueryLogConfig_name' - The name of the query logging configuration.+--+-- 'ownerId', 'resolverQueryLogConfig_ownerId' - The Amazon Web Services account ID for the account that created the+-- query logging configuration.+--+-- 'shareStatus', 'resolverQueryLogConfig_shareStatus' - An indication of whether the query logging configuration is shared with+-- other Amazon Web Services accounts, or was shared with the current+-- account by another Amazon Web Services account. Sharing is configured+-- through Resource Access Manager (RAM).+--+-- 'status', 'resolverQueryLogConfig_status' - The status of the specified query logging configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating the query logging configuration.+--+-- - @CREATED@: The query logging configuration was successfully created.+-- Resolver is logging queries that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging configuration.+--+-- - @FAILED@: Resolver can\'t deliver logs to the location that is+-- specified in the query logging configuration. Here are two common+-- causes:+--+-- - The specified destination (for example, an Amazon S3 bucket) was+-- deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+newResolverQueryLogConfig ::+ ResolverQueryLogConfig+newResolverQueryLogConfig =+ ResolverQueryLogConfig'+ { arn = Prelude.Nothing,+ associationCount = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ destinationArn = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ shareStatus = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The ARN for the query logging configuration.+resolverQueryLogConfig_arn :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_arn = Lens.lens (\ResolverQueryLogConfig' {arn} -> arn) (\s@ResolverQueryLogConfig' {} a -> s {arn = a} :: ResolverQueryLogConfig)++-- | The number of VPCs that are associated with the query logging+-- configuration.+resolverQueryLogConfig_associationCount :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Int)+resolverQueryLogConfig_associationCount = Lens.lens (\ResolverQueryLogConfig' {associationCount} -> associationCount) (\s@ResolverQueryLogConfig' {} a -> s {associationCount = a} :: ResolverQueryLogConfig)++-- | The date and time that the query logging configuration was created, in+-- Unix time format and Coordinated Universal Time (UTC).+resolverQueryLogConfig_creationTime :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_creationTime = Lens.lens (\ResolverQueryLogConfig' {creationTime} -> creationTime) (\s@ResolverQueryLogConfig' {} a -> s {creationTime = a} :: ResolverQueryLogConfig)++-- | A unique string that identifies the request that created the query+-- logging configuration. The @CreatorRequestId@ allows failed requests to+-- be retried without the risk of running the operation twice.+resolverQueryLogConfig_creatorRequestId :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_creatorRequestId = Lens.lens (\ResolverQueryLogConfig' {creatorRequestId} -> creatorRequestId) (\s@ResolverQueryLogConfig' {} a -> s {creatorRequestId = a} :: ResolverQueryLogConfig)++-- | The ARN of the resource that you want Resolver to send query logs: an+-- Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data+-- Firehose delivery stream.+resolverQueryLogConfig_destinationArn :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_destinationArn = Lens.lens (\ResolverQueryLogConfig' {destinationArn} -> destinationArn) (\s@ResolverQueryLogConfig' {} a -> s {destinationArn = a} :: ResolverQueryLogConfig)++-- | The ID for the query logging configuration.+resolverQueryLogConfig_id :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_id = Lens.lens (\ResolverQueryLogConfig' {id} -> id) (\s@ResolverQueryLogConfig' {} a -> s {id = a} :: ResolverQueryLogConfig)++-- | The name of the query logging configuration.+resolverQueryLogConfig_name :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_name = Lens.lens (\ResolverQueryLogConfig' {name} -> name) (\s@ResolverQueryLogConfig' {} a -> s {name = a} :: ResolverQueryLogConfig)++-- | The Amazon Web Services account ID for the account that created the+-- query logging configuration.+resolverQueryLogConfig_ownerId :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe Prelude.Text)+resolverQueryLogConfig_ownerId = Lens.lens (\ResolverQueryLogConfig' {ownerId} -> ownerId) (\s@ResolverQueryLogConfig' {} a -> s {ownerId = a} :: ResolverQueryLogConfig)++-- | An indication of whether the query logging configuration is shared with+-- other Amazon Web Services accounts, or was shared with the current+-- account by another Amazon Web Services account. Sharing is configured+-- through Resource Access Manager (RAM).+resolverQueryLogConfig_shareStatus :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe ShareStatus)+resolverQueryLogConfig_shareStatus = Lens.lens (\ResolverQueryLogConfig' {shareStatus} -> shareStatus) (\s@ResolverQueryLogConfig' {} a -> s {shareStatus = a} :: ResolverQueryLogConfig)++-- | The status of the specified query logging configuration. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating the query logging configuration.+--+-- - @CREATED@: The query logging configuration was successfully created.+-- Resolver is logging queries that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging configuration.+--+-- - @FAILED@: Resolver can\'t deliver logs to the location that is+-- specified in the query logging configuration. Here are two common+-- causes:+--+-- - The specified destination (for example, an Amazon S3 bucket) was+-- deleted.+--+-- - Permissions don\'t allow sending logs to the destination.+resolverQueryLogConfig_status :: Lens.Lens' ResolverQueryLogConfig (Prelude.Maybe ResolverQueryLogConfigStatus)+resolverQueryLogConfig_status = Lens.lens (\ResolverQueryLogConfig' {status} -> status) (\s@ResolverQueryLogConfig' {} a -> s {status = a} :: ResolverQueryLogConfig)++instance Data.FromJSON ResolverQueryLogConfig where+ parseJSON =+ Data.withObject+ "ResolverQueryLogConfig"+ ( \x ->+ ResolverQueryLogConfig'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "AssociationCount")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "DestinationArn")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ShareStatus")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable ResolverQueryLogConfig where+ hashWithSalt _salt ResolverQueryLogConfig' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` associationCount+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` destinationArn+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` shareStatus+ `Prelude.hashWithSalt` status++instance Prelude.NFData ResolverQueryLogConfig where+ rnf ResolverQueryLogConfig' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associationCount+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf destinationArn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf shareStatus+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociation.hs view
@@ -0,0 +1,244 @@+{-# 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.Route53Resolver.Types.ResolverQueryLogConfigAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationError+import Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationStatus++-- | In the response to an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html AssociateResolverQueryLogConfig>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html DisassociateResolverQueryLogConfig>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfigAssociation.html GetResolverQueryLogConfigAssociation>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html ListResolverQueryLogConfigAssociations>,+-- request, a complex type that contains settings for a specified+-- association between an Amazon VPC and a query logging configuration.+--+-- /See:/ 'newResolverQueryLogConfigAssociation' smart constructor.+data ResolverQueryLogConfigAssociation = ResolverQueryLogConfigAssociation'+ { -- | The date and time that the VPC was associated with the query logging+ -- configuration, in Unix time format and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | If the value of @Status@ is @FAILED@, the value of @Error@ indicates the+ -- cause:+ --+ -- - @DESTINATION_NOT_FOUND@: The specified destination (for example, an+ -- Amazon S3 bucket) was deleted.+ --+ -- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+ -- destination.+ --+ -- If the value of @Status@ is a value other than @FAILED@, @Error@ is+ -- null.+ error :: Prelude.Maybe ResolverQueryLogConfigAssociationError,+ -- | Contains additional information about the error. If the value or @Error@+ -- is null, the value of @ErrorMessage@ also is null.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The ID of the query logging association.+ id :: Prelude.Maybe Prelude.Text,+ -- | The ID of the query logging configuration that a VPC is associated with.+ resolverQueryLogConfigId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Amazon VPC that is associated with the query logging+ -- configuration.+ resourceId :: Prelude.Maybe Prelude.Text,+ -- | The status of the specified query logging association. Valid values+ -- include the following:+ --+ -- - @CREATING@: Resolver is creating an association between an Amazon+ -- VPC and a query logging configuration.+ --+ -- - @CREATED@: The association between an Amazon VPC and a query logging+ -- configuration was successfully created. Resolver is logging queries+ -- that originate in the specified VPC.+ --+ -- - @DELETING@: Resolver is deleting this query logging association.+ --+ -- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete the+ -- query logging association.+ status :: Prelude.Maybe ResolverQueryLogConfigAssociationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverQueryLogConfigAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'resolverQueryLogConfigAssociation_creationTime' - The date and time that the VPC was associated with the query logging+-- configuration, in Unix time format and Coordinated Universal Time (UTC).+--+-- 'error', 'resolverQueryLogConfigAssociation_error' - If the value of @Status@ is @FAILED@, the value of @Error@ indicates the+-- cause:+--+-- - @DESTINATION_NOT_FOUND@: The specified destination (for example, an+-- Amazon S3 bucket) was deleted.+--+-- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+-- destination.+--+-- If the value of @Status@ is a value other than @FAILED@, @Error@ is+-- null.+--+-- 'errorMessage', 'resolverQueryLogConfigAssociation_errorMessage' - Contains additional information about the error. If the value or @Error@+-- is null, the value of @ErrorMessage@ also is null.+--+-- 'id', 'resolverQueryLogConfigAssociation_id' - The ID of the query logging association.+--+-- 'resolverQueryLogConfigId', 'resolverQueryLogConfigAssociation_resolverQueryLogConfigId' - The ID of the query logging configuration that a VPC is associated with.+--+-- 'resourceId', 'resolverQueryLogConfigAssociation_resourceId' - The ID of the Amazon VPC that is associated with the query logging+-- configuration.+--+-- 'status', 'resolverQueryLogConfigAssociation_status' - The status of the specified query logging association. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating an association between an Amazon+-- VPC and a query logging configuration.+--+-- - @CREATED@: The association between an Amazon VPC and a query logging+-- configuration was successfully created. Resolver is logging queries+-- that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging association.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete the+-- query logging association.+newResolverQueryLogConfigAssociation ::+ ResolverQueryLogConfigAssociation+newResolverQueryLogConfigAssociation =+ ResolverQueryLogConfigAssociation'+ { creationTime =+ Prelude.Nothing,+ error = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ id = Prelude.Nothing,+ resolverQueryLogConfigId =+ Prelude.Nothing,+ resourceId = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The date and time that the VPC was associated with the query logging+-- configuration, in Unix time format and Coordinated Universal Time (UTC).+resolverQueryLogConfigAssociation_creationTime :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe Prelude.Text)+resolverQueryLogConfigAssociation_creationTime = Lens.lens (\ResolverQueryLogConfigAssociation' {creationTime} -> creationTime) (\s@ResolverQueryLogConfigAssociation' {} a -> s {creationTime = a} :: ResolverQueryLogConfigAssociation)++-- | If the value of @Status@ is @FAILED@, the value of @Error@ indicates the+-- cause:+--+-- - @DESTINATION_NOT_FOUND@: The specified destination (for example, an+-- Amazon S3 bucket) was deleted.+--+-- - @ACCESS_DENIED@: Permissions don\'t allow sending logs to the+-- destination.+--+-- If the value of @Status@ is a value other than @FAILED@, @Error@ is+-- null.+resolverQueryLogConfigAssociation_error :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe ResolverQueryLogConfigAssociationError)+resolverQueryLogConfigAssociation_error = Lens.lens (\ResolverQueryLogConfigAssociation' {error} -> error) (\s@ResolverQueryLogConfigAssociation' {} a -> s {error = a} :: ResolverQueryLogConfigAssociation)++-- | Contains additional information about the error. If the value or @Error@+-- is null, the value of @ErrorMessage@ also is null.+resolverQueryLogConfigAssociation_errorMessage :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe Prelude.Text)+resolverQueryLogConfigAssociation_errorMessage = Lens.lens (\ResolverQueryLogConfigAssociation' {errorMessage} -> errorMessage) (\s@ResolverQueryLogConfigAssociation' {} a -> s {errorMessage = a} :: ResolverQueryLogConfigAssociation)++-- | The ID of the query logging association.+resolverQueryLogConfigAssociation_id :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe Prelude.Text)+resolverQueryLogConfigAssociation_id = Lens.lens (\ResolverQueryLogConfigAssociation' {id} -> id) (\s@ResolverQueryLogConfigAssociation' {} a -> s {id = a} :: ResolverQueryLogConfigAssociation)++-- | The ID of the query logging configuration that a VPC is associated with.+resolverQueryLogConfigAssociation_resolverQueryLogConfigId :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe Prelude.Text)+resolverQueryLogConfigAssociation_resolverQueryLogConfigId = Lens.lens (\ResolverQueryLogConfigAssociation' {resolverQueryLogConfigId} -> resolverQueryLogConfigId) (\s@ResolverQueryLogConfigAssociation' {} a -> s {resolverQueryLogConfigId = a} :: ResolverQueryLogConfigAssociation)++-- | The ID of the Amazon VPC that is associated with the query logging+-- configuration.+resolverQueryLogConfigAssociation_resourceId :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe Prelude.Text)+resolverQueryLogConfigAssociation_resourceId = Lens.lens (\ResolverQueryLogConfigAssociation' {resourceId} -> resourceId) (\s@ResolverQueryLogConfigAssociation' {} a -> s {resourceId = a} :: ResolverQueryLogConfigAssociation)++-- | The status of the specified query logging association. Valid values+-- include the following:+--+-- - @CREATING@: Resolver is creating an association between an Amazon+-- VPC and a query logging configuration.+--+-- - @CREATED@: The association between an Amazon VPC and a query logging+-- configuration was successfully created. Resolver is logging queries+-- that originate in the specified VPC.+--+-- - @DELETING@: Resolver is deleting this query logging association.+--+-- - @FAILED@: Resolver either couldn\'t create or couldn\'t delete the+-- query logging association.+resolverQueryLogConfigAssociation_status :: Lens.Lens' ResolverQueryLogConfigAssociation (Prelude.Maybe ResolverQueryLogConfigAssociationStatus)+resolverQueryLogConfigAssociation_status = Lens.lens (\ResolverQueryLogConfigAssociation' {status} -> status) (\s@ResolverQueryLogConfigAssociation' {} a -> s {status = a} :: ResolverQueryLogConfigAssociation)++instance+ Data.FromJSON+ ResolverQueryLogConfigAssociation+ where+ parseJSON =+ Data.withObject+ "ResolverQueryLogConfigAssociation"+ ( \x ->+ ResolverQueryLogConfigAssociation'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Error")+ Prelude.<*> (x Data..:? "ErrorMessage")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ResolverQueryLogConfigId")+ Prelude.<*> (x Data..:? "ResourceId")+ Prelude.<*> (x Data..:? "Status")+ )++instance+ Prelude.Hashable+ ResolverQueryLogConfigAssociation+ where+ hashWithSalt+ _salt+ ResolverQueryLogConfigAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` resolverQueryLogConfigId+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` status++instance+ Prelude.NFData+ ResolverQueryLogConfigAssociation+ where+ rnf ResolverQueryLogConfigAssociation' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf error+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf resolverQueryLogConfigId+ `Prelude.seq` Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociationError.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.Route53Resolver.Types.ResolverQueryLogConfigAssociationError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationError+ ( ResolverQueryLogConfigAssociationError+ ( ..,+ ResolverQueryLogConfigAssociationError_ACCESS_DENIED,+ ResolverQueryLogConfigAssociationError_DESTINATION_NOT_FOUND,+ ResolverQueryLogConfigAssociationError_INTERNAL_SERVICE_ERROR,+ ResolverQueryLogConfigAssociationError_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverQueryLogConfigAssociationError = ResolverQueryLogConfigAssociationError'+ { fromResolverQueryLogConfigAssociationError ::+ 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 ResolverQueryLogConfigAssociationError_ACCESS_DENIED :: ResolverQueryLogConfigAssociationError+pattern ResolverQueryLogConfigAssociationError_ACCESS_DENIED = ResolverQueryLogConfigAssociationError' "ACCESS_DENIED"++pattern ResolverQueryLogConfigAssociationError_DESTINATION_NOT_FOUND :: ResolverQueryLogConfigAssociationError+pattern ResolverQueryLogConfigAssociationError_DESTINATION_NOT_FOUND = ResolverQueryLogConfigAssociationError' "DESTINATION_NOT_FOUND"++pattern ResolverQueryLogConfigAssociationError_INTERNAL_SERVICE_ERROR :: ResolverQueryLogConfigAssociationError+pattern ResolverQueryLogConfigAssociationError_INTERNAL_SERVICE_ERROR = ResolverQueryLogConfigAssociationError' "INTERNAL_SERVICE_ERROR"++pattern ResolverQueryLogConfigAssociationError_NONE :: ResolverQueryLogConfigAssociationError+pattern ResolverQueryLogConfigAssociationError_NONE = ResolverQueryLogConfigAssociationError' "NONE"++{-# COMPLETE+ ResolverQueryLogConfigAssociationError_ACCESS_DENIED,+ ResolverQueryLogConfigAssociationError_DESTINATION_NOT_FOUND,+ ResolverQueryLogConfigAssociationError_INTERNAL_SERVICE_ERROR,+ ResolverQueryLogConfigAssociationError_NONE,+ ResolverQueryLogConfigAssociationError'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigAssociationStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverQueryLogConfigAssociationStatus+ ( ResolverQueryLogConfigAssociationStatus+ ( ..,+ ResolverQueryLogConfigAssociationStatus_ACTION_NEEDED,+ ResolverQueryLogConfigAssociationStatus_ACTIVE,+ ResolverQueryLogConfigAssociationStatus_CREATING,+ ResolverQueryLogConfigAssociationStatus_DELETING,+ ResolverQueryLogConfigAssociationStatus_FAILED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverQueryLogConfigAssociationStatus = ResolverQueryLogConfigAssociationStatus'+ { fromResolverQueryLogConfigAssociationStatus ::+ 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 ResolverQueryLogConfigAssociationStatus_ACTION_NEEDED :: ResolverQueryLogConfigAssociationStatus+pattern ResolverQueryLogConfigAssociationStatus_ACTION_NEEDED = ResolverQueryLogConfigAssociationStatus' "ACTION_NEEDED"++pattern ResolverQueryLogConfigAssociationStatus_ACTIVE :: ResolverQueryLogConfigAssociationStatus+pattern ResolverQueryLogConfigAssociationStatus_ACTIVE = ResolverQueryLogConfigAssociationStatus' "ACTIVE"++pattern ResolverQueryLogConfigAssociationStatus_CREATING :: ResolverQueryLogConfigAssociationStatus+pattern ResolverQueryLogConfigAssociationStatus_CREATING = ResolverQueryLogConfigAssociationStatus' "CREATING"++pattern ResolverQueryLogConfigAssociationStatus_DELETING :: ResolverQueryLogConfigAssociationStatus+pattern ResolverQueryLogConfigAssociationStatus_DELETING = ResolverQueryLogConfigAssociationStatus' "DELETING"++pattern ResolverQueryLogConfigAssociationStatus_FAILED :: ResolverQueryLogConfigAssociationStatus+pattern ResolverQueryLogConfigAssociationStatus_FAILED = ResolverQueryLogConfigAssociationStatus' "FAILED"++{-# COMPLETE+ ResolverQueryLogConfigAssociationStatus_ACTION_NEEDED,+ ResolverQueryLogConfigAssociationStatus_ACTIVE,+ ResolverQueryLogConfigAssociationStatus_CREATING,+ ResolverQueryLogConfigAssociationStatus_DELETING,+ ResolverQueryLogConfigAssociationStatus_FAILED,+ ResolverQueryLogConfigAssociationStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverQueryLogConfigStatus.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.Route53Resolver.Types.ResolverQueryLogConfigStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverQueryLogConfigStatus+ ( ResolverQueryLogConfigStatus+ ( ..,+ ResolverQueryLogConfigStatus_CREATED,+ ResolverQueryLogConfigStatus_CREATING,+ ResolverQueryLogConfigStatus_DELETING,+ ResolverQueryLogConfigStatus_FAILED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverQueryLogConfigStatus = ResolverQueryLogConfigStatus'+ { fromResolverQueryLogConfigStatus ::+ 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 ResolverQueryLogConfigStatus_CREATED :: ResolverQueryLogConfigStatus+pattern ResolverQueryLogConfigStatus_CREATED = ResolverQueryLogConfigStatus' "CREATED"++pattern ResolverQueryLogConfigStatus_CREATING :: ResolverQueryLogConfigStatus+pattern ResolverQueryLogConfigStatus_CREATING = ResolverQueryLogConfigStatus' "CREATING"++pattern ResolverQueryLogConfigStatus_DELETING :: ResolverQueryLogConfigStatus+pattern ResolverQueryLogConfigStatus_DELETING = ResolverQueryLogConfigStatus' "DELETING"++pattern ResolverQueryLogConfigStatus_FAILED :: ResolverQueryLogConfigStatus+pattern ResolverQueryLogConfigStatus_FAILED = ResolverQueryLogConfigStatus' "FAILED"++{-# COMPLETE+ ResolverQueryLogConfigStatus_CREATED,+ ResolverQueryLogConfigStatus_CREATING,+ ResolverQueryLogConfigStatus_DELETING,+ ResolverQueryLogConfigStatus_FAILED,+ ResolverQueryLogConfigStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverRule.hs view
@@ -0,0 +1,325 @@+{-# 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.Route53Resolver.Types.ResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverRuleStatus+import Amazonka.Route53Resolver.Types.RuleTypeOption+import Amazonka.Route53Resolver.Types.ShareStatus+import Amazonka.Route53Resolver.Types.TargetAddress++-- | For queries that originate in your VPC, detailed information about a+-- Resolver rule, which specifies how to route DNS queries out of the VPC.+-- The @ResolverRule@ parameter appears in the response to a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html CreateResolverRule>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html DeleteResolverRule>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html UpdateResolverRule>+-- request.+--+-- /See:/ 'newResolverRule' smart constructor.+data ResolverRule = ResolverRule'+ { -- | The ARN (Amazon Resource Name) for the Resolver rule specified by @Id@.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the Resolver rule was created, in Unix time+ -- format and Coordinated Universal Time (UTC).+ creationTime :: Prelude.Maybe Prelude.Text,+ -- | A unique string that you specified when you created the Resolver rule.+ -- @CreatorRequestId@ identifies the request and allows failed requests to+ -- be retried without the risk of running the operation twice.+ creatorRequestId :: Prelude.Maybe Prelude.Text,+ -- | DNS queries for this domain name are forwarded to the IP addresses that+ -- are specified in @TargetIps@. If a query matches multiple Resolver rules+ -- (example.com and www.example.com), the query is routed using the+ -- Resolver rule that contains the most specific domain name+ -- (www.example.com).+ domainName :: Prelude.Maybe Prelude.Text,+ -- | The ID that Resolver assigned to the Resolver rule when you created it.+ id :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the Resolver rule was last updated, in Unix time+ -- format and Coordinated Universal Time (UTC).+ modificationTime :: Prelude.Maybe Prelude.Text,+ -- | The name for the Resolver rule, which you specified when you created the+ -- Resolver rule.+ name :: Prelude.Maybe Prelude.Text,+ -- | When a rule is shared with another Amazon Web Services account, the+ -- account ID of the account that the rule is shared with.+ ownerId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the endpoint that the rule is associated with.+ resolverEndpointId :: Prelude.Maybe Prelude.Text,+ -- | When you want to forward DNS queries for specified domain name to+ -- resolvers on your network, specify @FORWARD@.+ --+ -- When you have a forwarding rule to forward DNS queries for a domain to+ -- your network and you want Resolver to process queries for a subdomain of+ -- that domain, specify @SYSTEM@.+ --+ -- For example, to forward DNS queries for example.com to resolvers on your+ -- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+ -- have Resolver process queries for apex.example.com, you create a rule+ -- and specify @SYSTEM@ for @RuleType@.+ --+ -- Currently, only Resolver can create rules that have a value of+ -- @RECURSIVE@ for @RuleType@.+ ruleType :: Prelude.Maybe RuleTypeOption,+ -- | Whether the rule is shared and, if so, whether the current account is+ -- sharing the rule with another account, or another account is sharing the+ -- rule with the current account.+ shareStatus :: Prelude.Maybe ShareStatus,+ -- | A code that specifies the current status of the Resolver rule.+ status :: Prelude.Maybe ResolverRuleStatus,+ -- | A detailed description of the status of a Resolver rule.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | An array that contains the IP addresses and ports that an outbound+ -- endpoint forwards DNS queries to. Typically, these are the IP addresses+ -- of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not+ -- supported.+ targetIps :: Prelude.Maybe (Prelude.NonEmpty TargetAddress)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'resolverRule_arn' - The ARN (Amazon Resource Name) for the Resolver rule specified by @Id@.+--+-- 'creationTime', 'resolverRule_creationTime' - The date and time that the Resolver rule was created, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'creatorRequestId', 'resolverRule_creatorRequestId' - A unique string that you specified when you created the Resolver rule.+-- @CreatorRequestId@ identifies the request and allows failed requests to+-- be retried without the risk of running the operation twice.+--+-- 'domainName', 'resolverRule_domainName' - DNS queries for this domain name are forwarded to the IP addresses that+-- are specified in @TargetIps@. If a query matches multiple Resolver rules+-- (example.com and www.example.com), the query is routed using the+-- Resolver rule that contains the most specific domain name+-- (www.example.com).+--+-- 'id', 'resolverRule_id' - The ID that Resolver assigned to the Resolver rule when you created it.+--+-- 'modificationTime', 'resolverRule_modificationTime' - The date and time that the Resolver rule was last updated, in Unix time+-- format and Coordinated Universal Time (UTC).+--+-- 'name', 'resolverRule_name' - The name for the Resolver rule, which you specified when you created the+-- Resolver rule.+--+-- 'ownerId', 'resolverRule_ownerId' - When a rule is shared with another Amazon Web Services account, the+-- account ID of the account that the rule is shared with.+--+-- 'resolverEndpointId', 'resolverRule_resolverEndpointId' - The ID of the endpoint that the rule is associated with.+--+-- 'ruleType', 'resolverRule_ruleType' - When you want to forward DNS queries for specified domain name to+-- resolvers on your network, specify @FORWARD@.+--+-- When you have a forwarding rule to forward DNS queries for a domain to+-- your network and you want Resolver to process queries for a subdomain of+-- that domain, specify @SYSTEM@.+--+-- For example, to forward DNS queries for example.com to resolvers on your+-- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+-- have Resolver process queries for apex.example.com, you create a rule+-- and specify @SYSTEM@ for @RuleType@.+--+-- Currently, only Resolver can create rules that have a value of+-- @RECURSIVE@ for @RuleType@.+--+-- 'shareStatus', 'resolverRule_shareStatus' - Whether the rule is shared and, if so, whether the current account is+-- sharing the rule with another account, or another account is sharing the+-- rule with the current account.+--+-- 'status', 'resolverRule_status' - A code that specifies the current status of the Resolver rule.+--+-- 'statusMessage', 'resolverRule_statusMessage' - A detailed description of the status of a Resolver rule.+--+-- 'targetIps', 'resolverRule_targetIps' - An array that contains the IP addresses and ports that an outbound+-- endpoint forwards DNS queries to. Typically, these are the IP addresses+-- of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not+-- supported.+newResolverRule ::+ ResolverRule+newResolverRule =+ ResolverRule'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ creatorRequestId = Prelude.Nothing,+ domainName = Prelude.Nothing,+ id = Prelude.Nothing,+ modificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ ownerId = Prelude.Nothing,+ resolverEndpointId = Prelude.Nothing,+ ruleType = Prelude.Nothing,+ shareStatus = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ targetIps = Prelude.Nothing+ }++-- | The ARN (Amazon Resource Name) for the Resolver rule specified by @Id@.+resolverRule_arn :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_arn = Lens.lens (\ResolverRule' {arn} -> arn) (\s@ResolverRule' {} a -> s {arn = a} :: ResolverRule)++-- | The date and time that the Resolver rule was created, in Unix time+-- format and Coordinated Universal Time (UTC).+resolverRule_creationTime :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_creationTime = Lens.lens (\ResolverRule' {creationTime} -> creationTime) (\s@ResolverRule' {} a -> s {creationTime = a} :: ResolverRule)++-- | A unique string that you specified when you created the Resolver rule.+-- @CreatorRequestId@ identifies the request and allows failed requests to+-- be retried without the risk of running the operation twice.+resolverRule_creatorRequestId :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_creatorRequestId = Lens.lens (\ResolverRule' {creatorRequestId} -> creatorRequestId) (\s@ResolverRule' {} a -> s {creatorRequestId = a} :: ResolverRule)++-- | DNS queries for this domain name are forwarded to the IP addresses that+-- are specified in @TargetIps@. If a query matches multiple Resolver rules+-- (example.com and www.example.com), the query is routed using the+-- Resolver rule that contains the most specific domain name+-- (www.example.com).+resolverRule_domainName :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_domainName = Lens.lens (\ResolverRule' {domainName} -> domainName) (\s@ResolverRule' {} a -> s {domainName = a} :: ResolverRule)++-- | The ID that Resolver assigned to the Resolver rule when you created it.+resolverRule_id :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_id = Lens.lens (\ResolverRule' {id} -> id) (\s@ResolverRule' {} a -> s {id = a} :: ResolverRule)++-- | The date and time that the Resolver rule was last updated, in Unix time+-- format and Coordinated Universal Time (UTC).+resolverRule_modificationTime :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_modificationTime = Lens.lens (\ResolverRule' {modificationTime} -> modificationTime) (\s@ResolverRule' {} a -> s {modificationTime = a} :: ResolverRule)++-- | The name for the Resolver rule, which you specified when you created the+-- Resolver rule.+resolverRule_name :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_name = Lens.lens (\ResolverRule' {name} -> name) (\s@ResolverRule' {} a -> s {name = a} :: ResolverRule)++-- | When a rule is shared with another Amazon Web Services account, the+-- account ID of the account that the rule is shared with.+resolverRule_ownerId :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_ownerId = Lens.lens (\ResolverRule' {ownerId} -> ownerId) (\s@ResolverRule' {} a -> s {ownerId = a} :: ResolverRule)++-- | The ID of the endpoint that the rule is associated with.+resolverRule_resolverEndpointId :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_resolverEndpointId = Lens.lens (\ResolverRule' {resolverEndpointId} -> resolverEndpointId) (\s@ResolverRule' {} a -> s {resolverEndpointId = a} :: ResolverRule)++-- | When you want to forward DNS queries for specified domain name to+-- resolvers on your network, specify @FORWARD@.+--+-- When you have a forwarding rule to forward DNS queries for a domain to+-- your network and you want Resolver to process queries for a subdomain of+-- that domain, specify @SYSTEM@.+--+-- For example, to forward DNS queries for example.com to resolvers on your+-- network, you create a rule and specify @FORWARD@ for @RuleType@. To then+-- have Resolver process queries for apex.example.com, you create a rule+-- and specify @SYSTEM@ for @RuleType@.+--+-- Currently, only Resolver can create rules that have a value of+-- @RECURSIVE@ for @RuleType@.+resolverRule_ruleType :: Lens.Lens' ResolverRule (Prelude.Maybe RuleTypeOption)+resolverRule_ruleType = Lens.lens (\ResolverRule' {ruleType} -> ruleType) (\s@ResolverRule' {} a -> s {ruleType = a} :: ResolverRule)++-- | Whether the rule is shared and, if so, whether the current account is+-- sharing the rule with another account, or another account is sharing the+-- rule with the current account.+resolverRule_shareStatus :: Lens.Lens' ResolverRule (Prelude.Maybe ShareStatus)+resolverRule_shareStatus = Lens.lens (\ResolverRule' {shareStatus} -> shareStatus) (\s@ResolverRule' {} a -> s {shareStatus = a} :: ResolverRule)++-- | A code that specifies the current status of the Resolver rule.+resolverRule_status :: Lens.Lens' ResolverRule (Prelude.Maybe ResolverRuleStatus)+resolverRule_status = Lens.lens (\ResolverRule' {status} -> status) (\s@ResolverRule' {} a -> s {status = a} :: ResolverRule)++-- | A detailed description of the status of a Resolver rule.+resolverRule_statusMessage :: Lens.Lens' ResolverRule (Prelude.Maybe Prelude.Text)+resolverRule_statusMessage = Lens.lens (\ResolverRule' {statusMessage} -> statusMessage) (\s@ResolverRule' {} a -> s {statusMessage = a} :: ResolverRule)++-- | An array that contains the IP addresses and ports that an outbound+-- endpoint forwards DNS queries to. Typically, these are the IP addresses+-- of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not+-- supported.+resolverRule_targetIps :: Lens.Lens' ResolverRule (Prelude.Maybe (Prelude.NonEmpty TargetAddress))+resolverRule_targetIps = Lens.lens (\ResolverRule' {targetIps} -> targetIps) (\s@ResolverRule' {} a -> s {targetIps = a} :: ResolverRule) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ResolverRule where+ parseJSON =+ Data.withObject+ "ResolverRule"+ ( \x ->+ ResolverRule'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CreatorRequestId")+ Prelude.<*> (x Data..:? "DomainName")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ModificationTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "OwnerId")+ Prelude.<*> (x Data..:? "ResolverEndpointId")+ Prelude.<*> (x Data..:? "RuleType")+ Prelude.<*> (x Data..:? "ShareStatus")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ Prelude.<*> (x Data..:? "TargetIps")+ )++instance Prelude.Hashable ResolverRule where+ hashWithSalt _salt ResolverRule' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` creatorRequestId+ `Prelude.hashWithSalt` domainName+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` modificationTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` ownerId+ `Prelude.hashWithSalt` resolverEndpointId+ `Prelude.hashWithSalt` ruleType+ `Prelude.hashWithSalt` shareStatus+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` targetIps++instance Prelude.NFData ResolverRule where+ rnf ResolverRule' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf creatorRequestId+ `Prelude.seq` Prelude.rnf domainName+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf modificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf ownerId+ `Prelude.seq` Prelude.rnf resolverEndpointId+ `Prelude.seq` Prelude.rnf ruleType+ `Prelude.seq` Prelude.rnf shareStatus+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf targetIps
+ gen/Amazonka/Route53Resolver/Types/ResolverRuleAssociation.hs view
@@ -0,0 +1,158 @@+{-# 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.Route53Resolver.Types.ResolverRuleAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverRuleAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.ResolverRuleAssociationStatus++-- | In the response to an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html AssociateResolverRule>,+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html DisassociateResolverRule>,+-- or+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+-- request, provides information about an association between a Resolver+-- rule and a VPC. The association determines which DNS queries that+-- originate in the VPC are forwarded to your network.+--+-- /See:/ 'newResolverRuleAssociation' smart constructor.+data ResolverRuleAssociation = ResolverRuleAssociation'+ { -- | The ID of the association between a Resolver rule and a VPC. Resolver+ -- assigns this value when you submit an+ -- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html AssociateResolverRule>+ -- request.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of an association between a Resolver rule and a VPC.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Resolver rule that you associated with the VPC that is+ -- specified by @VPCId@.+ resolverRuleId :: Prelude.Maybe Prelude.Text,+ -- | A code that specifies the current status of the association between a+ -- Resolver rule and a VPC.+ status :: Prelude.Maybe ResolverRuleAssociationStatus,+ -- | A detailed description of the status of the association between a+ -- Resolver rule and a VPC.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The ID of the VPC that you associated the Resolver rule with.+ vPCId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverRuleAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'resolverRuleAssociation_id' - The ID of the association between a Resolver rule and a VPC. Resolver+-- assigns this value when you submit an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html AssociateResolverRule>+-- request.+--+-- 'name', 'resolverRuleAssociation_name' - The name of an association between a Resolver rule and a VPC.+--+-- 'resolverRuleId', 'resolverRuleAssociation_resolverRuleId' - The ID of the Resolver rule that you associated with the VPC that is+-- specified by @VPCId@.+--+-- 'status', 'resolverRuleAssociation_status' - A code that specifies the current status of the association between a+-- Resolver rule and a VPC.+--+-- 'statusMessage', 'resolverRuleAssociation_statusMessage' - A detailed description of the status of the association between a+-- Resolver rule and a VPC.+--+-- 'vPCId', 'resolverRuleAssociation_vPCId' - The ID of the VPC that you associated the Resolver rule with.+newResolverRuleAssociation ::+ ResolverRuleAssociation+newResolverRuleAssociation =+ ResolverRuleAssociation'+ { id = Prelude.Nothing,+ name = Prelude.Nothing,+ resolverRuleId = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ vPCId = Prelude.Nothing+ }++-- | The ID of the association between a Resolver rule and a VPC. Resolver+-- assigns this value when you submit an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html AssociateResolverRule>+-- request.+resolverRuleAssociation_id :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe Prelude.Text)+resolverRuleAssociation_id = Lens.lens (\ResolverRuleAssociation' {id} -> id) (\s@ResolverRuleAssociation' {} a -> s {id = a} :: ResolverRuleAssociation)++-- | The name of an association between a Resolver rule and a VPC.+resolverRuleAssociation_name :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe Prelude.Text)+resolverRuleAssociation_name = Lens.lens (\ResolverRuleAssociation' {name} -> name) (\s@ResolverRuleAssociation' {} a -> s {name = a} :: ResolverRuleAssociation)++-- | The ID of the Resolver rule that you associated with the VPC that is+-- specified by @VPCId@.+resolverRuleAssociation_resolverRuleId :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe Prelude.Text)+resolverRuleAssociation_resolverRuleId = Lens.lens (\ResolverRuleAssociation' {resolverRuleId} -> resolverRuleId) (\s@ResolverRuleAssociation' {} a -> s {resolverRuleId = a} :: ResolverRuleAssociation)++-- | A code that specifies the current status of the association between a+-- Resolver rule and a VPC.+resolverRuleAssociation_status :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe ResolverRuleAssociationStatus)+resolverRuleAssociation_status = Lens.lens (\ResolverRuleAssociation' {status} -> status) (\s@ResolverRuleAssociation' {} a -> s {status = a} :: ResolverRuleAssociation)++-- | A detailed description of the status of the association between a+-- Resolver rule and a VPC.+resolverRuleAssociation_statusMessage :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe Prelude.Text)+resolverRuleAssociation_statusMessage = Lens.lens (\ResolverRuleAssociation' {statusMessage} -> statusMessage) (\s@ResolverRuleAssociation' {} a -> s {statusMessage = a} :: ResolverRuleAssociation)++-- | The ID of the VPC that you associated the Resolver rule with.+resolverRuleAssociation_vPCId :: Lens.Lens' ResolverRuleAssociation (Prelude.Maybe Prelude.Text)+resolverRuleAssociation_vPCId = Lens.lens (\ResolverRuleAssociation' {vPCId} -> vPCId) (\s@ResolverRuleAssociation' {} a -> s {vPCId = a} :: ResolverRuleAssociation)++instance Data.FromJSON ResolverRuleAssociation where+ parseJSON =+ Data.withObject+ "ResolverRuleAssociation"+ ( \x ->+ ResolverRuleAssociation'+ Prelude.<$> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ResolverRuleId")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ Prelude.<*> (x Data..:? "VPCId")+ )++instance Prelude.Hashable ResolverRuleAssociation where+ hashWithSalt _salt ResolverRuleAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resolverRuleId+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage+ `Prelude.hashWithSalt` vPCId++instance Prelude.NFData ResolverRuleAssociation where+ rnf ResolverRuleAssociation' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf resolverRuleId+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf vPCId
+ gen/Amazonka/Route53Resolver/Types/ResolverRuleAssociationStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.ResolverRuleAssociationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverRuleAssociationStatus+ ( ResolverRuleAssociationStatus+ ( ..,+ ResolverRuleAssociationStatus_COMPLETE,+ ResolverRuleAssociationStatus_CREATING,+ ResolverRuleAssociationStatus_DELETING,+ ResolverRuleAssociationStatus_FAILED,+ ResolverRuleAssociationStatus_OVERRIDDEN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverRuleAssociationStatus = ResolverRuleAssociationStatus'+ { fromResolverRuleAssociationStatus ::+ 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 ResolverRuleAssociationStatus_COMPLETE :: ResolverRuleAssociationStatus+pattern ResolverRuleAssociationStatus_COMPLETE = ResolverRuleAssociationStatus' "COMPLETE"++pattern ResolverRuleAssociationStatus_CREATING :: ResolverRuleAssociationStatus+pattern ResolverRuleAssociationStatus_CREATING = ResolverRuleAssociationStatus' "CREATING"++pattern ResolverRuleAssociationStatus_DELETING :: ResolverRuleAssociationStatus+pattern ResolverRuleAssociationStatus_DELETING = ResolverRuleAssociationStatus' "DELETING"++pattern ResolverRuleAssociationStatus_FAILED :: ResolverRuleAssociationStatus+pattern ResolverRuleAssociationStatus_FAILED = ResolverRuleAssociationStatus' "FAILED"++pattern ResolverRuleAssociationStatus_OVERRIDDEN :: ResolverRuleAssociationStatus+pattern ResolverRuleAssociationStatus_OVERRIDDEN = ResolverRuleAssociationStatus' "OVERRIDDEN"++{-# COMPLETE+ ResolverRuleAssociationStatus_COMPLETE,+ ResolverRuleAssociationStatus_CREATING,+ ResolverRuleAssociationStatus_DELETING,+ ResolverRuleAssociationStatus_FAILED,+ ResolverRuleAssociationStatus_OVERRIDDEN,+ ResolverRuleAssociationStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/ResolverRuleConfig.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.Route53Resolver.Types.ResolverRuleConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverRuleConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Types.TargetAddress++-- | In an+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html UpdateResolverRule>+-- request, information about the changes that you want to make.+--+-- /See:/ 'newResolverRuleConfig' smart constructor.+data ResolverRuleConfig = ResolverRuleConfig'+ { -- | The new name for the Resolver rule. The name that you specify appears in+ -- the Resolver dashboard in the Route 53 console.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the new outbound Resolver endpoint that you want to use to+ -- route DNS queries to the IP addresses that you specify in @TargetIps@.+ resolverEndpointId :: Prelude.Maybe Prelude.Text,+ -- | For DNS queries that originate in your VPC, the new IP addresses that+ -- you want to route outbound DNS queries to.+ targetIps :: Prelude.Maybe (Prelude.NonEmpty TargetAddress)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResolverRuleConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'resolverRuleConfig_name' - The new name for the Resolver rule. The name that you specify appears in+-- the Resolver dashboard in the Route 53 console.+--+-- 'resolverEndpointId', 'resolverRuleConfig_resolverEndpointId' - The ID of the new outbound Resolver endpoint that you want to use to+-- route DNS queries to the IP addresses that you specify in @TargetIps@.+--+-- 'targetIps', 'resolverRuleConfig_targetIps' - For DNS queries that originate in your VPC, the new IP addresses that+-- you want to route outbound DNS queries to.+newResolverRuleConfig ::+ ResolverRuleConfig+newResolverRuleConfig =+ ResolverRuleConfig'+ { name = Prelude.Nothing,+ resolverEndpointId = Prelude.Nothing,+ targetIps = Prelude.Nothing+ }++-- | The new name for the Resolver rule. The name that you specify appears in+-- the Resolver dashboard in the Route 53 console.+resolverRuleConfig_name :: Lens.Lens' ResolverRuleConfig (Prelude.Maybe Prelude.Text)+resolverRuleConfig_name = Lens.lens (\ResolverRuleConfig' {name} -> name) (\s@ResolverRuleConfig' {} a -> s {name = a} :: ResolverRuleConfig)++-- | The ID of the new outbound Resolver endpoint that you want to use to+-- route DNS queries to the IP addresses that you specify in @TargetIps@.+resolverRuleConfig_resolverEndpointId :: Lens.Lens' ResolverRuleConfig (Prelude.Maybe Prelude.Text)+resolverRuleConfig_resolverEndpointId = Lens.lens (\ResolverRuleConfig' {resolverEndpointId} -> resolverEndpointId) (\s@ResolverRuleConfig' {} a -> s {resolverEndpointId = a} :: ResolverRuleConfig)++-- | For DNS queries that originate in your VPC, the new IP addresses that+-- you want to route outbound DNS queries to.+resolverRuleConfig_targetIps :: Lens.Lens' ResolverRuleConfig (Prelude.Maybe (Prelude.NonEmpty TargetAddress))+resolverRuleConfig_targetIps = Lens.lens (\ResolverRuleConfig' {targetIps} -> targetIps) (\s@ResolverRuleConfig' {} a -> s {targetIps = a} :: ResolverRuleConfig) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ResolverRuleConfig where+ hashWithSalt _salt ResolverRuleConfig' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resolverEndpointId+ `Prelude.hashWithSalt` targetIps++instance Prelude.NFData ResolverRuleConfig where+ rnf ResolverRuleConfig' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf resolverEndpointId+ `Prelude.seq` Prelude.rnf targetIps++instance Data.ToJSON ResolverRuleConfig where+ toJSON ResolverRuleConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ ("ResolverEndpointId" Data..=)+ Prelude.<$> resolverEndpointId,+ ("TargetIps" Data..=) Prelude.<$> targetIps+ ]+ )
+ gen/Amazonka/Route53Resolver/Types/ResolverRuleStatus.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.Route53Resolver.Types.ResolverRuleStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ResolverRuleStatus+ ( ResolverRuleStatus+ ( ..,+ ResolverRuleStatus_COMPLETE,+ ResolverRuleStatus_DELETING,+ ResolverRuleStatus_FAILED,+ ResolverRuleStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolverRuleStatus = ResolverRuleStatus'+ { fromResolverRuleStatus ::+ 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 ResolverRuleStatus_COMPLETE :: ResolverRuleStatus+pattern ResolverRuleStatus_COMPLETE = ResolverRuleStatus' "COMPLETE"++pattern ResolverRuleStatus_DELETING :: ResolverRuleStatus+pattern ResolverRuleStatus_DELETING = ResolverRuleStatus' "DELETING"++pattern ResolverRuleStatus_FAILED :: ResolverRuleStatus+pattern ResolverRuleStatus_FAILED = ResolverRuleStatus' "FAILED"++pattern ResolverRuleStatus_UPDATING :: ResolverRuleStatus+pattern ResolverRuleStatus_UPDATING = ResolverRuleStatus' "UPDATING"++{-# COMPLETE+ ResolverRuleStatus_COMPLETE,+ ResolverRuleStatus_DELETING,+ ResolverRuleStatus_FAILED,+ ResolverRuleStatus_UPDATING,+ ResolverRuleStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/RuleTypeOption.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.Route53Resolver.Types.RuleTypeOption+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.RuleTypeOption+ ( RuleTypeOption+ ( ..,+ RuleTypeOption_FORWARD,+ RuleTypeOption_RECURSIVE,+ RuleTypeOption_SYSTEM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RuleTypeOption = RuleTypeOption'+ { fromRuleTypeOption ::+ 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 RuleTypeOption_FORWARD :: RuleTypeOption+pattern RuleTypeOption_FORWARD = RuleTypeOption' "FORWARD"++pattern RuleTypeOption_RECURSIVE :: RuleTypeOption+pattern RuleTypeOption_RECURSIVE = RuleTypeOption' "RECURSIVE"++pattern RuleTypeOption_SYSTEM :: RuleTypeOption+pattern RuleTypeOption_SYSTEM = RuleTypeOption' "SYSTEM"++{-# COMPLETE+ RuleTypeOption_FORWARD,+ RuleTypeOption_RECURSIVE,+ RuleTypeOption_SYSTEM,+ RuleTypeOption'+ #-}
@@ -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.Route53Resolver.Types.ShareStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.ShareStatus+ ( ShareStatus+ ( ..,+ ShareStatus_NOT_SHARED,+ ShareStatus_SHARED_BY_ME,+ ShareStatus_SHARED_WITH_ME+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShareStatus = ShareStatus'+ { fromShareStatus ::+ 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 ShareStatus_NOT_SHARED :: ShareStatus+pattern ShareStatus_NOT_SHARED = ShareStatus' "NOT_SHARED"++pattern ShareStatus_SHARED_BY_ME :: ShareStatus+pattern ShareStatus_SHARED_BY_ME = ShareStatus' "SHARED_BY_ME"++pattern ShareStatus_SHARED_WITH_ME :: ShareStatus+pattern ShareStatus_SHARED_WITH_ME = ShareStatus' "SHARED_WITH_ME"++{-# COMPLETE+ ShareStatus_NOT_SHARED,+ ShareStatus_SHARED_BY_ME,+ ShareStatus_SHARED_WITH_ME,+ ShareStatus'+ #-}
+ gen/Amazonka/Route53Resolver/Types/SortOrder.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.SortOrder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.SortOrder+ ( SortOrder+ ( ..,+ SortOrder_ASCENDING,+ SortOrder_DESCENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+ { fromSortOrder ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+ SortOrder_ASCENDING,+ SortOrder_DESCENDING,+ SortOrder'+ #-}
+ gen/Amazonka/Route53Resolver/Types/Tag.hs view
@@ -0,0 +1,106 @@+{-# 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.Route53Resolver.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.Route53Resolver.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++-- | One tag that you want to add to the specified resource. A tag consists+-- of a @Key@ (a name for the tag) and a @Value@.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The name for the tag. For example, if you want to associate Resolver+ -- resources with the account IDs of your customers for billing purposes,+ -- the value of @Key@ might be @account-id@.+ key :: Prelude.Text,+ -- | The value for the tag. For example, if @Key@ is @account-id@, then+ -- @Value@ might be the ID of the customer account that you\'re creating+ -- the resource for.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The name for the tag. For example, if you want to associate Resolver+-- resources with the account IDs of your customers for billing purposes,+-- the value of @Key@ might be @account-id@.+--+-- 'value', 'tag_value' - The value for the tag. For example, if @Key@ is @account-id@, then+-- @Value@ might be the ID of the customer account that you\'re creating+-- the resource for.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The name for the tag. For example, if you want to associate Resolver+-- resources with the account IDs of your customers for billing purposes,+-- the value of @Key@ might be @account-id@.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value for the tag. For example, if @Key@ is @account-id@, then+-- @Value@ might be the ID of the customer account that you\'re creating+-- the resource for.+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/Route53Resolver/Types/TargetAddress.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.TargetAddress+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.TargetAddress 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++-- | In a+-- <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html CreateResolverRule>+-- request, an array of the IPs that you want to forward DNS queries to.+--+-- /See:/ 'newTargetAddress' smart constructor.+data TargetAddress = TargetAddress'+ { -- | The port at @Ip@ that you want to forward DNS queries to.+ port :: Prelude.Maybe Prelude.Natural,+ -- | One IP address that you want to forward DNS queries to. You can specify+ -- only IPv4 addresses.+ ip :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TargetAddress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'port', 'targetAddress_port' - The port at @Ip@ that you want to forward DNS queries to.+--+-- 'ip', 'targetAddress_ip' - One IP address that you want to forward DNS queries to. You can specify+-- only IPv4 addresses.+newTargetAddress ::+ -- | 'ip'+ Prelude.Text ->+ TargetAddress+newTargetAddress pIp_ =+ TargetAddress' {port = Prelude.Nothing, ip = pIp_}++-- | The port at @Ip@ that you want to forward DNS queries to.+targetAddress_port :: Lens.Lens' TargetAddress (Prelude.Maybe Prelude.Natural)+targetAddress_port = Lens.lens (\TargetAddress' {port} -> port) (\s@TargetAddress' {} a -> s {port = a} :: TargetAddress)++-- | One IP address that you want to forward DNS queries to. You can specify+-- only IPv4 addresses.+targetAddress_ip :: Lens.Lens' TargetAddress Prelude.Text+targetAddress_ip = Lens.lens (\TargetAddress' {ip} -> ip) (\s@TargetAddress' {} a -> s {ip = a} :: TargetAddress)++instance Data.FromJSON TargetAddress where+ parseJSON =+ Data.withObject+ "TargetAddress"+ ( \x ->+ TargetAddress'+ Prelude.<$> (x Data..:? "Port")+ Prelude.<*> (x Data..: "Ip")+ )++instance Prelude.Hashable TargetAddress where+ hashWithSalt _salt TargetAddress' {..} =+ _salt+ `Prelude.hashWithSalt` port+ `Prelude.hashWithSalt` ip++instance Prelude.NFData TargetAddress where+ rnf TargetAddress' {..} =+ Prelude.rnf port `Prelude.seq` Prelude.rnf ip++instance Data.ToJSON TargetAddress where+ toJSON TargetAddress' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Port" Data..=) Prelude.<$> port,+ Prelude.Just ("Ip" Data..= ip)+ ]+ )
+ gen/Amazonka/Route53Resolver/Types/Validation.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.Types.Validation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Route53Resolver.Types.Validation+ ( Validation+ ( ..,+ Validation_DISABLE,+ Validation_ENABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Validation = Validation'+ { fromValidation ::+ 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 Validation_DISABLE :: Validation+pattern Validation_DISABLE = Validation' "DISABLE"++pattern Validation_ENABLE :: Validation+pattern Validation_ENABLE = Validation' "ENABLE"++{-# COMPLETE+ Validation_DISABLE,+ Validation_ENABLE,+ Validation'+ #-}
+ gen/Amazonka/Route53Resolver/UntagResource.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes one or more tags from a specified resource.+module Amazonka.Route53Resolver.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) for the resource that you want to remove+ -- tags from. To get the ARN for a resource, use the applicable @Get@ or+ -- @List@ command:+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+ --+ -- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+ resourceArn :: Prelude.Text,+ -- | The tags that you want to remove to the specified resource.+ 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) for the resource that you want to remove+-- tags from. To get the ARN for a resource, use the applicable @Get@ or+-- @List@ command:+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+--+-- 'tagKeys', 'untagResource_tagKeys' - The tags that you want to remove to the specified resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) for the resource that you want to remove+-- tags from. To get the ARN for a resource, use the applicable @Get@ or+-- @List@ command:+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html GetResolverEndpoint>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html GetResolverRule>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html GetResolverRuleAssociation>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html ListResolverEndpoints>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html ListResolverRuleAssociations>+--+-- - <https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html ListResolverRules>+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tags that you want to remove to the specified resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UntagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceArn" Data..= resourceArn),+ Prelude.Just ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateFirewallConfig.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateFirewallConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the configuration of the firewall behavior provided by DNS+-- Firewall for a single VPC from Amazon Virtual Private Cloud (Amazon+-- VPC).+module Amazonka.Route53Resolver.UpdateFirewallConfig+ ( -- * Creating a Request+ UpdateFirewallConfig (..),+ newUpdateFirewallConfig,++ -- * Request Lenses+ updateFirewallConfig_resourceId,+ updateFirewallConfig_firewallFailOpen,++ -- * Destructuring the Response+ UpdateFirewallConfigResponse (..),+ newUpdateFirewallConfigResponse,++ -- * Response Lenses+ updateFirewallConfigResponse_firewallConfig,+ updateFirewallConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateFirewallConfig' smart constructor.+data UpdateFirewallConfig = UpdateFirewallConfig'+ { -- | The ID of the VPC that the configuration is for.+ resourceId :: Prelude.Text,+ -- | Determines how Route 53 Resolver handles queries during failures, for+ -- example when all traffic that is sent to DNS Firewall fails to receive a+ -- reply.+ --+ -- - By default, fail open is disabled, which means the failure mode is+ -- closed. This approach favors security over availability. DNS+ -- Firewall blocks queries that it is unable to evaluate properly.+ --+ -- - If you enable this option, the failure mode is open. This approach+ -- favors availability over security. DNS Firewall allows queries to+ -- proceed if it is unable to properly evaluate them.+ --+ -- This behavior is only enforced for VPCs that have at least one DNS+ -- Firewall rule group association.+ firewallFailOpen :: FirewallFailOpenStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'updateFirewallConfig_resourceId' - The ID of the VPC that the configuration is for.+--+-- 'firewallFailOpen', 'updateFirewallConfig_firewallFailOpen' - Determines how Route 53 Resolver handles queries during failures, for+-- example when all traffic that is sent to DNS Firewall fails to receive a+-- reply.+--+-- - By default, fail open is disabled, which means the failure mode is+-- closed. This approach favors security over availability. DNS+-- Firewall blocks queries that it is unable to evaluate properly.+--+-- - If you enable this option, the failure mode is open. This approach+-- favors availability over security. DNS Firewall allows queries to+-- proceed if it is unable to properly evaluate them.+--+-- This behavior is only enforced for VPCs that have at least one DNS+-- Firewall rule group association.+newUpdateFirewallConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ -- | 'firewallFailOpen'+ FirewallFailOpenStatus ->+ UpdateFirewallConfig+newUpdateFirewallConfig+ pResourceId_+ pFirewallFailOpen_ =+ UpdateFirewallConfig'+ { resourceId = pResourceId_,+ firewallFailOpen = pFirewallFailOpen_+ }++-- | The ID of the VPC that the configuration is for.+updateFirewallConfig_resourceId :: Lens.Lens' UpdateFirewallConfig Prelude.Text+updateFirewallConfig_resourceId = Lens.lens (\UpdateFirewallConfig' {resourceId} -> resourceId) (\s@UpdateFirewallConfig' {} a -> s {resourceId = a} :: UpdateFirewallConfig)++-- | Determines how Route 53 Resolver handles queries during failures, for+-- example when all traffic that is sent to DNS Firewall fails to receive a+-- reply.+--+-- - By default, fail open is disabled, which means the failure mode is+-- closed. This approach favors security over availability. DNS+-- Firewall blocks queries that it is unable to evaluate properly.+--+-- - If you enable this option, the failure mode is open. This approach+-- favors availability over security. DNS Firewall allows queries to+-- proceed if it is unable to properly evaluate them.+--+-- This behavior is only enforced for VPCs that have at least one DNS+-- Firewall rule group association.+updateFirewallConfig_firewallFailOpen :: Lens.Lens' UpdateFirewallConfig FirewallFailOpenStatus+updateFirewallConfig_firewallFailOpen = Lens.lens (\UpdateFirewallConfig' {firewallFailOpen} -> firewallFailOpen) (\s@UpdateFirewallConfig' {} a -> s {firewallFailOpen = a} :: UpdateFirewallConfig)++instance Core.AWSRequest UpdateFirewallConfig where+ type+ AWSResponse UpdateFirewallConfig =+ UpdateFirewallConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFirewallConfigResponse'+ Prelude.<$> (x Data..?> "FirewallConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFirewallConfig where+ hashWithSalt _salt UpdateFirewallConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` firewallFailOpen++instance Prelude.NFData UpdateFirewallConfig where+ rnf UpdateFirewallConfig' {..} =+ Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf firewallFailOpen++instance Data.ToHeaders UpdateFirewallConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateFirewallConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFirewallConfig where+ toJSON UpdateFirewallConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceId" Data..= resourceId),+ Prelude.Just+ ("FirewallFailOpen" Data..= firewallFailOpen)+ ]+ )++instance Data.ToPath UpdateFirewallConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFirewallConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFirewallConfigResponse' smart constructor.+data UpdateFirewallConfigResponse = UpdateFirewallConfigResponse'+ { -- | Configuration of the firewall behavior provided by DNS Firewall for a+ -- single VPC.+ firewallConfig :: Prelude.Maybe FirewallConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallConfig', 'updateFirewallConfigResponse_firewallConfig' - Configuration of the firewall behavior provided by DNS Firewall for a+-- single VPC.+--+-- 'httpStatus', 'updateFirewallConfigResponse_httpStatus' - The response's http status code.+newUpdateFirewallConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFirewallConfigResponse+newUpdateFirewallConfigResponse pHttpStatus_ =+ UpdateFirewallConfigResponse'+ { firewallConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Configuration of the firewall behavior provided by DNS Firewall for a+-- single VPC.+updateFirewallConfigResponse_firewallConfig :: Lens.Lens' UpdateFirewallConfigResponse (Prelude.Maybe FirewallConfig)+updateFirewallConfigResponse_firewallConfig = Lens.lens (\UpdateFirewallConfigResponse' {firewallConfig} -> firewallConfig) (\s@UpdateFirewallConfigResponse' {} a -> s {firewallConfig = a} :: UpdateFirewallConfigResponse)++-- | The response's http status code.+updateFirewallConfigResponse_httpStatus :: Lens.Lens' UpdateFirewallConfigResponse Prelude.Int+updateFirewallConfigResponse_httpStatus = Lens.lens (\UpdateFirewallConfigResponse' {httpStatus} -> httpStatus) (\s@UpdateFirewallConfigResponse' {} a -> s {httpStatus = a} :: UpdateFirewallConfigResponse)++instance Prelude.NFData UpdateFirewallConfigResponse where+ rnf UpdateFirewallConfigResponse' {..} =+ Prelude.rnf firewallConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateFirewallDomains.hs view
@@ -0,0 +1,301 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateFirewallDomains+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the firewall domain list from an array of domain specifications.+module Amazonka.Route53Resolver.UpdateFirewallDomains+ ( -- * Creating a Request+ UpdateFirewallDomains (..),+ newUpdateFirewallDomains,++ -- * Request Lenses+ updateFirewallDomains_firewallDomainListId,+ updateFirewallDomains_operation,+ updateFirewallDomains_domains,++ -- * Destructuring the Response+ UpdateFirewallDomainsResponse (..),+ newUpdateFirewallDomainsResponse,++ -- * Response Lenses+ updateFirewallDomainsResponse_id,+ updateFirewallDomainsResponse_name,+ updateFirewallDomainsResponse_status,+ updateFirewallDomainsResponse_statusMessage,+ updateFirewallDomainsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateFirewallDomains' smart constructor.+data UpdateFirewallDomains = UpdateFirewallDomains'+ { -- | The ID of the domain list whose domains you want to update.+ firewallDomainListId :: Prelude.Text,+ -- | What you want DNS Firewall to do with the domains that you are+ -- providing:+ --+ -- - @ADD@ - Add the domains to the ones that are already in the domain+ -- list.+ --+ -- - @REMOVE@ - Search the domain list for the domains and remove them+ -- from the list.+ --+ -- - @REPLACE@ - Update the domain list to exactly match the list that+ -- you are providing.+ operation :: FirewallDomainUpdateOperation,+ -- | A list of domains to use in the update operation.+ --+ -- Each domain specification in your domain list must satisfy the following+ -- requirements:+ --+ -- - It can optionally start with @*@ (asterisk).+ --+ -- - With the exception of the optional starting asterisk, it must only+ -- contain the following characters: @A-Z@, @a-z@, @0-9@, @-@ (hyphen).+ --+ -- - It must be from 1-255 characters in length.+ domains :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallDomains' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallDomainListId', 'updateFirewallDomains_firewallDomainListId' - The ID of the domain list whose domains you want to update.+--+-- 'operation', 'updateFirewallDomains_operation' - What you want DNS Firewall to do with the domains that you are+-- providing:+--+-- - @ADD@ - Add the domains to the ones that are already in the domain+-- list.+--+-- - @REMOVE@ - Search the domain list for the domains and remove them+-- from the list.+--+-- - @REPLACE@ - Update the domain list to exactly match the list that+-- you are providing.+--+-- 'domains', 'updateFirewallDomains_domains' - A list of domains to use in the update operation.+--+-- Each domain specification in your domain list must satisfy the following+-- requirements:+--+-- - It can optionally start with @*@ (asterisk).+--+-- - With the exception of the optional starting asterisk, it must only+-- contain the following characters: @A-Z@, @a-z@, @0-9@, @-@ (hyphen).+--+-- - It must be from 1-255 characters in length.+newUpdateFirewallDomains ::+ -- | 'firewallDomainListId'+ Prelude.Text ->+ -- | 'operation'+ FirewallDomainUpdateOperation ->+ UpdateFirewallDomains+newUpdateFirewallDomains+ pFirewallDomainListId_+ pOperation_ =+ UpdateFirewallDomains'+ { firewallDomainListId =+ pFirewallDomainListId_,+ operation = pOperation_,+ domains = Prelude.mempty+ }++-- | The ID of the domain list whose domains you want to update.+updateFirewallDomains_firewallDomainListId :: Lens.Lens' UpdateFirewallDomains Prelude.Text+updateFirewallDomains_firewallDomainListId = Lens.lens (\UpdateFirewallDomains' {firewallDomainListId} -> firewallDomainListId) (\s@UpdateFirewallDomains' {} a -> s {firewallDomainListId = a} :: UpdateFirewallDomains)++-- | What you want DNS Firewall to do with the domains that you are+-- providing:+--+-- - @ADD@ - Add the domains to the ones that are already in the domain+-- list.+--+-- - @REMOVE@ - Search the domain list for the domains and remove them+-- from the list.+--+-- - @REPLACE@ - Update the domain list to exactly match the list that+-- you are providing.+updateFirewallDomains_operation :: Lens.Lens' UpdateFirewallDomains FirewallDomainUpdateOperation+updateFirewallDomains_operation = Lens.lens (\UpdateFirewallDomains' {operation} -> operation) (\s@UpdateFirewallDomains' {} a -> s {operation = a} :: UpdateFirewallDomains)++-- | A list of domains to use in the update operation.+--+-- Each domain specification in your domain list must satisfy the following+-- requirements:+--+-- - It can optionally start with @*@ (asterisk).+--+-- - With the exception of the optional starting asterisk, it must only+-- contain the following characters: @A-Z@, @a-z@, @0-9@, @-@ (hyphen).+--+-- - It must be from 1-255 characters in length.+updateFirewallDomains_domains :: Lens.Lens' UpdateFirewallDomains [Prelude.Text]+updateFirewallDomains_domains = Lens.lens (\UpdateFirewallDomains' {domains} -> domains) (\s@UpdateFirewallDomains' {} a -> s {domains = a} :: UpdateFirewallDomains) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateFirewallDomains where+ type+ AWSResponse UpdateFirewallDomains =+ UpdateFirewallDomainsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFirewallDomainsResponse'+ Prelude.<$> (x Data..?> "Id")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (x Data..?> "StatusMessage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFirewallDomains where+ hashWithSalt _salt UpdateFirewallDomains' {..} =+ _salt+ `Prelude.hashWithSalt` firewallDomainListId+ `Prelude.hashWithSalt` operation+ `Prelude.hashWithSalt` domains++instance Prelude.NFData UpdateFirewallDomains where+ rnf UpdateFirewallDomains' {..} =+ Prelude.rnf firewallDomainListId+ `Prelude.seq` Prelude.rnf operation+ `Prelude.seq` Prelude.rnf domains++instance Data.ToHeaders UpdateFirewallDomains where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateFirewallDomains" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFirewallDomains where+ toJSON UpdateFirewallDomains' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ ),+ Prelude.Just ("Operation" Data..= operation),+ Prelude.Just ("Domains" Data..= domains)+ ]+ )++instance Data.ToPath UpdateFirewallDomains where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFirewallDomains where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFirewallDomainsResponse' smart constructor.+data UpdateFirewallDomainsResponse = UpdateFirewallDomainsResponse'+ { -- | The ID of the firewall domain list that DNS Firewall just updated.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the domain list.+ name :: Prelude.Maybe Prelude.Text,+ status :: Prelude.Maybe FirewallDomainListStatus,+ -- | Additional information about the status of the list, if available.+ statusMessage :: 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 'UpdateFirewallDomainsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'updateFirewallDomainsResponse_id' - The ID of the firewall domain list that DNS Firewall just updated.+--+-- 'name', 'updateFirewallDomainsResponse_name' - The name of the domain list.+--+-- 'status', 'updateFirewallDomainsResponse_status' -+--+-- 'statusMessage', 'updateFirewallDomainsResponse_statusMessage' - Additional information about the status of the list, if available.+--+-- 'httpStatus', 'updateFirewallDomainsResponse_httpStatus' - The response's http status code.+newUpdateFirewallDomainsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFirewallDomainsResponse+newUpdateFirewallDomainsResponse pHttpStatus_ =+ UpdateFirewallDomainsResponse'+ { id =+ Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the firewall domain list that DNS Firewall just updated.+updateFirewallDomainsResponse_id :: Lens.Lens' UpdateFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+updateFirewallDomainsResponse_id = Lens.lens (\UpdateFirewallDomainsResponse' {id} -> id) (\s@UpdateFirewallDomainsResponse' {} a -> s {id = a} :: UpdateFirewallDomainsResponse)++-- | The name of the domain list.+updateFirewallDomainsResponse_name :: Lens.Lens' UpdateFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+updateFirewallDomainsResponse_name = Lens.lens (\UpdateFirewallDomainsResponse' {name} -> name) (\s@UpdateFirewallDomainsResponse' {} a -> s {name = a} :: UpdateFirewallDomainsResponse)++updateFirewallDomainsResponse_status :: Lens.Lens' UpdateFirewallDomainsResponse (Prelude.Maybe FirewallDomainListStatus)+updateFirewallDomainsResponse_status = Lens.lens (\UpdateFirewallDomainsResponse' {status} -> status) (\s@UpdateFirewallDomainsResponse' {} a -> s {status = a} :: UpdateFirewallDomainsResponse)++-- | Additional information about the status of the list, if available.+updateFirewallDomainsResponse_statusMessage :: Lens.Lens' UpdateFirewallDomainsResponse (Prelude.Maybe Prelude.Text)+updateFirewallDomainsResponse_statusMessage = Lens.lens (\UpdateFirewallDomainsResponse' {statusMessage} -> statusMessage) (\s@UpdateFirewallDomainsResponse' {} a -> s {statusMessage = a} :: UpdateFirewallDomainsResponse)++-- | The response's http status code.+updateFirewallDomainsResponse_httpStatus :: Lens.Lens' UpdateFirewallDomainsResponse Prelude.Int+updateFirewallDomainsResponse_httpStatus = Lens.lens (\UpdateFirewallDomainsResponse' {httpStatus} -> httpStatus) (\s@UpdateFirewallDomainsResponse' {} a -> s {httpStatus = a} :: UpdateFirewallDomainsResponse)++instance Prelude.NFData UpdateFirewallDomainsResponse where+ rnf UpdateFirewallDomainsResponse' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateFirewallRule.hs view
@@ -0,0 +1,384 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateFirewallRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified firewall rule.+module Amazonka.Route53Resolver.UpdateFirewallRule+ ( -- * Creating a Request+ UpdateFirewallRule (..),+ newUpdateFirewallRule,++ -- * Request Lenses+ updateFirewallRule_action,+ updateFirewallRule_blockOverrideDnsType,+ updateFirewallRule_blockOverrideDomain,+ updateFirewallRule_blockOverrideTtl,+ updateFirewallRule_blockResponse,+ updateFirewallRule_name,+ updateFirewallRule_priority,+ updateFirewallRule_firewallRuleGroupId,+ updateFirewallRule_firewallDomainListId,++ -- * Destructuring the Response+ UpdateFirewallRuleResponse (..),+ newUpdateFirewallRuleResponse,++ -- * Response Lenses+ updateFirewallRuleResponse_firewallRule,+ updateFirewallRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateFirewallRule' smart constructor.+data UpdateFirewallRule = UpdateFirewallRule'+ { -- | The action that DNS Firewall should take on a DNS query when it matches+ -- one of the domains in the rule\'s domain list:+ --+ -- - @ALLOW@ - Permit the request to go through.+ --+ -- - @ALERT@ - Permit the request to go through but send an alert to the+ -- logs.+ --+ -- - @BLOCK@ - Disallow the request. This option requires additional+ -- details in the rule\'s @BlockResponse@.+ action :: Prelude.Maybe Action,+ -- | The DNS record\'s type. This determines the format of the record value+ -- that you provided in @BlockOverrideDomain@. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideDnsType :: Prelude.Maybe BlockOverrideDnsType,+ -- | The custom DNS record to send back in response to the query. Used for+ -- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideDomain :: Prelude.Maybe Prelude.Text,+ -- | The recommended amount of time, in seconds, for the DNS resolver or web+ -- browser to cache the provided override record. Used for the rule action+ -- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+ blockOverrideTtl :: Prelude.Maybe Prelude.Natural,+ -- | The way that you want DNS Firewall to block the request. Used for the+ -- rule action setting @BLOCK@.+ --+ -- - @NODATA@ - Respond indicating that the query was successful, but no+ -- response is available for it.+ --+ -- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+ -- query doesn\'t exist.+ --+ -- - @OVERRIDE@ - Provide a custom override in the response. This option+ -- requires custom handling details in the rule\'s @BlockOverride*@+ -- settings.+ blockResponse :: Prelude.Maybe BlockResponse,+ -- | The name of the rule.+ name :: Prelude.Maybe Prelude.Text,+ -- | The setting that determines the processing order of the rule in the rule+ -- group. DNS Firewall processes the rules in a rule group by order of+ -- priority, starting from the lowest setting.+ --+ -- You must specify a unique priority for each rule in a rule group. To+ -- make it easier to insert rules later, leave space between the numbers,+ -- for example, use 100, 200, and so on. You can change the priority+ -- setting for the rules in a rule group at any time.+ priority :: Prelude.Maybe Prelude.Int,+ -- | The unique identifier of the firewall rule group for the rule.+ firewallRuleGroupId :: Prelude.Text,+ -- | The ID of the domain list to use in the rule.+ firewallDomainListId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'updateFirewallRule_action' - The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. This option requires additional+-- details in the rule\'s @BlockResponse@.+--+-- 'blockOverrideDnsType', 'updateFirewallRule_blockOverrideDnsType' - The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockOverrideDomain', 'updateFirewallRule_blockOverrideDomain' - The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockOverrideTtl', 'updateFirewallRule_blockOverrideTtl' - The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+--+-- 'blockResponse', 'updateFirewallRule_blockResponse' - The way that you want DNS Firewall to block the request. Used for the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+--+-- 'name', 'updateFirewallRule_name' - The name of the rule.+--+-- 'priority', 'updateFirewallRule_priority' - The setting that determines the processing order of the rule in the rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+--+-- You must specify a unique priority for each rule in a rule group. To+-- make it easier to insert rules later, leave space between the numbers,+-- for example, use 100, 200, and so on. You can change the priority+-- setting for the rules in a rule group at any time.+--+-- 'firewallRuleGroupId', 'updateFirewallRule_firewallRuleGroupId' - The unique identifier of the firewall rule group for the rule.+--+-- 'firewallDomainListId', 'updateFirewallRule_firewallDomainListId' - The ID of the domain list to use in the rule.+newUpdateFirewallRule ::+ -- | 'firewallRuleGroupId'+ Prelude.Text ->+ -- | 'firewallDomainListId'+ Prelude.Text ->+ UpdateFirewallRule+newUpdateFirewallRule+ pFirewallRuleGroupId_+ pFirewallDomainListId_ =+ UpdateFirewallRule'+ { action = Prelude.Nothing,+ blockOverrideDnsType = Prelude.Nothing,+ blockOverrideDomain = Prelude.Nothing,+ blockOverrideTtl = Prelude.Nothing,+ blockResponse = Prelude.Nothing,+ name = Prelude.Nothing,+ priority = Prelude.Nothing,+ firewallRuleGroupId = pFirewallRuleGroupId_,+ firewallDomainListId = pFirewallDomainListId_+ }++-- | The action that DNS Firewall should take on a DNS query when it matches+-- one of the domains in the rule\'s domain list:+--+-- - @ALLOW@ - Permit the request to go through.+--+-- - @ALERT@ - Permit the request to go through but send an alert to the+-- logs.+--+-- - @BLOCK@ - Disallow the request. This option requires additional+-- details in the rule\'s @BlockResponse@.+updateFirewallRule_action :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe Action)+updateFirewallRule_action = Lens.lens (\UpdateFirewallRule' {action} -> action) (\s@UpdateFirewallRule' {} a -> s {action = a} :: UpdateFirewallRule)++-- | The DNS record\'s type. This determines the format of the record value+-- that you provided in @BlockOverrideDomain@. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+updateFirewallRule_blockOverrideDnsType :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe BlockOverrideDnsType)+updateFirewallRule_blockOverrideDnsType = Lens.lens (\UpdateFirewallRule' {blockOverrideDnsType} -> blockOverrideDnsType) (\s@UpdateFirewallRule' {} a -> s {blockOverrideDnsType = a} :: UpdateFirewallRule)++-- | The custom DNS record to send back in response to the query. Used for+-- the rule action @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+updateFirewallRule_blockOverrideDomain :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe Prelude.Text)+updateFirewallRule_blockOverrideDomain = Lens.lens (\UpdateFirewallRule' {blockOverrideDomain} -> blockOverrideDomain) (\s@UpdateFirewallRule' {} a -> s {blockOverrideDomain = a} :: UpdateFirewallRule)++-- | The recommended amount of time, in seconds, for the DNS resolver or web+-- browser to cache the provided override record. Used for the rule action+-- @BLOCK@ with a @BlockResponse@ setting of @OVERRIDE@.+updateFirewallRule_blockOverrideTtl :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe Prelude.Natural)+updateFirewallRule_blockOverrideTtl = Lens.lens (\UpdateFirewallRule' {blockOverrideTtl} -> blockOverrideTtl) (\s@UpdateFirewallRule' {} a -> s {blockOverrideTtl = a} :: UpdateFirewallRule)++-- | The way that you want DNS Firewall to block the request. Used for the+-- rule action setting @BLOCK@.+--+-- - @NODATA@ - Respond indicating that the query was successful, but no+-- response is available for it.+--+-- - @NXDOMAIN@ - Respond indicating that the domain name that\'s in the+-- query doesn\'t exist.+--+-- - @OVERRIDE@ - Provide a custom override in the response. This option+-- requires custom handling details in the rule\'s @BlockOverride*@+-- settings.+updateFirewallRule_blockResponse :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe BlockResponse)+updateFirewallRule_blockResponse = Lens.lens (\UpdateFirewallRule' {blockResponse} -> blockResponse) (\s@UpdateFirewallRule' {} a -> s {blockResponse = a} :: UpdateFirewallRule)++-- | The name of the rule.+updateFirewallRule_name :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe Prelude.Text)+updateFirewallRule_name = Lens.lens (\UpdateFirewallRule' {name} -> name) (\s@UpdateFirewallRule' {} a -> s {name = a} :: UpdateFirewallRule)++-- | The setting that determines the processing order of the rule in the rule+-- group. DNS Firewall processes the rules in a rule group by order of+-- priority, starting from the lowest setting.+--+-- You must specify a unique priority for each rule in a rule group. To+-- make it easier to insert rules later, leave space between the numbers,+-- for example, use 100, 200, and so on. You can change the priority+-- setting for the rules in a rule group at any time.+updateFirewallRule_priority :: Lens.Lens' UpdateFirewallRule (Prelude.Maybe Prelude.Int)+updateFirewallRule_priority = Lens.lens (\UpdateFirewallRule' {priority} -> priority) (\s@UpdateFirewallRule' {} a -> s {priority = a} :: UpdateFirewallRule)++-- | The unique identifier of the firewall rule group for the rule.+updateFirewallRule_firewallRuleGroupId :: Lens.Lens' UpdateFirewallRule Prelude.Text+updateFirewallRule_firewallRuleGroupId = Lens.lens (\UpdateFirewallRule' {firewallRuleGroupId} -> firewallRuleGroupId) (\s@UpdateFirewallRule' {} a -> s {firewallRuleGroupId = a} :: UpdateFirewallRule)++-- | The ID of the domain list to use in the rule.+updateFirewallRule_firewallDomainListId :: Lens.Lens' UpdateFirewallRule Prelude.Text+updateFirewallRule_firewallDomainListId = Lens.lens (\UpdateFirewallRule' {firewallDomainListId} -> firewallDomainListId) (\s@UpdateFirewallRule' {} a -> s {firewallDomainListId = a} :: UpdateFirewallRule)++instance Core.AWSRequest UpdateFirewallRule where+ type+ AWSResponse UpdateFirewallRule =+ UpdateFirewallRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFirewallRuleResponse'+ Prelude.<$> (x Data..?> "FirewallRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFirewallRule where+ hashWithSalt _salt UpdateFirewallRule' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` blockOverrideDnsType+ `Prelude.hashWithSalt` blockOverrideDomain+ `Prelude.hashWithSalt` blockOverrideTtl+ `Prelude.hashWithSalt` blockResponse+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` firewallRuleGroupId+ `Prelude.hashWithSalt` firewallDomainListId++instance Prelude.NFData UpdateFirewallRule where+ rnf UpdateFirewallRule' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf blockOverrideDnsType+ `Prelude.seq` Prelude.rnf blockOverrideDomain+ `Prelude.seq` Prelude.rnf blockOverrideTtl+ `Prelude.seq` Prelude.rnf blockResponse+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf firewallRuleGroupId+ `Prelude.seq` Prelude.rnf firewallDomainListId++instance Data.ToHeaders UpdateFirewallRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateFirewallRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFirewallRule where+ toJSON UpdateFirewallRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Action" Data..=) Prelude.<$> action,+ ("BlockOverrideDnsType" Data..=)+ Prelude.<$> blockOverrideDnsType,+ ("BlockOverrideDomain" Data..=)+ Prelude.<$> blockOverrideDomain,+ ("BlockOverrideTtl" Data..=)+ Prelude.<$> blockOverrideTtl,+ ("BlockResponse" Data..=) Prelude.<$> blockResponse,+ ("Name" Data..=) Prelude.<$> name,+ ("Priority" Data..=) Prelude.<$> priority,+ Prelude.Just+ ("FirewallRuleGroupId" Data..= firewallRuleGroupId),+ Prelude.Just+ ( "FirewallDomainListId"+ Data..= firewallDomainListId+ )+ ]+ )++instance Data.ToPath UpdateFirewallRule where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFirewallRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFirewallRuleResponse' smart constructor.+data UpdateFirewallRuleResponse = UpdateFirewallRuleResponse'+ { -- | The firewall rule that you just updated.+ firewallRule :: Prelude.Maybe FirewallRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRule', 'updateFirewallRuleResponse_firewallRule' - The firewall rule that you just updated.+--+-- 'httpStatus', 'updateFirewallRuleResponse_httpStatus' - The response's http status code.+newUpdateFirewallRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFirewallRuleResponse+newUpdateFirewallRuleResponse pHttpStatus_ =+ UpdateFirewallRuleResponse'+ { firewallRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The firewall rule that you just updated.+updateFirewallRuleResponse_firewallRule :: Lens.Lens' UpdateFirewallRuleResponse (Prelude.Maybe FirewallRule)+updateFirewallRuleResponse_firewallRule = Lens.lens (\UpdateFirewallRuleResponse' {firewallRule} -> firewallRule) (\s@UpdateFirewallRuleResponse' {} a -> s {firewallRule = a} :: UpdateFirewallRuleResponse)++-- | The response's http status code.+updateFirewallRuleResponse_httpStatus :: Lens.Lens' UpdateFirewallRuleResponse Prelude.Int+updateFirewallRuleResponse_httpStatus = Lens.lens (\UpdateFirewallRuleResponse' {httpStatus} -> httpStatus) (\s@UpdateFirewallRuleResponse' {} a -> s {httpStatus = a} :: UpdateFirewallRuleResponse)++instance Prelude.NFData UpdateFirewallRuleResponse where+ rnf UpdateFirewallRuleResponse' {..} =+ Prelude.rnf firewallRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateFirewallRuleGroupAssociation.hs view
@@ -0,0 +1,280 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateFirewallRuleGroupAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes the association of a FirewallRuleGroup with a VPC. The+-- association enables DNS filtering for the VPC.+module Amazonka.Route53Resolver.UpdateFirewallRuleGroupAssociation+ ( -- * Creating a Request+ UpdateFirewallRuleGroupAssociation (..),+ newUpdateFirewallRuleGroupAssociation,++ -- * Request Lenses+ updateFirewallRuleGroupAssociation_mutationProtection,+ updateFirewallRuleGroupAssociation_name,+ updateFirewallRuleGroupAssociation_priority,+ updateFirewallRuleGroupAssociation_firewallRuleGroupAssociationId,++ -- * Destructuring the Response+ UpdateFirewallRuleGroupAssociationResponse (..),+ newUpdateFirewallRuleGroupAssociationResponse,++ -- * Response Lenses+ updateFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation,+ updateFirewallRuleGroupAssociationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateFirewallRuleGroupAssociation' smart constructor.+data UpdateFirewallRuleGroupAssociation = UpdateFirewallRuleGroupAssociation'+ { -- | If enabled, this setting disallows modification or removal of the+ -- association, to help prevent against accidentally altering DNS firewall+ -- protections.+ mutationProtection :: Prelude.Maybe MutationProtectionStatus,+ -- | The name of the rule group association.+ name :: Prelude.Maybe Prelude.Text,+ -- | The setting that determines the processing order of the rule group among+ -- the rule groups that you associate with the specified VPC. DNS Firewall+ -- filters VPC traffic starting from the rule group with the lowest numeric+ -- priority setting.+ --+ -- You must specify a unique priority for each rule group that you+ -- associate with a single VPC. To make it easier to insert rule groups+ -- later, leave space between the numbers, for example, use 100, 200, and+ -- so on. You can change the priority setting for a rule group association+ -- after you create it.+ priority :: Prelude.Maybe Prelude.Int,+ -- | The identifier of the FirewallRuleGroupAssociation.+ firewallRuleGroupAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallRuleGroupAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mutationProtection', 'updateFirewallRuleGroupAssociation_mutationProtection' - If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections.+--+-- 'name', 'updateFirewallRuleGroupAssociation_name' - The name of the rule group association.+--+-- 'priority', 'updateFirewallRuleGroupAssociation_priority' - The setting that determines the processing order of the rule group among+-- the rule groups that you associate with the specified VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+--+-- You must specify a unique priority for each rule group that you+-- associate with a single VPC. To make it easier to insert rule groups+-- later, leave space between the numbers, for example, use 100, 200, and+-- so on. You can change the priority setting for a rule group association+-- after you create it.+--+-- 'firewallRuleGroupAssociationId', 'updateFirewallRuleGroupAssociation_firewallRuleGroupAssociationId' - The identifier of the FirewallRuleGroupAssociation.+newUpdateFirewallRuleGroupAssociation ::+ -- | 'firewallRuleGroupAssociationId'+ Prelude.Text ->+ UpdateFirewallRuleGroupAssociation+newUpdateFirewallRuleGroupAssociation+ pFirewallRuleGroupAssociationId_ =+ UpdateFirewallRuleGroupAssociation'+ { mutationProtection =+ Prelude.Nothing,+ name = Prelude.Nothing,+ priority = Prelude.Nothing,+ firewallRuleGroupAssociationId =+ pFirewallRuleGroupAssociationId_+ }++-- | If enabled, this setting disallows modification or removal of the+-- association, to help prevent against accidentally altering DNS firewall+-- protections.+updateFirewallRuleGroupAssociation_mutationProtection :: Lens.Lens' UpdateFirewallRuleGroupAssociation (Prelude.Maybe MutationProtectionStatus)+updateFirewallRuleGroupAssociation_mutationProtection = Lens.lens (\UpdateFirewallRuleGroupAssociation' {mutationProtection} -> mutationProtection) (\s@UpdateFirewallRuleGroupAssociation' {} a -> s {mutationProtection = a} :: UpdateFirewallRuleGroupAssociation)++-- | The name of the rule group association.+updateFirewallRuleGroupAssociation_name :: Lens.Lens' UpdateFirewallRuleGroupAssociation (Prelude.Maybe Prelude.Text)+updateFirewallRuleGroupAssociation_name = Lens.lens (\UpdateFirewallRuleGroupAssociation' {name} -> name) (\s@UpdateFirewallRuleGroupAssociation' {} a -> s {name = a} :: UpdateFirewallRuleGroupAssociation)++-- | The setting that determines the processing order of the rule group among+-- the rule groups that you associate with the specified VPC. DNS Firewall+-- filters VPC traffic starting from the rule group with the lowest numeric+-- priority setting.+--+-- You must specify a unique priority for each rule group that you+-- associate with a single VPC. To make it easier to insert rule groups+-- later, leave space between the numbers, for example, use 100, 200, and+-- so on. You can change the priority setting for a rule group association+-- after you create it.+updateFirewallRuleGroupAssociation_priority :: Lens.Lens' UpdateFirewallRuleGroupAssociation (Prelude.Maybe Prelude.Int)+updateFirewallRuleGroupAssociation_priority = Lens.lens (\UpdateFirewallRuleGroupAssociation' {priority} -> priority) (\s@UpdateFirewallRuleGroupAssociation' {} a -> s {priority = a} :: UpdateFirewallRuleGroupAssociation)++-- | The identifier of the FirewallRuleGroupAssociation.+updateFirewallRuleGroupAssociation_firewallRuleGroupAssociationId :: Lens.Lens' UpdateFirewallRuleGroupAssociation Prelude.Text+updateFirewallRuleGroupAssociation_firewallRuleGroupAssociationId = Lens.lens (\UpdateFirewallRuleGroupAssociation' {firewallRuleGroupAssociationId} -> firewallRuleGroupAssociationId) (\s@UpdateFirewallRuleGroupAssociation' {} a -> s {firewallRuleGroupAssociationId = a} :: UpdateFirewallRuleGroupAssociation)++instance+ Core.AWSRequest+ UpdateFirewallRuleGroupAssociation+ where+ type+ AWSResponse UpdateFirewallRuleGroupAssociation =+ UpdateFirewallRuleGroupAssociationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFirewallRuleGroupAssociationResponse'+ Prelude.<$> (x Data..?> "FirewallRuleGroupAssociation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateFirewallRuleGroupAssociation+ where+ hashWithSalt+ _salt+ UpdateFirewallRuleGroupAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` mutationProtection+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` firewallRuleGroupAssociationId++instance+ Prelude.NFData+ UpdateFirewallRuleGroupAssociation+ where+ rnf UpdateFirewallRuleGroupAssociation' {..} =+ Prelude.rnf mutationProtection+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf firewallRuleGroupAssociationId++instance+ Data.ToHeaders+ UpdateFirewallRuleGroupAssociation+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateFirewallRuleGroupAssociation" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateFirewallRuleGroupAssociation+ where+ toJSON UpdateFirewallRuleGroupAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MutationProtection" Data..=)+ Prelude.<$> mutationProtection,+ ("Name" Data..=) Prelude.<$> name,+ ("Priority" Data..=) Prelude.<$> priority,+ Prelude.Just+ ( "FirewallRuleGroupAssociationId"+ Data..= firewallRuleGroupAssociationId+ )+ ]+ )++instance+ Data.ToPath+ UpdateFirewallRuleGroupAssociation+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ UpdateFirewallRuleGroupAssociation+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFirewallRuleGroupAssociationResponse' smart constructor.+data UpdateFirewallRuleGroupAssociationResponse = UpdateFirewallRuleGroupAssociationResponse'+ { -- | The association that you just updated.+ firewallRuleGroupAssociation :: Prelude.Maybe FirewallRuleGroupAssociation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFirewallRuleGroupAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firewallRuleGroupAssociation', 'updateFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation' - The association that you just updated.+--+-- 'httpStatus', 'updateFirewallRuleGroupAssociationResponse_httpStatus' - The response's http status code.+newUpdateFirewallRuleGroupAssociationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFirewallRuleGroupAssociationResponse+newUpdateFirewallRuleGroupAssociationResponse+ pHttpStatus_ =+ UpdateFirewallRuleGroupAssociationResponse'+ { firewallRuleGroupAssociation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The association that you just updated.+updateFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation :: Lens.Lens' UpdateFirewallRuleGroupAssociationResponse (Prelude.Maybe FirewallRuleGroupAssociation)+updateFirewallRuleGroupAssociationResponse_firewallRuleGroupAssociation = Lens.lens (\UpdateFirewallRuleGroupAssociationResponse' {firewallRuleGroupAssociation} -> firewallRuleGroupAssociation) (\s@UpdateFirewallRuleGroupAssociationResponse' {} a -> s {firewallRuleGroupAssociation = a} :: UpdateFirewallRuleGroupAssociationResponse)++-- | The response's http status code.+updateFirewallRuleGroupAssociationResponse_httpStatus :: Lens.Lens' UpdateFirewallRuleGroupAssociationResponse Prelude.Int+updateFirewallRuleGroupAssociationResponse_httpStatus = Lens.lens (\UpdateFirewallRuleGroupAssociationResponse' {httpStatus} -> httpStatus) (\s@UpdateFirewallRuleGroupAssociationResponse' {} a -> s {httpStatus = a} :: UpdateFirewallRuleGroupAssociationResponse)++instance+ Prelude.NFData+ UpdateFirewallRuleGroupAssociationResponse+ where+ rnf UpdateFirewallRuleGroupAssociationResponse' {..} =+ Prelude.rnf firewallRuleGroupAssociation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateResolverConfig.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.Route53Resolver.UpdateResolverConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the behavior configuration of Route 53 Resolver behavior for a+-- single VPC from Amazon Virtual Private Cloud.+module Amazonka.Route53Resolver.UpdateResolverConfig+ ( -- * Creating a Request+ UpdateResolverConfig (..),+ newUpdateResolverConfig,++ -- * Request Lenses+ updateResolverConfig_resourceId,+ updateResolverConfig_autodefinedReverseFlag,++ -- * Destructuring the Response+ UpdateResolverConfigResponse (..),+ newUpdateResolverConfigResponse,++ -- * Response Lenses+ updateResolverConfigResponse_resolverConfig,+ updateResolverConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateResolverConfig' smart constructor.+data UpdateResolverConfig = UpdateResolverConfig'+ { -- | Resource ID of the Amazon VPC that you want to update the Resolver+ -- configuration for.+ resourceId :: Prelude.Text,+ -- | Indicates whether or not the Resolver will create autodefined rules for+ -- reverse DNS lookups. This is enabled by default. Disabling this option+ -- will also affect EC2-Classic instances using ClassicLink. For more+ -- information, see+ -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+ -- in the /Amazon EC2 guide/.+ --+ -- It can take some time for the status change to be completed.+ autodefinedReverseFlag :: AutodefinedReverseFlag+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'updateResolverConfig_resourceId' - Resource ID of the Amazon VPC that you want to update the Resolver+-- configuration for.+--+-- 'autodefinedReverseFlag', 'updateResolverConfig_autodefinedReverseFlag' - Indicates whether or not the Resolver will create autodefined rules for+-- reverse DNS lookups. This is enabled by default. Disabling this option+-- will also affect EC2-Classic instances using ClassicLink. For more+-- information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon EC2 guide/.+--+-- It can take some time for the status change to be completed.+newUpdateResolverConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ -- | 'autodefinedReverseFlag'+ AutodefinedReverseFlag ->+ UpdateResolverConfig+newUpdateResolverConfig+ pResourceId_+ pAutodefinedReverseFlag_ =+ UpdateResolverConfig'+ { resourceId = pResourceId_,+ autodefinedReverseFlag = pAutodefinedReverseFlag_+ }++-- | Resource ID of the Amazon VPC that you want to update the Resolver+-- configuration for.+updateResolverConfig_resourceId :: Lens.Lens' UpdateResolverConfig Prelude.Text+updateResolverConfig_resourceId = Lens.lens (\UpdateResolverConfig' {resourceId} -> resourceId) (\s@UpdateResolverConfig' {} a -> s {resourceId = a} :: UpdateResolverConfig)++-- | Indicates whether or not the Resolver will create autodefined rules for+-- reverse DNS lookups. This is enabled by default. Disabling this option+-- will also affect EC2-Classic instances using ClassicLink. For more+-- information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon EC2 guide/.+--+-- It can take some time for the status change to be completed.+updateResolverConfig_autodefinedReverseFlag :: Lens.Lens' UpdateResolverConfig AutodefinedReverseFlag+updateResolverConfig_autodefinedReverseFlag = Lens.lens (\UpdateResolverConfig' {autodefinedReverseFlag} -> autodefinedReverseFlag) (\s@UpdateResolverConfig' {} a -> s {autodefinedReverseFlag = a} :: UpdateResolverConfig)++instance Core.AWSRequest UpdateResolverConfig where+ type+ AWSResponse UpdateResolverConfig =+ UpdateResolverConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateResolverConfigResponse'+ Prelude.<$> (x Data..?> "ResolverConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateResolverConfig where+ hashWithSalt _salt UpdateResolverConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` autodefinedReverseFlag++instance Prelude.NFData UpdateResolverConfig where+ rnf UpdateResolverConfig' {..} =+ Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf autodefinedReverseFlag++instance Data.ToHeaders UpdateResolverConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateResolverConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResolverConfig where+ toJSON UpdateResolverConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceId" Data..= resourceId),+ Prelude.Just+ ( "AutodefinedReverseFlag"+ Data..= autodefinedReverseFlag+ )+ ]+ )++instance Data.ToPath UpdateResolverConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateResolverConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResolverConfigResponse' smart constructor.+data UpdateResolverConfigResponse = UpdateResolverConfigResponse'+ { -- | An array that contains settings for the specified Resolver+ -- configuration.+ resolverConfig :: Prelude.Maybe ResolverConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverConfig', 'updateResolverConfigResponse_resolverConfig' - An array that contains settings for the specified Resolver+-- configuration.+--+-- 'httpStatus', 'updateResolverConfigResponse_httpStatus' - The response's http status code.+newUpdateResolverConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResolverConfigResponse+newUpdateResolverConfigResponse pHttpStatus_ =+ UpdateResolverConfigResponse'+ { resolverConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that contains settings for the specified Resolver+-- configuration.+updateResolverConfigResponse_resolverConfig :: Lens.Lens' UpdateResolverConfigResponse (Prelude.Maybe ResolverConfig)+updateResolverConfigResponse_resolverConfig = Lens.lens (\UpdateResolverConfigResponse' {resolverConfig} -> resolverConfig) (\s@UpdateResolverConfigResponse' {} a -> s {resolverConfig = a} :: UpdateResolverConfigResponse)++-- | The response's http status code.+updateResolverConfigResponse_httpStatus :: Lens.Lens' UpdateResolverConfigResponse Prelude.Int+updateResolverConfigResponse_httpStatus = Lens.lens (\UpdateResolverConfigResponse' {httpStatus} -> httpStatus) (\s@UpdateResolverConfigResponse' {} a -> s {httpStatus = a} :: UpdateResolverConfigResponse)++instance Prelude.NFData UpdateResolverConfigResponse where+ rnf UpdateResolverConfigResponse' {..} =+ Prelude.rnf resolverConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateResolverDnssecConfig.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateResolverDnssecConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing DNSSEC validation configuration. If there is no+-- existing DNSSEC validation configuration, one is created.+module Amazonka.Route53Resolver.UpdateResolverDnssecConfig+ ( -- * Creating a Request+ UpdateResolverDnssecConfig (..),+ newUpdateResolverDnssecConfig,++ -- * Request Lenses+ updateResolverDnssecConfig_resourceId,+ updateResolverDnssecConfig_validation,++ -- * Destructuring the Response+ UpdateResolverDnssecConfigResponse (..),+ newUpdateResolverDnssecConfigResponse,++ -- * Response Lenses+ updateResolverDnssecConfigResponse_resolverDNSSECConfig,+ updateResolverDnssecConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateResolverDnssecConfig' smart constructor.+data UpdateResolverDnssecConfig = UpdateResolverDnssecConfig'+ { -- | The ID of the virtual private cloud (VPC) that you\'re updating the+ -- DNSSEC validation status for.+ resourceId :: Prelude.Text,+ -- | The new value that you are specifying for DNSSEC validation for the VPC.+ -- The value can be @ENABLE@ or @DISABLE@. Be aware that it can take time+ -- for a validation status change to be completed.+ validation :: Validation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverDnssecConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceId', 'updateResolverDnssecConfig_resourceId' - The ID of the virtual private cloud (VPC) that you\'re updating the+-- DNSSEC validation status for.+--+-- 'validation', 'updateResolverDnssecConfig_validation' - The new value that you are specifying for DNSSEC validation for the VPC.+-- The value can be @ENABLE@ or @DISABLE@. Be aware that it can take time+-- for a validation status change to be completed.+newUpdateResolverDnssecConfig ::+ -- | 'resourceId'+ Prelude.Text ->+ -- | 'validation'+ Validation ->+ UpdateResolverDnssecConfig+newUpdateResolverDnssecConfig+ pResourceId_+ pValidation_ =+ UpdateResolverDnssecConfig'+ { resourceId =+ pResourceId_,+ validation = pValidation_+ }++-- | The ID of the virtual private cloud (VPC) that you\'re updating the+-- DNSSEC validation status for.+updateResolverDnssecConfig_resourceId :: Lens.Lens' UpdateResolverDnssecConfig Prelude.Text+updateResolverDnssecConfig_resourceId = Lens.lens (\UpdateResolverDnssecConfig' {resourceId} -> resourceId) (\s@UpdateResolverDnssecConfig' {} a -> s {resourceId = a} :: UpdateResolverDnssecConfig)++-- | The new value that you are specifying for DNSSEC validation for the VPC.+-- The value can be @ENABLE@ or @DISABLE@. Be aware that it can take time+-- for a validation status change to be completed.+updateResolverDnssecConfig_validation :: Lens.Lens' UpdateResolverDnssecConfig Validation+updateResolverDnssecConfig_validation = Lens.lens (\UpdateResolverDnssecConfig' {validation} -> validation) (\s@UpdateResolverDnssecConfig' {} a -> s {validation = a} :: UpdateResolverDnssecConfig)++instance Core.AWSRequest UpdateResolverDnssecConfig where+ type+ AWSResponse UpdateResolverDnssecConfig =+ UpdateResolverDnssecConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateResolverDnssecConfigResponse'+ Prelude.<$> (x Data..?> "ResolverDNSSECConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateResolverDnssecConfig where+ hashWithSalt _salt UpdateResolverDnssecConfig' {..} =+ _salt+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` validation++instance Prelude.NFData UpdateResolverDnssecConfig where+ rnf UpdateResolverDnssecConfig' {..} =+ Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf validation++instance Data.ToHeaders UpdateResolverDnssecConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateResolverDnssecConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResolverDnssecConfig where+ toJSON UpdateResolverDnssecConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceId" Data..= resourceId),+ Prelude.Just ("Validation" Data..= validation)+ ]+ )++instance Data.ToPath UpdateResolverDnssecConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateResolverDnssecConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResolverDnssecConfigResponse' smart constructor.+data UpdateResolverDnssecConfigResponse = UpdateResolverDnssecConfigResponse'+ { -- | A complex type that contains settings for the specified DNSSEC+ -- configuration.+ resolverDNSSECConfig :: Prelude.Maybe ResolverDnssecConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverDnssecConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverDNSSECConfig', 'updateResolverDnssecConfigResponse_resolverDNSSECConfig' - A complex type that contains settings for the specified DNSSEC+-- configuration.+--+-- 'httpStatus', 'updateResolverDnssecConfigResponse_httpStatus' - The response's http status code.+newUpdateResolverDnssecConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResolverDnssecConfigResponse+newUpdateResolverDnssecConfigResponse pHttpStatus_ =+ UpdateResolverDnssecConfigResponse'+ { resolverDNSSECConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A complex type that contains settings for the specified DNSSEC+-- configuration.+updateResolverDnssecConfigResponse_resolverDNSSECConfig :: Lens.Lens' UpdateResolverDnssecConfigResponse (Prelude.Maybe ResolverDnssecConfig)+updateResolverDnssecConfigResponse_resolverDNSSECConfig = Lens.lens (\UpdateResolverDnssecConfigResponse' {resolverDNSSECConfig} -> resolverDNSSECConfig) (\s@UpdateResolverDnssecConfigResponse' {} a -> s {resolverDNSSECConfig = a} :: UpdateResolverDnssecConfigResponse)++-- | The response's http status code.+updateResolverDnssecConfigResponse_httpStatus :: Lens.Lens' UpdateResolverDnssecConfigResponse Prelude.Int+updateResolverDnssecConfigResponse_httpStatus = Lens.lens (\UpdateResolverDnssecConfigResponse' {httpStatus} -> httpStatus) (\s@UpdateResolverDnssecConfigResponse' {} a -> s {httpStatus = a} :: UpdateResolverDnssecConfigResponse)++instance+ Prelude.NFData+ UpdateResolverDnssecConfigResponse+ where+ rnf UpdateResolverDnssecConfigResponse' {..} =+ Prelude.rnf resolverDNSSECConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateResolverEndpoint.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateResolverEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the name of an inbound or an outbound Resolver endpoint.+module Amazonka.Route53Resolver.UpdateResolverEndpoint+ ( -- * Creating a Request+ UpdateResolverEndpoint (..),+ newUpdateResolverEndpoint,++ -- * Request Lenses+ updateResolverEndpoint_name,+ updateResolverEndpoint_resolverEndpointId,++ -- * Destructuring the Response+ UpdateResolverEndpointResponse (..),+ newUpdateResolverEndpointResponse,++ -- * Response Lenses+ updateResolverEndpointResponse_resolverEndpoint,+ updateResolverEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateResolverEndpoint' smart constructor.+data UpdateResolverEndpoint = UpdateResolverEndpoint'+ { -- | The name of the Resolver endpoint that you want to update.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Resolver endpoint that you want to update.+ resolverEndpointId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateResolverEndpoint_name' - The name of the Resolver endpoint that you want to update.+--+-- 'resolverEndpointId', 'updateResolverEndpoint_resolverEndpointId' - The ID of the Resolver endpoint that you want to update.+newUpdateResolverEndpoint ::+ -- | 'resolverEndpointId'+ Prelude.Text ->+ UpdateResolverEndpoint+newUpdateResolverEndpoint pResolverEndpointId_ =+ UpdateResolverEndpoint'+ { name = Prelude.Nothing,+ resolverEndpointId = pResolverEndpointId_+ }++-- | The name of the Resolver endpoint that you want to update.+updateResolverEndpoint_name :: Lens.Lens' UpdateResolverEndpoint (Prelude.Maybe Prelude.Text)+updateResolverEndpoint_name = Lens.lens (\UpdateResolverEndpoint' {name} -> name) (\s@UpdateResolverEndpoint' {} a -> s {name = a} :: UpdateResolverEndpoint)++-- | The ID of the Resolver endpoint that you want to update.+updateResolverEndpoint_resolverEndpointId :: Lens.Lens' UpdateResolverEndpoint Prelude.Text+updateResolverEndpoint_resolverEndpointId = Lens.lens (\UpdateResolverEndpoint' {resolverEndpointId} -> resolverEndpointId) (\s@UpdateResolverEndpoint' {} a -> s {resolverEndpointId = a} :: UpdateResolverEndpoint)++instance Core.AWSRequest UpdateResolverEndpoint where+ type+ AWSResponse UpdateResolverEndpoint =+ UpdateResolverEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateResolverEndpointResponse'+ Prelude.<$> (x Data..?> "ResolverEndpoint")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateResolverEndpoint where+ hashWithSalt _salt UpdateResolverEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` resolverEndpointId++instance Prelude.NFData UpdateResolverEndpoint where+ rnf UpdateResolverEndpoint' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf resolverEndpointId++instance Data.ToHeaders UpdateResolverEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateResolverEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResolverEndpoint where+ toJSON UpdateResolverEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Name" Data..=) Prelude.<$> name,+ Prelude.Just+ ("ResolverEndpointId" Data..= resolverEndpointId)+ ]+ )++instance Data.ToPath UpdateResolverEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateResolverEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResolverEndpointResponse' smart constructor.+data UpdateResolverEndpointResponse = UpdateResolverEndpointResponse'+ { -- | The response to an @UpdateResolverEndpoint@ request.+ resolverEndpoint :: Prelude.Maybe ResolverEndpoint,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverEndpoint', 'updateResolverEndpointResponse_resolverEndpoint' - The response to an @UpdateResolverEndpoint@ request.+--+-- 'httpStatus', 'updateResolverEndpointResponse_httpStatus' - The response's http status code.+newUpdateResolverEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResolverEndpointResponse+newUpdateResolverEndpointResponse pHttpStatus_ =+ UpdateResolverEndpointResponse'+ { resolverEndpoint =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response to an @UpdateResolverEndpoint@ request.+updateResolverEndpointResponse_resolverEndpoint :: Lens.Lens' UpdateResolverEndpointResponse (Prelude.Maybe ResolverEndpoint)+updateResolverEndpointResponse_resolverEndpoint = Lens.lens (\UpdateResolverEndpointResponse' {resolverEndpoint} -> resolverEndpoint) (\s@UpdateResolverEndpointResponse' {} a -> s {resolverEndpoint = a} :: UpdateResolverEndpointResponse)++-- | The response's http status code.+updateResolverEndpointResponse_httpStatus :: Lens.Lens' UpdateResolverEndpointResponse Prelude.Int+updateResolverEndpointResponse_httpStatus = Lens.lens (\UpdateResolverEndpointResponse' {httpStatus} -> httpStatus) (\s@UpdateResolverEndpointResponse' {} a -> s {httpStatus = a} :: UpdateResolverEndpointResponse)++instance+ Prelude.NFData+ UpdateResolverEndpointResponse+ where+ rnf UpdateResolverEndpointResponse' {..} =+ Prelude.rnf resolverEndpoint+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/UpdateResolverRule.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Route53Resolver.UpdateResolverRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates settings for a specified Resolver rule. @ResolverRuleId@ is+-- required, and all other parameters are optional. If you don\'t specify a+-- parameter, it retains its current value.+module Amazonka.Route53Resolver.UpdateResolverRule+ ( -- * Creating a Request+ UpdateResolverRule (..),+ newUpdateResolverRule,++ -- * Request Lenses+ updateResolverRule_resolverRuleId,+ updateResolverRule_config,++ -- * Destructuring the Response+ UpdateResolverRuleResponse (..),+ newUpdateResolverRuleResponse,++ -- * Response Lenses+ updateResolverRuleResponse_resolverRule,+ updateResolverRuleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53Resolver.Types++-- | /See:/ 'newUpdateResolverRule' smart constructor.+data UpdateResolverRule = UpdateResolverRule'+ { -- | The ID of the Resolver rule that you want to update.+ resolverRuleId :: Prelude.Text,+ -- | The new settings for the Resolver rule.+ config :: ResolverRuleConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRuleId', 'updateResolverRule_resolverRuleId' - The ID of the Resolver rule that you want to update.+--+-- 'config', 'updateResolverRule_config' - The new settings for the Resolver rule.+newUpdateResolverRule ::+ -- | 'resolverRuleId'+ Prelude.Text ->+ -- | 'config'+ ResolverRuleConfig ->+ UpdateResolverRule+newUpdateResolverRule pResolverRuleId_ pConfig_ =+ UpdateResolverRule'+ { resolverRuleId =+ pResolverRuleId_,+ config = pConfig_+ }++-- | The ID of the Resolver rule that you want to update.+updateResolverRule_resolverRuleId :: Lens.Lens' UpdateResolverRule Prelude.Text+updateResolverRule_resolverRuleId = Lens.lens (\UpdateResolverRule' {resolverRuleId} -> resolverRuleId) (\s@UpdateResolverRule' {} a -> s {resolverRuleId = a} :: UpdateResolverRule)++-- | The new settings for the Resolver rule.+updateResolverRule_config :: Lens.Lens' UpdateResolverRule ResolverRuleConfig+updateResolverRule_config = Lens.lens (\UpdateResolverRule' {config} -> config) (\s@UpdateResolverRule' {} a -> s {config = a} :: UpdateResolverRule)++instance Core.AWSRequest UpdateResolverRule where+ type+ AWSResponse UpdateResolverRule =+ UpdateResolverRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateResolverRuleResponse'+ Prelude.<$> (x Data..?> "ResolverRule")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateResolverRule where+ hashWithSalt _salt UpdateResolverRule' {..} =+ _salt+ `Prelude.hashWithSalt` resolverRuleId+ `Prelude.hashWithSalt` config++instance Prelude.NFData UpdateResolverRule where+ rnf UpdateResolverRule' {..} =+ Prelude.rnf resolverRuleId+ `Prelude.seq` Prelude.rnf config++instance Data.ToHeaders UpdateResolverRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Route53Resolver.UpdateResolverRule" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResolverRule where+ toJSON UpdateResolverRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ResolverRuleId" Data..= resolverRuleId),+ Prelude.Just ("Config" Data..= config)+ ]+ )++instance Data.ToPath UpdateResolverRule where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateResolverRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResolverRuleResponse' smart constructor.+data UpdateResolverRuleResponse = UpdateResolverRuleResponse'+ { -- | The response to an @UpdateResolverRule@ request.+ resolverRule :: Prelude.Maybe ResolverRule,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResolverRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolverRule', 'updateResolverRuleResponse_resolverRule' - The response to an @UpdateResolverRule@ request.+--+-- 'httpStatus', 'updateResolverRuleResponse_httpStatus' - The response's http status code.+newUpdateResolverRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResolverRuleResponse+newUpdateResolverRuleResponse pHttpStatus_ =+ UpdateResolverRuleResponse'+ { resolverRule =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response to an @UpdateResolverRule@ request.+updateResolverRuleResponse_resolverRule :: Lens.Lens' UpdateResolverRuleResponse (Prelude.Maybe ResolverRule)+updateResolverRuleResponse_resolverRule = Lens.lens (\UpdateResolverRuleResponse' {resolverRule} -> resolverRule) (\s@UpdateResolverRuleResponse' {} a -> s {resolverRule = a} :: UpdateResolverRuleResponse)++-- | The response's http status code.+updateResolverRuleResponse_httpStatus :: Lens.Lens' UpdateResolverRuleResponse Prelude.Int+updateResolverRuleResponse_httpStatus = Lens.lens (\UpdateResolverRuleResponse' {httpStatus} -> httpStatus) (\s@UpdateResolverRuleResponse' {} a -> s {httpStatus = a} :: UpdateResolverRuleResponse)++instance Prelude.NFData UpdateResolverRuleResponse where+ rnf UpdateResolverRuleResponse' {..} =+ Prelude.rnf resolverRule+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53Resolver/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.Route53Resolver.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.Route53Resolver.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53Resolver.Lens+import Amazonka.Route53Resolver.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.Route53Resolver+import Test.Amazonka.Route53Resolver.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "Route53Resolver"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/Route53Resolver.hs view
@@ -0,0 +1,1298 @@+{-# 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.Route53Resolver+-- Copyright : (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.Route53Resolver where++import Amazonka.Route53Resolver+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.Route53Resolver.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestAssociateFirewallRuleGroup $+-- newAssociateFirewallRuleGroup+--+-- , requestAssociateResolverEndpointIpAddress $+-- newAssociateResolverEndpointIpAddress+--+-- , requestAssociateResolverQueryLogConfig $+-- newAssociateResolverQueryLogConfig+--+-- , requestAssociateResolverRule $+-- newAssociateResolverRule+--+-- , requestCreateFirewallDomainList $+-- newCreateFirewallDomainList+--+-- , requestCreateFirewallRule $+-- newCreateFirewallRule+--+-- , requestCreateFirewallRuleGroup $+-- newCreateFirewallRuleGroup+--+-- , requestCreateResolverEndpoint $+-- newCreateResolverEndpoint+--+-- , requestCreateResolverQueryLogConfig $+-- newCreateResolverQueryLogConfig+--+-- , requestCreateResolverRule $+-- newCreateResolverRule+--+-- , requestDeleteFirewallDomainList $+-- newDeleteFirewallDomainList+--+-- , requestDeleteFirewallRule $+-- newDeleteFirewallRule+--+-- , requestDeleteFirewallRuleGroup $+-- newDeleteFirewallRuleGroup+--+-- , requestDeleteResolverEndpoint $+-- newDeleteResolverEndpoint+--+-- , requestDeleteResolverQueryLogConfig $+-- newDeleteResolverQueryLogConfig+--+-- , requestDeleteResolverRule $+-- newDeleteResolverRule+--+-- , requestDisassociateFirewallRuleGroup $+-- newDisassociateFirewallRuleGroup+--+-- , requestDisassociateResolverEndpointIpAddress $+-- newDisassociateResolverEndpointIpAddress+--+-- , requestDisassociateResolverQueryLogConfig $+-- newDisassociateResolverQueryLogConfig+--+-- , requestDisassociateResolverRule $+-- newDisassociateResolverRule+--+-- , requestGetFirewallConfig $+-- newGetFirewallConfig+--+-- , requestGetFirewallDomainList $+-- newGetFirewallDomainList+--+-- , requestGetFirewallRuleGroup $+-- newGetFirewallRuleGroup+--+-- , requestGetFirewallRuleGroupAssociation $+-- newGetFirewallRuleGroupAssociation+--+-- , requestGetFirewallRuleGroupPolicy $+-- newGetFirewallRuleGroupPolicy+--+-- , requestGetResolverConfig $+-- newGetResolverConfig+--+-- , requestGetResolverDnssecConfig $+-- newGetResolverDnssecConfig+--+-- , requestGetResolverEndpoint $+-- newGetResolverEndpoint+--+-- , requestGetResolverQueryLogConfig $+-- newGetResolverQueryLogConfig+--+-- , requestGetResolverQueryLogConfigAssociation $+-- newGetResolverQueryLogConfigAssociation+--+-- , requestGetResolverQueryLogConfigPolicy $+-- newGetResolverQueryLogConfigPolicy+--+-- , requestGetResolverRule $+-- newGetResolverRule+--+-- , requestGetResolverRuleAssociation $+-- newGetResolverRuleAssociation+--+-- , requestGetResolverRulePolicy $+-- newGetResolverRulePolicy+--+-- , requestImportFirewallDomains $+-- newImportFirewallDomains+--+-- , requestListFirewallConfigs $+-- newListFirewallConfigs+--+-- , requestListFirewallDomainLists $+-- newListFirewallDomainLists+--+-- , requestListFirewallDomains $+-- newListFirewallDomains+--+-- , requestListFirewallRuleGroupAssociations $+-- newListFirewallRuleGroupAssociations+--+-- , requestListFirewallRuleGroups $+-- newListFirewallRuleGroups+--+-- , requestListFirewallRules $+-- newListFirewallRules+--+-- , requestListResolverConfigs $+-- newListResolverConfigs+--+-- , requestListResolverDnssecConfigs $+-- newListResolverDnssecConfigs+--+-- , requestListResolverEndpointIpAddresses $+-- newListResolverEndpointIpAddresses+--+-- , requestListResolverEndpoints $+-- newListResolverEndpoints+--+-- , requestListResolverQueryLogConfigAssociations $+-- newListResolverQueryLogConfigAssociations+--+-- , requestListResolverQueryLogConfigs $+-- newListResolverQueryLogConfigs+--+-- , requestListResolverRuleAssociations $+-- newListResolverRuleAssociations+--+-- , requestListResolverRules $+-- newListResolverRules+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutFirewallRuleGroupPolicy $+-- newPutFirewallRuleGroupPolicy+--+-- , requestPutResolverQueryLogConfigPolicy $+-- newPutResolverQueryLogConfigPolicy+--+-- , requestPutResolverRulePolicy $+-- newPutResolverRulePolicy+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateFirewallConfig $+-- newUpdateFirewallConfig+--+-- , requestUpdateFirewallDomains $+-- newUpdateFirewallDomains+--+-- , requestUpdateFirewallRule $+-- newUpdateFirewallRule+--+-- , requestUpdateFirewallRuleGroupAssociation $+-- newUpdateFirewallRuleGroupAssociation+--+-- , requestUpdateResolverConfig $+-- newUpdateResolverConfig+--+-- , requestUpdateResolverDnssecConfig $+-- newUpdateResolverDnssecConfig+--+-- , requestUpdateResolverEndpoint $+-- newUpdateResolverEndpoint+--+-- , requestUpdateResolverRule $+-- newUpdateResolverRule+--+-- ]++-- , testGroup "response"+-- [ responseAssociateFirewallRuleGroup $+-- newAssociateFirewallRuleGroupResponse+--+-- , responseAssociateResolverEndpointIpAddress $+-- newAssociateResolverEndpointIpAddressResponse+--+-- , responseAssociateResolverQueryLogConfig $+-- newAssociateResolverQueryLogConfigResponse+--+-- , responseAssociateResolverRule $+-- newAssociateResolverRuleResponse+--+-- , responseCreateFirewallDomainList $+-- newCreateFirewallDomainListResponse+--+-- , responseCreateFirewallRule $+-- newCreateFirewallRuleResponse+--+-- , responseCreateFirewallRuleGroup $+-- newCreateFirewallRuleGroupResponse+--+-- , responseCreateResolverEndpoint $+-- newCreateResolverEndpointResponse+--+-- , responseCreateResolverQueryLogConfig $+-- newCreateResolverQueryLogConfigResponse+--+-- , responseCreateResolverRule $+-- newCreateResolverRuleResponse+--+-- , responseDeleteFirewallDomainList $+-- newDeleteFirewallDomainListResponse+--+-- , responseDeleteFirewallRule $+-- newDeleteFirewallRuleResponse+--+-- , responseDeleteFirewallRuleGroup $+-- newDeleteFirewallRuleGroupResponse+--+-- , responseDeleteResolverEndpoint $+-- newDeleteResolverEndpointResponse+--+-- , responseDeleteResolverQueryLogConfig $+-- newDeleteResolverQueryLogConfigResponse+--+-- , responseDeleteResolverRule $+-- newDeleteResolverRuleResponse+--+-- , responseDisassociateFirewallRuleGroup $+-- newDisassociateFirewallRuleGroupResponse+--+-- , responseDisassociateResolverEndpointIpAddress $+-- newDisassociateResolverEndpointIpAddressResponse+--+-- , responseDisassociateResolverQueryLogConfig $+-- newDisassociateResolverQueryLogConfigResponse+--+-- , responseDisassociateResolverRule $+-- newDisassociateResolverRuleResponse+--+-- , responseGetFirewallConfig $+-- newGetFirewallConfigResponse+--+-- , responseGetFirewallDomainList $+-- newGetFirewallDomainListResponse+--+-- , responseGetFirewallRuleGroup $+-- newGetFirewallRuleGroupResponse+--+-- , responseGetFirewallRuleGroupAssociation $+-- newGetFirewallRuleGroupAssociationResponse+--+-- , responseGetFirewallRuleGroupPolicy $+-- newGetFirewallRuleGroupPolicyResponse+--+-- , responseGetResolverConfig $+-- newGetResolverConfigResponse+--+-- , responseGetResolverDnssecConfig $+-- newGetResolverDnssecConfigResponse+--+-- , responseGetResolverEndpoint $+-- newGetResolverEndpointResponse+--+-- , responseGetResolverQueryLogConfig $+-- newGetResolverQueryLogConfigResponse+--+-- , responseGetResolverQueryLogConfigAssociation $+-- newGetResolverQueryLogConfigAssociationResponse+--+-- , responseGetResolverQueryLogConfigPolicy $+-- newGetResolverQueryLogConfigPolicyResponse+--+-- , responseGetResolverRule $+-- newGetResolverRuleResponse+--+-- , responseGetResolverRuleAssociation $+-- newGetResolverRuleAssociationResponse+--+-- , responseGetResolverRulePolicy $+-- newGetResolverRulePolicyResponse+--+-- , responseImportFirewallDomains $+-- newImportFirewallDomainsResponse+--+-- , responseListFirewallConfigs $+-- newListFirewallConfigsResponse+--+-- , responseListFirewallDomainLists $+-- newListFirewallDomainListsResponse+--+-- , responseListFirewallDomains $+-- newListFirewallDomainsResponse+--+-- , responseListFirewallRuleGroupAssociations $+-- newListFirewallRuleGroupAssociationsResponse+--+-- , responseListFirewallRuleGroups $+-- newListFirewallRuleGroupsResponse+--+-- , responseListFirewallRules $+-- newListFirewallRulesResponse+--+-- , responseListResolverConfigs $+-- newListResolverConfigsResponse+--+-- , responseListResolverDnssecConfigs $+-- newListResolverDnssecConfigsResponse+--+-- , responseListResolverEndpointIpAddresses $+-- newListResolverEndpointIpAddressesResponse+--+-- , responseListResolverEndpoints $+-- newListResolverEndpointsResponse+--+-- , responseListResolverQueryLogConfigAssociations $+-- newListResolverQueryLogConfigAssociationsResponse+--+-- , responseListResolverQueryLogConfigs $+-- newListResolverQueryLogConfigsResponse+--+-- , responseListResolverRuleAssociations $+-- newListResolverRuleAssociationsResponse+--+-- , responseListResolverRules $+-- newListResolverRulesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutFirewallRuleGroupPolicy $+-- newPutFirewallRuleGroupPolicyResponse+--+-- , responsePutResolverQueryLogConfigPolicy $+-- newPutResolverQueryLogConfigPolicyResponse+--+-- , responsePutResolverRulePolicy $+-- newPutResolverRulePolicyResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateFirewallConfig $+-- newUpdateFirewallConfigResponse+--+-- , responseUpdateFirewallDomains $+-- newUpdateFirewallDomainsResponse+--+-- , responseUpdateFirewallRule $+-- newUpdateFirewallRuleResponse+--+-- , responseUpdateFirewallRuleGroupAssociation $+-- newUpdateFirewallRuleGroupAssociationResponse+--+-- , responseUpdateResolverConfig $+-- newUpdateResolverConfigResponse+--+-- , responseUpdateResolverDnssecConfig $+-- newUpdateResolverDnssecConfigResponse+--+-- , responseUpdateResolverEndpoint $+-- newUpdateResolverEndpointResponse+--+-- , responseUpdateResolverRule $+-- newUpdateResolverRuleResponse+--+-- ]+-- ]++-- Requests++requestAssociateFirewallRuleGroup :: AssociateFirewallRuleGroup -> TestTree+requestAssociateFirewallRuleGroup =+ req+ "AssociateFirewallRuleGroup"+ "fixture/AssociateFirewallRuleGroup.yaml"++requestAssociateResolverEndpointIpAddress :: AssociateResolverEndpointIpAddress -> TestTree+requestAssociateResolverEndpointIpAddress =+ req+ "AssociateResolverEndpointIpAddress"+ "fixture/AssociateResolverEndpointIpAddress.yaml"++requestAssociateResolverQueryLogConfig :: AssociateResolverQueryLogConfig -> TestTree+requestAssociateResolverQueryLogConfig =+ req+ "AssociateResolverQueryLogConfig"+ "fixture/AssociateResolverQueryLogConfig.yaml"++requestAssociateResolverRule :: AssociateResolverRule -> TestTree+requestAssociateResolverRule =+ req+ "AssociateResolverRule"+ "fixture/AssociateResolverRule.yaml"++requestCreateFirewallDomainList :: CreateFirewallDomainList -> TestTree+requestCreateFirewallDomainList =+ req+ "CreateFirewallDomainList"+ "fixture/CreateFirewallDomainList.yaml"++requestCreateFirewallRule :: CreateFirewallRule -> TestTree+requestCreateFirewallRule =+ req+ "CreateFirewallRule"+ "fixture/CreateFirewallRule.yaml"++requestCreateFirewallRuleGroup :: CreateFirewallRuleGroup -> TestTree+requestCreateFirewallRuleGroup =+ req+ "CreateFirewallRuleGroup"+ "fixture/CreateFirewallRuleGroup.yaml"++requestCreateResolverEndpoint :: CreateResolverEndpoint -> TestTree+requestCreateResolverEndpoint =+ req+ "CreateResolverEndpoint"+ "fixture/CreateResolverEndpoint.yaml"++requestCreateResolverQueryLogConfig :: CreateResolverQueryLogConfig -> TestTree+requestCreateResolverQueryLogConfig =+ req+ "CreateResolverQueryLogConfig"+ "fixture/CreateResolverQueryLogConfig.yaml"++requestCreateResolverRule :: CreateResolverRule -> TestTree+requestCreateResolverRule =+ req+ "CreateResolverRule"+ "fixture/CreateResolverRule.yaml"++requestDeleteFirewallDomainList :: DeleteFirewallDomainList -> TestTree+requestDeleteFirewallDomainList =+ req+ "DeleteFirewallDomainList"+ "fixture/DeleteFirewallDomainList.yaml"++requestDeleteFirewallRule :: DeleteFirewallRule -> TestTree+requestDeleteFirewallRule =+ req+ "DeleteFirewallRule"+ "fixture/DeleteFirewallRule.yaml"++requestDeleteFirewallRuleGroup :: DeleteFirewallRuleGroup -> TestTree+requestDeleteFirewallRuleGroup =+ req+ "DeleteFirewallRuleGroup"+ "fixture/DeleteFirewallRuleGroup.yaml"++requestDeleteResolverEndpoint :: DeleteResolverEndpoint -> TestTree+requestDeleteResolverEndpoint =+ req+ "DeleteResolverEndpoint"+ "fixture/DeleteResolverEndpoint.yaml"++requestDeleteResolverQueryLogConfig :: DeleteResolverQueryLogConfig -> TestTree+requestDeleteResolverQueryLogConfig =+ req+ "DeleteResolverQueryLogConfig"+ "fixture/DeleteResolverQueryLogConfig.yaml"++requestDeleteResolverRule :: DeleteResolverRule -> TestTree+requestDeleteResolverRule =+ req+ "DeleteResolverRule"+ "fixture/DeleteResolverRule.yaml"++requestDisassociateFirewallRuleGroup :: DisassociateFirewallRuleGroup -> TestTree+requestDisassociateFirewallRuleGroup =+ req+ "DisassociateFirewallRuleGroup"+ "fixture/DisassociateFirewallRuleGroup.yaml"++requestDisassociateResolverEndpointIpAddress :: DisassociateResolverEndpointIpAddress -> TestTree+requestDisassociateResolverEndpointIpAddress =+ req+ "DisassociateResolverEndpointIpAddress"+ "fixture/DisassociateResolverEndpointIpAddress.yaml"++requestDisassociateResolverQueryLogConfig :: DisassociateResolverQueryLogConfig -> TestTree+requestDisassociateResolverQueryLogConfig =+ req+ "DisassociateResolverQueryLogConfig"+ "fixture/DisassociateResolverQueryLogConfig.yaml"++requestDisassociateResolverRule :: DisassociateResolverRule -> TestTree+requestDisassociateResolverRule =+ req+ "DisassociateResolverRule"+ "fixture/DisassociateResolverRule.yaml"++requestGetFirewallConfig :: GetFirewallConfig -> TestTree+requestGetFirewallConfig =+ req+ "GetFirewallConfig"+ "fixture/GetFirewallConfig.yaml"++requestGetFirewallDomainList :: GetFirewallDomainList -> TestTree+requestGetFirewallDomainList =+ req+ "GetFirewallDomainList"+ "fixture/GetFirewallDomainList.yaml"++requestGetFirewallRuleGroup :: GetFirewallRuleGroup -> TestTree+requestGetFirewallRuleGroup =+ req+ "GetFirewallRuleGroup"+ "fixture/GetFirewallRuleGroup.yaml"++requestGetFirewallRuleGroupAssociation :: GetFirewallRuleGroupAssociation -> TestTree+requestGetFirewallRuleGroupAssociation =+ req+ "GetFirewallRuleGroupAssociation"+ "fixture/GetFirewallRuleGroupAssociation.yaml"++requestGetFirewallRuleGroupPolicy :: GetFirewallRuleGroupPolicy -> TestTree+requestGetFirewallRuleGroupPolicy =+ req+ "GetFirewallRuleGroupPolicy"+ "fixture/GetFirewallRuleGroupPolicy.yaml"++requestGetResolverConfig :: GetResolverConfig -> TestTree+requestGetResolverConfig =+ req+ "GetResolverConfig"+ "fixture/GetResolverConfig.yaml"++requestGetResolverDnssecConfig :: GetResolverDnssecConfig -> TestTree+requestGetResolverDnssecConfig =+ req+ "GetResolverDnssecConfig"+ "fixture/GetResolverDnssecConfig.yaml"++requestGetResolverEndpoint :: GetResolverEndpoint -> TestTree+requestGetResolverEndpoint =+ req+ "GetResolverEndpoint"+ "fixture/GetResolverEndpoint.yaml"++requestGetResolverQueryLogConfig :: GetResolverQueryLogConfig -> TestTree+requestGetResolverQueryLogConfig =+ req+ "GetResolverQueryLogConfig"+ "fixture/GetResolverQueryLogConfig.yaml"++requestGetResolverQueryLogConfigAssociation :: GetResolverQueryLogConfigAssociation -> TestTree+requestGetResolverQueryLogConfigAssociation =+ req+ "GetResolverQueryLogConfigAssociation"+ "fixture/GetResolverQueryLogConfigAssociation.yaml"++requestGetResolverQueryLogConfigPolicy :: GetResolverQueryLogConfigPolicy -> TestTree+requestGetResolverQueryLogConfigPolicy =+ req+ "GetResolverQueryLogConfigPolicy"+ "fixture/GetResolverQueryLogConfigPolicy.yaml"++requestGetResolverRule :: GetResolverRule -> TestTree+requestGetResolverRule =+ req+ "GetResolverRule"+ "fixture/GetResolverRule.yaml"++requestGetResolverRuleAssociation :: GetResolverRuleAssociation -> TestTree+requestGetResolverRuleAssociation =+ req+ "GetResolverRuleAssociation"+ "fixture/GetResolverRuleAssociation.yaml"++requestGetResolverRulePolicy :: GetResolverRulePolicy -> TestTree+requestGetResolverRulePolicy =+ req+ "GetResolverRulePolicy"+ "fixture/GetResolverRulePolicy.yaml"++requestImportFirewallDomains :: ImportFirewallDomains -> TestTree+requestImportFirewallDomains =+ req+ "ImportFirewallDomains"+ "fixture/ImportFirewallDomains.yaml"++requestListFirewallConfigs :: ListFirewallConfigs -> TestTree+requestListFirewallConfigs =+ req+ "ListFirewallConfigs"+ "fixture/ListFirewallConfigs.yaml"++requestListFirewallDomainLists :: ListFirewallDomainLists -> TestTree+requestListFirewallDomainLists =+ req+ "ListFirewallDomainLists"+ "fixture/ListFirewallDomainLists.yaml"++requestListFirewallDomains :: ListFirewallDomains -> TestTree+requestListFirewallDomains =+ req+ "ListFirewallDomains"+ "fixture/ListFirewallDomains.yaml"++requestListFirewallRuleGroupAssociations :: ListFirewallRuleGroupAssociations -> TestTree+requestListFirewallRuleGroupAssociations =+ req+ "ListFirewallRuleGroupAssociations"+ "fixture/ListFirewallRuleGroupAssociations.yaml"++requestListFirewallRuleGroups :: ListFirewallRuleGroups -> TestTree+requestListFirewallRuleGroups =+ req+ "ListFirewallRuleGroups"+ "fixture/ListFirewallRuleGroups.yaml"++requestListFirewallRules :: ListFirewallRules -> TestTree+requestListFirewallRules =+ req+ "ListFirewallRules"+ "fixture/ListFirewallRules.yaml"++requestListResolverConfigs :: ListResolverConfigs -> TestTree+requestListResolverConfigs =+ req+ "ListResolverConfigs"+ "fixture/ListResolverConfigs.yaml"++requestListResolverDnssecConfigs :: ListResolverDnssecConfigs -> TestTree+requestListResolverDnssecConfigs =+ req+ "ListResolverDnssecConfigs"+ "fixture/ListResolverDnssecConfigs.yaml"++requestListResolverEndpointIpAddresses :: ListResolverEndpointIpAddresses -> TestTree+requestListResolverEndpointIpAddresses =+ req+ "ListResolverEndpointIpAddresses"+ "fixture/ListResolverEndpointIpAddresses.yaml"++requestListResolverEndpoints :: ListResolverEndpoints -> TestTree+requestListResolverEndpoints =+ req+ "ListResolverEndpoints"+ "fixture/ListResolverEndpoints.yaml"++requestListResolverQueryLogConfigAssociations :: ListResolverQueryLogConfigAssociations -> TestTree+requestListResolverQueryLogConfigAssociations =+ req+ "ListResolverQueryLogConfigAssociations"+ "fixture/ListResolverQueryLogConfigAssociations.yaml"++requestListResolverQueryLogConfigs :: ListResolverQueryLogConfigs -> TestTree+requestListResolverQueryLogConfigs =+ req+ "ListResolverQueryLogConfigs"+ "fixture/ListResolverQueryLogConfigs.yaml"++requestListResolverRuleAssociations :: ListResolverRuleAssociations -> TestTree+requestListResolverRuleAssociations =+ req+ "ListResolverRuleAssociations"+ "fixture/ListResolverRuleAssociations.yaml"++requestListResolverRules :: ListResolverRules -> TestTree+requestListResolverRules =+ req+ "ListResolverRules"+ "fixture/ListResolverRules.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutFirewallRuleGroupPolicy :: PutFirewallRuleGroupPolicy -> TestTree+requestPutFirewallRuleGroupPolicy =+ req+ "PutFirewallRuleGroupPolicy"+ "fixture/PutFirewallRuleGroupPolicy.yaml"++requestPutResolverQueryLogConfigPolicy :: PutResolverQueryLogConfigPolicy -> TestTree+requestPutResolverQueryLogConfigPolicy =+ req+ "PutResolverQueryLogConfigPolicy"+ "fixture/PutResolverQueryLogConfigPolicy.yaml"++requestPutResolverRulePolicy :: PutResolverRulePolicy -> TestTree+requestPutResolverRulePolicy =+ req+ "PutResolverRulePolicy"+ "fixture/PutResolverRulePolicy.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateFirewallConfig :: UpdateFirewallConfig -> TestTree+requestUpdateFirewallConfig =+ req+ "UpdateFirewallConfig"+ "fixture/UpdateFirewallConfig.yaml"++requestUpdateFirewallDomains :: UpdateFirewallDomains -> TestTree+requestUpdateFirewallDomains =+ req+ "UpdateFirewallDomains"+ "fixture/UpdateFirewallDomains.yaml"++requestUpdateFirewallRule :: UpdateFirewallRule -> TestTree+requestUpdateFirewallRule =+ req+ "UpdateFirewallRule"+ "fixture/UpdateFirewallRule.yaml"++requestUpdateFirewallRuleGroupAssociation :: UpdateFirewallRuleGroupAssociation -> TestTree+requestUpdateFirewallRuleGroupAssociation =+ req+ "UpdateFirewallRuleGroupAssociation"+ "fixture/UpdateFirewallRuleGroupAssociation.yaml"++requestUpdateResolverConfig :: UpdateResolverConfig -> TestTree+requestUpdateResolverConfig =+ req+ "UpdateResolverConfig"+ "fixture/UpdateResolverConfig.yaml"++requestUpdateResolverDnssecConfig :: UpdateResolverDnssecConfig -> TestTree+requestUpdateResolverDnssecConfig =+ req+ "UpdateResolverDnssecConfig"+ "fixture/UpdateResolverDnssecConfig.yaml"++requestUpdateResolverEndpoint :: UpdateResolverEndpoint -> TestTree+requestUpdateResolverEndpoint =+ req+ "UpdateResolverEndpoint"+ "fixture/UpdateResolverEndpoint.yaml"++requestUpdateResolverRule :: UpdateResolverRule -> TestTree+requestUpdateResolverRule =+ req+ "UpdateResolverRule"+ "fixture/UpdateResolverRule.yaml"++-- Responses++responseAssociateFirewallRuleGroup :: AssociateFirewallRuleGroupResponse -> TestTree+responseAssociateFirewallRuleGroup =+ res+ "AssociateFirewallRuleGroupResponse"+ "fixture/AssociateFirewallRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateFirewallRuleGroup)++responseAssociateResolverEndpointIpAddress :: AssociateResolverEndpointIpAddressResponse -> TestTree+responseAssociateResolverEndpointIpAddress =+ res+ "AssociateResolverEndpointIpAddressResponse"+ "fixture/AssociateResolverEndpointIpAddressResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateResolverEndpointIpAddress)++responseAssociateResolverQueryLogConfig :: AssociateResolverQueryLogConfigResponse -> TestTree+responseAssociateResolverQueryLogConfig =+ res+ "AssociateResolverQueryLogConfigResponse"+ "fixture/AssociateResolverQueryLogConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateResolverQueryLogConfig)++responseAssociateResolverRule :: AssociateResolverRuleResponse -> TestTree+responseAssociateResolverRule =+ res+ "AssociateResolverRuleResponse"+ "fixture/AssociateResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateResolverRule)++responseCreateFirewallDomainList :: CreateFirewallDomainListResponse -> TestTree+responseCreateFirewallDomainList =+ res+ "CreateFirewallDomainListResponse"+ "fixture/CreateFirewallDomainListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFirewallDomainList)++responseCreateFirewallRule :: CreateFirewallRuleResponse -> TestTree+responseCreateFirewallRule =+ res+ "CreateFirewallRuleResponse"+ "fixture/CreateFirewallRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFirewallRule)++responseCreateFirewallRuleGroup :: CreateFirewallRuleGroupResponse -> TestTree+responseCreateFirewallRuleGroup =+ res+ "CreateFirewallRuleGroupResponse"+ "fixture/CreateFirewallRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFirewallRuleGroup)++responseCreateResolverEndpoint :: CreateResolverEndpointResponse -> TestTree+responseCreateResolverEndpoint =+ res+ "CreateResolverEndpointResponse"+ "fixture/CreateResolverEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateResolverEndpoint)++responseCreateResolverQueryLogConfig :: CreateResolverQueryLogConfigResponse -> TestTree+responseCreateResolverQueryLogConfig =+ res+ "CreateResolverQueryLogConfigResponse"+ "fixture/CreateResolverQueryLogConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateResolverQueryLogConfig)++responseCreateResolverRule :: CreateResolverRuleResponse -> TestTree+responseCreateResolverRule =+ res+ "CreateResolverRuleResponse"+ "fixture/CreateResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateResolverRule)++responseDeleteFirewallDomainList :: DeleteFirewallDomainListResponse -> TestTree+responseDeleteFirewallDomainList =+ res+ "DeleteFirewallDomainListResponse"+ "fixture/DeleteFirewallDomainListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFirewallDomainList)++responseDeleteFirewallRule :: DeleteFirewallRuleResponse -> TestTree+responseDeleteFirewallRule =+ res+ "DeleteFirewallRuleResponse"+ "fixture/DeleteFirewallRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFirewallRule)++responseDeleteFirewallRuleGroup :: DeleteFirewallRuleGroupResponse -> TestTree+responseDeleteFirewallRuleGroup =+ res+ "DeleteFirewallRuleGroupResponse"+ "fixture/DeleteFirewallRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFirewallRuleGroup)++responseDeleteResolverEndpoint :: DeleteResolverEndpointResponse -> TestTree+responseDeleteResolverEndpoint =+ res+ "DeleteResolverEndpointResponse"+ "fixture/DeleteResolverEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteResolverEndpoint)++responseDeleteResolverQueryLogConfig :: DeleteResolverQueryLogConfigResponse -> TestTree+responseDeleteResolverQueryLogConfig =+ res+ "DeleteResolverQueryLogConfigResponse"+ "fixture/DeleteResolverQueryLogConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteResolverQueryLogConfig)++responseDeleteResolverRule :: DeleteResolverRuleResponse -> TestTree+responseDeleteResolverRule =+ res+ "DeleteResolverRuleResponse"+ "fixture/DeleteResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteResolverRule)++responseDisassociateFirewallRuleGroup :: DisassociateFirewallRuleGroupResponse -> TestTree+responseDisassociateFirewallRuleGroup =+ res+ "DisassociateFirewallRuleGroupResponse"+ "fixture/DisassociateFirewallRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateFirewallRuleGroup)++responseDisassociateResolverEndpointIpAddress :: DisassociateResolverEndpointIpAddressResponse -> TestTree+responseDisassociateResolverEndpointIpAddress =+ res+ "DisassociateResolverEndpointIpAddressResponse"+ "fixture/DisassociateResolverEndpointIpAddressResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateResolverEndpointIpAddress)++responseDisassociateResolverQueryLogConfig :: DisassociateResolverQueryLogConfigResponse -> TestTree+responseDisassociateResolverQueryLogConfig =+ res+ "DisassociateResolverQueryLogConfigResponse"+ "fixture/DisassociateResolverQueryLogConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateResolverQueryLogConfig)++responseDisassociateResolverRule :: DisassociateResolverRuleResponse -> TestTree+responseDisassociateResolverRule =+ res+ "DisassociateResolverRuleResponse"+ "fixture/DisassociateResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateResolverRule)++responseGetFirewallConfig :: GetFirewallConfigResponse -> TestTree+responseGetFirewallConfig =+ res+ "GetFirewallConfigResponse"+ "fixture/GetFirewallConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFirewallConfig)++responseGetFirewallDomainList :: GetFirewallDomainListResponse -> TestTree+responseGetFirewallDomainList =+ res+ "GetFirewallDomainListResponse"+ "fixture/GetFirewallDomainListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFirewallDomainList)++responseGetFirewallRuleGroup :: GetFirewallRuleGroupResponse -> TestTree+responseGetFirewallRuleGroup =+ res+ "GetFirewallRuleGroupResponse"+ "fixture/GetFirewallRuleGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFirewallRuleGroup)++responseGetFirewallRuleGroupAssociation :: GetFirewallRuleGroupAssociationResponse -> TestTree+responseGetFirewallRuleGroupAssociation =+ res+ "GetFirewallRuleGroupAssociationResponse"+ "fixture/GetFirewallRuleGroupAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFirewallRuleGroupAssociation)++responseGetFirewallRuleGroupPolicy :: GetFirewallRuleGroupPolicyResponse -> TestTree+responseGetFirewallRuleGroupPolicy =+ res+ "GetFirewallRuleGroupPolicyResponse"+ "fixture/GetFirewallRuleGroupPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFirewallRuleGroupPolicy)++responseGetResolverConfig :: GetResolverConfigResponse -> TestTree+responseGetResolverConfig =+ res+ "GetResolverConfigResponse"+ "fixture/GetResolverConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverConfig)++responseGetResolverDnssecConfig :: GetResolverDnssecConfigResponse -> TestTree+responseGetResolverDnssecConfig =+ res+ "GetResolverDnssecConfigResponse"+ "fixture/GetResolverDnssecConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverDnssecConfig)++responseGetResolverEndpoint :: GetResolverEndpointResponse -> TestTree+responseGetResolverEndpoint =+ res+ "GetResolverEndpointResponse"+ "fixture/GetResolverEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverEndpoint)++responseGetResolverQueryLogConfig :: GetResolverQueryLogConfigResponse -> TestTree+responseGetResolverQueryLogConfig =+ res+ "GetResolverQueryLogConfigResponse"+ "fixture/GetResolverQueryLogConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverQueryLogConfig)++responseGetResolverQueryLogConfigAssociation :: GetResolverQueryLogConfigAssociationResponse -> TestTree+responseGetResolverQueryLogConfigAssociation =+ res+ "GetResolverQueryLogConfigAssociationResponse"+ "fixture/GetResolverQueryLogConfigAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverQueryLogConfigAssociation)++responseGetResolverQueryLogConfigPolicy :: GetResolverQueryLogConfigPolicyResponse -> TestTree+responseGetResolverQueryLogConfigPolicy =+ res+ "GetResolverQueryLogConfigPolicyResponse"+ "fixture/GetResolverQueryLogConfigPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverQueryLogConfigPolicy)++responseGetResolverRule :: GetResolverRuleResponse -> TestTree+responseGetResolverRule =+ res+ "GetResolverRuleResponse"+ "fixture/GetResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverRule)++responseGetResolverRuleAssociation :: GetResolverRuleAssociationResponse -> TestTree+responseGetResolverRuleAssociation =+ res+ "GetResolverRuleAssociationResponse"+ "fixture/GetResolverRuleAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverRuleAssociation)++responseGetResolverRulePolicy :: GetResolverRulePolicyResponse -> TestTree+responseGetResolverRulePolicy =+ res+ "GetResolverRulePolicyResponse"+ "fixture/GetResolverRulePolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResolverRulePolicy)++responseImportFirewallDomains :: ImportFirewallDomainsResponse -> TestTree+responseImportFirewallDomains =+ res+ "ImportFirewallDomainsResponse"+ "fixture/ImportFirewallDomainsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ImportFirewallDomains)++responseListFirewallConfigs :: ListFirewallConfigsResponse -> TestTree+responseListFirewallConfigs =+ res+ "ListFirewallConfigsResponse"+ "fixture/ListFirewallConfigsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallConfigs)++responseListFirewallDomainLists :: ListFirewallDomainListsResponse -> TestTree+responseListFirewallDomainLists =+ res+ "ListFirewallDomainListsResponse"+ "fixture/ListFirewallDomainListsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallDomainLists)++responseListFirewallDomains :: ListFirewallDomainsResponse -> TestTree+responseListFirewallDomains =+ res+ "ListFirewallDomainsResponse"+ "fixture/ListFirewallDomainsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallDomains)++responseListFirewallRuleGroupAssociations :: ListFirewallRuleGroupAssociationsResponse -> TestTree+responseListFirewallRuleGroupAssociations =+ res+ "ListFirewallRuleGroupAssociationsResponse"+ "fixture/ListFirewallRuleGroupAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallRuleGroupAssociations)++responseListFirewallRuleGroups :: ListFirewallRuleGroupsResponse -> TestTree+responseListFirewallRuleGroups =+ res+ "ListFirewallRuleGroupsResponse"+ "fixture/ListFirewallRuleGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallRuleGroups)++responseListFirewallRules :: ListFirewallRulesResponse -> TestTree+responseListFirewallRules =+ res+ "ListFirewallRulesResponse"+ "fixture/ListFirewallRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFirewallRules)++responseListResolverConfigs :: ListResolverConfigsResponse -> TestTree+responseListResolverConfigs =+ res+ "ListResolverConfigsResponse"+ "fixture/ListResolverConfigsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverConfigs)++responseListResolverDnssecConfigs :: ListResolverDnssecConfigsResponse -> TestTree+responseListResolverDnssecConfigs =+ res+ "ListResolverDnssecConfigsResponse"+ "fixture/ListResolverDnssecConfigsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverDnssecConfigs)++responseListResolverEndpointIpAddresses :: ListResolverEndpointIpAddressesResponse -> TestTree+responseListResolverEndpointIpAddresses =+ res+ "ListResolverEndpointIpAddressesResponse"+ "fixture/ListResolverEndpointIpAddressesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverEndpointIpAddresses)++responseListResolverEndpoints :: ListResolverEndpointsResponse -> TestTree+responseListResolverEndpoints =+ res+ "ListResolverEndpointsResponse"+ "fixture/ListResolverEndpointsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverEndpoints)++responseListResolverQueryLogConfigAssociations :: ListResolverQueryLogConfigAssociationsResponse -> TestTree+responseListResolverQueryLogConfigAssociations =+ res+ "ListResolverQueryLogConfigAssociationsResponse"+ "fixture/ListResolverQueryLogConfigAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverQueryLogConfigAssociations)++responseListResolverQueryLogConfigs :: ListResolverQueryLogConfigsResponse -> TestTree+responseListResolverQueryLogConfigs =+ res+ "ListResolverQueryLogConfigsResponse"+ "fixture/ListResolverQueryLogConfigsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverQueryLogConfigs)++responseListResolverRuleAssociations :: ListResolverRuleAssociationsResponse -> TestTree+responseListResolverRuleAssociations =+ res+ "ListResolverRuleAssociationsResponse"+ "fixture/ListResolverRuleAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverRuleAssociations)++responseListResolverRules :: ListResolverRulesResponse -> TestTree+responseListResolverRules =+ res+ "ListResolverRulesResponse"+ "fixture/ListResolverRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResolverRules)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutFirewallRuleGroupPolicy :: PutFirewallRuleGroupPolicyResponse -> TestTree+responsePutFirewallRuleGroupPolicy =+ res+ "PutFirewallRuleGroupPolicyResponse"+ "fixture/PutFirewallRuleGroupPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutFirewallRuleGroupPolicy)++responsePutResolverQueryLogConfigPolicy :: PutResolverQueryLogConfigPolicyResponse -> TestTree+responsePutResolverQueryLogConfigPolicy =+ res+ "PutResolverQueryLogConfigPolicyResponse"+ "fixture/PutResolverQueryLogConfigPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutResolverQueryLogConfigPolicy)++responsePutResolverRulePolicy :: PutResolverRulePolicyResponse -> TestTree+responsePutResolverRulePolicy =+ res+ "PutResolverRulePolicyResponse"+ "fixture/PutResolverRulePolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutResolverRulePolicy)++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)++responseUpdateFirewallConfig :: UpdateFirewallConfigResponse -> TestTree+responseUpdateFirewallConfig =+ res+ "UpdateFirewallConfigResponse"+ "fixture/UpdateFirewallConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFirewallConfig)++responseUpdateFirewallDomains :: UpdateFirewallDomainsResponse -> TestTree+responseUpdateFirewallDomains =+ res+ "UpdateFirewallDomainsResponse"+ "fixture/UpdateFirewallDomainsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFirewallDomains)++responseUpdateFirewallRule :: UpdateFirewallRuleResponse -> TestTree+responseUpdateFirewallRule =+ res+ "UpdateFirewallRuleResponse"+ "fixture/UpdateFirewallRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFirewallRule)++responseUpdateFirewallRuleGroupAssociation :: UpdateFirewallRuleGroupAssociationResponse -> TestTree+responseUpdateFirewallRuleGroupAssociation =+ res+ "UpdateFirewallRuleGroupAssociationResponse"+ "fixture/UpdateFirewallRuleGroupAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFirewallRuleGroupAssociation)++responseUpdateResolverConfig :: UpdateResolverConfigResponse -> TestTree+responseUpdateResolverConfig =+ res+ "UpdateResolverConfigResponse"+ "fixture/UpdateResolverConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResolverConfig)++responseUpdateResolverDnssecConfig :: UpdateResolverDnssecConfigResponse -> TestTree+responseUpdateResolverDnssecConfig =+ res+ "UpdateResolverDnssecConfigResponse"+ "fixture/UpdateResolverDnssecConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResolverDnssecConfig)++responseUpdateResolverEndpoint :: UpdateResolverEndpointResponse -> TestTree+responseUpdateResolverEndpoint =+ res+ "UpdateResolverEndpointResponse"+ "fixture/UpdateResolverEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResolverEndpoint)++responseUpdateResolverRule :: UpdateResolverRuleResponse -> TestTree+responseUpdateResolverRule =+ res+ "UpdateResolverRuleResponse"+ "fixture/UpdateResolverRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResolverRule)
+ test/Test/Amazonka/Route53Resolver.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.Route53Resolver+-- Copyright : (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.Route53Resolver+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Route53Resolver/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.Route53Resolver.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.Route53Resolver.Internal where