amazonka-billingconductor (empty) → 2.0
raw patch · 150 files changed
+15246/−0 lines, 150 filesdep +amazonka-billingconductordep +amazonka-coredep +amazonka-test
Dependencies added: amazonka-billingconductor, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-billingconductor.cabal +159/−0
- fixture/AssociateAccounts.yaml +10/−0
- fixture/AssociateAccountsResponse.proto +0/−0
- fixture/AssociatePricingRules.yaml +10/−0
- fixture/AssociatePricingRulesResponse.proto +0/−0
- fixture/BatchAssociateResourcesToCustomLineItem.yaml +10/−0
- fixture/BatchAssociateResourcesToCustomLineItemResponse.proto +0/−0
- fixture/BatchDisassociateResourcesFromCustomLineItem.yaml +10/−0
- fixture/BatchDisassociateResourcesFromCustomLineItemResponse.proto +0/−0
- fixture/CreateBillingGroup.yaml +10/−0
- fixture/CreateBillingGroupResponse.proto +0/−0
- fixture/CreateCustomLineItem.yaml +10/−0
- fixture/CreateCustomLineItemResponse.proto +0/−0
- fixture/CreatePricingPlan.yaml +10/−0
- fixture/CreatePricingPlanResponse.proto +0/−0
- fixture/CreatePricingRule.yaml +10/−0
- fixture/CreatePricingRuleResponse.proto +0/−0
- fixture/DeleteBillingGroup.yaml +10/−0
- fixture/DeleteBillingGroupResponse.proto +0/−0
- fixture/DeleteCustomLineItem.yaml +10/−0
- fixture/DeleteCustomLineItemResponse.proto +0/−0
- fixture/DeletePricingPlan.yaml +10/−0
- fixture/DeletePricingPlanResponse.proto +0/−0
- fixture/DeletePricingRule.yaml +10/−0
- fixture/DeletePricingRuleResponse.proto +0/−0
- fixture/DisassociateAccounts.yaml +10/−0
- fixture/DisassociateAccountsResponse.proto +0/−0
- fixture/DisassociatePricingRules.yaml +10/−0
- fixture/DisassociatePricingRulesResponse.proto +0/−0
- fixture/ListAccountAssociations.yaml +10/−0
- fixture/ListAccountAssociationsResponse.proto +0/−0
- fixture/ListBillingGroupCostReports.yaml +10/−0
- fixture/ListBillingGroupCostReportsResponse.proto +0/−0
- fixture/ListBillingGroups.yaml +10/−0
- fixture/ListBillingGroupsResponse.proto +0/−0
- fixture/ListCustomLineItemVersions.yaml +10/−0
- fixture/ListCustomLineItemVersionsResponse.proto +0/−0
- fixture/ListCustomLineItems.yaml +10/−0
- fixture/ListCustomLineItemsResponse.proto +0/−0
- fixture/ListPricingPlans.yaml +10/−0
- fixture/ListPricingPlansAssociatedWithPricingRule.yaml +10/−0
- fixture/ListPricingPlansAssociatedWithPricingRuleResponse.proto +0/−0
- fixture/ListPricingPlansResponse.proto +0/−0
- fixture/ListPricingRules.yaml +10/−0
- fixture/ListPricingRulesAssociatedToPricingPlan.yaml +10/−0
- fixture/ListPricingRulesAssociatedToPricingPlanResponse.proto +0/−0
- fixture/ListPricingRulesResponse.proto +0/−0
- fixture/ListResourcesAssociatedToCustomLineItem.yaml +10/−0
- fixture/ListResourcesAssociatedToCustomLineItemResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateBillingGroup.yaml +10/−0
- fixture/UpdateBillingGroupResponse.proto +0/−0
- fixture/UpdateCustomLineItem.yaml +10/−0
- fixture/UpdateCustomLineItemResponse.proto +0/−0
- fixture/UpdatePricingPlan.yaml +10/−0
- fixture/UpdatePricingPlanResponse.proto +0/−0
- fixture/UpdatePricingRule.yaml +10/−0
- fixture/UpdatePricingRuleResponse.proto +0/−0
- gen/Amazonka/BillingConductor.hs +492/−0
- gen/Amazonka/BillingConductor/AssociateAccounts.hs +193/−0
- gen/Amazonka/BillingConductor/AssociatePricingRules.hs +188/−0
- gen/Amazonka/BillingConductor/BatchAssociateResourcesToCustomLineItem.hs +258/−0
- gen/Amazonka/BillingConductor/BatchDisassociateResourcesFromCustomLineItem.hs +263/−0
- gen/Amazonka/BillingConductor/CreateBillingGroup.hs +268/−0
- gen/Amazonka/BillingConductor/CreateCustomLineItem.hs +275/−0
- gen/Amazonka/BillingConductor/CreatePricingPlan.hs +230/−0
- gen/Amazonka/BillingConductor/CreatePricingRule.hs +305/−0
- gen/Amazonka/BillingConductor/DeleteBillingGroup.hs +166/−0
- gen/Amazonka/BillingConductor/DeleteCustomLineItem.hs +184/−0
- gen/Amazonka/BillingConductor/DeletePricingPlan.hs +167/−0
- gen/Amazonka/BillingConductor/DeletePricingRule.hs +167/−0
- gen/Amazonka/BillingConductor/DisassociateAccounts.hs +190/−0
- gen/Amazonka/BillingConductor/DisassociatePricingRules.hs +198/−0
- gen/Amazonka/BillingConductor/Lens.hs +553/−0
- gen/Amazonka/BillingConductor/ListAccountAssociations.hs +267/−0
- gen/Amazonka/BillingConductor/ListBillingGroupCostReports.hs +255/−0
- gen/Amazonka/BillingConductor/ListBillingGroups.hs +253/−0
- gen/Amazonka/BillingConductor/ListCustomLineItemVersions.hs +261/−0
- gen/Amazonka/BillingConductor/ListCustomLineItems.hs +260/−0
- gen/Amazonka/BillingConductor/ListPricingPlans.hs +264/−0
- gen/Amazonka/BillingConductor/ListPricingPlansAssociatedWithPricingRule.hs +320/−0
- gen/Amazonka/BillingConductor/ListPricingRules.hs +264/−0
- gen/Amazonka/BillingConductor/ListPricingRulesAssociatedToPricingPlan.hs +321/−0
- gen/Amazonka/BillingConductor/ListResourcesAssociatedToCustomLineItem.hs +321/−0
- gen/Amazonka/BillingConductor/ListTagsForResource.hs +162/−0
- gen/Amazonka/BillingConductor/TagResource.hs +165/−0
- gen/Amazonka/BillingConductor/Types.hs +486/−0
- gen/Amazonka/BillingConductor/Types/AccountAssociationsListElement.hs +117/−0
- gen/Amazonka/BillingConductor/Types/AccountGrouping.hs +81/−0
- gen/Amazonka/BillingConductor/Types/AssociateResourceError.hs +85/−0
- gen/Amazonka/BillingConductor/Types/AssociateResourceErrorReason.hs +86/−0
- gen/Amazonka/BillingConductor/Types/AssociateResourceResponseElement.hs +99/−0
- gen/Amazonka/BillingConductor/Types/BillingGroupCostReportElement.hs +141/−0
- gen/Amazonka/BillingConductor/Types/BillingGroupListElement.hs +184/−0
- gen/Amazonka/BillingConductor/Types/BillingGroupStatus.hs +71/−0
- gen/Amazonka/BillingConductor/Types/ComputationPreference.hs +87/−0
- gen/Amazonka/BillingConductor/Types/CreateFreeTierConfig.hs +68/−0
- gen/Amazonka/BillingConductor/Types/CreateTieringInput.hs +69/−0
- gen/Amazonka/BillingConductor/Types/CurrencyCode.hs +71/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemBillingPeriodRange.hs +107/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemChargeDetails.hs +111/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemFlatChargeDetails.hs +81/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemListElement.hs +194/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemPercentageChargeDetails.hs +107/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemRelationship.hs +71/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemType.hs +71/−0
- gen/Amazonka/BillingConductor/Types/CustomLineItemVersionListElement.hs +208/−0
- gen/Amazonka/BillingConductor/Types/DisassociateResourceResponseElement.hs +99/−0
- gen/Amazonka/BillingConductor/Types/FreeTierConfig.hs +69/−0
- gen/Amazonka/BillingConductor/Types/ListAccountAssociationsFilter.hs +114/−0
- gen/Amazonka/BillingConductor/Types/ListBillingGroupCostReportsFilter.hs +86/−0
- gen/Amazonka/BillingConductor/Types/ListBillingGroupsFilter.hs +87/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemChargeDetails.hs +122/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemFlatChargeDetails.hs +86/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemPercentageChargeDetails.hs +93/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemVersionsBillingPeriodRangeFilter.hs +107/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemVersionsFilter.hs +85/−0
- gen/Amazonka/BillingConductor/Types/ListCustomLineItemsFilter.hs +96/−0
- gen/Amazonka/BillingConductor/Types/ListPricingPlansFilter.hs +70/−0
- gen/Amazonka/BillingConductor/Types/ListPricingRulesFilter.hs +70/−0
- gen/Amazonka/BillingConductor/Types/ListResourcesAssociatedToCustomLineItemFilter.hs +88/−0
- gen/Amazonka/BillingConductor/Types/ListResourcesAssociatedToCustomLineItemResponseElement.hs +115/−0
- gen/Amazonka/BillingConductor/Types/PricingPlanListElement.hs +138/−0
- gen/Amazonka/BillingConductor/Types/PricingRuleListElement.hs +219/−0
- gen/Amazonka/BillingConductor/Types/PricingRuleScope.hs +76/−0
- gen/Amazonka/BillingConductor/Types/PricingRuleType.hs +76/−0
- gen/Amazonka/BillingConductor/Types/Tiering.hs +68/−0
- gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemChargeDetails.hs +104/−0
- gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemFlatChargeDetails.hs +85/−0
- gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemPercentageChargeDetails.hs +94/−0
- gen/Amazonka/BillingConductor/Types/UpdateFreeTierConfig.hs +77/−0
- gen/Amazonka/BillingConductor/Types/UpdateTieringInput.hs +78/−0
- gen/Amazonka/BillingConductor/UntagResource.hs +163/−0
- gen/Amazonka/BillingConductor/UpdateBillingGroup.hs +336/−0
- gen/Amazonka/BillingConductor/UpdateCustomLineItem.hs +301/−0
- gen/Amazonka/BillingConductor/UpdatePricingPlan.hs +254/−0
- gen/Amazonka/BillingConductor/UpdatePricingRule.hs +372/−0
- gen/Amazonka/BillingConductor/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/BillingConductor.hs +20/−0
- test/Test/Amazonka/BillingConductor/Internal.hs +8/−0
- test/Test/Amazonka/Gen/BillingConductor.hs +658/−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 BillingConductor SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-07-30@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-billingconductor)+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.BillingConductor](http://hackage.haskell.org/package/amazonka-billingconductor/docs/Amazonka-BillingConductor.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-billingconductor` 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-billingconductor.cabal view
@@ -0,0 +1,159 @@+cabal-version: 2.2+name: amazonka-billingconductor+version: 2.0+synopsis: Amazon BillingConductor SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2021-07-30@ 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.BillingConductor.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.BillingConductor" 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-billingconductor++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.BillingConductor+ Amazonka.BillingConductor.AssociateAccounts+ Amazonka.BillingConductor.AssociatePricingRules+ Amazonka.BillingConductor.BatchAssociateResourcesToCustomLineItem+ Amazonka.BillingConductor.BatchDisassociateResourcesFromCustomLineItem+ Amazonka.BillingConductor.CreateBillingGroup+ Amazonka.BillingConductor.CreateCustomLineItem+ Amazonka.BillingConductor.CreatePricingPlan+ Amazonka.BillingConductor.CreatePricingRule+ Amazonka.BillingConductor.DeleteBillingGroup+ Amazonka.BillingConductor.DeleteCustomLineItem+ Amazonka.BillingConductor.DeletePricingPlan+ Amazonka.BillingConductor.DeletePricingRule+ Amazonka.BillingConductor.DisassociateAccounts+ Amazonka.BillingConductor.DisassociatePricingRules+ Amazonka.BillingConductor.Lens+ Amazonka.BillingConductor.ListAccountAssociations+ Amazonka.BillingConductor.ListBillingGroupCostReports+ Amazonka.BillingConductor.ListBillingGroups+ Amazonka.BillingConductor.ListCustomLineItems+ Amazonka.BillingConductor.ListCustomLineItemVersions+ Amazonka.BillingConductor.ListPricingPlans+ Amazonka.BillingConductor.ListPricingPlansAssociatedWithPricingRule+ Amazonka.BillingConductor.ListPricingRules+ Amazonka.BillingConductor.ListPricingRulesAssociatedToPricingPlan+ Amazonka.BillingConductor.ListResourcesAssociatedToCustomLineItem+ Amazonka.BillingConductor.ListTagsForResource+ Amazonka.BillingConductor.TagResource+ Amazonka.BillingConductor.Types+ Amazonka.BillingConductor.Types.AccountAssociationsListElement+ Amazonka.BillingConductor.Types.AccountGrouping+ Amazonka.BillingConductor.Types.AssociateResourceError+ Amazonka.BillingConductor.Types.AssociateResourceErrorReason+ Amazonka.BillingConductor.Types.AssociateResourceResponseElement+ Amazonka.BillingConductor.Types.BillingGroupCostReportElement+ Amazonka.BillingConductor.Types.BillingGroupListElement+ Amazonka.BillingConductor.Types.BillingGroupStatus+ Amazonka.BillingConductor.Types.ComputationPreference+ Amazonka.BillingConductor.Types.CreateFreeTierConfig+ Amazonka.BillingConductor.Types.CreateTieringInput+ Amazonka.BillingConductor.Types.CurrencyCode+ Amazonka.BillingConductor.Types.CustomLineItemBillingPeriodRange+ Amazonka.BillingConductor.Types.CustomLineItemChargeDetails+ Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails+ Amazonka.BillingConductor.Types.CustomLineItemListElement+ Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails+ Amazonka.BillingConductor.Types.CustomLineItemRelationship+ Amazonka.BillingConductor.Types.CustomLineItemType+ Amazonka.BillingConductor.Types.CustomLineItemVersionListElement+ Amazonka.BillingConductor.Types.DisassociateResourceResponseElement+ Amazonka.BillingConductor.Types.FreeTierConfig+ Amazonka.BillingConductor.Types.ListAccountAssociationsFilter+ Amazonka.BillingConductor.Types.ListBillingGroupCostReportsFilter+ Amazonka.BillingConductor.Types.ListBillingGroupsFilter+ Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+ Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails+ Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails+ Amazonka.BillingConductor.Types.ListCustomLineItemsFilter+ Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter+ Amazonka.BillingConductor.Types.ListCustomLineItemVersionsFilter+ Amazonka.BillingConductor.Types.ListPricingPlansFilter+ Amazonka.BillingConductor.Types.ListPricingRulesFilter+ Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemFilter+ Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemResponseElement+ Amazonka.BillingConductor.Types.PricingPlanListElement+ Amazonka.BillingConductor.Types.PricingRuleListElement+ Amazonka.BillingConductor.Types.PricingRuleScope+ Amazonka.BillingConductor.Types.PricingRuleType+ Amazonka.BillingConductor.Types.Tiering+ Amazonka.BillingConductor.Types.UpdateCustomLineItemChargeDetails+ Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails+ Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails+ Amazonka.BillingConductor.Types.UpdateFreeTierConfig+ Amazonka.BillingConductor.Types.UpdateTieringInput+ Amazonka.BillingConductor.UntagResource+ Amazonka.BillingConductor.UpdateBillingGroup+ Amazonka.BillingConductor.UpdateCustomLineItem+ Amazonka.BillingConductor.UpdatePricingPlan+ Amazonka.BillingConductor.UpdatePricingRule+ Amazonka.BillingConductor.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-billingconductor-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.BillingConductor+ Test.Amazonka.BillingConductor.Internal+ Test.Amazonka.Gen.BillingConductor++ build-depends:+ , amazonka-billingconductor+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateAccountsResponse.proto view
+ fixture/AssociatePricingRules.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociatePricingRulesResponse.proto view
+ fixture/BatchAssociateResourcesToCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchAssociateResourcesToCustomLineItemResponse.proto view
+ fixture/BatchDisassociateResourcesFromCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchDisassociateResourcesFromCustomLineItemResponse.proto view
+ fixture/CreateBillingGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateBillingGroupResponse.proto view
+ fixture/CreateCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateCustomLineItemResponse.proto view
+ fixture/CreatePricingPlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreatePricingPlanResponse.proto view
+ fixture/CreatePricingRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreatePricingRuleResponse.proto view
+ fixture/DeleteBillingGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteBillingGroupResponse.proto view
+ fixture/DeleteCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteCustomLineItemResponse.proto view
+ fixture/DeletePricingPlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeletePricingPlanResponse.proto view
+ fixture/DeletePricingRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeletePricingRuleResponse.proto view
+ fixture/DisassociateAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateAccountsResponse.proto view
+ fixture/DisassociatePricingRules.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociatePricingRulesResponse.proto view
+ fixture/ListAccountAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAccountAssociationsResponse.proto view
+ fixture/ListBillingGroupCostReports.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListBillingGroupCostReportsResponse.proto view
+ fixture/ListBillingGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListBillingGroupsResponse.proto view
+ fixture/ListCustomLineItemVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListCustomLineItemVersionsResponse.proto view
+ fixture/ListCustomLineItems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListCustomLineItemsResponse.proto view
+ fixture/ListPricingPlans.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListPricingPlansAssociatedWithPricingRule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListPricingPlansAssociatedWithPricingRuleResponse.proto view
+ fixture/ListPricingPlansResponse.proto view
+ fixture/ListPricingRules.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListPricingRulesAssociatedToPricingPlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListPricingRulesAssociatedToPricingPlanResponse.proto view
+ fixture/ListPricingRulesResponse.proto view
+ fixture/ListResourcesAssociatedToCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListResourcesAssociatedToCustomLineItemResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-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/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-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/UpdateBillingGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateBillingGroupResponse.proto view
+ fixture/UpdateCustomLineItem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateCustomLineItemResponse.proto view
+ fixture/UpdatePricingPlan.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdatePricingPlanResponse.proto view
+ fixture/UpdatePricingRule.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/billingconductor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: billingconductor.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdatePricingRuleResponse.proto view
+ gen/Amazonka/BillingConductor.hs view
@@ -0,0 +1,492 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.BillingConductor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-07-30@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services Billing Conductor is a fully managed service that+-- you can use to customize a+-- <https://docs.aws.amazon.com/billingconductor/latest/userguide/understanding-eb.html#eb-other-definitions pro forma>+-- version of your billing data each month, to accurately show or+-- chargeback your end customers. Amazon Web Services Billing Conductor+-- doesn\'t change the way you\'re billed by Amazon Web Services each month+-- by design. Instead, it provides you with a mechanism to configure,+-- generate, and display rates to certain customers over a given billing+-- period. You can also analyze the difference between the rates you apply+-- to your accounting groupings relative to your actual rates from Amazon+-- Web Services. As a result of your Amazon Web Services Billing Conductor+-- configuration, the payer account can also see the custom rate applied on+-- the billing details page of the+-- <https://console.aws.amazon.com/billing Amazon Web Services Billing console>,+-- or configure a cost and usage report per billing group.+--+-- This documentation shows how you can configure Amazon Web Services+-- Billing Conductor using its API. For more information about using the+-- <https://console.aws.amazon.com/billingconductor/ Amazon Web Services Billing Conductor>+-- user interface, see the+-- <https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html Amazon Web Services Billing Conductor User Guide>.+module Amazonka.BillingConductor+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceLimitExceededException+ _ServiceLimitExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateAccounts+ AssociateAccounts (AssociateAccounts'),+ newAssociateAccounts,+ AssociateAccountsResponse (AssociateAccountsResponse'),+ newAssociateAccountsResponse,++ -- ** AssociatePricingRules+ AssociatePricingRules (AssociatePricingRules'),+ newAssociatePricingRules,+ AssociatePricingRulesResponse (AssociatePricingRulesResponse'),+ newAssociatePricingRulesResponse,++ -- ** BatchAssociateResourcesToCustomLineItem+ BatchAssociateResourcesToCustomLineItem (BatchAssociateResourcesToCustomLineItem'),+ newBatchAssociateResourcesToCustomLineItem,+ BatchAssociateResourcesToCustomLineItemResponse (BatchAssociateResourcesToCustomLineItemResponse'),+ newBatchAssociateResourcesToCustomLineItemResponse,++ -- ** BatchDisassociateResourcesFromCustomLineItem+ BatchDisassociateResourcesFromCustomLineItem (BatchDisassociateResourcesFromCustomLineItem'),+ newBatchDisassociateResourcesFromCustomLineItem,+ BatchDisassociateResourcesFromCustomLineItemResponse (BatchDisassociateResourcesFromCustomLineItemResponse'),+ newBatchDisassociateResourcesFromCustomLineItemResponse,++ -- ** CreateBillingGroup+ CreateBillingGroup (CreateBillingGroup'),+ newCreateBillingGroup,+ CreateBillingGroupResponse (CreateBillingGroupResponse'),+ newCreateBillingGroupResponse,++ -- ** CreateCustomLineItem+ CreateCustomLineItem (CreateCustomLineItem'),+ newCreateCustomLineItem,+ CreateCustomLineItemResponse (CreateCustomLineItemResponse'),+ newCreateCustomLineItemResponse,++ -- ** CreatePricingPlan+ CreatePricingPlan (CreatePricingPlan'),+ newCreatePricingPlan,+ CreatePricingPlanResponse (CreatePricingPlanResponse'),+ newCreatePricingPlanResponse,++ -- ** CreatePricingRule+ CreatePricingRule (CreatePricingRule'),+ newCreatePricingRule,+ CreatePricingRuleResponse (CreatePricingRuleResponse'),+ newCreatePricingRuleResponse,++ -- ** DeleteBillingGroup+ DeleteBillingGroup (DeleteBillingGroup'),+ newDeleteBillingGroup,+ DeleteBillingGroupResponse (DeleteBillingGroupResponse'),+ newDeleteBillingGroupResponse,++ -- ** DeleteCustomLineItem+ DeleteCustomLineItem (DeleteCustomLineItem'),+ newDeleteCustomLineItem,+ DeleteCustomLineItemResponse (DeleteCustomLineItemResponse'),+ newDeleteCustomLineItemResponse,++ -- ** DeletePricingPlan+ DeletePricingPlan (DeletePricingPlan'),+ newDeletePricingPlan,+ DeletePricingPlanResponse (DeletePricingPlanResponse'),+ newDeletePricingPlanResponse,++ -- ** DeletePricingRule+ DeletePricingRule (DeletePricingRule'),+ newDeletePricingRule,+ DeletePricingRuleResponse (DeletePricingRuleResponse'),+ newDeletePricingRuleResponse,++ -- ** DisassociateAccounts+ DisassociateAccounts (DisassociateAccounts'),+ newDisassociateAccounts,+ DisassociateAccountsResponse (DisassociateAccountsResponse'),+ newDisassociateAccountsResponse,++ -- ** DisassociatePricingRules+ DisassociatePricingRules (DisassociatePricingRules'),+ newDisassociatePricingRules,+ DisassociatePricingRulesResponse (DisassociatePricingRulesResponse'),+ newDisassociatePricingRulesResponse,++ -- ** ListAccountAssociations (Paginated)+ ListAccountAssociations (ListAccountAssociations'),+ newListAccountAssociations,+ ListAccountAssociationsResponse (ListAccountAssociationsResponse'),+ newListAccountAssociationsResponse,++ -- ** ListBillingGroupCostReports (Paginated)+ ListBillingGroupCostReports (ListBillingGroupCostReports'),+ newListBillingGroupCostReports,+ ListBillingGroupCostReportsResponse (ListBillingGroupCostReportsResponse'),+ newListBillingGroupCostReportsResponse,++ -- ** ListBillingGroups (Paginated)+ ListBillingGroups (ListBillingGroups'),+ newListBillingGroups,+ ListBillingGroupsResponse (ListBillingGroupsResponse'),+ newListBillingGroupsResponse,++ -- ** ListCustomLineItemVersions (Paginated)+ ListCustomLineItemVersions (ListCustomLineItemVersions'),+ newListCustomLineItemVersions,+ ListCustomLineItemVersionsResponse (ListCustomLineItemVersionsResponse'),+ newListCustomLineItemVersionsResponse,++ -- ** ListCustomLineItems (Paginated)+ ListCustomLineItems (ListCustomLineItems'),+ newListCustomLineItems,+ ListCustomLineItemsResponse (ListCustomLineItemsResponse'),+ newListCustomLineItemsResponse,++ -- ** ListPricingPlans (Paginated)+ ListPricingPlans (ListPricingPlans'),+ newListPricingPlans,+ ListPricingPlansResponse (ListPricingPlansResponse'),+ newListPricingPlansResponse,++ -- ** ListPricingPlansAssociatedWithPricingRule (Paginated)+ ListPricingPlansAssociatedWithPricingRule (ListPricingPlansAssociatedWithPricingRule'),+ newListPricingPlansAssociatedWithPricingRule,+ ListPricingPlansAssociatedWithPricingRuleResponse (ListPricingPlansAssociatedWithPricingRuleResponse'),+ newListPricingPlansAssociatedWithPricingRuleResponse,++ -- ** ListPricingRules (Paginated)+ ListPricingRules (ListPricingRules'),+ newListPricingRules,+ ListPricingRulesResponse (ListPricingRulesResponse'),+ newListPricingRulesResponse,++ -- ** ListPricingRulesAssociatedToPricingPlan (Paginated)+ ListPricingRulesAssociatedToPricingPlan (ListPricingRulesAssociatedToPricingPlan'),+ newListPricingRulesAssociatedToPricingPlan,+ ListPricingRulesAssociatedToPricingPlanResponse (ListPricingRulesAssociatedToPricingPlanResponse'),+ newListPricingRulesAssociatedToPricingPlanResponse,++ -- ** ListResourcesAssociatedToCustomLineItem (Paginated)+ ListResourcesAssociatedToCustomLineItem (ListResourcesAssociatedToCustomLineItem'),+ newListResourcesAssociatedToCustomLineItem,+ ListResourcesAssociatedToCustomLineItemResponse (ListResourcesAssociatedToCustomLineItemResponse'),+ newListResourcesAssociatedToCustomLineItemResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateBillingGroup+ UpdateBillingGroup (UpdateBillingGroup'),+ newUpdateBillingGroup,+ UpdateBillingGroupResponse (UpdateBillingGroupResponse'),+ newUpdateBillingGroupResponse,++ -- ** UpdateCustomLineItem+ UpdateCustomLineItem (UpdateCustomLineItem'),+ newUpdateCustomLineItem,+ UpdateCustomLineItemResponse (UpdateCustomLineItemResponse'),+ newUpdateCustomLineItemResponse,++ -- ** UpdatePricingPlan+ UpdatePricingPlan (UpdatePricingPlan'),+ newUpdatePricingPlan,+ UpdatePricingPlanResponse (UpdatePricingPlanResponse'),+ newUpdatePricingPlanResponse,++ -- ** UpdatePricingRule+ UpdatePricingRule (UpdatePricingRule'),+ newUpdatePricingRule,+ UpdatePricingRuleResponse (UpdatePricingRuleResponse'),+ newUpdatePricingRuleResponse,++ -- * Types++ -- ** AssociateResourceErrorReason+ AssociateResourceErrorReason (..),++ -- ** BillingGroupStatus+ BillingGroupStatus (..),++ -- ** CurrencyCode+ CurrencyCode (..),++ -- ** CustomLineItemRelationship+ CustomLineItemRelationship (..),++ -- ** CustomLineItemType+ CustomLineItemType (..),++ -- ** PricingRuleScope+ PricingRuleScope (..),++ -- ** PricingRuleType+ PricingRuleType (..),++ -- ** AccountAssociationsListElement+ AccountAssociationsListElement (AccountAssociationsListElement'),+ newAccountAssociationsListElement,++ -- ** AccountGrouping+ AccountGrouping (AccountGrouping'),+ newAccountGrouping,++ -- ** AssociateResourceError+ AssociateResourceError (AssociateResourceError'),+ newAssociateResourceError,++ -- ** AssociateResourceResponseElement+ AssociateResourceResponseElement (AssociateResourceResponseElement'),+ newAssociateResourceResponseElement,++ -- ** BillingGroupCostReportElement+ BillingGroupCostReportElement (BillingGroupCostReportElement'),+ newBillingGroupCostReportElement,++ -- ** BillingGroupListElement+ BillingGroupListElement (BillingGroupListElement'),+ newBillingGroupListElement,++ -- ** ComputationPreference+ ComputationPreference (ComputationPreference'),+ newComputationPreference,++ -- ** CreateFreeTierConfig+ CreateFreeTierConfig (CreateFreeTierConfig'),+ newCreateFreeTierConfig,++ -- ** CreateTieringInput+ CreateTieringInput (CreateTieringInput'),+ newCreateTieringInput,++ -- ** CustomLineItemBillingPeriodRange+ CustomLineItemBillingPeriodRange (CustomLineItemBillingPeriodRange'),+ newCustomLineItemBillingPeriodRange,++ -- ** CustomLineItemChargeDetails+ CustomLineItemChargeDetails (CustomLineItemChargeDetails'),+ newCustomLineItemChargeDetails,++ -- ** CustomLineItemFlatChargeDetails+ CustomLineItemFlatChargeDetails (CustomLineItemFlatChargeDetails'),+ newCustomLineItemFlatChargeDetails,++ -- ** CustomLineItemListElement+ CustomLineItemListElement (CustomLineItemListElement'),+ newCustomLineItemListElement,++ -- ** CustomLineItemPercentageChargeDetails+ CustomLineItemPercentageChargeDetails (CustomLineItemPercentageChargeDetails'),+ newCustomLineItemPercentageChargeDetails,++ -- ** CustomLineItemVersionListElement+ CustomLineItemVersionListElement (CustomLineItemVersionListElement'),+ newCustomLineItemVersionListElement,++ -- ** DisassociateResourceResponseElement+ DisassociateResourceResponseElement (DisassociateResourceResponseElement'),+ newDisassociateResourceResponseElement,++ -- ** FreeTierConfig+ FreeTierConfig (FreeTierConfig'),+ newFreeTierConfig,++ -- ** ListAccountAssociationsFilter+ ListAccountAssociationsFilter (ListAccountAssociationsFilter'),+ newListAccountAssociationsFilter,++ -- ** ListBillingGroupCostReportsFilter+ ListBillingGroupCostReportsFilter (ListBillingGroupCostReportsFilter'),+ newListBillingGroupCostReportsFilter,++ -- ** ListBillingGroupsFilter+ ListBillingGroupsFilter (ListBillingGroupsFilter'),+ newListBillingGroupsFilter,++ -- ** ListCustomLineItemChargeDetails+ ListCustomLineItemChargeDetails (ListCustomLineItemChargeDetails'),+ newListCustomLineItemChargeDetails,++ -- ** ListCustomLineItemFlatChargeDetails+ ListCustomLineItemFlatChargeDetails (ListCustomLineItemFlatChargeDetails'),+ newListCustomLineItemFlatChargeDetails,++ -- ** ListCustomLineItemPercentageChargeDetails+ ListCustomLineItemPercentageChargeDetails (ListCustomLineItemPercentageChargeDetails'),+ newListCustomLineItemPercentageChargeDetails,++ -- ** ListCustomLineItemVersionsBillingPeriodRangeFilter+ ListCustomLineItemVersionsBillingPeriodRangeFilter (ListCustomLineItemVersionsBillingPeriodRangeFilter'),+ newListCustomLineItemVersionsBillingPeriodRangeFilter,++ -- ** ListCustomLineItemVersionsFilter+ ListCustomLineItemVersionsFilter (ListCustomLineItemVersionsFilter'),+ newListCustomLineItemVersionsFilter,++ -- ** ListCustomLineItemsFilter+ ListCustomLineItemsFilter (ListCustomLineItemsFilter'),+ newListCustomLineItemsFilter,++ -- ** ListPricingPlansFilter+ ListPricingPlansFilter (ListPricingPlansFilter'),+ newListPricingPlansFilter,++ -- ** ListPricingRulesFilter+ ListPricingRulesFilter (ListPricingRulesFilter'),+ newListPricingRulesFilter,++ -- ** ListResourcesAssociatedToCustomLineItemFilter+ ListResourcesAssociatedToCustomLineItemFilter (ListResourcesAssociatedToCustomLineItemFilter'),+ newListResourcesAssociatedToCustomLineItemFilter,++ -- ** ListResourcesAssociatedToCustomLineItemResponseElement+ ListResourcesAssociatedToCustomLineItemResponseElement (ListResourcesAssociatedToCustomLineItemResponseElement'),+ newListResourcesAssociatedToCustomLineItemResponseElement,++ -- ** PricingPlanListElement+ PricingPlanListElement (PricingPlanListElement'),+ newPricingPlanListElement,++ -- ** PricingRuleListElement+ PricingRuleListElement (PricingRuleListElement'),+ newPricingRuleListElement,++ -- ** Tiering+ Tiering (Tiering'),+ newTiering,++ -- ** UpdateCustomLineItemChargeDetails+ UpdateCustomLineItemChargeDetails (UpdateCustomLineItemChargeDetails'),+ newUpdateCustomLineItemChargeDetails,++ -- ** UpdateCustomLineItemFlatChargeDetails+ UpdateCustomLineItemFlatChargeDetails (UpdateCustomLineItemFlatChargeDetails'),+ newUpdateCustomLineItemFlatChargeDetails,++ -- ** UpdateCustomLineItemPercentageChargeDetails+ UpdateCustomLineItemPercentageChargeDetails (UpdateCustomLineItemPercentageChargeDetails'),+ newUpdateCustomLineItemPercentageChargeDetails,++ -- ** UpdateFreeTierConfig+ UpdateFreeTierConfig (UpdateFreeTierConfig'),+ newUpdateFreeTierConfig,++ -- ** UpdateTieringInput+ UpdateTieringInput (UpdateTieringInput'),+ newUpdateTieringInput,+ )+where++import Amazonka.BillingConductor.AssociateAccounts+import Amazonka.BillingConductor.AssociatePricingRules+import Amazonka.BillingConductor.BatchAssociateResourcesToCustomLineItem+import Amazonka.BillingConductor.BatchDisassociateResourcesFromCustomLineItem+import Amazonka.BillingConductor.CreateBillingGroup+import Amazonka.BillingConductor.CreateCustomLineItem+import Amazonka.BillingConductor.CreatePricingPlan+import Amazonka.BillingConductor.CreatePricingRule+import Amazonka.BillingConductor.DeleteBillingGroup+import Amazonka.BillingConductor.DeleteCustomLineItem+import Amazonka.BillingConductor.DeletePricingPlan+import Amazonka.BillingConductor.DeletePricingRule+import Amazonka.BillingConductor.DisassociateAccounts+import Amazonka.BillingConductor.DisassociatePricingRules+import Amazonka.BillingConductor.Lens+import Amazonka.BillingConductor.ListAccountAssociations+import Amazonka.BillingConductor.ListBillingGroupCostReports+import Amazonka.BillingConductor.ListBillingGroups+import Amazonka.BillingConductor.ListCustomLineItemVersions+import Amazonka.BillingConductor.ListCustomLineItems+import Amazonka.BillingConductor.ListPricingPlans+import Amazonka.BillingConductor.ListPricingPlansAssociatedWithPricingRule+import Amazonka.BillingConductor.ListPricingRules+import Amazonka.BillingConductor.ListPricingRulesAssociatedToPricingPlan+import Amazonka.BillingConductor.ListResourcesAssociatedToCustomLineItem+import Amazonka.BillingConductor.ListTagsForResource+import Amazonka.BillingConductor.TagResource+import Amazonka.BillingConductor.Types+import Amazonka.BillingConductor.UntagResource+import Amazonka.BillingConductor.UpdateBillingGroup+import Amazonka.BillingConductor.UpdateCustomLineItem+import Amazonka.BillingConductor.UpdatePricingPlan+import Amazonka.BillingConductor.UpdatePricingRule+import Amazonka.BillingConductor.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 'BillingConductor'.++-- $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/BillingConductor/AssociateAccounts.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.AssociateAccounts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Connects an array of account IDs in a consolidated billing family to a+-- predefined billing group. The account IDs must be a part of the+-- consolidated billing family during the current month, and not already+-- associated with another billing group. The maximum number of accounts+-- that can be associated in one call is 30.+module Amazonka.BillingConductor.AssociateAccounts+ ( -- * Creating a Request+ AssociateAccounts (..),+ newAssociateAccounts,++ -- * Request Lenses+ associateAccounts_arn,+ associateAccounts_accountIds,++ -- * Destructuring the Response+ AssociateAccountsResponse (..),+ newAssociateAccountsResponse,++ -- * Response Lenses+ associateAccountsResponse_arn,+ associateAccountsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateAccounts' smart constructor.+data AssociateAccounts = AssociateAccounts'+ { -- | The Amazon Resource Name (ARN) of the billing group that associates the+ -- array of account IDs.+ arn :: Prelude.Text,+ -- | The associating array of account IDs.+ accountIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAccounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateAccounts_arn' - The Amazon Resource Name (ARN) of the billing group that associates the+-- array of account IDs.+--+-- 'accountIds', 'associateAccounts_accountIds' - The associating array of account IDs.+newAssociateAccounts ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'accountIds'+ Prelude.NonEmpty Prelude.Text ->+ AssociateAccounts+newAssociateAccounts pArn_ pAccountIds_ =+ AssociateAccounts'+ { arn = pArn_,+ accountIds = Lens.coerced Lens.# pAccountIds_+ }++-- | The Amazon Resource Name (ARN) of the billing group that associates the+-- array of account IDs.+associateAccounts_arn :: Lens.Lens' AssociateAccounts Prelude.Text+associateAccounts_arn = Lens.lens (\AssociateAccounts' {arn} -> arn) (\s@AssociateAccounts' {} a -> s {arn = a} :: AssociateAccounts)++-- | The associating array of account IDs.+associateAccounts_accountIds :: Lens.Lens' AssociateAccounts (Prelude.NonEmpty Prelude.Text)+associateAccounts_accountIds = Lens.lens (\AssociateAccounts' {accountIds} -> accountIds) (\s@AssociateAccounts' {} a -> s {accountIds = a} :: AssociateAccounts) Prelude.. Lens.coerced++instance Core.AWSRequest AssociateAccounts where+ type+ AWSResponse AssociateAccounts =+ AssociateAccountsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociateAccountsResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateAccounts where+ hashWithSalt _salt AssociateAccounts' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` accountIds++instance Prelude.NFData AssociateAccounts where+ rnf AssociateAccounts' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf accountIds++instance Data.ToHeaders AssociateAccounts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateAccounts where+ toJSON AssociateAccounts' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just ("AccountIds" Data..= accountIds)+ ]+ )++instance Data.ToPath AssociateAccounts where+ toPath = Prelude.const "/associate-accounts"++instance Data.ToQuery AssociateAccounts where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAccountsResponse' smart constructor.+data AssociateAccountsResponse = AssociateAccountsResponse'+ { -- | The Amazon Resource Name (ARN) of the billing group that associates the+ -- array of account IDs.+ arn :: 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 'AssociateAccountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateAccountsResponse_arn' - The Amazon Resource Name (ARN) of the billing group that associates the+-- array of account IDs.+--+-- 'httpStatus', 'associateAccountsResponse_httpStatus' - The response's http status code.+newAssociateAccountsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateAccountsResponse+newAssociateAccountsResponse pHttpStatus_ =+ AssociateAccountsResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the billing group that associates the+-- array of account IDs.+associateAccountsResponse_arn :: Lens.Lens' AssociateAccountsResponse (Prelude.Maybe Prelude.Text)+associateAccountsResponse_arn = Lens.lens (\AssociateAccountsResponse' {arn} -> arn) (\s@AssociateAccountsResponse' {} a -> s {arn = a} :: AssociateAccountsResponse)++-- | The response's http status code.+associateAccountsResponse_httpStatus :: Lens.Lens' AssociateAccountsResponse Prelude.Int+associateAccountsResponse_httpStatus = Lens.lens (\AssociateAccountsResponse' {httpStatus} -> httpStatus) (\s@AssociateAccountsResponse' {} a -> s {httpStatus = a} :: AssociateAccountsResponse)++instance Prelude.NFData AssociateAccountsResponse where+ rnf AssociateAccountsResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/AssociatePricingRules.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.BillingConductor.AssociatePricingRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Connects an array of @PricingRuleArns@ to a defined @PricingPlan@. The+-- maximum number @PricingRuleArn@ that can be associated in one call is+-- 30.+module Amazonka.BillingConductor.AssociatePricingRules+ ( -- * Creating a Request+ AssociatePricingRules (..),+ newAssociatePricingRules,++ -- * Request Lenses+ associatePricingRules_arn,+ associatePricingRules_pricingRuleArns,++ -- * Destructuring the Response+ AssociatePricingRulesResponse (..),+ newAssociatePricingRulesResponse,++ -- * Response Lenses+ associatePricingRulesResponse_arn,+ associatePricingRulesResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociatePricingRules' smart constructor.+data AssociatePricingRules = AssociatePricingRules'+ { -- | The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+ arn :: Prelude.Text,+ -- | The @PricingRuleArns@ that are associated with the Pricing Plan.+ pricingRuleArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatePricingRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associatePricingRules_arn' - The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+--+-- 'pricingRuleArns', 'associatePricingRules_pricingRuleArns' - The @PricingRuleArns@ that are associated with the Pricing Plan.+newAssociatePricingRules ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'pricingRuleArns'+ Prelude.NonEmpty Prelude.Text ->+ AssociatePricingRules+newAssociatePricingRules pArn_ pPricingRuleArns_ =+ AssociatePricingRules'+ { arn = pArn_,+ pricingRuleArns =+ Lens.coerced Lens.# pPricingRuleArns_+ }++-- | The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+associatePricingRules_arn :: Lens.Lens' AssociatePricingRules Prelude.Text+associatePricingRules_arn = Lens.lens (\AssociatePricingRules' {arn} -> arn) (\s@AssociatePricingRules' {} a -> s {arn = a} :: AssociatePricingRules)++-- | The @PricingRuleArns@ that are associated with the Pricing Plan.+associatePricingRules_pricingRuleArns :: Lens.Lens' AssociatePricingRules (Prelude.NonEmpty Prelude.Text)+associatePricingRules_pricingRuleArns = Lens.lens (\AssociatePricingRules' {pricingRuleArns} -> pricingRuleArns) (\s@AssociatePricingRules' {} a -> s {pricingRuleArns = a} :: AssociatePricingRules) Prelude.. Lens.coerced++instance Core.AWSRequest AssociatePricingRules where+ type+ AWSResponse AssociatePricingRules =+ AssociatePricingRulesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AssociatePricingRulesResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociatePricingRules where+ hashWithSalt _salt AssociatePricingRules' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` pricingRuleArns++instance Prelude.NFData AssociatePricingRules where+ rnf AssociatePricingRules' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf pricingRuleArns++instance Data.ToHeaders AssociatePricingRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociatePricingRules where+ toJSON AssociatePricingRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just+ ("PricingRuleArns" Data..= pricingRuleArns)+ ]+ )++instance Data.ToPath AssociatePricingRules where+ toPath = Prelude.const "/associate-pricing-rules"++instance Data.ToQuery AssociatePricingRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociatePricingRulesResponse' smart constructor.+data AssociatePricingRulesResponse = AssociatePricingRulesResponse'+ { -- | The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+ arn :: 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 'AssociatePricingRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associatePricingRulesResponse_arn' - The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+--+-- 'httpStatus', 'associatePricingRulesResponse_httpStatus' - The response's http status code.+newAssociatePricingRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociatePricingRulesResponse+newAssociatePricingRulesResponse pHttpStatus_ =+ AssociatePricingRulesResponse'+ { arn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The @PricingPlanArn@ that the @PricingRuleArns@ are associated with.+associatePricingRulesResponse_arn :: Lens.Lens' AssociatePricingRulesResponse (Prelude.Maybe Prelude.Text)+associatePricingRulesResponse_arn = Lens.lens (\AssociatePricingRulesResponse' {arn} -> arn) (\s@AssociatePricingRulesResponse' {} a -> s {arn = a} :: AssociatePricingRulesResponse)++-- | The response's http status code.+associatePricingRulesResponse_httpStatus :: Lens.Lens' AssociatePricingRulesResponse Prelude.Int+associatePricingRulesResponse_httpStatus = Lens.lens (\AssociatePricingRulesResponse' {httpStatus} -> httpStatus) (\s@AssociatePricingRulesResponse' {} a -> s {httpStatus = a} :: AssociatePricingRulesResponse)++instance Prelude.NFData AssociatePricingRulesResponse where+ rnf AssociatePricingRulesResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/BatchAssociateResourcesToCustomLineItem.hs view
@@ -0,0 +1,258 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.BatchAssociateResourcesToCustomLineItem+-- 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 batch of resources to a percentage custom line item.+module Amazonka.BillingConductor.BatchAssociateResourcesToCustomLineItem+ ( -- * Creating a Request+ BatchAssociateResourcesToCustomLineItem (..),+ newBatchAssociateResourcesToCustomLineItem,++ -- * Request Lenses+ batchAssociateResourcesToCustomLineItem_billingPeriodRange,+ batchAssociateResourcesToCustomLineItem_targetArn,+ batchAssociateResourcesToCustomLineItem_resourceArns,++ -- * Destructuring the Response+ BatchAssociateResourcesToCustomLineItemResponse (..),+ newBatchAssociateResourcesToCustomLineItemResponse,++ -- * Response Lenses+ batchAssociateResourcesToCustomLineItemResponse_failedAssociatedResources,+ batchAssociateResourcesToCustomLineItemResponse_successfullyAssociatedResources,+ batchAssociateResourcesToCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchAssociateResourcesToCustomLineItem' smart constructor.+data BatchAssociateResourcesToCustomLineItem = BatchAssociateResourcesToCustomLineItem'+ { billingPeriodRange :: Prelude.Maybe CustomLineItemBillingPeriodRange,+ -- | A percentage custom line item ARN to associate the resources to.+ targetArn :: Prelude.Text,+ -- | A list containing the ARNs of the resources to be associated.+ resourceArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateResourcesToCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'batchAssociateResourcesToCustomLineItem_billingPeriodRange' - Undocumented member.+--+-- 'targetArn', 'batchAssociateResourcesToCustomLineItem_targetArn' - A percentage custom line item ARN to associate the resources to.+--+-- 'resourceArns', 'batchAssociateResourcesToCustomLineItem_resourceArns' - A list containing the ARNs of the resources to be associated.+newBatchAssociateResourcesToCustomLineItem ::+ -- | 'targetArn'+ Prelude.Text ->+ -- | 'resourceArns'+ Prelude.NonEmpty Prelude.Text ->+ BatchAssociateResourcesToCustomLineItem+newBatchAssociateResourcesToCustomLineItem+ pTargetArn_+ pResourceArns_ =+ BatchAssociateResourcesToCustomLineItem'+ { billingPeriodRange =+ Prelude.Nothing,+ targetArn = pTargetArn_,+ resourceArns =+ Lens.coerced+ Lens.# pResourceArns_+ }++-- | Undocumented member.+batchAssociateResourcesToCustomLineItem_billingPeriodRange :: Lens.Lens' BatchAssociateResourcesToCustomLineItem (Prelude.Maybe CustomLineItemBillingPeriodRange)+batchAssociateResourcesToCustomLineItem_billingPeriodRange = Lens.lens (\BatchAssociateResourcesToCustomLineItem' {billingPeriodRange} -> billingPeriodRange) (\s@BatchAssociateResourcesToCustomLineItem' {} a -> s {billingPeriodRange = a} :: BatchAssociateResourcesToCustomLineItem)++-- | A percentage custom line item ARN to associate the resources to.+batchAssociateResourcesToCustomLineItem_targetArn :: Lens.Lens' BatchAssociateResourcesToCustomLineItem Prelude.Text+batchAssociateResourcesToCustomLineItem_targetArn = Lens.lens (\BatchAssociateResourcesToCustomLineItem' {targetArn} -> targetArn) (\s@BatchAssociateResourcesToCustomLineItem' {} a -> s {targetArn = a} :: BatchAssociateResourcesToCustomLineItem)++-- | A list containing the ARNs of the resources to be associated.+batchAssociateResourcesToCustomLineItem_resourceArns :: Lens.Lens' BatchAssociateResourcesToCustomLineItem (Prelude.NonEmpty Prelude.Text)+batchAssociateResourcesToCustomLineItem_resourceArns = Lens.lens (\BatchAssociateResourcesToCustomLineItem' {resourceArns} -> resourceArns) (\s@BatchAssociateResourcesToCustomLineItem' {} a -> s {resourceArns = a} :: BatchAssociateResourcesToCustomLineItem) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchAssociateResourcesToCustomLineItem+ where+ type+ AWSResponse+ BatchAssociateResourcesToCustomLineItem =+ BatchAssociateResourcesToCustomLineItemResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchAssociateResourcesToCustomLineItemResponse'+ Prelude.<$> ( x+ Data..?> "FailedAssociatedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "SuccessfullyAssociatedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchAssociateResourcesToCustomLineItem+ where+ hashWithSalt+ _salt+ BatchAssociateResourcesToCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriodRange+ `Prelude.hashWithSalt` targetArn+ `Prelude.hashWithSalt` resourceArns++instance+ Prelude.NFData+ BatchAssociateResourcesToCustomLineItem+ where+ rnf BatchAssociateResourcesToCustomLineItem' {..} =+ Prelude.rnf billingPeriodRange+ `Prelude.seq` Prelude.rnf targetArn+ `Prelude.seq` Prelude.rnf resourceArns++instance+ Data.ToHeaders+ BatchAssociateResourcesToCustomLineItem+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchAssociateResourcesToCustomLineItem+ where+ toJSON BatchAssociateResourcesToCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange,+ Prelude.Just ("TargetArn" Data..= targetArn),+ Prelude.Just ("ResourceArns" Data..= resourceArns)+ ]+ )++instance+ Data.ToPath+ BatchAssociateResourcesToCustomLineItem+ where+ toPath =+ Prelude.const+ "/batch-associate-resources-to-custom-line-item"++instance+ Data.ToQuery+ BatchAssociateResourcesToCustomLineItem+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchAssociateResourcesToCustomLineItemResponse' smart constructor.+data BatchAssociateResourcesToCustomLineItemResponse = BatchAssociateResourcesToCustomLineItemResponse'+ { -- | A list of @AssociateResourceResponseElement@ for each resource that+ -- failed association to a percentage custom line item.+ failedAssociatedResources :: Prelude.Maybe [AssociateResourceResponseElement],+ -- | A list of @AssociateResourceResponseElement@ for each resource that\'s+ -- been associated to a percentage custom line item successfully.+ successfullyAssociatedResources :: Prelude.Maybe [AssociateResourceResponseElement],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateResourcesToCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedAssociatedResources', 'batchAssociateResourcesToCustomLineItemResponse_failedAssociatedResources' - A list of @AssociateResourceResponseElement@ for each resource that+-- failed association to a percentage custom line item.+--+-- 'successfullyAssociatedResources', 'batchAssociateResourcesToCustomLineItemResponse_successfullyAssociatedResources' - A list of @AssociateResourceResponseElement@ for each resource that\'s+-- been associated to a percentage custom line item successfully.+--+-- 'httpStatus', 'batchAssociateResourcesToCustomLineItemResponse_httpStatus' - The response's http status code.+newBatchAssociateResourcesToCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchAssociateResourcesToCustomLineItemResponse+newBatchAssociateResourcesToCustomLineItemResponse+ pHttpStatus_ =+ BatchAssociateResourcesToCustomLineItemResponse'+ { failedAssociatedResources =+ Prelude.Nothing,+ successfullyAssociatedResources =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of @AssociateResourceResponseElement@ for each resource that+-- failed association to a percentage custom line item.+batchAssociateResourcesToCustomLineItemResponse_failedAssociatedResources :: Lens.Lens' BatchAssociateResourcesToCustomLineItemResponse (Prelude.Maybe [AssociateResourceResponseElement])+batchAssociateResourcesToCustomLineItemResponse_failedAssociatedResources = Lens.lens (\BatchAssociateResourcesToCustomLineItemResponse' {failedAssociatedResources} -> failedAssociatedResources) (\s@BatchAssociateResourcesToCustomLineItemResponse' {} a -> s {failedAssociatedResources = a} :: BatchAssociateResourcesToCustomLineItemResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of @AssociateResourceResponseElement@ for each resource that\'s+-- been associated to a percentage custom line item successfully.+batchAssociateResourcesToCustomLineItemResponse_successfullyAssociatedResources :: Lens.Lens' BatchAssociateResourcesToCustomLineItemResponse (Prelude.Maybe [AssociateResourceResponseElement])+batchAssociateResourcesToCustomLineItemResponse_successfullyAssociatedResources = Lens.lens (\BatchAssociateResourcesToCustomLineItemResponse' {successfullyAssociatedResources} -> successfullyAssociatedResources) (\s@BatchAssociateResourcesToCustomLineItemResponse' {} a -> s {successfullyAssociatedResources = a} :: BatchAssociateResourcesToCustomLineItemResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchAssociateResourcesToCustomLineItemResponse_httpStatus :: Lens.Lens' BatchAssociateResourcesToCustomLineItemResponse Prelude.Int+batchAssociateResourcesToCustomLineItemResponse_httpStatus = Lens.lens (\BatchAssociateResourcesToCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@BatchAssociateResourcesToCustomLineItemResponse' {} a -> s {httpStatus = a} :: BatchAssociateResourcesToCustomLineItemResponse)++instance+ Prelude.NFData+ BatchAssociateResourcesToCustomLineItemResponse+ where+ rnf+ BatchAssociateResourcesToCustomLineItemResponse' {..} =+ Prelude.rnf failedAssociatedResources+ `Prelude.seq` Prelude.rnf successfullyAssociatedResources+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/BatchDisassociateResourcesFromCustomLineItem.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.BatchDisassociateResourcesFromCustomLineItem+-- 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 batch of resources from a percentage custom line item.+module Amazonka.BillingConductor.BatchDisassociateResourcesFromCustomLineItem+ ( -- * Creating a Request+ BatchDisassociateResourcesFromCustomLineItem (..),+ newBatchDisassociateResourcesFromCustomLineItem,++ -- * Request Lenses+ batchDisassociateResourcesFromCustomLineItem_billingPeriodRange,+ batchDisassociateResourcesFromCustomLineItem_targetArn,+ batchDisassociateResourcesFromCustomLineItem_resourceArns,++ -- * Destructuring the Response+ BatchDisassociateResourcesFromCustomLineItemResponse (..),+ newBatchDisassociateResourcesFromCustomLineItemResponse,++ -- * Response Lenses+ batchDisassociateResourcesFromCustomLineItemResponse_failedDisassociatedResources,+ batchDisassociateResourcesFromCustomLineItemResponse_successfullyDisassociatedResources,+ batchDisassociateResourcesFromCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchDisassociateResourcesFromCustomLineItem' smart constructor.+data BatchDisassociateResourcesFromCustomLineItem = BatchDisassociateResourcesFromCustomLineItem'+ { billingPeriodRange :: Prelude.Maybe CustomLineItemBillingPeriodRange,+ -- | A percentage custom line item ARN to disassociate the resources from.+ targetArn :: Prelude.Text,+ -- | A list containing the ARNs of resources to be disassociated.+ resourceArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateResourcesFromCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'batchDisassociateResourcesFromCustomLineItem_billingPeriodRange' - Undocumented member.+--+-- 'targetArn', 'batchDisassociateResourcesFromCustomLineItem_targetArn' - A percentage custom line item ARN to disassociate the resources from.+--+-- 'resourceArns', 'batchDisassociateResourcesFromCustomLineItem_resourceArns' - A list containing the ARNs of resources to be disassociated.+newBatchDisassociateResourcesFromCustomLineItem ::+ -- | 'targetArn'+ Prelude.Text ->+ -- | 'resourceArns'+ Prelude.NonEmpty Prelude.Text ->+ BatchDisassociateResourcesFromCustomLineItem+newBatchDisassociateResourcesFromCustomLineItem+ pTargetArn_+ pResourceArns_ =+ BatchDisassociateResourcesFromCustomLineItem'+ { billingPeriodRange =+ Prelude.Nothing,+ targetArn = pTargetArn_,+ resourceArns =+ Lens.coerced+ Lens.# pResourceArns_+ }++-- | Undocumented member.+batchDisassociateResourcesFromCustomLineItem_billingPeriodRange :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItem (Prelude.Maybe CustomLineItemBillingPeriodRange)+batchDisassociateResourcesFromCustomLineItem_billingPeriodRange = Lens.lens (\BatchDisassociateResourcesFromCustomLineItem' {billingPeriodRange} -> billingPeriodRange) (\s@BatchDisassociateResourcesFromCustomLineItem' {} a -> s {billingPeriodRange = a} :: BatchDisassociateResourcesFromCustomLineItem)++-- | A percentage custom line item ARN to disassociate the resources from.+batchDisassociateResourcesFromCustomLineItem_targetArn :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItem Prelude.Text+batchDisassociateResourcesFromCustomLineItem_targetArn = Lens.lens (\BatchDisassociateResourcesFromCustomLineItem' {targetArn} -> targetArn) (\s@BatchDisassociateResourcesFromCustomLineItem' {} a -> s {targetArn = a} :: BatchDisassociateResourcesFromCustomLineItem)++-- | A list containing the ARNs of resources to be disassociated.+batchDisassociateResourcesFromCustomLineItem_resourceArns :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItem (Prelude.NonEmpty Prelude.Text)+batchDisassociateResourcesFromCustomLineItem_resourceArns = Lens.lens (\BatchDisassociateResourcesFromCustomLineItem' {resourceArns} -> resourceArns) (\s@BatchDisassociateResourcesFromCustomLineItem' {} a -> s {resourceArns = a} :: BatchDisassociateResourcesFromCustomLineItem) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchDisassociateResourcesFromCustomLineItem+ where+ type+ AWSResponse+ BatchDisassociateResourcesFromCustomLineItem =+ BatchDisassociateResourcesFromCustomLineItemResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDisassociateResourcesFromCustomLineItemResponse'+ Prelude.<$> ( x+ Data..?> "FailedDisassociatedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "SuccessfullyDisassociatedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchDisassociateResourcesFromCustomLineItem+ where+ hashWithSalt+ _salt+ BatchDisassociateResourcesFromCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriodRange+ `Prelude.hashWithSalt` targetArn+ `Prelude.hashWithSalt` resourceArns++instance+ Prelude.NFData+ BatchDisassociateResourcesFromCustomLineItem+ where+ rnf BatchDisassociateResourcesFromCustomLineItem' {..} =+ Prelude.rnf billingPeriodRange+ `Prelude.seq` Prelude.rnf targetArn+ `Prelude.seq` Prelude.rnf resourceArns++instance+ Data.ToHeaders+ BatchDisassociateResourcesFromCustomLineItem+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchDisassociateResourcesFromCustomLineItem+ where+ toJSON+ BatchDisassociateResourcesFromCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange,+ Prelude.Just ("TargetArn" Data..= targetArn),+ Prelude.Just ("ResourceArns" Data..= resourceArns)+ ]+ )++instance+ Data.ToPath+ BatchDisassociateResourcesFromCustomLineItem+ where+ toPath =+ Prelude.const+ "/batch-disassociate-resources-from-custom-line-item"++instance+ Data.ToQuery+ BatchDisassociateResourcesFromCustomLineItem+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDisassociateResourcesFromCustomLineItemResponse' smart constructor.+data BatchDisassociateResourcesFromCustomLineItemResponse = BatchDisassociateResourcesFromCustomLineItemResponse'+ { -- | A list of @DisassociateResourceResponseElement@ for each resource that+ -- failed disassociation from a percentage custom line item.+ failedDisassociatedResources :: Prelude.Maybe [DisassociateResourceResponseElement],+ -- | A list of @DisassociateResourceResponseElement@ for each resource+ -- that\'s been disassociated from a percentage custom line item+ -- successfully.+ successfullyDisassociatedResources :: Prelude.Maybe [DisassociateResourceResponseElement],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateResourcesFromCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failedDisassociatedResources', 'batchDisassociateResourcesFromCustomLineItemResponse_failedDisassociatedResources' - A list of @DisassociateResourceResponseElement@ for each resource that+-- failed disassociation from a percentage custom line item.+--+-- 'successfullyDisassociatedResources', 'batchDisassociateResourcesFromCustomLineItemResponse_successfullyDisassociatedResources' - A list of @DisassociateResourceResponseElement@ for each resource+-- that\'s been disassociated from a percentage custom line item+-- successfully.+--+-- 'httpStatus', 'batchDisassociateResourcesFromCustomLineItemResponse_httpStatus' - The response's http status code.+newBatchDisassociateResourcesFromCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDisassociateResourcesFromCustomLineItemResponse+newBatchDisassociateResourcesFromCustomLineItemResponse+ pHttpStatus_ =+ BatchDisassociateResourcesFromCustomLineItemResponse'+ { failedDisassociatedResources =+ Prelude.Nothing,+ successfullyDisassociatedResources =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | A list of @DisassociateResourceResponseElement@ for each resource that+-- failed disassociation from a percentage custom line item.+batchDisassociateResourcesFromCustomLineItemResponse_failedDisassociatedResources :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItemResponse (Prelude.Maybe [DisassociateResourceResponseElement])+batchDisassociateResourcesFromCustomLineItemResponse_failedDisassociatedResources = Lens.lens (\BatchDisassociateResourcesFromCustomLineItemResponse' {failedDisassociatedResources} -> failedDisassociatedResources) (\s@BatchDisassociateResourcesFromCustomLineItemResponse' {} a -> s {failedDisassociatedResources = a} :: BatchDisassociateResourcesFromCustomLineItemResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of @DisassociateResourceResponseElement@ for each resource+-- that\'s been disassociated from a percentage custom line item+-- successfully.+batchDisassociateResourcesFromCustomLineItemResponse_successfullyDisassociatedResources :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItemResponse (Prelude.Maybe [DisassociateResourceResponseElement])+batchDisassociateResourcesFromCustomLineItemResponse_successfullyDisassociatedResources = Lens.lens (\BatchDisassociateResourcesFromCustomLineItemResponse' {successfullyDisassociatedResources} -> successfullyDisassociatedResources) (\s@BatchDisassociateResourcesFromCustomLineItemResponse' {} a -> s {successfullyDisassociatedResources = a} :: BatchDisassociateResourcesFromCustomLineItemResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDisassociateResourcesFromCustomLineItemResponse_httpStatus :: Lens.Lens' BatchDisassociateResourcesFromCustomLineItemResponse Prelude.Int+batchDisassociateResourcesFromCustomLineItemResponse_httpStatus = Lens.lens (\BatchDisassociateResourcesFromCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@BatchDisassociateResourcesFromCustomLineItemResponse' {} a -> s {httpStatus = a} :: BatchDisassociateResourcesFromCustomLineItemResponse)++instance+ Prelude.NFData+ BatchDisassociateResourcesFromCustomLineItemResponse+ where+ rnf+ BatchDisassociateResourcesFromCustomLineItemResponse' {..} =+ Prelude.rnf failedDisassociatedResources+ `Prelude.seq` Prelude.rnf successfullyDisassociatedResources+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/CreateBillingGroup.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.BillingConductor.CreateBillingGroup+-- 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 billing group that resembles a consolidated billing family+-- that Amazon Web Services charges, based off of the predefined pricing+-- plan computation.+module Amazonka.BillingConductor.CreateBillingGroup+ ( -- * Creating a Request+ CreateBillingGroup (..),+ newCreateBillingGroup,++ -- * Request Lenses+ createBillingGroup_clientToken,+ createBillingGroup_description,+ createBillingGroup_primaryAccountId,+ createBillingGroup_tags,+ createBillingGroup_name,+ createBillingGroup_accountGrouping,+ createBillingGroup_computationPreference,++ -- * Destructuring the Response+ CreateBillingGroupResponse (..),+ newCreateBillingGroupResponse,++ -- * Response Lenses+ createBillingGroupResponse_arn,+ createBillingGroupResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateBillingGroup' smart constructor.+data CreateBillingGroup = CreateBillingGroup'+ { -- | The token that is needed to support idempotency. Idempotency isn\'t+ -- currently supported, but will be implemented in a future update.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The description of the billing group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The account ID that serves as the main account in a billing group.+ primaryAccountId :: Prelude.Maybe Prelude.Text,+ -- | A map that contains tag keys and tag values that are attached to a+ -- billing group. This feature isn\'t available during the beta.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The billing group name. The names must be unique.+ name :: Data.Sensitive Prelude.Text,+ -- | The set of accounts that will be under the billing group. The set of+ -- accounts resemble the linked accounts in a consolidated family.+ accountGrouping :: AccountGrouping,+ -- | The preferences and settings that will be used to compute the Amazon Web+ -- Services charges for a billing group.+ computationPreference :: ComputationPreference+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBillingGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createBillingGroup_clientToken' - The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+--+-- 'description', 'createBillingGroup_description' - The description of the billing group.+--+-- 'primaryAccountId', 'createBillingGroup_primaryAccountId' - The account ID that serves as the main account in a billing group.+--+-- 'tags', 'createBillingGroup_tags' - A map that contains tag keys and tag values that are attached to a+-- billing group. This feature isn\'t available during the beta.+--+-- 'name', 'createBillingGroup_name' - The billing group name. The names must be unique.+--+-- 'accountGrouping', 'createBillingGroup_accountGrouping' - The set of accounts that will be under the billing group. The set of+-- accounts resemble the linked accounts in a consolidated family.+--+-- 'computationPreference', 'createBillingGroup_computationPreference' - The preferences and settings that will be used to compute the Amazon Web+-- Services charges for a billing group.+newCreateBillingGroup ::+ -- | 'name'+ Prelude.Text ->+ -- | 'accountGrouping'+ AccountGrouping ->+ -- | 'computationPreference'+ ComputationPreference ->+ CreateBillingGroup+newCreateBillingGroup+ pName_+ pAccountGrouping_+ pComputationPreference_ =+ CreateBillingGroup'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ primaryAccountId = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ accountGrouping = pAccountGrouping_,+ computationPreference = pComputationPreference_+ }++-- | The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+createBillingGroup_clientToken :: Lens.Lens' CreateBillingGroup (Prelude.Maybe Prelude.Text)+createBillingGroup_clientToken = Lens.lens (\CreateBillingGroup' {clientToken} -> clientToken) (\s@CreateBillingGroup' {} a -> s {clientToken = a} :: CreateBillingGroup)++-- | The description of the billing group.+createBillingGroup_description :: Lens.Lens' CreateBillingGroup (Prelude.Maybe Prelude.Text)+createBillingGroup_description = Lens.lens (\CreateBillingGroup' {description} -> description) (\s@CreateBillingGroup' {} a -> s {description = a} :: CreateBillingGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The account ID that serves as the main account in a billing group.+createBillingGroup_primaryAccountId :: Lens.Lens' CreateBillingGroup (Prelude.Maybe Prelude.Text)+createBillingGroup_primaryAccountId = Lens.lens (\CreateBillingGroup' {primaryAccountId} -> primaryAccountId) (\s@CreateBillingGroup' {} a -> s {primaryAccountId = a} :: CreateBillingGroup)++-- | A map that contains tag keys and tag values that are attached to a+-- billing group. This feature isn\'t available during the beta.+createBillingGroup_tags :: Lens.Lens' CreateBillingGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createBillingGroup_tags = Lens.lens (\CreateBillingGroup' {tags} -> tags) (\s@CreateBillingGroup' {} a -> s {tags = a} :: CreateBillingGroup) Prelude.. Lens.mapping Lens.coerced++-- | The billing group name. The names must be unique.+createBillingGroup_name :: Lens.Lens' CreateBillingGroup Prelude.Text+createBillingGroup_name = Lens.lens (\CreateBillingGroup' {name} -> name) (\s@CreateBillingGroup' {} a -> s {name = a} :: CreateBillingGroup) Prelude.. Data._Sensitive++-- | The set of accounts that will be under the billing group. The set of+-- accounts resemble the linked accounts in a consolidated family.+createBillingGroup_accountGrouping :: Lens.Lens' CreateBillingGroup AccountGrouping+createBillingGroup_accountGrouping = Lens.lens (\CreateBillingGroup' {accountGrouping} -> accountGrouping) (\s@CreateBillingGroup' {} a -> s {accountGrouping = a} :: CreateBillingGroup)++-- | The preferences and settings that will be used to compute the Amazon Web+-- Services charges for a billing group.+createBillingGroup_computationPreference :: Lens.Lens' CreateBillingGroup ComputationPreference+createBillingGroup_computationPreference = Lens.lens (\CreateBillingGroup' {computationPreference} -> computationPreference) (\s@CreateBillingGroup' {} a -> s {computationPreference = a} :: CreateBillingGroup)++instance Core.AWSRequest CreateBillingGroup where+ type+ AWSResponse CreateBillingGroup =+ CreateBillingGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateBillingGroupResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateBillingGroup where+ hashWithSalt _salt CreateBillingGroup' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` primaryAccountId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` accountGrouping+ `Prelude.hashWithSalt` computationPreference++instance Prelude.NFData CreateBillingGroup where+ rnf CreateBillingGroup' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf primaryAccountId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf accountGrouping+ `Prelude.seq` Prelude.rnf computationPreference++instance Data.ToHeaders CreateBillingGroup where+ toHeaders CreateBillingGroup' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateBillingGroup where+ toJSON CreateBillingGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PrimaryAccountId" Data..=)+ Prelude.<$> primaryAccountId,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ("AccountGrouping" Data..= accountGrouping),+ Prelude.Just+ ( "ComputationPreference"+ Data..= computationPreference+ )+ ]+ )++instance Data.ToPath CreateBillingGroup where+ toPath = Prelude.const "/create-billing-group"++instance Data.ToQuery CreateBillingGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBillingGroupResponse' smart constructor.+data CreateBillingGroupResponse = CreateBillingGroupResponse'+ { -- | The Amazon Resource Name (ARN) of the created billing group.+ arn :: 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 'CreateBillingGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createBillingGroupResponse_arn' - The Amazon Resource Name (ARN) of the created billing group.+--+-- 'httpStatus', 'createBillingGroupResponse_httpStatus' - The response's http status code.+newCreateBillingGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateBillingGroupResponse+newCreateBillingGroupResponse pHttpStatus_ =+ CreateBillingGroupResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the created billing group.+createBillingGroupResponse_arn :: Lens.Lens' CreateBillingGroupResponse (Prelude.Maybe Prelude.Text)+createBillingGroupResponse_arn = Lens.lens (\CreateBillingGroupResponse' {arn} -> arn) (\s@CreateBillingGroupResponse' {} a -> s {arn = a} :: CreateBillingGroupResponse)++-- | The response's http status code.+createBillingGroupResponse_httpStatus :: Lens.Lens' CreateBillingGroupResponse Prelude.Int+createBillingGroupResponse_httpStatus = Lens.lens (\CreateBillingGroupResponse' {httpStatus} -> httpStatus) (\s@CreateBillingGroupResponse' {} a -> s {httpStatus = a} :: CreateBillingGroupResponse)++instance Prelude.NFData CreateBillingGroupResponse where+ rnf CreateBillingGroupResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/CreateCustomLineItem.hs view
@@ -0,0 +1,275 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.CreateCustomLineItem+-- 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 custom line item that can be used to create a one-time fixed+-- charge that can be applied to a single billing group for the current or+-- previous billing period. The one-time fixed charge is either a fee or+-- discount.+module Amazonka.BillingConductor.CreateCustomLineItem+ ( -- * Creating a Request+ CreateCustomLineItem (..),+ newCreateCustomLineItem,++ -- * Request Lenses+ createCustomLineItem_billingPeriodRange,+ createCustomLineItem_clientToken,+ createCustomLineItem_tags,+ createCustomLineItem_name,+ createCustomLineItem_description,+ createCustomLineItem_billingGroupArn,+ createCustomLineItem_chargeDetails,++ -- * Destructuring the Response+ CreateCustomLineItemResponse (..),+ newCreateCustomLineItemResponse,++ -- * Response Lenses+ createCustomLineItemResponse_arn,+ createCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCustomLineItem' smart constructor.+data CreateCustomLineItem = CreateCustomLineItem'+ { -- | A time range for which the custom line item is effective.+ billingPeriodRange :: Prelude.Maybe CustomLineItemBillingPeriodRange,+ -- | The token that is needed to support idempotency. Idempotency isn\'t+ -- currently supported, but will be implemented in a future update.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A map that contains tag keys and tag values that are attached to a+ -- custom line item.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the custom line item.+ name :: Data.Sensitive Prelude.Text,+ -- | The description of the custom line item. This is shown on the Bills page+ -- in association with the charge value.+ description :: Data.Sensitive Prelude.Text,+ -- | The Amazon Resource Name (ARN) that references the billing group where+ -- the custom line item applies to.+ billingGroupArn :: Prelude.Text,+ -- | A @CustomLineItemChargeDetails@ that describes the charge details for a+ -- custom line item.+ chargeDetails :: CustomLineItemChargeDetails+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'createCustomLineItem_billingPeriodRange' - A time range for which the custom line item is effective.+--+-- 'clientToken', 'createCustomLineItem_clientToken' - The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+--+-- 'tags', 'createCustomLineItem_tags' - A map that contains tag keys and tag values that are attached to a+-- custom line item.+--+-- 'name', 'createCustomLineItem_name' - The name of the custom line item.+--+-- 'description', 'createCustomLineItem_description' - The description of the custom line item. This is shown on the Bills page+-- in association with the charge value.+--+-- 'billingGroupArn', 'createCustomLineItem_billingGroupArn' - The Amazon Resource Name (ARN) that references the billing group where+-- the custom line item applies to.+--+-- 'chargeDetails', 'createCustomLineItem_chargeDetails' - A @CustomLineItemChargeDetails@ that describes the charge details for a+-- custom line item.+newCreateCustomLineItem ::+ -- | 'name'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'billingGroupArn'+ Prelude.Text ->+ -- | 'chargeDetails'+ CustomLineItemChargeDetails ->+ CreateCustomLineItem+newCreateCustomLineItem+ pName_+ pDescription_+ pBillingGroupArn_+ pChargeDetails_ =+ CreateCustomLineItem'+ { billingPeriodRange =+ Prelude.Nothing,+ clientToken = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ description = Data._Sensitive Lens.# pDescription_,+ billingGroupArn = pBillingGroupArn_,+ chargeDetails = pChargeDetails_+ }++-- | A time range for which the custom line item is effective.+createCustomLineItem_billingPeriodRange :: Lens.Lens' CreateCustomLineItem (Prelude.Maybe CustomLineItemBillingPeriodRange)+createCustomLineItem_billingPeriodRange = Lens.lens (\CreateCustomLineItem' {billingPeriodRange} -> billingPeriodRange) (\s@CreateCustomLineItem' {} a -> s {billingPeriodRange = a} :: CreateCustomLineItem)++-- | The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+createCustomLineItem_clientToken :: Lens.Lens' CreateCustomLineItem (Prelude.Maybe Prelude.Text)+createCustomLineItem_clientToken = Lens.lens (\CreateCustomLineItem' {clientToken} -> clientToken) (\s@CreateCustomLineItem' {} a -> s {clientToken = a} :: CreateCustomLineItem)++-- | A map that contains tag keys and tag values that are attached to a+-- custom line item.+createCustomLineItem_tags :: Lens.Lens' CreateCustomLineItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createCustomLineItem_tags = Lens.lens (\CreateCustomLineItem' {tags} -> tags) (\s@CreateCustomLineItem' {} a -> s {tags = a} :: CreateCustomLineItem) Prelude.. Lens.mapping Lens.coerced++-- | The name of the custom line item.+createCustomLineItem_name :: Lens.Lens' CreateCustomLineItem Prelude.Text+createCustomLineItem_name = Lens.lens (\CreateCustomLineItem' {name} -> name) (\s@CreateCustomLineItem' {} a -> s {name = a} :: CreateCustomLineItem) Prelude.. Data._Sensitive++-- | The description of the custom line item. This is shown on the Bills page+-- in association with the charge value.+createCustomLineItem_description :: Lens.Lens' CreateCustomLineItem Prelude.Text+createCustomLineItem_description = Lens.lens (\CreateCustomLineItem' {description} -> description) (\s@CreateCustomLineItem' {} a -> s {description = a} :: CreateCustomLineItem) Prelude.. Data._Sensitive++-- | The Amazon Resource Name (ARN) that references the billing group where+-- the custom line item applies to.+createCustomLineItem_billingGroupArn :: Lens.Lens' CreateCustomLineItem Prelude.Text+createCustomLineItem_billingGroupArn = Lens.lens (\CreateCustomLineItem' {billingGroupArn} -> billingGroupArn) (\s@CreateCustomLineItem' {} a -> s {billingGroupArn = a} :: CreateCustomLineItem)++-- | A @CustomLineItemChargeDetails@ that describes the charge details for a+-- custom line item.+createCustomLineItem_chargeDetails :: Lens.Lens' CreateCustomLineItem CustomLineItemChargeDetails+createCustomLineItem_chargeDetails = Lens.lens (\CreateCustomLineItem' {chargeDetails} -> chargeDetails) (\s@CreateCustomLineItem' {} a -> s {chargeDetails = a} :: CreateCustomLineItem)++instance Core.AWSRequest CreateCustomLineItem where+ type+ AWSResponse CreateCustomLineItem =+ CreateCustomLineItemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateCustomLineItemResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateCustomLineItem where+ hashWithSalt _salt CreateCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriodRange+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` billingGroupArn+ `Prelude.hashWithSalt` chargeDetails++instance Prelude.NFData CreateCustomLineItem where+ rnf CreateCustomLineItem' {..} =+ Prelude.rnf billingPeriodRange+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf billingGroupArn+ `Prelude.seq` Prelude.rnf chargeDetails++instance Data.ToHeaders CreateCustomLineItem where+ toHeaders CreateCustomLineItem' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateCustomLineItem where+ toJSON CreateCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Description" Data..= description),+ Prelude.Just+ ("BillingGroupArn" Data..= billingGroupArn),+ Prelude.Just+ ("ChargeDetails" Data..= chargeDetails)+ ]+ )++instance Data.ToPath CreateCustomLineItem where+ toPath = Prelude.const "/create-custom-line-item"++instance Data.ToQuery CreateCustomLineItem where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCustomLineItemResponse' smart constructor.+data CreateCustomLineItemResponse = CreateCustomLineItemResponse'+ { -- | The Amazon Resource Name (ARN) of the created custom line item.+ arn :: 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 'CreateCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createCustomLineItemResponse_arn' - The Amazon Resource Name (ARN) of the created custom line item.+--+-- 'httpStatus', 'createCustomLineItemResponse_httpStatus' - The response's http status code.+newCreateCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateCustomLineItemResponse+newCreateCustomLineItemResponse pHttpStatus_ =+ CreateCustomLineItemResponse'+ { arn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the created custom line item.+createCustomLineItemResponse_arn :: Lens.Lens' CreateCustomLineItemResponse (Prelude.Maybe Prelude.Text)+createCustomLineItemResponse_arn = Lens.lens (\CreateCustomLineItemResponse' {arn} -> arn) (\s@CreateCustomLineItemResponse' {} a -> s {arn = a} :: CreateCustomLineItemResponse)++-- | The response's http status code.+createCustomLineItemResponse_httpStatus :: Lens.Lens' CreateCustomLineItemResponse Prelude.Int+createCustomLineItemResponse_httpStatus = Lens.lens (\CreateCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@CreateCustomLineItemResponse' {} a -> s {httpStatus = a} :: CreateCustomLineItemResponse)++instance Prelude.NFData CreateCustomLineItemResponse where+ rnf CreateCustomLineItemResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/CreatePricingPlan.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.CreatePricingPlan+-- 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 pricing plan that is used for computing Amazon Web Services+-- charges for billing groups.+module Amazonka.BillingConductor.CreatePricingPlan+ ( -- * Creating a Request+ CreatePricingPlan (..),+ newCreatePricingPlan,++ -- * Request Lenses+ createPricingPlan_clientToken,+ createPricingPlan_description,+ createPricingPlan_pricingRuleArns,+ createPricingPlan_tags,+ createPricingPlan_name,++ -- * Destructuring the Response+ CreatePricingPlanResponse (..),+ newCreatePricingPlanResponse,++ -- * Response Lenses+ createPricingPlanResponse_arn,+ createPricingPlanResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePricingPlan' smart constructor.+data CreatePricingPlan = CreatePricingPlan'+ { -- | The token that is needed to support idempotency. Idempotency isn\'t+ -- currently supported, but will be implemented in a future update.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The description of the pricing plan.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of Amazon Resource Names (ARNs) that define the pricing plan+ -- parameters.+ pricingRuleArns :: Prelude.Maybe [Prelude.Text],+ -- | A map that contains tag keys and tag values that are attached to a+ -- pricing plan.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the pricing plan. The names must be unique to each pricing+ -- plan.+ name :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePricingPlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createPricingPlan_clientToken' - The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+--+-- 'description', 'createPricingPlan_description' - The description of the pricing plan.+--+-- 'pricingRuleArns', 'createPricingPlan_pricingRuleArns' - A list of Amazon Resource Names (ARNs) that define the pricing plan+-- parameters.+--+-- 'tags', 'createPricingPlan_tags' - A map that contains tag keys and tag values that are attached to a+-- pricing plan.+--+-- 'name', 'createPricingPlan_name' - The name of the pricing plan. The names must be unique to each pricing+-- plan.+newCreatePricingPlan ::+ -- | 'name'+ Prelude.Text ->+ CreatePricingPlan+newCreatePricingPlan pName_ =+ CreatePricingPlan'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ pricingRuleArns = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_+ }++-- | The token that is needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+createPricingPlan_clientToken :: Lens.Lens' CreatePricingPlan (Prelude.Maybe Prelude.Text)+createPricingPlan_clientToken = Lens.lens (\CreatePricingPlan' {clientToken} -> clientToken) (\s@CreatePricingPlan' {} a -> s {clientToken = a} :: CreatePricingPlan)++-- | The description of the pricing plan.+createPricingPlan_description :: Lens.Lens' CreatePricingPlan (Prelude.Maybe Prelude.Text)+createPricingPlan_description = Lens.lens (\CreatePricingPlan' {description} -> description) (\s@CreatePricingPlan' {} a -> s {description = a} :: CreatePricingPlan) Prelude.. Lens.mapping Data._Sensitive++-- | A list of Amazon Resource Names (ARNs) that define the pricing plan+-- parameters.+createPricingPlan_pricingRuleArns :: Lens.Lens' CreatePricingPlan (Prelude.Maybe [Prelude.Text])+createPricingPlan_pricingRuleArns = Lens.lens (\CreatePricingPlan' {pricingRuleArns} -> pricingRuleArns) (\s@CreatePricingPlan' {} a -> s {pricingRuleArns = a} :: CreatePricingPlan) Prelude.. Lens.mapping Lens.coerced++-- | A map that contains tag keys and tag values that are attached to a+-- pricing plan.+createPricingPlan_tags :: Lens.Lens' CreatePricingPlan (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPricingPlan_tags = Lens.lens (\CreatePricingPlan' {tags} -> tags) (\s@CreatePricingPlan' {} a -> s {tags = a} :: CreatePricingPlan) Prelude.. Lens.mapping Lens.coerced++-- | The name of the pricing plan. The names must be unique to each pricing+-- plan.+createPricingPlan_name :: Lens.Lens' CreatePricingPlan Prelude.Text+createPricingPlan_name = Lens.lens (\CreatePricingPlan' {name} -> name) (\s@CreatePricingPlan' {} a -> s {name = a} :: CreatePricingPlan) Prelude.. Data._Sensitive++instance Core.AWSRequest CreatePricingPlan where+ type+ AWSResponse CreatePricingPlan =+ CreatePricingPlanResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePricingPlanResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreatePricingPlan where+ hashWithSalt _salt CreatePricingPlan' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingRuleArns+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreatePricingPlan where+ rnf CreatePricingPlan' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingRuleArns+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreatePricingPlan where+ toHeaders CreatePricingPlan' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreatePricingPlan where+ toJSON CreatePricingPlan' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingRuleArns" Data..=)+ Prelude.<$> pricingRuleArns,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreatePricingPlan where+ toPath = Prelude.const "/create-pricing-plan"++instance Data.ToQuery CreatePricingPlan where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePricingPlanResponse' smart constructor.+data CreatePricingPlanResponse = CreatePricingPlanResponse'+ { -- | The Amazon Resource Name (ARN) of the created pricing plan.+ arn :: 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 'CreatePricingPlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPricingPlanResponse_arn' - The Amazon Resource Name (ARN) of the created pricing plan.+--+-- 'httpStatus', 'createPricingPlanResponse_httpStatus' - The response's http status code.+newCreatePricingPlanResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreatePricingPlanResponse+newCreatePricingPlanResponse pHttpStatus_ =+ CreatePricingPlanResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the created pricing plan.+createPricingPlanResponse_arn :: Lens.Lens' CreatePricingPlanResponse (Prelude.Maybe Prelude.Text)+createPricingPlanResponse_arn = Lens.lens (\CreatePricingPlanResponse' {arn} -> arn) (\s@CreatePricingPlanResponse' {} a -> s {arn = a} :: CreatePricingPlanResponse)++-- | The response's http status code.+createPricingPlanResponse_httpStatus :: Lens.Lens' CreatePricingPlanResponse Prelude.Int+createPricingPlanResponse_httpStatus = Lens.lens (\CreatePricingPlanResponse' {httpStatus} -> httpStatus) (\s@CreatePricingPlanResponse' {} a -> s {httpStatus = a} :: CreatePricingPlanResponse)++instance Prelude.NFData CreatePricingPlanResponse where+ rnf CreatePricingPlanResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/CreatePricingRule.hs view
@@ -0,0 +1,305 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.CreatePricingRule+-- 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 pricing rule can be associated to a pricing plan, or a set of+-- pricing plans.+module Amazonka.BillingConductor.CreatePricingRule+ ( -- * Creating a Request+ CreatePricingRule (..),+ newCreatePricingRule,++ -- * Request Lenses+ createPricingRule_billingEntity,+ createPricingRule_clientToken,+ createPricingRule_description,+ createPricingRule_modifierPercentage,+ createPricingRule_service,+ createPricingRule_tags,+ createPricingRule_tiering,+ createPricingRule_name,+ createPricingRule_scope,+ createPricingRule_type,++ -- * Destructuring the Response+ CreatePricingRuleResponse (..),+ newCreatePricingRuleResponse,++ -- * Response Lenses+ createPricingRuleResponse_arn,+ createPricingRuleResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePricingRule' smart constructor.+data CreatePricingRule = CreatePricingRule'+ { -- | The seller of services provided by Amazon Web Services, their+ -- affiliates, or third-party providers selling services via Amazon Web+ -- Services Marketplace.+ billingEntity :: Prelude.Maybe Prelude.Text,+ -- | The token that\'s needed to support idempotency. Idempotency isn\'t+ -- currently supported, but will be implemented in a future update.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The pricing rule description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A percentage modifier that\'s applied on the public pricing rates.+ modifierPercentage :: Prelude.Maybe Prelude.Double,+ -- | If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+ -- which service the @PricingRule@ is applicable for.+ service :: Prelude.Maybe Prelude.Text,+ -- | A map that contains tag keys and tag values that are attached to a+ -- pricing rule.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The set of tiering configurations for the pricing rule.+ tiering :: Prelude.Maybe CreateTieringInput,+ -- | The pricing rule name. The names must be unique to each pricing rule.+ name :: Data.Sensitive Prelude.Text,+ -- | The scope of pricing rule that indicates if it\'s globally applicable,+ -- or it\'s service-specific.+ scope :: PricingRuleScope,+ -- | The type of pricing rule.+ type' :: PricingRuleType+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePricingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingEntity', 'createPricingRule_billingEntity' - The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+--+-- 'clientToken', 'createPricingRule_clientToken' - The token that\'s needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+--+-- 'description', 'createPricingRule_description' - The pricing rule description.+--+-- 'modifierPercentage', 'createPricingRule_modifierPercentage' - A percentage modifier that\'s applied on the public pricing rates.+--+-- 'service', 'createPricingRule_service' - If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+-- which service the @PricingRule@ is applicable for.+--+-- 'tags', 'createPricingRule_tags' - A map that contains tag keys and tag values that are attached to a+-- pricing rule.+--+-- 'tiering', 'createPricingRule_tiering' - The set of tiering configurations for the pricing rule.+--+-- 'name', 'createPricingRule_name' - The pricing rule name. The names must be unique to each pricing rule.+--+-- 'scope', 'createPricingRule_scope' - The scope of pricing rule that indicates if it\'s globally applicable,+-- or it\'s service-specific.+--+-- 'type'', 'createPricingRule_type' - The type of pricing rule.+newCreatePricingRule ::+ -- | 'name'+ Prelude.Text ->+ -- | 'scope'+ PricingRuleScope ->+ -- | 'type''+ PricingRuleType ->+ CreatePricingRule+newCreatePricingRule pName_ pScope_ pType_ =+ CreatePricingRule'+ { billingEntity = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ modifierPercentage = Prelude.Nothing,+ service = Prelude.Nothing,+ tags = Prelude.Nothing,+ tiering = Prelude.Nothing,+ name = Data._Sensitive Lens.# pName_,+ scope = pScope_,+ type' = pType_+ }++-- | The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+createPricingRule_billingEntity :: Lens.Lens' CreatePricingRule (Prelude.Maybe Prelude.Text)+createPricingRule_billingEntity = Lens.lens (\CreatePricingRule' {billingEntity} -> billingEntity) (\s@CreatePricingRule' {} a -> s {billingEntity = a} :: CreatePricingRule)++-- | The token that\'s needed to support idempotency. Idempotency isn\'t+-- currently supported, but will be implemented in a future update.+createPricingRule_clientToken :: Lens.Lens' CreatePricingRule (Prelude.Maybe Prelude.Text)+createPricingRule_clientToken = Lens.lens (\CreatePricingRule' {clientToken} -> clientToken) (\s@CreatePricingRule' {} a -> s {clientToken = a} :: CreatePricingRule)++-- | The pricing rule description.+createPricingRule_description :: Lens.Lens' CreatePricingRule (Prelude.Maybe Prelude.Text)+createPricingRule_description = Lens.lens (\CreatePricingRule' {description} -> description) (\s@CreatePricingRule' {} a -> s {description = a} :: CreatePricingRule) Prelude.. Lens.mapping Data._Sensitive++-- | A percentage modifier that\'s applied on the public pricing rates.+createPricingRule_modifierPercentage :: Lens.Lens' CreatePricingRule (Prelude.Maybe Prelude.Double)+createPricingRule_modifierPercentage = Lens.lens (\CreatePricingRule' {modifierPercentage} -> modifierPercentage) (\s@CreatePricingRule' {} a -> s {modifierPercentage = a} :: CreatePricingRule)++-- | If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+-- which service the @PricingRule@ is applicable for.+createPricingRule_service :: Lens.Lens' CreatePricingRule (Prelude.Maybe Prelude.Text)+createPricingRule_service = Lens.lens (\CreatePricingRule' {service} -> service) (\s@CreatePricingRule' {} a -> s {service = a} :: CreatePricingRule)++-- | A map that contains tag keys and tag values that are attached to a+-- pricing rule.+createPricingRule_tags :: Lens.Lens' CreatePricingRule (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPricingRule_tags = Lens.lens (\CreatePricingRule' {tags} -> tags) (\s@CreatePricingRule' {} a -> s {tags = a} :: CreatePricingRule) Prelude.. Lens.mapping Lens.coerced++-- | The set of tiering configurations for the pricing rule.+createPricingRule_tiering :: Lens.Lens' CreatePricingRule (Prelude.Maybe CreateTieringInput)+createPricingRule_tiering = Lens.lens (\CreatePricingRule' {tiering} -> tiering) (\s@CreatePricingRule' {} a -> s {tiering = a} :: CreatePricingRule)++-- | The pricing rule name. The names must be unique to each pricing rule.+createPricingRule_name :: Lens.Lens' CreatePricingRule Prelude.Text+createPricingRule_name = Lens.lens (\CreatePricingRule' {name} -> name) (\s@CreatePricingRule' {} a -> s {name = a} :: CreatePricingRule) Prelude.. Data._Sensitive++-- | The scope of pricing rule that indicates if it\'s globally applicable,+-- or it\'s service-specific.+createPricingRule_scope :: Lens.Lens' CreatePricingRule PricingRuleScope+createPricingRule_scope = Lens.lens (\CreatePricingRule' {scope} -> scope) (\s@CreatePricingRule' {} a -> s {scope = a} :: CreatePricingRule)++-- | The type of pricing rule.+createPricingRule_type :: Lens.Lens' CreatePricingRule PricingRuleType+createPricingRule_type = Lens.lens (\CreatePricingRule' {type'} -> type') (\s@CreatePricingRule' {} a -> s {type' = a} :: CreatePricingRule)++instance Core.AWSRequest CreatePricingRule where+ type+ AWSResponse CreatePricingRule =+ CreatePricingRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePricingRuleResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreatePricingRule where+ hashWithSalt _salt CreatePricingRule' {..} =+ _salt+ `Prelude.hashWithSalt` billingEntity+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` modifierPercentage+ `Prelude.hashWithSalt` service+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` tiering+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` scope+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreatePricingRule where+ rnf CreatePricingRule' {..} =+ Prelude.rnf billingEntity+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf modifierPercentage+ `Prelude.seq` Prelude.rnf service+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf tiering+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreatePricingRule where+ toHeaders CreatePricingRule' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreatePricingRule where+ toJSON CreatePricingRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingEntity" Data..=) Prelude.<$> billingEntity,+ ("Description" Data..=) Prelude.<$> description,+ ("ModifierPercentage" Data..=)+ Prelude.<$> modifierPercentage,+ ("Service" Data..=) Prelude.<$> service,+ ("Tags" Data..=) Prelude.<$> tags,+ ("Tiering" Data..=) Prelude.<$> tiering,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Scope" Data..= scope),+ Prelude.Just ("Type" Data..= type')+ ]+ )++instance Data.ToPath CreatePricingRule where+ toPath = Prelude.const "/create-pricing-rule"++instance Data.ToQuery CreatePricingRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePricingRuleResponse' smart constructor.+data CreatePricingRuleResponse = CreatePricingRuleResponse'+ { -- | The Amazon Resource Name (ARN) of the created pricing rule.+ arn :: 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 'CreatePricingRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPricingRuleResponse_arn' - The Amazon Resource Name (ARN) of the created pricing rule.+--+-- 'httpStatus', 'createPricingRuleResponse_httpStatus' - The response's http status code.+newCreatePricingRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreatePricingRuleResponse+newCreatePricingRuleResponse pHttpStatus_ =+ CreatePricingRuleResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the created pricing rule.+createPricingRuleResponse_arn :: Lens.Lens' CreatePricingRuleResponse (Prelude.Maybe Prelude.Text)+createPricingRuleResponse_arn = Lens.lens (\CreatePricingRuleResponse' {arn} -> arn) (\s@CreatePricingRuleResponse' {} a -> s {arn = a} :: CreatePricingRuleResponse)++-- | The response's http status code.+createPricingRuleResponse_httpStatus :: Lens.Lens' CreatePricingRuleResponse Prelude.Int+createPricingRuleResponse_httpStatus = Lens.lens (\CreatePricingRuleResponse' {httpStatus} -> httpStatus) (\s@CreatePricingRuleResponse' {} a -> s {httpStatus = a} :: CreatePricingRuleResponse)++instance Prelude.NFData CreatePricingRuleResponse where+ rnf CreatePricingRuleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DeleteBillingGroup.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.DeleteBillingGroup+-- 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 billing group.+module Amazonka.BillingConductor.DeleteBillingGroup+ ( -- * Creating a Request+ DeleteBillingGroup (..),+ newDeleteBillingGroup,++ -- * Request Lenses+ deleteBillingGroup_arn,++ -- * Destructuring the Response+ DeleteBillingGroupResponse (..),+ newDeleteBillingGroupResponse,++ -- * Response Lenses+ deleteBillingGroupResponse_arn,+ deleteBillingGroupResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteBillingGroup' smart constructor.+data DeleteBillingGroup = DeleteBillingGroup'+ { -- | The Amazon Resource Name (ARN) of the billing group that you\'re+ -- deleting.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBillingGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteBillingGroup_arn' - The Amazon Resource Name (ARN) of the billing group that you\'re+-- deleting.+newDeleteBillingGroup ::+ -- | 'arn'+ Prelude.Text ->+ DeleteBillingGroup+newDeleteBillingGroup pArn_ =+ DeleteBillingGroup' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the billing group that you\'re+-- deleting.+deleteBillingGroup_arn :: Lens.Lens' DeleteBillingGroup Prelude.Text+deleteBillingGroup_arn = Lens.lens (\DeleteBillingGroup' {arn} -> arn) (\s@DeleteBillingGroup' {} a -> s {arn = a} :: DeleteBillingGroup)++instance Core.AWSRequest DeleteBillingGroup where+ type+ AWSResponse DeleteBillingGroup =+ DeleteBillingGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteBillingGroupResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteBillingGroup where+ hashWithSalt _salt DeleteBillingGroup' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteBillingGroup where+ rnf DeleteBillingGroup' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteBillingGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteBillingGroup where+ toJSON DeleteBillingGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath DeleteBillingGroup where+ toPath = Prelude.const "/delete-billing-group"++instance Data.ToQuery DeleteBillingGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBillingGroupResponse' smart constructor.+data DeleteBillingGroupResponse = DeleteBillingGroupResponse'+ { -- | The Amazon Resource Name (ARN) of the deleted billing group.+ arn :: 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 'DeleteBillingGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteBillingGroupResponse_arn' - The Amazon Resource Name (ARN) of the deleted billing group.+--+-- 'httpStatus', 'deleteBillingGroupResponse_httpStatus' - The response's http status code.+newDeleteBillingGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteBillingGroupResponse+newDeleteBillingGroupResponse pHttpStatus_ =+ DeleteBillingGroupResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the deleted billing group.+deleteBillingGroupResponse_arn :: Lens.Lens' DeleteBillingGroupResponse (Prelude.Maybe Prelude.Text)+deleteBillingGroupResponse_arn = Lens.lens (\DeleteBillingGroupResponse' {arn} -> arn) (\s@DeleteBillingGroupResponse' {} a -> s {arn = a} :: DeleteBillingGroupResponse)++-- | The response's http status code.+deleteBillingGroupResponse_httpStatus :: Lens.Lens' DeleteBillingGroupResponse Prelude.Int+deleteBillingGroupResponse_httpStatus = Lens.lens (\DeleteBillingGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteBillingGroupResponse' {} a -> s {httpStatus = a} :: DeleteBillingGroupResponse)++instance Prelude.NFData DeleteBillingGroupResponse where+ rnf DeleteBillingGroupResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DeleteCustomLineItem.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.DeleteCustomLineItem+-- 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 custom line item identified by the given ARN in the current,+-- or previous billing period.+module Amazonka.BillingConductor.DeleteCustomLineItem+ ( -- * Creating a Request+ DeleteCustomLineItem (..),+ newDeleteCustomLineItem,++ -- * Request Lenses+ deleteCustomLineItem_billingPeriodRange,+ deleteCustomLineItem_arn,++ -- * Destructuring the Response+ DeleteCustomLineItemResponse (..),+ newDeleteCustomLineItemResponse,++ -- * Response Lenses+ deleteCustomLineItemResponse_arn,+ deleteCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCustomLineItem' smart constructor.+data DeleteCustomLineItem = DeleteCustomLineItem'+ { billingPeriodRange :: Prelude.Maybe CustomLineItemBillingPeriodRange,+ -- | The ARN of the custom line item to be deleted.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'deleteCustomLineItem_billingPeriodRange' - Undocumented member.+--+-- 'arn', 'deleteCustomLineItem_arn' - The ARN of the custom line item to be deleted.+newDeleteCustomLineItem ::+ -- | 'arn'+ Prelude.Text ->+ DeleteCustomLineItem+newDeleteCustomLineItem pArn_ =+ DeleteCustomLineItem'+ { billingPeriodRange =+ Prelude.Nothing,+ arn = pArn_+ }++-- | Undocumented member.+deleteCustomLineItem_billingPeriodRange :: Lens.Lens' DeleteCustomLineItem (Prelude.Maybe CustomLineItemBillingPeriodRange)+deleteCustomLineItem_billingPeriodRange = Lens.lens (\DeleteCustomLineItem' {billingPeriodRange} -> billingPeriodRange) (\s@DeleteCustomLineItem' {} a -> s {billingPeriodRange = a} :: DeleteCustomLineItem)++-- | The ARN of the custom line item to be deleted.+deleteCustomLineItem_arn :: Lens.Lens' DeleteCustomLineItem Prelude.Text+deleteCustomLineItem_arn = Lens.lens (\DeleteCustomLineItem' {arn} -> arn) (\s@DeleteCustomLineItem' {} a -> s {arn = a} :: DeleteCustomLineItem)++instance Core.AWSRequest DeleteCustomLineItem where+ type+ AWSResponse DeleteCustomLineItem =+ DeleteCustomLineItemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteCustomLineItemResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteCustomLineItem where+ hashWithSalt _salt DeleteCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriodRange+ `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteCustomLineItem where+ rnf DeleteCustomLineItem' {..} =+ Prelude.rnf billingPeriodRange+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders DeleteCustomLineItem where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteCustomLineItem where+ toJSON DeleteCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath DeleteCustomLineItem where+ toPath = Prelude.const "/delete-custom-line-item"++instance Data.ToQuery DeleteCustomLineItem where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCustomLineItemResponse' smart constructor.+data DeleteCustomLineItemResponse = DeleteCustomLineItemResponse'+ { -- | Then ARN of the deleted custom line item.+ arn :: 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 'DeleteCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteCustomLineItemResponse_arn' - Then ARN of the deleted custom line item.+--+-- 'httpStatus', 'deleteCustomLineItemResponse_httpStatus' - The response's http status code.+newDeleteCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteCustomLineItemResponse+newDeleteCustomLineItemResponse pHttpStatus_ =+ DeleteCustomLineItemResponse'+ { arn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Then ARN of the deleted custom line item.+deleteCustomLineItemResponse_arn :: Lens.Lens' DeleteCustomLineItemResponse (Prelude.Maybe Prelude.Text)+deleteCustomLineItemResponse_arn = Lens.lens (\DeleteCustomLineItemResponse' {arn} -> arn) (\s@DeleteCustomLineItemResponse' {} a -> s {arn = a} :: DeleteCustomLineItemResponse)++-- | The response's http status code.+deleteCustomLineItemResponse_httpStatus :: Lens.Lens' DeleteCustomLineItemResponse Prelude.Int+deleteCustomLineItemResponse_httpStatus = Lens.lens (\DeleteCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@DeleteCustomLineItemResponse' {} a -> s {httpStatus = a} :: DeleteCustomLineItemResponse)++instance Prelude.NFData DeleteCustomLineItemResponse where+ rnf DeleteCustomLineItemResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DeletePricingPlan.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.DeletePricingPlan+-- 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 pricing plan. The pricing plan must not be associated with any+-- billing groups to delete successfully.+module Amazonka.BillingConductor.DeletePricingPlan+ ( -- * Creating a Request+ DeletePricingPlan (..),+ newDeletePricingPlan,++ -- * Request Lenses+ deletePricingPlan_arn,++ -- * Destructuring the Response+ DeletePricingPlanResponse (..),+ newDeletePricingPlanResponse,++ -- * Response Lenses+ deletePricingPlanResponse_arn,+ deletePricingPlanResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePricingPlan' smart constructor.+data DeletePricingPlan = DeletePricingPlan'+ { -- | The Amazon Resource Name (ARN) of the pricing plan that you\'re+ -- deleting.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePricingPlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePricingPlan_arn' - The Amazon Resource Name (ARN) of the pricing plan that you\'re+-- deleting.+newDeletePricingPlan ::+ -- | 'arn'+ Prelude.Text ->+ DeletePricingPlan+newDeletePricingPlan pArn_ =+ DeletePricingPlan' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the pricing plan that you\'re+-- deleting.+deletePricingPlan_arn :: Lens.Lens' DeletePricingPlan Prelude.Text+deletePricingPlan_arn = Lens.lens (\DeletePricingPlan' {arn} -> arn) (\s@DeletePricingPlan' {} a -> s {arn = a} :: DeletePricingPlan)++instance Core.AWSRequest DeletePricingPlan where+ type+ AWSResponse DeletePricingPlan =+ DeletePricingPlanResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeletePricingPlanResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePricingPlan where+ hashWithSalt _salt DeletePricingPlan' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeletePricingPlan where+ rnf DeletePricingPlan' {..} = Prelude.rnf arn++instance Data.ToHeaders DeletePricingPlan where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeletePricingPlan where+ toJSON DeletePricingPlan' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath DeletePricingPlan where+ toPath = Prelude.const "/delete-pricing-plan"++instance Data.ToQuery DeletePricingPlan where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePricingPlanResponse' smart constructor.+data DeletePricingPlanResponse = DeletePricingPlanResponse'+ { -- | The Amazon Resource Name (ARN) of the deleted pricing plan.+ arn :: 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 'DeletePricingPlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePricingPlanResponse_arn' - The Amazon Resource Name (ARN) of the deleted pricing plan.+--+-- 'httpStatus', 'deletePricingPlanResponse_httpStatus' - The response's http status code.+newDeletePricingPlanResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePricingPlanResponse+newDeletePricingPlanResponse pHttpStatus_ =+ DeletePricingPlanResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the deleted pricing plan.+deletePricingPlanResponse_arn :: Lens.Lens' DeletePricingPlanResponse (Prelude.Maybe Prelude.Text)+deletePricingPlanResponse_arn = Lens.lens (\DeletePricingPlanResponse' {arn} -> arn) (\s@DeletePricingPlanResponse' {} a -> s {arn = a} :: DeletePricingPlanResponse)++-- | The response's http status code.+deletePricingPlanResponse_httpStatus :: Lens.Lens' DeletePricingPlanResponse Prelude.Int+deletePricingPlanResponse_httpStatus = Lens.lens (\DeletePricingPlanResponse' {httpStatus} -> httpStatus) (\s@DeletePricingPlanResponse' {} a -> s {httpStatus = a} :: DeletePricingPlanResponse)++instance Prelude.NFData DeletePricingPlanResponse where+ rnf DeletePricingPlanResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DeletePricingRule.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.DeletePricingRule+-- 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 pricing rule that\'s identified by the input Amazon Resource+-- Name (ARN).+module Amazonka.BillingConductor.DeletePricingRule+ ( -- * Creating a Request+ DeletePricingRule (..),+ newDeletePricingRule,++ -- * Request Lenses+ deletePricingRule_arn,++ -- * Destructuring the Response+ DeletePricingRuleResponse (..),+ newDeletePricingRuleResponse,++ -- * Response Lenses+ deletePricingRuleResponse_arn,+ deletePricingRuleResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePricingRule' smart constructor.+data DeletePricingRule = DeletePricingRule'+ { -- | The Amazon Resource Name (ARN) of the pricing rule that you are+ -- deleting.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePricingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePricingRule_arn' - The Amazon Resource Name (ARN) of the pricing rule that you are+-- deleting.+newDeletePricingRule ::+ -- | 'arn'+ Prelude.Text ->+ DeletePricingRule+newDeletePricingRule pArn_ =+ DeletePricingRule' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the pricing rule that you are+-- deleting.+deletePricingRule_arn :: Lens.Lens' DeletePricingRule Prelude.Text+deletePricingRule_arn = Lens.lens (\DeletePricingRule' {arn} -> arn) (\s@DeletePricingRule' {} a -> s {arn = a} :: DeletePricingRule)++instance Core.AWSRequest DeletePricingRule where+ type+ AWSResponse DeletePricingRule =+ DeletePricingRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeletePricingRuleResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePricingRule where+ hashWithSalt _salt DeletePricingRule' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeletePricingRule where+ rnf DeletePricingRule' {..} = Prelude.rnf arn++instance Data.ToHeaders DeletePricingRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeletePricingRule where+ toJSON DeletePricingRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Arn" Data..= arn)]+ )++instance Data.ToPath DeletePricingRule where+ toPath = Prelude.const "/delete-pricing-rule"++instance Data.ToQuery DeletePricingRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePricingRuleResponse' smart constructor.+data DeletePricingRuleResponse = DeletePricingRuleResponse'+ { -- | The Amazon Resource Name (ARN) of the deleted pricing rule.+ arn :: 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 'DeletePricingRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePricingRuleResponse_arn' - The Amazon Resource Name (ARN) of the deleted pricing rule.+--+-- 'httpStatus', 'deletePricingRuleResponse_httpStatus' - The response's http status code.+newDeletePricingRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePricingRuleResponse+newDeletePricingRuleResponse pHttpStatus_ =+ DeletePricingRuleResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the deleted pricing rule.+deletePricingRuleResponse_arn :: Lens.Lens' DeletePricingRuleResponse (Prelude.Maybe Prelude.Text)+deletePricingRuleResponse_arn = Lens.lens (\DeletePricingRuleResponse' {arn} -> arn) (\s@DeletePricingRuleResponse' {} a -> s {arn = a} :: DeletePricingRuleResponse)++-- | The response's http status code.+deletePricingRuleResponse_httpStatus :: Lens.Lens' DeletePricingRuleResponse Prelude.Int+deletePricingRuleResponse_httpStatus = Lens.lens (\DeletePricingRuleResponse' {httpStatus} -> httpStatus) (\s@DeletePricingRuleResponse' {} a -> s {httpStatus = a} :: DeletePricingRuleResponse)++instance Prelude.NFData DeletePricingRuleResponse where+ rnf DeletePricingRuleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DisassociateAccounts.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.BillingConductor.DisassociateAccounts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified list of account IDs from the given billing group.+module Amazonka.BillingConductor.DisassociateAccounts+ ( -- * Creating a Request+ DisassociateAccounts (..),+ newDisassociateAccounts,++ -- * Request Lenses+ disassociateAccounts_arn,+ disassociateAccounts_accountIds,++ -- * Destructuring the Response+ DisassociateAccountsResponse (..),+ newDisassociateAccountsResponse,++ -- * Response Lenses+ disassociateAccountsResponse_arn,+ disassociateAccountsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateAccounts' smart constructor.+data DisassociateAccounts = DisassociateAccounts'+ { -- | The Amazon Resource Name (ARN) of the billing group that the array of+ -- account IDs will disassociate from.+ arn :: Prelude.Text,+ -- | The array of account IDs to disassociate.+ accountIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAccounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateAccounts_arn' - The Amazon Resource Name (ARN) of the billing group that the array of+-- account IDs will disassociate from.+--+-- 'accountIds', 'disassociateAccounts_accountIds' - The array of account IDs to disassociate.+newDisassociateAccounts ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'accountIds'+ Prelude.NonEmpty Prelude.Text ->+ DisassociateAccounts+newDisassociateAccounts pArn_ pAccountIds_ =+ DisassociateAccounts'+ { arn = pArn_,+ accountIds = Lens.coerced Lens.# pAccountIds_+ }++-- | The Amazon Resource Name (ARN) of the billing group that the array of+-- account IDs will disassociate from.+disassociateAccounts_arn :: Lens.Lens' DisassociateAccounts Prelude.Text+disassociateAccounts_arn = Lens.lens (\DisassociateAccounts' {arn} -> arn) (\s@DisassociateAccounts' {} a -> s {arn = a} :: DisassociateAccounts)++-- | The array of account IDs to disassociate.+disassociateAccounts_accountIds :: Lens.Lens' DisassociateAccounts (Prelude.NonEmpty Prelude.Text)+disassociateAccounts_accountIds = Lens.lens (\DisassociateAccounts' {accountIds} -> accountIds) (\s@DisassociateAccounts' {} a -> s {accountIds = a} :: DisassociateAccounts) Prelude.. Lens.coerced++instance Core.AWSRequest DisassociateAccounts where+ type+ AWSResponse DisassociateAccounts =+ DisassociateAccountsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociateAccountsResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateAccounts where+ hashWithSalt _salt DisassociateAccounts' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` accountIds++instance Prelude.NFData DisassociateAccounts where+ rnf DisassociateAccounts' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf accountIds++instance Data.ToHeaders DisassociateAccounts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateAccounts where+ toJSON DisassociateAccounts' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just ("AccountIds" Data..= accountIds)+ ]+ )++instance Data.ToPath DisassociateAccounts where+ toPath = Prelude.const "/disassociate-accounts"++instance Data.ToQuery DisassociateAccounts where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateAccountsResponse' smart constructor.+data DisassociateAccountsResponse = DisassociateAccountsResponse'+ { -- | The Amazon Resource Name (ARN) of the billing group that the array of+ -- account IDs is disassociated from.+ arn :: 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 'DisassociateAccountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateAccountsResponse_arn' - The Amazon Resource Name (ARN) of the billing group that the array of+-- account IDs is disassociated from.+--+-- 'httpStatus', 'disassociateAccountsResponse_httpStatus' - The response's http status code.+newDisassociateAccountsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateAccountsResponse+newDisassociateAccountsResponse pHttpStatus_ =+ DisassociateAccountsResponse'+ { arn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the billing group that the array of+-- account IDs is disassociated from.+disassociateAccountsResponse_arn :: Lens.Lens' DisassociateAccountsResponse (Prelude.Maybe Prelude.Text)+disassociateAccountsResponse_arn = Lens.lens (\DisassociateAccountsResponse' {arn} -> arn) (\s@DisassociateAccountsResponse' {} a -> s {arn = a} :: DisassociateAccountsResponse)++-- | The response's http status code.+disassociateAccountsResponse_httpStatus :: Lens.Lens' DisassociateAccountsResponse Prelude.Int+disassociateAccountsResponse_httpStatus = Lens.lens (\DisassociateAccountsResponse' {httpStatus} -> httpStatus) (\s@DisassociateAccountsResponse' {} a -> s {httpStatus = a} :: DisassociateAccountsResponse)++instance Prelude.NFData DisassociateAccountsResponse where+ rnf DisassociateAccountsResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/DisassociatePricingRules.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.BillingConductor.DisassociatePricingRules+-- 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 list of pricing rules from a pricing plan.+module Amazonka.BillingConductor.DisassociatePricingRules+ ( -- * Creating a Request+ DisassociatePricingRules (..),+ newDisassociatePricingRules,++ -- * Request Lenses+ disassociatePricingRules_arn,+ disassociatePricingRules_pricingRuleArns,++ -- * Destructuring the Response+ DisassociatePricingRulesResponse (..),+ newDisassociatePricingRulesResponse,++ -- * Response Lenses+ disassociatePricingRulesResponse_arn,+ disassociatePricingRulesResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociatePricingRules' smart constructor.+data DisassociatePricingRules = DisassociatePricingRules'+ { -- | The pricing plan Amazon Resource Name (ARN) to disassociate pricing+ -- rules from.+ arn :: Prelude.Text,+ -- | A list containing the Amazon Resource Name (ARN) of the pricing rules+ -- that will be disassociated.+ pricingRuleArns :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociatePricingRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociatePricingRules_arn' - The pricing plan Amazon Resource Name (ARN) to disassociate pricing+-- rules from.+--+-- 'pricingRuleArns', 'disassociatePricingRules_pricingRuleArns' - A list containing the Amazon Resource Name (ARN) of the pricing rules+-- that will be disassociated.+newDisassociatePricingRules ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'pricingRuleArns'+ Prelude.NonEmpty Prelude.Text ->+ DisassociatePricingRules+newDisassociatePricingRules pArn_ pPricingRuleArns_ =+ DisassociatePricingRules'+ { arn = pArn_,+ pricingRuleArns =+ Lens.coerced Lens.# pPricingRuleArns_+ }++-- | The pricing plan Amazon Resource Name (ARN) to disassociate pricing+-- rules from.+disassociatePricingRules_arn :: Lens.Lens' DisassociatePricingRules Prelude.Text+disassociatePricingRules_arn = Lens.lens (\DisassociatePricingRules' {arn} -> arn) (\s@DisassociatePricingRules' {} a -> s {arn = a} :: DisassociatePricingRules)++-- | A list containing the Amazon Resource Name (ARN) of the pricing rules+-- that will be disassociated.+disassociatePricingRules_pricingRuleArns :: Lens.Lens' DisassociatePricingRules (Prelude.NonEmpty Prelude.Text)+disassociatePricingRules_pricingRuleArns = Lens.lens (\DisassociatePricingRules' {pricingRuleArns} -> pricingRuleArns) (\s@DisassociatePricingRules' {} a -> s {pricingRuleArns = a} :: DisassociatePricingRules) Prelude.. Lens.coerced++instance Core.AWSRequest DisassociatePricingRules where+ type+ AWSResponse DisassociatePricingRules =+ DisassociatePricingRulesResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DisassociatePricingRulesResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociatePricingRules where+ hashWithSalt _salt DisassociatePricingRules' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` pricingRuleArns++instance Prelude.NFData DisassociatePricingRules where+ rnf DisassociatePricingRules' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf pricingRuleArns++instance Data.ToHeaders DisassociatePricingRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociatePricingRules where+ toJSON DisassociatePricingRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Arn" Data..= arn),+ Prelude.Just+ ("PricingRuleArns" Data..= pricingRuleArns)+ ]+ )++instance Data.ToPath DisassociatePricingRules where+ toPath = Prelude.const "/disassociate-pricing-rules"++instance Data.ToQuery DisassociatePricingRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociatePricingRulesResponse' smart constructor.+data DisassociatePricingRulesResponse = DisassociatePricingRulesResponse'+ { -- | The Amazon Resource Name (ARN) of the pricing plan that the pricing+ -- rules successfully disassociated from.+ arn :: 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 'DisassociatePricingRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociatePricingRulesResponse_arn' - The Amazon Resource Name (ARN) of the pricing plan that the pricing+-- rules successfully disassociated from.+--+-- 'httpStatus', 'disassociatePricingRulesResponse_httpStatus' - The response's http status code.+newDisassociatePricingRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociatePricingRulesResponse+newDisassociatePricingRulesResponse pHttpStatus_ =+ DisassociatePricingRulesResponse'+ { arn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the pricing plan that the pricing+-- rules successfully disassociated from.+disassociatePricingRulesResponse_arn :: Lens.Lens' DisassociatePricingRulesResponse (Prelude.Maybe Prelude.Text)+disassociatePricingRulesResponse_arn = Lens.lens (\DisassociatePricingRulesResponse' {arn} -> arn) (\s@DisassociatePricingRulesResponse' {} a -> s {arn = a} :: DisassociatePricingRulesResponse)++-- | The response's http status code.+disassociatePricingRulesResponse_httpStatus :: Lens.Lens' DisassociatePricingRulesResponse Prelude.Int+disassociatePricingRulesResponse_httpStatus = Lens.lens (\DisassociatePricingRulesResponse' {httpStatus} -> httpStatus) (\s@DisassociatePricingRulesResponse' {} a -> s {httpStatus = a} :: DisassociatePricingRulesResponse)++instance+ Prelude.NFData+ DisassociatePricingRulesResponse+ where+ rnf DisassociatePricingRulesResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/Lens.hs view
@@ -0,0 +1,553 @@+{-# 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.BillingConductor.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.BillingConductor.Lens+ ( -- * Operations++ -- ** AssociateAccounts+ associateAccounts_arn,+ associateAccounts_accountIds,+ associateAccountsResponse_arn,+ associateAccountsResponse_httpStatus,++ -- ** AssociatePricingRules+ associatePricingRules_arn,+ associatePricingRules_pricingRuleArns,+ associatePricingRulesResponse_arn,+ associatePricingRulesResponse_httpStatus,++ -- ** BatchAssociateResourcesToCustomLineItem+ batchAssociateResourcesToCustomLineItem_billingPeriodRange,+ batchAssociateResourcesToCustomLineItem_targetArn,+ batchAssociateResourcesToCustomLineItem_resourceArns,+ batchAssociateResourcesToCustomLineItemResponse_failedAssociatedResources,+ batchAssociateResourcesToCustomLineItemResponse_successfullyAssociatedResources,+ batchAssociateResourcesToCustomLineItemResponse_httpStatus,++ -- ** BatchDisassociateResourcesFromCustomLineItem+ batchDisassociateResourcesFromCustomLineItem_billingPeriodRange,+ batchDisassociateResourcesFromCustomLineItem_targetArn,+ batchDisassociateResourcesFromCustomLineItem_resourceArns,+ batchDisassociateResourcesFromCustomLineItemResponse_failedDisassociatedResources,+ batchDisassociateResourcesFromCustomLineItemResponse_successfullyDisassociatedResources,+ batchDisassociateResourcesFromCustomLineItemResponse_httpStatus,++ -- ** CreateBillingGroup+ createBillingGroup_clientToken,+ createBillingGroup_description,+ createBillingGroup_primaryAccountId,+ createBillingGroup_tags,+ createBillingGroup_name,+ createBillingGroup_accountGrouping,+ createBillingGroup_computationPreference,+ createBillingGroupResponse_arn,+ createBillingGroupResponse_httpStatus,++ -- ** CreateCustomLineItem+ createCustomLineItem_billingPeriodRange,+ createCustomLineItem_clientToken,+ createCustomLineItem_tags,+ createCustomLineItem_name,+ createCustomLineItem_description,+ createCustomLineItem_billingGroupArn,+ createCustomLineItem_chargeDetails,+ createCustomLineItemResponse_arn,+ createCustomLineItemResponse_httpStatus,++ -- ** CreatePricingPlan+ createPricingPlan_clientToken,+ createPricingPlan_description,+ createPricingPlan_pricingRuleArns,+ createPricingPlan_tags,+ createPricingPlan_name,+ createPricingPlanResponse_arn,+ createPricingPlanResponse_httpStatus,++ -- ** CreatePricingRule+ createPricingRule_billingEntity,+ createPricingRule_clientToken,+ createPricingRule_description,+ createPricingRule_modifierPercentage,+ createPricingRule_service,+ createPricingRule_tags,+ createPricingRule_tiering,+ createPricingRule_name,+ createPricingRule_scope,+ createPricingRule_type,+ createPricingRuleResponse_arn,+ createPricingRuleResponse_httpStatus,++ -- ** DeleteBillingGroup+ deleteBillingGroup_arn,+ deleteBillingGroupResponse_arn,+ deleteBillingGroupResponse_httpStatus,++ -- ** DeleteCustomLineItem+ deleteCustomLineItem_billingPeriodRange,+ deleteCustomLineItem_arn,+ deleteCustomLineItemResponse_arn,+ deleteCustomLineItemResponse_httpStatus,++ -- ** DeletePricingPlan+ deletePricingPlan_arn,+ deletePricingPlanResponse_arn,+ deletePricingPlanResponse_httpStatus,++ -- ** DeletePricingRule+ deletePricingRule_arn,+ deletePricingRuleResponse_arn,+ deletePricingRuleResponse_httpStatus,++ -- ** DisassociateAccounts+ disassociateAccounts_arn,+ disassociateAccounts_accountIds,+ disassociateAccountsResponse_arn,+ disassociateAccountsResponse_httpStatus,++ -- ** DisassociatePricingRules+ disassociatePricingRules_arn,+ disassociatePricingRules_pricingRuleArns,+ disassociatePricingRulesResponse_arn,+ disassociatePricingRulesResponse_httpStatus,++ -- ** ListAccountAssociations+ listAccountAssociations_billingPeriod,+ listAccountAssociations_filters,+ listAccountAssociations_nextToken,+ listAccountAssociationsResponse_linkedAccounts,+ listAccountAssociationsResponse_nextToken,+ listAccountAssociationsResponse_httpStatus,++ -- ** ListBillingGroupCostReports+ listBillingGroupCostReports_billingPeriod,+ listBillingGroupCostReports_filters,+ listBillingGroupCostReports_maxResults,+ listBillingGroupCostReports_nextToken,+ listBillingGroupCostReportsResponse_billingGroupCostReports,+ listBillingGroupCostReportsResponse_nextToken,+ listBillingGroupCostReportsResponse_httpStatus,++ -- ** ListBillingGroups+ listBillingGroups_billingPeriod,+ listBillingGroups_filters,+ listBillingGroups_maxResults,+ listBillingGroups_nextToken,+ listBillingGroupsResponse_billingGroups,+ listBillingGroupsResponse_nextToken,+ listBillingGroupsResponse_httpStatus,++ -- ** ListCustomLineItemVersions+ listCustomLineItemVersions_filters,+ listCustomLineItemVersions_maxResults,+ listCustomLineItemVersions_nextToken,+ listCustomLineItemVersions_arn,+ listCustomLineItemVersionsResponse_customLineItemVersions,+ listCustomLineItemVersionsResponse_nextToken,+ listCustomLineItemVersionsResponse_httpStatus,++ -- ** ListCustomLineItems+ listCustomLineItems_billingPeriod,+ listCustomLineItems_filters,+ listCustomLineItems_maxResults,+ listCustomLineItems_nextToken,+ listCustomLineItemsResponse_customLineItems,+ listCustomLineItemsResponse_nextToken,+ listCustomLineItemsResponse_httpStatus,++ -- ** ListPricingPlans+ listPricingPlans_billingPeriod,+ listPricingPlans_filters,+ listPricingPlans_maxResults,+ listPricingPlans_nextToken,+ listPricingPlansResponse_billingPeriod,+ listPricingPlansResponse_nextToken,+ listPricingPlansResponse_pricingPlans,+ listPricingPlansResponse_httpStatus,++ -- ** ListPricingPlansAssociatedWithPricingRule+ listPricingPlansAssociatedWithPricingRule_billingPeriod,+ listPricingPlansAssociatedWithPricingRule_maxResults,+ listPricingPlansAssociatedWithPricingRule_nextToken,+ listPricingPlansAssociatedWithPricingRule_pricingRuleArn,+ listPricingPlansAssociatedWithPricingRuleResponse_billingPeriod,+ listPricingPlansAssociatedWithPricingRuleResponse_nextToken,+ listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns,+ listPricingPlansAssociatedWithPricingRuleResponse_pricingRuleArn,+ listPricingPlansAssociatedWithPricingRuleResponse_httpStatus,++ -- ** ListPricingRules+ listPricingRules_billingPeriod,+ listPricingRules_filters,+ listPricingRules_maxResults,+ listPricingRules_nextToken,+ listPricingRulesResponse_billingPeriod,+ listPricingRulesResponse_nextToken,+ listPricingRulesResponse_pricingRules,+ listPricingRulesResponse_httpStatus,++ -- ** ListPricingRulesAssociatedToPricingPlan+ listPricingRulesAssociatedToPricingPlan_billingPeriod,+ listPricingRulesAssociatedToPricingPlan_maxResults,+ listPricingRulesAssociatedToPricingPlan_nextToken,+ listPricingRulesAssociatedToPricingPlan_pricingPlanArn,+ listPricingRulesAssociatedToPricingPlanResponse_billingPeriod,+ listPricingRulesAssociatedToPricingPlanResponse_nextToken,+ listPricingRulesAssociatedToPricingPlanResponse_pricingPlanArn,+ listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns,+ listPricingRulesAssociatedToPricingPlanResponse_httpStatus,++ -- ** ListResourcesAssociatedToCustomLineItem+ listResourcesAssociatedToCustomLineItem_billingPeriod,+ listResourcesAssociatedToCustomLineItem_filters,+ listResourcesAssociatedToCustomLineItem_maxResults,+ listResourcesAssociatedToCustomLineItem_nextToken,+ listResourcesAssociatedToCustomLineItem_arn,+ listResourcesAssociatedToCustomLineItemResponse_arn,+ listResourcesAssociatedToCustomLineItemResponse_associatedResources,+ listResourcesAssociatedToCustomLineItemResponse_nextToken,+ listResourcesAssociatedToCustomLineItemResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateBillingGroup+ updateBillingGroup_computationPreference,+ updateBillingGroup_description,+ updateBillingGroup_name,+ updateBillingGroup_status,+ updateBillingGroup_arn,+ updateBillingGroupResponse_arn,+ updateBillingGroupResponse_description,+ updateBillingGroupResponse_lastModifiedTime,+ updateBillingGroupResponse_name,+ updateBillingGroupResponse_pricingPlanArn,+ updateBillingGroupResponse_primaryAccountId,+ updateBillingGroupResponse_size,+ updateBillingGroupResponse_status,+ updateBillingGroupResponse_statusReason,+ updateBillingGroupResponse_httpStatus,++ -- ** UpdateCustomLineItem+ updateCustomLineItem_billingPeriodRange,+ updateCustomLineItem_chargeDetails,+ updateCustomLineItem_description,+ updateCustomLineItem_name,+ updateCustomLineItem_arn,+ updateCustomLineItemResponse_arn,+ updateCustomLineItemResponse_associationSize,+ updateCustomLineItemResponse_billingGroupArn,+ updateCustomLineItemResponse_chargeDetails,+ updateCustomLineItemResponse_description,+ updateCustomLineItemResponse_lastModifiedTime,+ updateCustomLineItemResponse_name,+ updateCustomLineItemResponse_httpStatus,++ -- ** UpdatePricingPlan+ updatePricingPlan_description,+ updatePricingPlan_name,+ updatePricingPlan_arn,+ updatePricingPlanResponse_arn,+ updatePricingPlanResponse_description,+ updatePricingPlanResponse_lastModifiedTime,+ updatePricingPlanResponse_name,+ updatePricingPlanResponse_size,+ updatePricingPlanResponse_httpStatus,++ -- ** UpdatePricingRule+ updatePricingRule_description,+ updatePricingRule_modifierPercentage,+ updatePricingRule_name,+ updatePricingRule_tiering,+ updatePricingRule_type,+ updatePricingRule_arn,+ updatePricingRuleResponse_arn,+ updatePricingRuleResponse_associatedPricingPlanCount,+ updatePricingRuleResponse_billingEntity,+ updatePricingRuleResponse_description,+ updatePricingRuleResponse_lastModifiedTime,+ updatePricingRuleResponse_modifierPercentage,+ updatePricingRuleResponse_name,+ updatePricingRuleResponse_scope,+ updatePricingRuleResponse_service,+ updatePricingRuleResponse_tiering,+ updatePricingRuleResponse_type,+ updatePricingRuleResponse_httpStatus,++ -- * Types++ -- ** AccountAssociationsListElement+ accountAssociationsListElement_accountEmail,+ accountAssociationsListElement_accountId,+ accountAssociationsListElement_accountName,+ accountAssociationsListElement_billingGroupArn,++ -- ** AccountGrouping+ accountGrouping_linkedAccountIds,++ -- ** AssociateResourceError+ associateResourceError_message,+ associateResourceError_reason,++ -- ** AssociateResourceResponseElement+ associateResourceResponseElement_arn,+ associateResourceResponseElement_error,++ -- ** BillingGroupCostReportElement+ billingGroupCostReportElement_aWSCost,+ billingGroupCostReportElement_arn,+ billingGroupCostReportElement_currency,+ billingGroupCostReportElement_margin,+ billingGroupCostReportElement_marginPercentage,+ billingGroupCostReportElement_proformaCost,++ -- ** BillingGroupListElement+ billingGroupListElement_arn,+ billingGroupListElement_computationPreference,+ billingGroupListElement_creationTime,+ billingGroupListElement_description,+ billingGroupListElement_lastModifiedTime,+ billingGroupListElement_name,+ billingGroupListElement_primaryAccountId,+ billingGroupListElement_size,+ billingGroupListElement_status,+ billingGroupListElement_statusReason,++ -- ** ComputationPreference+ computationPreference_pricingPlanArn,++ -- ** CreateFreeTierConfig+ createFreeTierConfig_activated,++ -- ** CreateTieringInput+ createTieringInput_freeTier,++ -- ** CustomLineItemBillingPeriodRange+ customLineItemBillingPeriodRange_exclusiveEndBillingPeriod,+ customLineItemBillingPeriodRange_inclusiveStartBillingPeriod,++ -- ** CustomLineItemChargeDetails+ customLineItemChargeDetails_flat,+ customLineItemChargeDetails_percentage,+ customLineItemChargeDetails_type,++ -- ** CustomLineItemFlatChargeDetails+ customLineItemFlatChargeDetails_chargeValue,++ -- ** CustomLineItemListElement+ customLineItemListElement_arn,+ customLineItemListElement_associationSize,+ customLineItemListElement_billingGroupArn,+ customLineItemListElement_chargeDetails,+ customLineItemListElement_creationTime,+ customLineItemListElement_currencyCode,+ customLineItemListElement_description,+ customLineItemListElement_lastModifiedTime,+ customLineItemListElement_name,+ customLineItemListElement_productCode,++ -- ** CustomLineItemPercentageChargeDetails+ customLineItemPercentageChargeDetails_associatedValues,+ customLineItemPercentageChargeDetails_percentageValue,++ -- ** CustomLineItemVersionListElement+ customLineItemVersionListElement_associationSize,+ customLineItemVersionListElement_billingGroupArn,+ customLineItemVersionListElement_chargeDetails,+ customLineItemVersionListElement_creationTime,+ customLineItemVersionListElement_currencyCode,+ customLineItemVersionListElement_description,+ customLineItemVersionListElement_endBillingPeriod,+ customLineItemVersionListElement_lastModifiedTime,+ customLineItemVersionListElement_name,+ customLineItemVersionListElement_productCode,+ customLineItemVersionListElement_startBillingPeriod,++ -- ** DisassociateResourceResponseElement+ disassociateResourceResponseElement_arn,+ disassociateResourceResponseElement_error,++ -- ** FreeTierConfig+ freeTierConfig_activated,++ -- ** ListAccountAssociationsFilter+ listAccountAssociationsFilter_accountId,+ listAccountAssociationsFilter_association,++ -- ** ListBillingGroupCostReportsFilter+ listBillingGroupCostReportsFilter_billingGroupArns,++ -- ** ListBillingGroupsFilter+ listBillingGroupsFilter_arns,+ listBillingGroupsFilter_pricingPlan,++ -- ** ListCustomLineItemChargeDetails+ listCustomLineItemChargeDetails_flat,+ listCustomLineItemChargeDetails_percentage,+ listCustomLineItemChargeDetails_type,++ -- ** ListCustomLineItemFlatChargeDetails+ listCustomLineItemFlatChargeDetails_chargeValue,++ -- ** ListCustomLineItemPercentageChargeDetails+ listCustomLineItemPercentageChargeDetails_percentageValue,++ -- ** ListCustomLineItemVersionsBillingPeriodRangeFilter+ listCustomLineItemVersionsBillingPeriodRangeFilter_endBillingPeriod,+ listCustomLineItemVersionsBillingPeriodRangeFilter_startBillingPeriod,++ -- ** ListCustomLineItemVersionsFilter+ listCustomLineItemVersionsFilter_billingPeriodRange,++ -- ** ListCustomLineItemsFilter+ listCustomLineItemsFilter_arns,+ listCustomLineItemsFilter_billingGroups,+ listCustomLineItemsFilter_names,++ -- ** ListPricingPlansFilter+ listPricingPlansFilter_arns,++ -- ** ListPricingRulesFilter+ listPricingRulesFilter_arns,++ -- ** ListResourcesAssociatedToCustomLineItemFilter+ listResourcesAssociatedToCustomLineItemFilter_relationship,++ -- ** ListResourcesAssociatedToCustomLineItemResponseElement+ listResourcesAssociatedToCustomLineItemResponseElement_arn,+ listResourcesAssociatedToCustomLineItemResponseElement_endBillingPeriod,+ listResourcesAssociatedToCustomLineItemResponseElement_relationship,++ -- ** PricingPlanListElement+ pricingPlanListElement_arn,+ pricingPlanListElement_creationTime,+ pricingPlanListElement_description,+ pricingPlanListElement_lastModifiedTime,+ pricingPlanListElement_name,+ pricingPlanListElement_size,++ -- ** PricingRuleListElement+ pricingRuleListElement_arn,+ pricingRuleListElement_associatedPricingPlanCount,+ pricingRuleListElement_billingEntity,+ pricingRuleListElement_creationTime,+ pricingRuleListElement_description,+ pricingRuleListElement_lastModifiedTime,+ pricingRuleListElement_modifierPercentage,+ pricingRuleListElement_name,+ pricingRuleListElement_scope,+ pricingRuleListElement_service,+ pricingRuleListElement_tiering,+ pricingRuleListElement_type,++ -- ** Tiering+ tiering_freeTier,++ -- ** UpdateCustomLineItemChargeDetails+ updateCustomLineItemChargeDetails_flat,+ updateCustomLineItemChargeDetails_percentage,++ -- ** UpdateCustomLineItemFlatChargeDetails+ updateCustomLineItemFlatChargeDetails_chargeValue,++ -- ** UpdateCustomLineItemPercentageChargeDetails+ updateCustomLineItemPercentageChargeDetails_percentageValue,++ -- ** UpdateFreeTierConfig+ updateFreeTierConfig_activated,++ -- ** UpdateTieringInput+ updateTieringInput_freeTier,+ )+where++import Amazonka.BillingConductor.AssociateAccounts+import Amazonka.BillingConductor.AssociatePricingRules+import Amazonka.BillingConductor.BatchAssociateResourcesToCustomLineItem+import Amazonka.BillingConductor.BatchDisassociateResourcesFromCustomLineItem+import Amazonka.BillingConductor.CreateBillingGroup+import Amazonka.BillingConductor.CreateCustomLineItem+import Amazonka.BillingConductor.CreatePricingPlan+import Amazonka.BillingConductor.CreatePricingRule+import Amazonka.BillingConductor.DeleteBillingGroup+import Amazonka.BillingConductor.DeleteCustomLineItem+import Amazonka.BillingConductor.DeletePricingPlan+import Amazonka.BillingConductor.DeletePricingRule+import Amazonka.BillingConductor.DisassociateAccounts+import Amazonka.BillingConductor.DisassociatePricingRules+import Amazonka.BillingConductor.ListAccountAssociations+import Amazonka.BillingConductor.ListBillingGroupCostReports+import Amazonka.BillingConductor.ListBillingGroups+import Amazonka.BillingConductor.ListCustomLineItemVersions+import Amazonka.BillingConductor.ListCustomLineItems+import Amazonka.BillingConductor.ListPricingPlans+import Amazonka.BillingConductor.ListPricingPlansAssociatedWithPricingRule+import Amazonka.BillingConductor.ListPricingRules+import Amazonka.BillingConductor.ListPricingRulesAssociatedToPricingPlan+import Amazonka.BillingConductor.ListResourcesAssociatedToCustomLineItem+import Amazonka.BillingConductor.ListTagsForResource+import Amazonka.BillingConductor.TagResource+import Amazonka.BillingConductor.Types.AccountAssociationsListElement+import Amazonka.BillingConductor.Types.AccountGrouping+import Amazonka.BillingConductor.Types.AssociateResourceError+import Amazonka.BillingConductor.Types.AssociateResourceResponseElement+import Amazonka.BillingConductor.Types.BillingGroupCostReportElement+import Amazonka.BillingConductor.Types.BillingGroupListElement+import Amazonka.BillingConductor.Types.ComputationPreference+import Amazonka.BillingConductor.Types.CreateFreeTierConfig+import Amazonka.BillingConductor.Types.CreateTieringInput+import Amazonka.BillingConductor.Types.CustomLineItemBillingPeriodRange+import Amazonka.BillingConductor.Types.CustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemListElement+import Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemVersionListElement+import Amazonka.BillingConductor.Types.DisassociateResourceResponseElement+import Amazonka.BillingConductor.Types.FreeTierConfig+import Amazonka.BillingConductor.Types.ListAccountAssociationsFilter+import Amazonka.BillingConductor.Types.ListBillingGroupCostReportsFilter+import Amazonka.BillingConductor.Types.ListBillingGroupsFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemVersionsFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemsFilter+import Amazonka.BillingConductor.Types.ListPricingPlansFilter+import Amazonka.BillingConductor.Types.ListPricingRulesFilter+import Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemFilter+import Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemResponseElement+import Amazonka.BillingConductor.Types.PricingPlanListElement+import Amazonka.BillingConductor.Types.PricingRuleListElement+import Amazonka.BillingConductor.Types.Tiering+import Amazonka.BillingConductor.Types.UpdateCustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.UpdateFreeTierConfig+import Amazonka.BillingConductor.Types.UpdateTieringInput+import Amazonka.BillingConductor.UntagResource+import Amazonka.BillingConductor.UpdateBillingGroup+import Amazonka.BillingConductor.UpdateCustomLineItem+import Amazonka.BillingConductor.UpdatePricingPlan+import Amazonka.BillingConductor.UpdatePricingRule
+ gen/Amazonka/BillingConductor/ListAccountAssociations.hs view
@@ -0,0 +1,267 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListAccountAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This is a paginated call to list linked accounts that are linked to the+-- payer account for the specified time period. If no information is+-- provided, the current billing period is used. The response will+-- optionally include the billing group that\'s associated with the linked+-- account.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListAccountAssociations+ ( -- * Creating a Request+ ListAccountAssociations (..),+ newListAccountAssociations,++ -- * Request Lenses+ listAccountAssociations_billingPeriod,+ listAccountAssociations_filters,+ listAccountAssociations_nextToken,++ -- * Destructuring the Response+ ListAccountAssociationsResponse (..),+ newListAccountAssociationsResponse,++ -- * Response Lenses+ listAccountAssociationsResponse_linkedAccounts,+ listAccountAssociationsResponse_nextToken,+ listAccountAssociationsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAccountAssociations' smart constructor.+data ListAccountAssociations = ListAccountAssociations'+ { -- | The preferred billing period to get account associations.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The filter on the account ID of the linked account, or any of the+ -- following:+ --+ -- @MONITORED@: linked accounts that are associated to billing groups.+ --+ -- @UNMONITORED@: linked accounts that aren\'t associated to billing+ -- groups.+ --+ -- @Billing Group Arn@: linked accounts that are associated to the provided+ -- billing group Arn.+ filters :: Prelude.Maybe ListAccountAssociationsFilter,+ -- | The pagination token that\'s used on subsequent calls to retrieve+ -- accounts.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccountAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listAccountAssociations_billingPeriod' - The preferred billing period to get account associations.+--+-- 'filters', 'listAccountAssociations_filters' - The filter on the account ID of the linked account, or any of the+-- following:+--+-- @MONITORED@: linked accounts that are associated to billing groups.+--+-- @UNMONITORED@: linked accounts that aren\'t associated to billing+-- groups.+--+-- @Billing Group Arn@: linked accounts that are associated to the provided+-- billing group Arn.+--+-- 'nextToken', 'listAccountAssociations_nextToken' - The pagination token that\'s used on subsequent calls to retrieve+-- accounts.+newListAccountAssociations ::+ ListAccountAssociations+newListAccountAssociations =+ ListAccountAssociations'+ { billingPeriod =+ Prelude.Nothing,+ filters = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period to get account associations.+listAccountAssociations_billingPeriod :: Lens.Lens' ListAccountAssociations (Prelude.Maybe Prelude.Text)+listAccountAssociations_billingPeriod = Lens.lens (\ListAccountAssociations' {billingPeriod} -> billingPeriod) (\s@ListAccountAssociations' {} a -> s {billingPeriod = a} :: ListAccountAssociations)++-- | The filter on the account ID of the linked account, or any of the+-- following:+--+-- @MONITORED@: linked accounts that are associated to billing groups.+--+-- @UNMONITORED@: linked accounts that aren\'t associated to billing+-- groups.+--+-- @Billing Group Arn@: linked accounts that are associated to the provided+-- billing group Arn.+listAccountAssociations_filters :: Lens.Lens' ListAccountAssociations (Prelude.Maybe ListAccountAssociationsFilter)+listAccountAssociations_filters = Lens.lens (\ListAccountAssociations' {filters} -> filters) (\s@ListAccountAssociations' {} a -> s {filters = a} :: ListAccountAssociations)++-- | The pagination token that\'s used on subsequent calls to retrieve+-- accounts.+listAccountAssociations_nextToken :: Lens.Lens' ListAccountAssociations (Prelude.Maybe Prelude.Text)+listAccountAssociations_nextToken = Lens.lens (\ListAccountAssociations' {nextToken} -> nextToken) (\s@ListAccountAssociations' {} a -> s {nextToken = a} :: ListAccountAssociations)++instance Core.AWSPager ListAccountAssociations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAccountAssociationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listAccountAssociationsResponse_linkedAccounts+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAccountAssociations_nextToken+ Lens..~ rs+ Lens.^? listAccountAssociationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAccountAssociations where+ type+ AWSResponse ListAccountAssociations =+ ListAccountAssociationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAccountAssociationsResponse'+ Prelude.<$> (x Data..?> "LinkedAccounts" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAccountAssociations where+ hashWithSalt _salt ListAccountAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAccountAssociations where+ rnf ListAccountAssociations' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAccountAssociations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAccountAssociations where+ toJSON ListAccountAssociations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListAccountAssociations where+ toPath = Prelude.const "/list-account-associations"++instance Data.ToQuery ListAccountAssociations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAccountAssociationsResponse' smart constructor.+data ListAccountAssociationsResponse = ListAccountAssociationsResponse'+ { -- | The list of linked accounts in the payer account.+ linkedAccounts :: Prelude.Maybe [AccountAssociationsListElement],+ -- | The pagination token that\'s used on subsequent calls to get accounts.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccountAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkedAccounts', 'listAccountAssociationsResponse_linkedAccounts' - The list of linked accounts in the payer account.+--+-- 'nextToken', 'listAccountAssociationsResponse_nextToken' - The pagination token that\'s used on subsequent calls to get accounts.+--+-- 'httpStatus', 'listAccountAssociationsResponse_httpStatus' - The response's http status code.+newListAccountAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAccountAssociationsResponse+newListAccountAssociationsResponse pHttpStatus_ =+ ListAccountAssociationsResponse'+ { linkedAccounts =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of linked accounts in the payer account.+listAccountAssociationsResponse_linkedAccounts :: Lens.Lens' ListAccountAssociationsResponse (Prelude.Maybe [AccountAssociationsListElement])+listAccountAssociationsResponse_linkedAccounts = Lens.lens (\ListAccountAssociationsResponse' {linkedAccounts} -> linkedAccounts) (\s@ListAccountAssociationsResponse' {} a -> s {linkedAccounts = a} :: ListAccountAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used on subsequent calls to get accounts.+listAccountAssociationsResponse_nextToken :: Lens.Lens' ListAccountAssociationsResponse (Prelude.Maybe Prelude.Text)+listAccountAssociationsResponse_nextToken = Lens.lens (\ListAccountAssociationsResponse' {nextToken} -> nextToken) (\s@ListAccountAssociationsResponse' {} a -> s {nextToken = a} :: ListAccountAssociationsResponse)++-- | The response's http status code.+listAccountAssociationsResponse_httpStatus :: Lens.Lens' ListAccountAssociationsResponse Prelude.Int+listAccountAssociationsResponse_httpStatus = Lens.lens (\ListAccountAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListAccountAssociationsResponse' {} a -> s {httpStatus = a} :: ListAccountAssociationsResponse)++instance+ Prelude.NFData+ ListAccountAssociationsResponse+ where+ rnf ListAccountAssociationsResponse' {..} =+ Prelude.rnf linkedAccounts+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListBillingGroupCostReports.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListBillingGroupCostReports+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A paginated call to retrieve a summary report of actual Amazon Web+-- Services charges and the calculated Amazon Web Services charges based on+-- the associated pricing plan of a billing group.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListBillingGroupCostReports+ ( -- * Creating a Request+ ListBillingGroupCostReports (..),+ newListBillingGroupCostReports,++ -- * Request Lenses+ listBillingGroupCostReports_billingPeriod,+ listBillingGroupCostReports_filters,+ listBillingGroupCostReports_maxResults,+ listBillingGroupCostReports_nextToken,++ -- * Destructuring the Response+ ListBillingGroupCostReportsResponse (..),+ newListBillingGroupCostReportsResponse,++ -- * Response Lenses+ listBillingGroupCostReportsResponse_billingGroupCostReports,+ listBillingGroupCostReportsResponse_nextToken,+ listBillingGroupCostReportsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListBillingGroupCostReports' smart constructor.+data ListBillingGroupCostReports = ListBillingGroupCostReports'+ { -- | The preferred billing period for your report.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | A @ListBillingGroupCostReportsFilter@ to specify billing groups to+ -- retrieve reports from.+ filters :: Prelude.Maybe ListBillingGroupCostReportsFilter,+ -- | The maximum number of reports to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent calls to get reports.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBillingGroupCostReports' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listBillingGroupCostReports_billingPeriod' - The preferred billing period for your report.+--+-- 'filters', 'listBillingGroupCostReports_filters' - A @ListBillingGroupCostReportsFilter@ to specify billing groups to+-- retrieve reports from.+--+-- 'maxResults', 'listBillingGroupCostReports_maxResults' - The maximum number of reports to retrieve.+--+-- 'nextToken', 'listBillingGroupCostReports_nextToken' - The pagination token that\'s used on subsequent calls to get reports.+newListBillingGroupCostReports ::+ ListBillingGroupCostReports+newListBillingGroupCostReports =+ ListBillingGroupCostReports'+ { billingPeriod =+ Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period for your report.+listBillingGroupCostReports_billingPeriod :: Lens.Lens' ListBillingGroupCostReports (Prelude.Maybe Prelude.Text)+listBillingGroupCostReports_billingPeriod = Lens.lens (\ListBillingGroupCostReports' {billingPeriod} -> billingPeriod) (\s@ListBillingGroupCostReports' {} a -> s {billingPeriod = a} :: ListBillingGroupCostReports)++-- | A @ListBillingGroupCostReportsFilter@ to specify billing groups to+-- retrieve reports from.+listBillingGroupCostReports_filters :: Lens.Lens' ListBillingGroupCostReports (Prelude.Maybe ListBillingGroupCostReportsFilter)+listBillingGroupCostReports_filters = Lens.lens (\ListBillingGroupCostReports' {filters} -> filters) (\s@ListBillingGroupCostReports' {} a -> s {filters = a} :: ListBillingGroupCostReports)++-- | The maximum number of reports to retrieve.+listBillingGroupCostReports_maxResults :: Lens.Lens' ListBillingGroupCostReports (Prelude.Maybe Prelude.Natural)+listBillingGroupCostReports_maxResults = Lens.lens (\ListBillingGroupCostReports' {maxResults} -> maxResults) (\s@ListBillingGroupCostReports' {} a -> s {maxResults = a} :: ListBillingGroupCostReports)++-- | The pagination token that\'s used on subsequent calls to get reports.+listBillingGroupCostReports_nextToken :: Lens.Lens' ListBillingGroupCostReports (Prelude.Maybe Prelude.Text)+listBillingGroupCostReports_nextToken = Lens.lens (\ListBillingGroupCostReports' {nextToken} -> nextToken) (\s@ListBillingGroupCostReports' {} a -> s {nextToken = a} :: ListBillingGroupCostReports)++instance Core.AWSPager ListBillingGroupCostReports where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listBillingGroupCostReportsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listBillingGroupCostReportsResponse_billingGroupCostReports+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listBillingGroupCostReports_nextToken+ Lens..~ rs+ Lens.^? listBillingGroupCostReportsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListBillingGroupCostReports where+ type+ AWSResponse ListBillingGroupCostReports =+ ListBillingGroupCostReportsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListBillingGroupCostReportsResponse'+ Prelude.<$> ( x+ Data..?> "BillingGroupCostReports"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListBillingGroupCostReports where+ hashWithSalt _salt ListBillingGroupCostReports' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListBillingGroupCostReports where+ rnf ListBillingGroupCostReports' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListBillingGroupCostReports where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListBillingGroupCostReports where+ toJSON ListBillingGroupCostReports' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListBillingGroupCostReports where+ toPath =+ Prelude.const "/list-billing-group-cost-reports"++instance Data.ToQuery ListBillingGroupCostReports where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListBillingGroupCostReportsResponse' smart constructor.+data ListBillingGroupCostReportsResponse = ListBillingGroupCostReportsResponse'+ { -- | A list of @BillingGroupCostReportElement@ retrieved.+ billingGroupCostReports :: Prelude.Maybe [BillingGroupCostReportElement],+ -- | The pagination token that\'s used on subsequent calls to get reports.+ 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 'ListBillingGroupCostReportsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingGroupCostReports', 'listBillingGroupCostReportsResponse_billingGroupCostReports' - A list of @BillingGroupCostReportElement@ retrieved.+--+-- 'nextToken', 'listBillingGroupCostReportsResponse_nextToken' - The pagination token that\'s used on subsequent calls to get reports.+--+-- 'httpStatus', 'listBillingGroupCostReportsResponse_httpStatus' - The response's http status code.+newListBillingGroupCostReportsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListBillingGroupCostReportsResponse+newListBillingGroupCostReportsResponse pHttpStatus_ =+ ListBillingGroupCostReportsResponse'+ { billingGroupCostReports =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of @BillingGroupCostReportElement@ retrieved.+listBillingGroupCostReportsResponse_billingGroupCostReports :: Lens.Lens' ListBillingGroupCostReportsResponse (Prelude.Maybe [BillingGroupCostReportElement])+listBillingGroupCostReportsResponse_billingGroupCostReports = Lens.lens (\ListBillingGroupCostReportsResponse' {billingGroupCostReports} -> billingGroupCostReports) (\s@ListBillingGroupCostReportsResponse' {} a -> s {billingGroupCostReports = a} :: ListBillingGroupCostReportsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used on subsequent calls to get reports.+listBillingGroupCostReportsResponse_nextToken :: Lens.Lens' ListBillingGroupCostReportsResponse (Prelude.Maybe Prelude.Text)+listBillingGroupCostReportsResponse_nextToken = Lens.lens (\ListBillingGroupCostReportsResponse' {nextToken} -> nextToken) (\s@ListBillingGroupCostReportsResponse' {} a -> s {nextToken = a} :: ListBillingGroupCostReportsResponse)++-- | The response's http status code.+listBillingGroupCostReportsResponse_httpStatus :: Lens.Lens' ListBillingGroupCostReportsResponse Prelude.Int+listBillingGroupCostReportsResponse_httpStatus = Lens.lens (\ListBillingGroupCostReportsResponse' {httpStatus} -> httpStatus) (\s@ListBillingGroupCostReportsResponse' {} a -> s {httpStatus = a} :: ListBillingGroupCostReportsResponse)++instance+ Prelude.NFData+ ListBillingGroupCostReportsResponse+ where+ rnf ListBillingGroupCostReportsResponse' {..} =+ Prelude.rnf billingGroupCostReports+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListBillingGroups.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListBillingGroups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A paginated call to retrieve a list of billing groups for the given+-- billing period. If you don\'t provide a billing group, the current+-- billing period is used.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListBillingGroups+ ( -- * Creating a Request+ ListBillingGroups (..),+ newListBillingGroups,++ -- * Request Lenses+ listBillingGroups_billingPeriod,+ listBillingGroups_filters,+ listBillingGroups_maxResults,+ listBillingGroups_nextToken,++ -- * Destructuring the Response+ ListBillingGroupsResponse (..),+ newListBillingGroupsResponse,++ -- * Response Lenses+ listBillingGroupsResponse_billingGroups,+ listBillingGroupsResponse_nextToken,+ listBillingGroupsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListBillingGroups' smart constructor.+data ListBillingGroups = ListBillingGroups'+ { -- | The preferred billing period to get billing groups.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | A @ListBillingGroupsFilter@ that specifies the billing group and pricing+ -- plan to retrieve billing group information.+ filters :: Prelude.Maybe ListBillingGroupsFilter,+ -- | The maximum number of billing groups to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent calls to get billing+ -- groups.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBillingGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listBillingGroups_billingPeriod' - The preferred billing period to get billing groups.+--+-- 'filters', 'listBillingGroups_filters' - A @ListBillingGroupsFilter@ that specifies the billing group and pricing+-- plan to retrieve billing group information.+--+-- 'maxResults', 'listBillingGroups_maxResults' - The maximum number of billing groups to retrieve.+--+-- 'nextToken', 'listBillingGroups_nextToken' - The pagination token that\'s used on subsequent calls to get billing+-- groups.+newListBillingGroups ::+ ListBillingGroups+newListBillingGroups =+ ListBillingGroups'+ { billingPeriod = Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period to get billing groups.+listBillingGroups_billingPeriod :: Lens.Lens' ListBillingGroups (Prelude.Maybe Prelude.Text)+listBillingGroups_billingPeriod = Lens.lens (\ListBillingGroups' {billingPeriod} -> billingPeriod) (\s@ListBillingGroups' {} a -> s {billingPeriod = a} :: ListBillingGroups)++-- | A @ListBillingGroupsFilter@ that specifies the billing group and pricing+-- plan to retrieve billing group information.+listBillingGroups_filters :: Lens.Lens' ListBillingGroups (Prelude.Maybe ListBillingGroupsFilter)+listBillingGroups_filters = Lens.lens (\ListBillingGroups' {filters} -> filters) (\s@ListBillingGroups' {} a -> s {filters = a} :: ListBillingGroups)++-- | The maximum number of billing groups to retrieve.+listBillingGroups_maxResults :: Lens.Lens' ListBillingGroups (Prelude.Maybe Prelude.Natural)+listBillingGroups_maxResults = Lens.lens (\ListBillingGroups' {maxResults} -> maxResults) (\s@ListBillingGroups' {} a -> s {maxResults = a} :: ListBillingGroups)++-- | The pagination token that\'s used on subsequent calls to get billing+-- groups.+listBillingGroups_nextToken :: Lens.Lens' ListBillingGroups (Prelude.Maybe Prelude.Text)+listBillingGroups_nextToken = Lens.lens (\ListBillingGroups' {nextToken} -> nextToken) (\s@ListBillingGroups' {} a -> s {nextToken = a} :: ListBillingGroups)++instance Core.AWSPager ListBillingGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listBillingGroupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listBillingGroupsResponse_billingGroups+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listBillingGroups_nextToken+ Lens..~ rs+ Lens.^? listBillingGroupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListBillingGroups where+ type+ AWSResponse ListBillingGroups =+ ListBillingGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListBillingGroupsResponse'+ Prelude.<$> (x Data..?> "BillingGroups" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListBillingGroups where+ hashWithSalt _salt ListBillingGroups' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListBillingGroups where+ rnf ListBillingGroups' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListBillingGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListBillingGroups where+ toJSON ListBillingGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListBillingGroups where+ toPath = Prelude.const "/list-billing-groups"++instance Data.ToQuery ListBillingGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListBillingGroupsResponse' smart constructor.+data ListBillingGroupsResponse = ListBillingGroupsResponse'+ { -- | A list of @BillingGroupListElement@ retrieved.+ billingGroups :: Prelude.Maybe [BillingGroupListElement],+ -- | The pagination token that\'s used on subsequent calls to get billing+ -- groups.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBillingGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingGroups', 'listBillingGroupsResponse_billingGroups' - A list of @BillingGroupListElement@ retrieved.+--+-- 'nextToken', 'listBillingGroupsResponse_nextToken' - The pagination token that\'s used on subsequent calls to get billing+-- groups.+--+-- 'httpStatus', 'listBillingGroupsResponse_httpStatus' - The response's http status code.+newListBillingGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListBillingGroupsResponse+newListBillingGroupsResponse pHttpStatus_ =+ ListBillingGroupsResponse'+ { billingGroups =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of @BillingGroupListElement@ retrieved.+listBillingGroupsResponse_billingGroups :: Lens.Lens' ListBillingGroupsResponse (Prelude.Maybe [BillingGroupListElement])+listBillingGroupsResponse_billingGroups = Lens.lens (\ListBillingGroupsResponse' {billingGroups} -> billingGroups) (\s@ListBillingGroupsResponse' {} a -> s {billingGroups = a} :: ListBillingGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used on subsequent calls to get billing+-- groups.+listBillingGroupsResponse_nextToken :: Lens.Lens' ListBillingGroupsResponse (Prelude.Maybe Prelude.Text)+listBillingGroupsResponse_nextToken = Lens.lens (\ListBillingGroupsResponse' {nextToken} -> nextToken) (\s@ListBillingGroupsResponse' {} a -> s {nextToken = a} :: ListBillingGroupsResponse)++-- | The response's http status code.+listBillingGroupsResponse_httpStatus :: Lens.Lens' ListBillingGroupsResponse Prelude.Int+listBillingGroupsResponse_httpStatus = Lens.lens (\ListBillingGroupsResponse' {httpStatus} -> httpStatus) (\s@ListBillingGroupsResponse' {} a -> s {httpStatus = a} :: ListBillingGroupsResponse)++instance Prelude.NFData ListBillingGroupsResponse where+ rnf ListBillingGroupsResponse' {..} =+ Prelude.rnf billingGroups+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListCustomLineItemVersions.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListCustomLineItemVersions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A paginated call to get a list of all custom line item versions.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListCustomLineItemVersions+ ( -- * Creating a Request+ ListCustomLineItemVersions (..),+ newListCustomLineItemVersions,++ -- * Request Lenses+ listCustomLineItemVersions_filters,+ listCustomLineItemVersions_maxResults,+ listCustomLineItemVersions_nextToken,+ listCustomLineItemVersions_arn,++ -- * Destructuring the Response+ ListCustomLineItemVersionsResponse (..),+ newListCustomLineItemVersionsResponse,++ -- * Response Lenses+ listCustomLineItemVersionsResponse_customLineItemVersions,+ listCustomLineItemVersionsResponse_nextToken,+ listCustomLineItemVersionsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCustomLineItemVersions' smart constructor.+data ListCustomLineItemVersions = ListCustomLineItemVersions'+ { -- | A @ListCustomLineItemVersionsFilter@ that specifies the billing period+ -- range in which the custom line item versions are applied.+ filters :: Prelude.Maybe ListCustomLineItemVersionsFilter,+ -- | The maximum number of custom line item versions to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent calls to retrieve custom+ -- line item versions.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) for the custom line item.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listCustomLineItemVersions_filters' - A @ListCustomLineItemVersionsFilter@ that specifies the billing period+-- range in which the custom line item versions are applied.+--+-- 'maxResults', 'listCustomLineItemVersions_maxResults' - The maximum number of custom line item versions to retrieve.+--+-- 'nextToken', 'listCustomLineItemVersions_nextToken' - The pagination token that\'s used on subsequent calls to retrieve custom+-- line item versions.+--+-- 'arn', 'listCustomLineItemVersions_arn' - The Amazon Resource Name (ARN) for the custom line item.+newListCustomLineItemVersions ::+ -- | 'arn'+ Prelude.Text ->+ ListCustomLineItemVersions+newListCustomLineItemVersions pArn_ =+ ListCustomLineItemVersions'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ arn = pArn_+ }++-- | A @ListCustomLineItemVersionsFilter@ that specifies the billing period+-- range in which the custom line item versions are applied.+listCustomLineItemVersions_filters :: Lens.Lens' ListCustomLineItemVersions (Prelude.Maybe ListCustomLineItemVersionsFilter)+listCustomLineItemVersions_filters = Lens.lens (\ListCustomLineItemVersions' {filters} -> filters) (\s@ListCustomLineItemVersions' {} a -> s {filters = a} :: ListCustomLineItemVersions)++-- | The maximum number of custom line item versions to retrieve.+listCustomLineItemVersions_maxResults :: Lens.Lens' ListCustomLineItemVersions (Prelude.Maybe Prelude.Natural)+listCustomLineItemVersions_maxResults = Lens.lens (\ListCustomLineItemVersions' {maxResults} -> maxResults) (\s@ListCustomLineItemVersions' {} a -> s {maxResults = a} :: ListCustomLineItemVersions)++-- | The pagination token that\'s used on subsequent calls to retrieve custom+-- line item versions.+listCustomLineItemVersions_nextToken :: Lens.Lens' ListCustomLineItemVersions (Prelude.Maybe Prelude.Text)+listCustomLineItemVersions_nextToken = Lens.lens (\ListCustomLineItemVersions' {nextToken} -> nextToken) (\s@ListCustomLineItemVersions' {} a -> s {nextToken = a} :: ListCustomLineItemVersions)++-- | The Amazon Resource Name (ARN) for the custom line item.+listCustomLineItemVersions_arn :: Lens.Lens' ListCustomLineItemVersions Prelude.Text+listCustomLineItemVersions_arn = Lens.lens (\ListCustomLineItemVersions' {arn} -> arn) (\s@ListCustomLineItemVersions' {} a -> s {arn = a} :: ListCustomLineItemVersions)++instance Core.AWSPager ListCustomLineItemVersions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listCustomLineItemVersionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listCustomLineItemVersionsResponse_customLineItemVersions+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listCustomLineItemVersions_nextToken+ Lens..~ rs+ Lens.^? listCustomLineItemVersionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListCustomLineItemVersions where+ type+ AWSResponse ListCustomLineItemVersions =+ ListCustomLineItemVersionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListCustomLineItemVersionsResponse'+ Prelude.<$> ( x+ Data..?> "CustomLineItemVersions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListCustomLineItemVersions where+ hashWithSalt _salt ListCustomLineItemVersions' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` arn++instance Prelude.NFData ListCustomLineItemVersions where+ rnf ListCustomLineItemVersions' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders ListCustomLineItemVersions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListCustomLineItemVersions where+ toJSON ListCustomLineItemVersions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath ListCustomLineItemVersions where+ toPath =+ Prelude.const "/list-custom-line-item-versions"++instance Data.ToQuery ListCustomLineItemVersions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCustomLineItemVersionsResponse' smart constructor.+data ListCustomLineItemVersionsResponse = ListCustomLineItemVersionsResponse'+ { -- | A list of @CustomLineItemVersionListElements@ that are received.+ customLineItemVersions :: Prelude.Maybe [CustomLineItemVersionListElement],+ -- | The pagination token that\'s used on subsequent calls to retrieve custom+ -- line item versions.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLineItemVersions', 'listCustomLineItemVersionsResponse_customLineItemVersions' - A list of @CustomLineItemVersionListElements@ that are received.+--+-- 'nextToken', 'listCustomLineItemVersionsResponse_nextToken' - The pagination token that\'s used on subsequent calls to retrieve custom+-- line item versions.+--+-- 'httpStatus', 'listCustomLineItemVersionsResponse_httpStatus' - The response's http status code.+newListCustomLineItemVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListCustomLineItemVersionsResponse+newListCustomLineItemVersionsResponse pHttpStatus_ =+ ListCustomLineItemVersionsResponse'+ { customLineItemVersions =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of @CustomLineItemVersionListElements@ that are received.+listCustomLineItemVersionsResponse_customLineItemVersions :: Lens.Lens' ListCustomLineItemVersionsResponse (Prelude.Maybe [CustomLineItemVersionListElement])+listCustomLineItemVersionsResponse_customLineItemVersions = Lens.lens (\ListCustomLineItemVersionsResponse' {customLineItemVersions} -> customLineItemVersions) (\s@ListCustomLineItemVersionsResponse' {} a -> s {customLineItemVersions = a} :: ListCustomLineItemVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used on subsequent calls to retrieve custom+-- line item versions.+listCustomLineItemVersionsResponse_nextToken :: Lens.Lens' ListCustomLineItemVersionsResponse (Prelude.Maybe Prelude.Text)+listCustomLineItemVersionsResponse_nextToken = Lens.lens (\ListCustomLineItemVersionsResponse' {nextToken} -> nextToken) (\s@ListCustomLineItemVersionsResponse' {} a -> s {nextToken = a} :: ListCustomLineItemVersionsResponse)++-- | The response's http status code.+listCustomLineItemVersionsResponse_httpStatus :: Lens.Lens' ListCustomLineItemVersionsResponse Prelude.Int+listCustomLineItemVersionsResponse_httpStatus = Lens.lens (\ListCustomLineItemVersionsResponse' {httpStatus} -> httpStatus) (\s@ListCustomLineItemVersionsResponse' {} a -> s {httpStatus = a} :: ListCustomLineItemVersionsResponse)++instance+ Prelude.NFData+ ListCustomLineItemVersionsResponse+ where+ rnf ListCustomLineItemVersionsResponse' {..} =+ Prelude.rnf customLineItemVersions+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListCustomLineItems.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListCustomLineItems+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A paginated call to get a list of all custom line items (FFLIs) for the+-- given billing period. If you don\'t provide a billing period, the+-- current billing period is used.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListCustomLineItems+ ( -- * Creating a Request+ ListCustomLineItems (..),+ newListCustomLineItems,++ -- * Request Lenses+ listCustomLineItems_billingPeriod,+ listCustomLineItems_filters,+ listCustomLineItems_maxResults,+ listCustomLineItems_nextToken,++ -- * Destructuring the Response+ ListCustomLineItemsResponse (..),+ newListCustomLineItemsResponse,++ -- * Response Lenses+ listCustomLineItemsResponse_customLineItems,+ listCustomLineItemsResponse_nextToken,+ listCustomLineItemsResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCustomLineItems' smart constructor.+data ListCustomLineItems = ListCustomLineItems'+ { -- | The preferred billing period to get custom line items (FFLIs).+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | A @ListCustomLineItemsFilter@ that specifies the custom line item names+ -- and\/or billing group Amazon Resource Names (ARNs) to retrieve FFLI+ -- information.+ filters :: Prelude.Maybe ListCustomLineItemsFilter,+ -- | The maximum number of billing groups to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent calls to get custom line+ -- items (FFLIs).+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listCustomLineItems_billingPeriod' - The preferred billing period to get custom line items (FFLIs).+--+-- 'filters', 'listCustomLineItems_filters' - A @ListCustomLineItemsFilter@ that specifies the custom line item names+-- and\/or billing group Amazon Resource Names (ARNs) to retrieve FFLI+-- information.+--+-- 'maxResults', 'listCustomLineItems_maxResults' - The maximum number of billing groups to retrieve.+--+-- 'nextToken', 'listCustomLineItems_nextToken' - The pagination token that\'s used on subsequent calls to get custom line+-- items (FFLIs).+newListCustomLineItems ::+ ListCustomLineItems+newListCustomLineItems =+ ListCustomLineItems'+ { billingPeriod =+ Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period to get custom line items (FFLIs).+listCustomLineItems_billingPeriod :: Lens.Lens' ListCustomLineItems (Prelude.Maybe Prelude.Text)+listCustomLineItems_billingPeriod = Lens.lens (\ListCustomLineItems' {billingPeriod} -> billingPeriod) (\s@ListCustomLineItems' {} a -> s {billingPeriod = a} :: ListCustomLineItems)++-- | A @ListCustomLineItemsFilter@ that specifies the custom line item names+-- and\/or billing group Amazon Resource Names (ARNs) to retrieve FFLI+-- information.+listCustomLineItems_filters :: Lens.Lens' ListCustomLineItems (Prelude.Maybe ListCustomLineItemsFilter)+listCustomLineItems_filters = Lens.lens (\ListCustomLineItems' {filters} -> filters) (\s@ListCustomLineItems' {} a -> s {filters = a} :: ListCustomLineItems)++-- | The maximum number of billing groups to retrieve.+listCustomLineItems_maxResults :: Lens.Lens' ListCustomLineItems (Prelude.Maybe Prelude.Natural)+listCustomLineItems_maxResults = Lens.lens (\ListCustomLineItems' {maxResults} -> maxResults) (\s@ListCustomLineItems' {} a -> s {maxResults = a} :: ListCustomLineItems)++-- | The pagination token that\'s used on subsequent calls to get custom line+-- items (FFLIs).+listCustomLineItems_nextToken :: Lens.Lens' ListCustomLineItems (Prelude.Maybe Prelude.Text)+listCustomLineItems_nextToken = Lens.lens (\ListCustomLineItems' {nextToken} -> nextToken) (\s@ListCustomLineItems' {} a -> s {nextToken = a} :: ListCustomLineItems)++instance Core.AWSPager ListCustomLineItems where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listCustomLineItemsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listCustomLineItemsResponse_customLineItems+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listCustomLineItems_nextToken+ Lens..~ rs+ Lens.^? listCustomLineItemsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListCustomLineItems where+ type+ AWSResponse ListCustomLineItems =+ ListCustomLineItemsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListCustomLineItemsResponse'+ Prelude.<$> ( x+ Data..?> "CustomLineItems"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListCustomLineItems where+ hashWithSalt _salt ListCustomLineItems' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCustomLineItems where+ rnf ListCustomLineItems' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCustomLineItems where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListCustomLineItems where+ toJSON ListCustomLineItems' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListCustomLineItems where+ toPath = Prelude.const "/list-custom-line-items"++instance Data.ToQuery ListCustomLineItems where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCustomLineItemsResponse' smart constructor.+data ListCustomLineItemsResponse = ListCustomLineItemsResponse'+ { -- | A list of @FreeFormLineItemListElements@ received.+ customLineItems :: Prelude.Maybe [CustomLineItemListElement],+ -- | The pagination token that\'s used on subsequent calls to get custom line+ -- items (FFLIs).+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLineItems', 'listCustomLineItemsResponse_customLineItems' - A list of @FreeFormLineItemListElements@ received.+--+-- 'nextToken', 'listCustomLineItemsResponse_nextToken' - The pagination token that\'s used on subsequent calls to get custom line+-- items (FFLIs).+--+-- 'httpStatus', 'listCustomLineItemsResponse_httpStatus' - The response's http status code.+newListCustomLineItemsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListCustomLineItemsResponse+newListCustomLineItemsResponse pHttpStatus_ =+ ListCustomLineItemsResponse'+ { customLineItems =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of @FreeFormLineItemListElements@ received.+listCustomLineItemsResponse_customLineItems :: Lens.Lens' ListCustomLineItemsResponse (Prelude.Maybe [CustomLineItemListElement])+listCustomLineItemsResponse_customLineItems = Lens.lens (\ListCustomLineItemsResponse' {customLineItems} -> customLineItems) (\s@ListCustomLineItemsResponse' {} a -> s {customLineItems = a} :: ListCustomLineItemsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used on subsequent calls to get custom line+-- items (FFLIs).+listCustomLineItemsResponse_nextToken :: Lens.Lens' ListCustomLineItemsResponse (Prelude.Maybe Prelude.Text)+listCustomLineItemsResponse_nextToken = Lens.lens (\ListCustomLineItemsResponse' {nextToken} -> nextToken) (\s@ListCustomLineItemsResponse' {} a -> s {nextToken = a} :: ListCustomLineItemsResponse)++-- | The response's http status code.+listCustomLineItemsResponse_httpStatus :: Lens.Lens' ListCustomLineItemsResponse Prelude.Int+listCustomLineItemsResponse_httpStatus = Lens.lens (\ListCustomLineItemsResponse' {httpStatus} -> httpStatus) (\s@ListCustomLineItemsResponse' {} a -> s {httpStatus = a} :: ListCustomLineItemsResponse)++instance Prelude.NFData ListCustomLineItemsResponse where+ rnf ListCustomLineItemsResponse' {..} =+ Prelude.rnf customLineItems+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListPricingPlans.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListPricingPlans+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A paginated call to get pricing plans for the given billing period. If+-- you don\'t provide a billing period, the current billing period is used.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListPricingPlans+ ( -- * Creating a Request+ ListPricingPlans (..),+ newListPricingPlans,++ -- * Request Lenses+ listPricingPlans_billingPeriod,+ listPricingPlans_filters,+ listPricingPlans_maxResults,+ listPricingPlans_nextToken,++ -- * Destructuring the Response+ ListPricingPlansResponse (..),+ newListPricingPlansResponse,++ -- * Response Lenses+ listPricingPlansResponse_billingPeriod,+ listPricingPlansResponse_nextToken,+ listPricingPlansResponse_pricingPlans,+ listPricingPlansResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPricingPlans' smart constructor.+data ListPricingPlans = ListPricingPlans'+ { -- | The preferred billing period to get pricing plan.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | A @ListPricingPlansFilter@ that specifies the Amazon Resource Name+ -- (ARNs) of pricing plans to retrieve pricing plans information.+ filters :: Prelude.Maybe ListPricingPlansFilter,+ -- | The maximum number of pricing plans to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent call to get pricing+ -- plans.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingPlans' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingPlans_billingPeriod' - The preferred billing period to get pricing plan.+--+-- 'filters', 'listPricingPlans_filters' - A @ListPricingPlansFilter@ that specifies the Amazon Resource Name+-- (ARNs) of pricing plans to retrieve pricing plans information.+--+-- 'maxResults', 'listPricingPlans_maxResults' - The maximum number of pricing plans to retrieve.+--+-- 'nextToken', 'listPricingPlans_nextToken' - The pagination token that\'s used on subsequent call to get pricing+-- plans.+newListPricingPlans ::+ ListPricingPlans+newListPricingPlans =+ ListPricingPlans'+ { billingPeriod = Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period to get pricing plan.+listPricingPlans_billingPeriod :: Lens.Lens' ListPricingPlans (Prelude.Maybe Prelude.Text)+listPricingPlans_billingPeriod = Lens.lens (\ListPricingPlans' {billingPeriod} -> billingPeriod) (\s@ListPricingPlans' {} a -> s {billingPeriod = a} :: ListPricingPlans)++-- | A @ListPricingPlansFilter@ that specifies the Amazon Resource Name+-- (ARNs) of pricing plans to retrieve pricing plans information.+listPricingPlans_filters :: Lens.Lens' ListPricingPlans (Prelude.Maybe ListPricingPlansFilter)+listPricingPlans_filters = Lens.lens (\ListPricingPlans' {filters} -> filters) (\s@ListPricingPlans' {} a -> s {filters = a} :: ListPricingPlans)++-- | The maximum number of pricing plans to retrieve.+listPricingPlans_maxResults :: Lens.Lens' ListPricingPlans (Prelude.Maybe Prelude.Natural)+listPricingPlans_maxResults = Lens.lens (\ListPricingPlans' {maxResults} -> maxResults) (\s@ListPricingPlans' {} a -> s {maxResults = a} :: ListPricingPlans)++-- | The pagination token that\'s used on subsequent call to get pricing+-- plans.+listPricingPlans_nextToken :: Lens.Lens' ListPricingPlans (Prelude.Maybe Prelude.Text)+listPricingPlans_nextToken = Lens.lens (\ListPricingPlans' {nextToken} -> nextToken) (\s@ListPricingPlans' {} a -> s {nextToken = a} :: ListPricingPlans)++instance Core.AWSPager ListPricingPlans where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPricingPlansResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPricingPlansResponse_pricingPlans+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPricingPlans_nextToken+ Lens..~ rs+ Lens.^? listPricingPlansResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPricingPlans where+ type+ AWSResponse ListPricingPlans =+ ListPricingPlansResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPricingPlansResponse'+ Prelude.<$> (x Data..?> "BillingPeriod")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "PricingPlans" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPricingPlans where+ hashWithSalt _salt ListPricingPlans' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPricingPlans where+ rnf ListPricingPlans' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPricingPlans where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListPricingPlans where+ toJSON ListPricingPlans' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListPricingPlans where+ toPath = Prelude.const "/list-pricing-plans"++instance Data.ToQuery ListPricingPlans where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPricingPlansResponse' smart constructor.+data ListPricingPlansResponse = ListPricingPlansResponse'+ { -- | The billing period for which the described pricing plans are applicable.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that\'s used on subsequent calls to get pricing+ -- plans.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of @PricingPlanListElement@ retrieved.+ pricingPlans :: Prelude.Maybe [PricingPlanListElement],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingPlansResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingPlansResponse_billingPeriod' - The billing period for which the described pricing plans are applicable.+--+-- 'nextToken', 'listPricingPlansResponse_nextToken' - The pagination token that\'s used on subsequent calls to get pricing+-- plans.+--+-- 'pricingPlans', 'listPricingPlansResponse_pricingPlans' - A list of @PricingPlanListElement@ retrieved.+--+-- 'httpStatus', 'listPricingPlansResponse_httpStatus' - The response's http status code.+newListPricingPlansResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPricingPlansResponse+newListPricingPlansResponse pHttpStatus_ =+ ListPricingPlansResponse'+ { billingPeriod =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ pricingPlans = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The billing period for which the described pricing plans are applicable.+listPricingPlansResponse_billingPeriod :: Lens.Lens' ListPricingPlansResponse (Prelude.Maybe Prelude.Text)+listPricingPlansResponse_billingPeriod = Lens.lens (\ListPricingPlansResponse' {billingPeriod} -> billingPeriod) (\s@ListPricingPlansResponse' {} a -> s {billingPeriod = a} :: ListPricingPlansResponse)++-- | The pagination token that\'s used on subsequent calls to get pricing+-- plans.+listPricingPlansResponse_nextToken :: Lens.Lens' ListPricingPlansResponse (Prelude.Maybe Prelude.Text)+listPricingPlansResponse_nextToken = Lens.lens (\ListPricingPlansResponse' {nextToken} -> nextToken) (\s@ListPricingPlansResponse' {} a -> s {nextToken = a} :: ListPricingPlansResponse)++-- | A list of @PricingPlanListElement@ retrieved.+listPricingPlansResponse_pricingPlans :: Lens.Lens' ListPricingPlansResponse (Prelude.Maybe [PricingPlanListElement])+listPricingPlansResponse_pricingPlans = Lens.lens (\ListPricingPlansResponse' {pricingPlans} -> pricingPlans) (\s@ListPricingPlansResponse' {} a -> s {pricingPlans = a} :: ListPricingPlansResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPricingPlansResponse_httpStatus :: Lens.Lens' ListPricingPlansResponse Prelude.Int+listPricingPlansResponse_httpStatus = Lens.lens (\ListPricingPlansResponse' {httpStatus} -> httpStatus) (\s@ListPricingPlansResponse' {} a -> s {httpStatus = a} :: ListPricingPlansResponse)++instance Prelude.NFData ListPricingPlansResponse where+ rnf ListPricingPlansResponse' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingPlans+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListPricingPlansAssociatedWithPricingRule.hs view
@@ -0,0 +1,320 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListPricingPlansAssociatedWithPricingRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A list of the pricing plans that are associated with a pricing rule.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListPricingPlansAssociatedWithPricingRule+ ( -- * Creating a Request+ ListPricingPlansAssociatedWithPricingRule (..),+ newListPricingPlansAssociatedWithPricingRule,++ -- * Request Lenses+ listPricingPlansAssociatedWithPricingRule_billingPeriod,+ listPricingPlansAssociatedWithPricingRule_maxResults,+ listPricingPlansAssociatedWithPricingRule_nextToken,+ listPricingPlansAssociatedWithPricingRule_pricingRuleArn,++ -- * Destructuring the Response+ ListPricingPlansAssociatedWithPricingRuleResponse (..),+ newListPricingPlansAssociatedWithPricingRuleResponse,++ -- * Response Lenses+ listPricingPlansAssociatedWithPricingRuleResponse_billingPeriod,+ listPricingPlansAssociatedWithPricingRuleResponse_nextToken,+ listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns,+ listPricingPlansAssociatedWithPricingRuleResponse_pricingRuleArn,+ listPricingPlansAssociatedWithPricingRuleResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPricingPlansAssociatedWithPricingRule' smart constructor.+data ListPricingPlansAssociatedWithPricingRule = ListPricingPlansAssociatedWithPricingRule'+ { -- | The pricing plan billing period for which associations will be listed.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The optional maximum number of pricing rule associations to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The optional pagination token returned by a previous call.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The pricing rule Amazon Resource Name (ARN) for which associations will+ -- be listed.+ pricingRuleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingPlansAssociatedWithPricingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingPlansAssociatedWithPricingRule_billingPeriod' - The pricing plan billing period for which associations will be listed.+--+-- 'maxResults', 'listPricingPlansAssociatedWithPricingRule_maxResults' - The optional maximum number of pricing rule associations to retrieve.+--+-- 'nextToken', 'listPricingPlansAssociatedWithPricingRule_nextToken' - The optional pagination token returned by a previous call.+--+-- 'pricingRuleArn', 'listPricingPlansAssociatedWithPricingRule_pricingRuleArn' - The pricing rule Amazon Resource Name (ARN) for which associations will+-- be listed.+newListPricingPlansAssociatedWithPricingRule ::+ -- | 'pricingRuleArn'+ Prelude.Text ->+ ListPricingPlansAssociatedWithPricingRule+newListPricingPlansAssociatedWithPricingRule+ pPricingRuleArn_ =+ ListPricingPlansAssociatedWithPricingRule'+ { billingPeriod =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ pricingRuleArn =+ pPricingRuleArn_+ }++-- | The pricing plan billing period for which associations will be listed.+listPricingPlansAssociatedWithPricingRule_billingPeriod :: Lens.Lens' ListPricingPlansAssociatedWithPricingRule (Prelude.Maybe Prelude.Text)+listPricingPlansAssociatedWithPricingRule_billingPeriod = Lens.lens (\ListPricingPlansAssociatedWithPricingRule' {billingPeriod} -> billingPeriod) (\s@ListPricingPlansAssociatedWithPricingRule' {} a -> s {billingPeriod = a} :: ListPricingPlansAssociatedWithPricingRule)++-- | The optional maximum number of pricing rule associations to retrieve.+listPricingPlansAssociatedWithPricingRule_maxResults :: Lens.Lens' ListPricingPlansAssociatedWithPricingRule (Prelude.Maybe Prelude.Natural)+listPricingPlansAssociatedWithPricingRule_maxResults = Lens.lens (\ListPricingPlansAssociatedWithPricingRule' {maxResults} -> maxResults) (\s@ListPricingPlansAssociatedWithPricingRule' {} a -> s {maxResults = a} :: ListPricingPlansAssociatedWithPricingRule)++-- | The optional pagination token returned by a previous call.+listPricingPlansAssociatedWithPricingRule_nextToken :: Lens.Lens' ListPricingPlansAssociatedWithPricingRule (Prelude.Maybe Prelude.Text)+listPricingPlansAssociatedWithPricingRule_nextToken = Lens.lens (\ListPricingPlansAssociatedWithPricingRule' {nextToken} -> nextToken) (\s@ListPricingPlansAssociatedWithPricingRule' {} a -> s {nextToken = a} :: ListPricingPlansAssociatedWithPricingRule)++-- | The pricing rule Amazon Resource Name (ARN) for which associations will+-- be listed.+listPricingPlansAssociatedWithPricingRule_pricingRuleArn :: Lens.Lens' ListPricingPlansAssociatedWithPricingRule Prelude.Text+listPricingPlansAssociatedWithPricingRule_pricingRuleArn = Lens.lens (\ListPricingPlansAssociatedWithPricingRule' {pricingRuleArn} -> pricingRuleArn) (\s@ListPricingPlansAssociatedWithPricingRule' {} a -> s {pricingRuleArn = a} :: ListPricingPlansAssociatedWithPricingRule)++instance+ Core.AWSPager+ ListPricingPlansAssociatedWithPricingRule+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPricingPlansAssociatedWithPricingRuleResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns+ Prelude.. Lens._Just+ Prelude.. Lens.to Prelude.toList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPricingPlansAssociatedWithPricingRule_nextToken+ Lens..~ rs+ Lens.^? listPricingPlansAssociatedWithPricingRuleResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListPricingPlansAssociatedWithPricingRule+ where+ type+ AWSResponse+ ListPricingPlansAssociatedWithPricingRule =+ ListPricingPlansAssociatedWithPricingRuleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPricingPlansAssociatedWithPricingRuleResponse'+ Prelude.<$> (x Data..?> "BillingPeriod")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "PricingPlanArns")+ Prelude.<*> (x Data..?> "PricingRuleArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListPricingPlansAssociatedWithPricingRule+ where+ hashWithSalt+ _salt+ ListPricingPlansAssociatedWithPricingRule' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pricingRuleArn++instance+ Prelude.NFData+ ListPricingPlansAssociatedWithPricingRule+ where+ rnf ListPricingPlansAssociatedWithPricingRule' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingRuleArn++instance+ Data.ToHeaders+ ListPricingPlansAssociatedWithPricingRule+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListPricingPlansAssociatedWithPricingRule+ where+ toJSON ListPricingPlansAssociatedWithPricingRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("PricingRuleArn" Data..= pricingRuleArn)+ ]+ )++instance+ Data.ToPath+ ListPricingPlansAssociatedWithPricingRule+ where+ toPath =+ Prelude.const+ "/list-pricing-plans-associated-with-pricing-rule"++instance+ Data.ToQuery+ ListPricingPlansAssociatedWithPricingRule+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPricingPlansAssociatedWithPricingRuleResponse' smart constructor.+data ListPricingPlansAssociatedWithPricingRuleResponse = ListPricingPlansAssociatedWithPricingRuleResponse'+ { -- | The pricing plan billing period for which associations will be listed.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The pagination token to be used on subsequent calls.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list containing pricing plans that are associated with the requested+ -- pricing rule.+ pricingPlanArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The pricing rule Amazon Resource Name (ARN) for which associations will+ -- be listed.+ pricingRuleArn :: 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 'ListPricingPlansAssociatedWithPricingRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingPlansAssociatedWithPricingRuleResponse_billingPeriod' - The pricing plan billing period for which associations will be listed.+--+-- 'nextToken', 'listPricingPlansAssociatedWithPricingRuleResponse_nextToken' - The pagination token to be used on subsequent calls.+--+-- 'pricingPlanArns', 'listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns' - The list containing pricing plans that are associated with the requested+-- pricing rule.+--+-- 'pricingRuleArn', 'listPricingPlansAssociatedWithPricingRuleResponse_pricingRuleArn' - The pricing rule Amazon Resource Name (ARN) for which associations will+-- be listed.+--+-- 'httpStatus', 'listPricingPlansAssociatedWithPricingRuleResponse_httpStatus' - The response's http status code.+newListPricingPlansAssociatedWithPricingRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPricingPlansAssociatedWithPricingRuleResponse+newListPricingPlansAssociatedWithPricingRuleResponse+ pHttpStatus_ =+ ListPricingPlansAssociatedWithPricingRuleResponse'+ { billingPeriod =+ Prelude.Nothing,+ nextToken =+ Prelude.Nothing,+ pricingPlanArns =+ Prelude.Nothing,+ pricingRuleArn =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | The pricing plan billing period for which associations will be listed.+listPricingPlansAssociatedWithPricingRuleResponse_billingPeriod :: Lens.Lens' ListPricingPlansAssociatedWithPricingRuleResponse (Prelude.Maybe Prelude.Text)+listPricingPlansAssociatedWithPricingRuleResponse_billingPeriod = Lens.lens (\ListPricingPlansAssociatedWithPricingRuleResponse' {billingPeriod} -> billingPeriod) (\s@ListPricingPlansAssociatedWithPricingRuleResponse' {} a -> s {billingPeriod = a} :: ListPricingPlansAssociatedWithPricingRuleResponse)++-- | The pagination token to be used on subsequent calls.+listPricingPlansAssociatedWithPricingRuleResponse_nextToken :: Lens.Lens' ListPricingPlansAssociatedWithPricingRuleResponse (Prelude.Maybe Prelude.Text)+listPricingPlansAssociatedWithPricingRuleResponse_nextToken = Lens.lens (\ListPricingPlansAssociatedWithPricingRuleResponse' {nextToken} -> nextToken) (\s@ListPricingPlansAssociatedWithPricingRuleResponse' {} a -> s {nextToken = a} :: ListPricingPlansAssociatedWithPricingRuleResponse)++-- | The list containing pricing plans that are associated with the requested+-- pricing rule.+listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns :: Lens.Lens' ListPricingPlansAssociatedWithPricingRuleResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listPricingPlansAssociatedWithPricingRuleResponse_pricingPlanArns = Lens.lens (\ListPricingPlansAssociatedWithPricingRuleResponse' {pricingPlanArns} -> pricingPlanArns) (\s@ListPricingPlansAssociatedWithPricingRuleResponse' {} a -> s {pricingPlanArns = a} :: ListPricingPlansAssociatedWithPricingRuleResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pricing rule Amazon Resource Name (ARN) for which associations will+-- be listed.+listPricingPlansAssociatedWithPricingRuleResponse_pricingRuleArn :: Lens.Lens' ListPricingPlansAssociatedWithPricingRuleResponse (Prelude.Maybe Prelude.Text)+listPricingPlansAssociatedWithPricingRuleResponse_pricingRuleArn = Lens.lens (\ListPricingPlansAssociatedWithPricingRuleResponse' {pricingRuleArn} -> pricingRuleArn) (\s@ListPricingPlansAssociatedWithPricingRuleResponse' {} a -> s {pricingRuleArn = a} :: ListPricingPlansAssociatedWithPricingRuleResponse)++-- | The response's http status code.+listPricingPlansAssociatedWithPricingRuleResponse_httpStatus :: Lens.Lens' ListPricingPlansAssociatedWithPricingRuleResponse Prelude.Int+listPricingPlansAssociatedWithPricingRuleResponse_httpStatus = Lens.lens (\ListPricingPlansAssociatedWithPricingRuleResponse' {httpStatus} -> httpStatus) (\s@ListPricingPlansAssociatedWithPricingRuleResponse' {} a -> s {httpStatus = a} :: ListPricingPlansAssociatedWithPricingRuleResponse)++instance+ Prelude.NFData+ ListPricingPlansAssociatedWithPricingRuleResponse+ where+ rnf+ ListPricingPlansAssociatedWithPricingRuleResponse' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingPlanArns+ `Prelude.seq` Prelude.rnf pricingRuleArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListPricingRules.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListPricingRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a pricing rule that can be associated to a pricing plan, or+-- set of pricing plans.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListPricingRules+ ( -- * Creating a Request+ ListPricingRules (..),+ newListPricingRules,++ -- * Request Lenses+ listPricingRules_billingPeriod,+ listPricingRules_filters,+ listPricingRules_maxResults,+ listPricingRules_nextToken,++ -- * Destructuring the Response+ ListPricingRulesResponse (..),+ newListPricingRulesResponse,++ -- * Response Lenses+ listPricingRulesResponse_billingPeriod,+ listPricingRulesResponse_nextToken,+ listPricingRulesResponse_pricingRules,+ listPricingRulesResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPricingRules' smart constructor.+data ListPricingRules = ListPricingRules'+ { -- | The preferred billing period to get the pricing plan.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | A @DescribePricingRuleFilter@ that specifies the Amazon Resource Name+ -- (ARNs) of pricing rules to retrieve pricing rules information.+ filters :: Prelude.Maybe ListPricingRulesFilter,+ -- | The maximum number of pricing rules to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used on subsequent call to get pricing+ -- rules.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingRules_billingPeriod' - The preferred billing period to get the pricing plan.+--+-- 'filters', 'listPricingRules_filters' - A @DescribePricingRuleFilter@ that specifies the Amazon Resource Name+-- (ARNs) of pricing rules to retrieve pricing rules information.+--+-- 'maxResults', 'listPricingRules_maxResults' - The maximum number of pricing rules to retrieve.+--+-- 'nextToken', 'listPricingRules_nextToken' - The pagination token that\'s used on subsequent call to get pricing+-- rules.+newListPricingRules ::+ ListPricingRules+newListPricingRules =+ ListPricingRules'+ { billingPeriod = Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The preferred billing period to get the pricing plan.+listPricingRules_billingPeriod :: Lens.Lens' ListPricingRules (Prelude.Maybe Prelude.Text)+listPricingRules_billingPeriod = Lens.lens (\ListPricingRules' {billingPeriod} -> billingPeriod) (\s@ListPricingRules' {} a -> s {billingPeriod = a} :: ListPricingRules)++-- | A @DescribePricingRuleFilter@ that specifies the Amazon Resource Name+-- (ARNs) of pricing rules to retrieve pricing rules information.+listPricingRules_filters :: Lens.Lens' ListPricingRules (Prelude.Maybe ListPricingRulesFilter)+listPricingRules_filters = Lens.lens (\ListPricingRules' {filters} -> filters) (\s@ListPricingRules' {} a -> s {filters = a} :: ListPricingRules)++-- | The maximum number of pricing rules to retrieve.+listPricingRules_maxResults :: Lens.Lens' ListPricingRules (Prelude.Maybe Prelude.Natural)+listPricingRules_maxResults = Lens.lens (\ListPricingRules' {maxResults} -> maxResults) (\s@ListPricingRules' {} a -> s {maxResults = a} :: ListPricingRules)++-- | The pagination token that\'s used on subsequent call to get pricing+-- rules.+listPricingRules_nextToken :: Lens.Lens' ListPricingRules (Prelude.Maybe Prelude.Text)+listPricingRules_nextToken = Lens.lens (\ListPricingRules' {nextToken} -> nextToken) (\s@ListPricingRules' {} a -> s {nextToken = a} :: ListPricingRules)++instance Core.AWSPager ListPricingRules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPricingRulesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPricingRulesResponse_pricingRules+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPricingRules_nextToken+ Lens..~ rs+ Lens.^? listPricingRulesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPricingRules where+ type+ AWSResponse ListPricingRules =+ ListPricingRulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPricingRulesResponse'+ Prelude.<$> (x Data..?> "BillingPeriod")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "PricingRules" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPricingRules where+ hashWithSalt _salt ListPricingRules' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPricingRules where+ rnf ListPricingRules' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPricingRules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListPricingRules where+ toJSON ListPricingRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListPricingRules where+ toPath = Prelude.const "/list-pricing-rules"++instance Data.ToQuery ListPricingRules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPricingRulesResponse' smart constructor.+data ListPricingRulesResponse = ListPricingRulesResponse'+ { -- | The billing period for which the described pricing rules are applicable.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that\'s used on subsequent calls to get pricing+ -- rules.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list containing the described pricing rules.+ pricingRules :: Prelude.Maybe [PricingRuleListElement],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingRulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingRulesResponse_billingPeriod' - The billing period for which the described pricing rules are applicable.+--+-- 'nextToken', 'listPricingRulesResponse_nextToken' - The pagination token that\'s used on subsequent calls to get pricing+-- rules.+--+-- 'pricingRules', 'listPricingRulesResponse_pricingRules' - A list containing the described pricing rules.+--+-- 'httpStatus', 'listPricingRulesResponse_httpStatus' - The response's http status code.+newListPricingRulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPricingRulesResponse+newListPricingRulesResponse pHttpStatus_ =+ ListPricingRulesResponse'+ { billingPeriod =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ pricingRules = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The billing period for which the described pricing rules are applicable.+listPricingRulesResponse_billingPeriod :: Lens.Lens' ListPricingRulesResponse (Prelude.Maybe Prelude.Text)+listPricingRulesResponse_billingPeriod = Lens.lens (\ListPricingRulesResponse' {billingPeriod} -> billingPeriod) (\s@ListPricingRulesResponse' {} a -> s {billingPeriod = a} :: ListPricingRulesResponse)++-- | The pagination token that\'s used on subsequent calls to get pricing+-- rules.+listPricingRulesResponse_nextToken :: Lens.Lens' ListPricingRulesResponse (Prelude.Maybe Prelude.Text)+listPricingRulesResponse_nextToken = Lens.lens (\ListPricingRulesResponse' {nextToken} -> nextToken) (\s@ListPricingRulesResponse' {} a -> s {nextToken = a} :: ListPricingRulesResponse)++-- | A list containing the described pricing rules.+listPricingRulesResponse_pricingRules :: Lens.Lens' ListPricingRulesResponse (Prelude.Maybe [PricingRuleListElement])+listPricingRulesResponse_pricingRules = Lens.lens (\ListPricingRulesResponse' {pricingRules} -> pricingRules) (\s@ListPricingRulesResponse' {} a -> s {pricingRules = a} :: ListPricingRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPricingRulesResponse_httpStatus :: Lens.Lens' ListPricingRulesResponse Prelude.Int+listPricingRulesResponse_httpStatus = Lens.lens (\ListPricingRulesResponse' {httpStatus} -> httpStatus) (\s@ListPricingRulesResponse' {} a -> s {httpStatus = a} :: ListPricingRulesResponse)++instance Prelude.NFData ListPricingRulesResponse where+ rnf ListPricingRulesResponse' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingRules+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListPricingRulesAssociatedToPricingPlan.hs view
@@ -0,0 +1,321 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListPricingRulesAssociatedToPricingPlan+-- 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 pricing rules that are associated with a pricing plan.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListPricingRulesAssociatedToPricingPlan+ ( -- * Creating a Request+ ListPricingRulesAssociatedToPricingPlan (..),+ newListPricingRulesAssociatedToPricingPlan,++ -- * Request Lenses+ listPricingRulesAssociatedToPricingPlan_billingPeriod,+ listPricingRulesAssociatedToPricingPlan_maxResults,+ listPricingRulesAssociatedToPricingPlan_nextToken,+ listPricingRulesAssociatedToPricingPlan_pricingPlanArn,++ -- * Destructuring the Response+ ListPricingRulesAssociatedToPricingPlanResponse (..),+ newListPricingRulesAssociatedToPricingPlanResponse,++ -- * Response Lenses+ listPricingRulesAssociatedToPricingPlanResponse_billingPeriod,+ listPricingRulesAssociatedToPricingPlanResponse_nextToken,+ listPricingRulesAssociatedToPricingPlanResponse_pricingPlanArn,+ listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns,+ listPricingRulesAssociatedToPricingPlanResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPricingRulesAssociatedToPricingPlan' smart constructor.+data ListPricingRulesAssociatedToPricingPlan = ListPricingRulesAssociatedToPricingPlan'+ { -- | The billing period for which the pricing rule associations are to be+ -- listed.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The optional maximum number of pricing rule associations to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The optional pagination token returned by a previous call.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the pricing plan for which+ -- associations are to be listed.+ pricingPlanArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingRulesAssociatedToPricingPlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingRulesAssociatedToPricingPlan_billingPeriod' - The billing period for which the pricing rule associations are to be+-- listed.+--+-- 'maxResults', 'listPricingRulesAssociatedToPricingPlan_maxResults' - The optional maximum number of pricing rule associations to retrieve.+--+-- 'nextToken', 'listPricingRulesAssociatedToPricingPlan_nextToken' - The optional pagination token returned by a previous call.+--+-- 'pricingPlanArn', 'listPricingRulesAssociatedToPricingPlan_pricingPlanArn' - The Amazon Resource Name (ARN) of the pricing plan for which+-- associations are to be listed.+newListPricingRulesAssociatedToPricingPlan ::+ -- | 'pricingPlanArn'+ Prelude.Text ->+ ListPricingRulesAssociatedToPricingPlan+newListPricingRulesAssociatedToPricingPlan+ pPricingPlanArn_ =+ ListPricingRulesAssociatedToPricingPlan'+ { billingPeriod =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ pricingPlanArn = pPricingPlanArn_+ }++-- | The billing period for which the pricing rule associations are to be+-- listed.+listPricingRulesAssociatedToPricingPlan_billingPeriod :: Lens.Lens' ListPricingRulesAssociatedToPricingPlan (Prelude.Maybe Prelude.Text)+listPricingRulesAssociatedToPricingPlan_billingPeriod = Lens.lens (\ListPricingRulesAssociatedToPricingPlan' {billingPeriod} -> billingPeriod) (\s@ListPricingRulesAssociatedToPricingPlan' {} a -> s {billingPeriod = a} :: ListPricingRulesAssociatedToPricingPlan)++-- | The optional maximum number of pricing rule associations to retrieve.+listPricingRulesAssociatedToPricingPlan_maxResults :: Lens.Lens' ListPricingRulesAssociatedToPricingPlan (Prelude.Maybe Prelude.Natural)+listPricingRulesAssociatedToPricingPlan_maxResults = Lens.lens (\ListPricingRulesAssociatedToPricingPlan' {maxResults} -> maxResults) (\s@ListPricingRulesAssociatedToPricingPlan' {} a -> s {maxResults = a} :: ListPricingRulesAssociatedToPricingPlan)++-- | The optional pagination token returned by a previous call.+listPricingRulesAssociatedToPricingPlan_nextToken :: Lens.Lens' ListPricingRulesAssociatedToPricingPlan (Prelude.Maybe Prelude.Text)+listPricingRulesAssociatedToPricingPlan_nextToken = Lens.lens (\ListPricingRulesAssociatedToPricingPlan' {nextToken} -> nextToken) (\s@ListPricingRulesAssociatedToPricingPlan' {} a -> s {nextToken = a} :: ListPricingRulesAssociatedToPricingPlan)++-- | The Amazon Resource Name (ARN) of the pricing plan for which+-- associations are to be listed.+listPricingRulesAssociatedToPricingPlan_pricingPlanArn :: Lens.Lens' ListPricingRulesAssociatedToPricingPlan Prelude.Text+listPricingRulesAssociatedToPricingPlan_pricingPlanArn = Lens.lens (\ListPricingRulesAssociatedToPricingPlan' {pricingPlanArn} -> pricingPlanArn) (\s@ListPricingRulesAssociatedToPricingPlan' {} a -> s {pricingPlanArn = a} :: ListPricingRulesAssociatedToPricingPlan)++instance+ Core.AWSPager+ ListPricingRulesAssociatedToPricingPlan+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPricingRulesAssociatedToPricingPlanResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns+ Prelude.. Lens._Just+ Prelude.. Lens.to Prelude.toList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPricingRulesAssociatedToPricingPlan_nextToken+ Lens..~ rs+ Lens.^? listPricingRulesAssociatedToPricingPlanResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListPricingRulesAssociatedToPricingPlan+ where+ type+ AWSResponse+ ListPricingRulesAssociatedToPricingPlan =+ ListPricingRulesAssociatedToPricingPlanResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPricingRulesAssociatedToPricingPlanResponse'+ Prelude.<$> (x Data..?> "BillingPeriod")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "PricingPlanArn")+ Prelude.<*> (x Data..?> "PricingRuleArns")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListPricingRulesAssociatedToPricingPlan+ where+ hashWithSalt+ _salt+ ListPricingRulesAssociatedToPricingPlan' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` pricingPlanArn++instance+ Prelude.NFData+ ListPricingRulesAssociatedToPricingPlan+ where+ rnf ListPricingRulesAssociatedToPricingPlan' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingPlanArn++instance+ Data.ToHeaders+ ListPricingRulesAssociatedToPricingPlan+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListPricingRulesAssociatedToPricingPlan+ where+ toJSON ListPricingRulesAssociatedToPricingPlan' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("PricingPlanArn" Data..= pricingPlanArn)+ ]+ )++instance+ Data.ToPath+ ListPricingRulesAssociatedToPricingPlan+ where+ toPath =+ Prelude.const+ "/list-pricing-rules-associated-to-pricing-plan"++instance+ Data.ToQuery+ ListPricingRulesAssociatedToPricingPlan+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPricingRulesAssociatedToPricingPlanResponse' smart constructor.+data ListPricingRulesAssociatedToPricingPlanResponse = ListPricingRulesAssociatedToPricingPlanResponse'+ { -- | The billing period for which the pricing rule associations are listed.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The pagination token to be used on subsequent calls.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the pricing plan for which+ -- associations are listed.+ pricingPlanArn :: Prelude.Maybe Prelude.Text,+ -- | A list containing pricing rules that are associated with the requested+ -- pricing plan.+ pricingRuleArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingRulesAssociatedToPricingPlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listPricingRulesAssociatedToPricingPlanResponse_billingPeriod' - The billing period for which the pricing rule associations are listed.+--+-- 'nextToken', 'listPricingRulesAssociatedToPricingPlanResponse_nextToken' - The pagination token to be used on subsequent calls.+--+-- 'pricingPlanArn', 'listPricingRulesAssociatedToPricingPlanResponse_pricingPlanArn' - The Amazon Resource Name (ARN) of the pricing plan for which+-- associations are listed.+--+-- 'pricingRuleArns', 'listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns' - A list containing pricing rules that are associated with the requested+-- pricing plan.+--+-- 'httpStatus', 'listPricingRulesAssociatedToPricingPlanResponse_httpStatus' - The response's http status code.+newListPricingRulesAssociatedToPricingPlanResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPricingRulesAssociatedToPricingPlanResponse+newListPricingRulesAssociatedToPricingPlanResponse+ pHttpStatus_ =+ ListPricingRulesAssociatedToPricingPlanResponse'+ { billingPeriod =+ Prelude.Nothing,+ nextToken =+ Prelude.Nothing,+ pricingPlanArn =+ Prelude.Nothing,+ pricingRuleArns =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The billing period for which the pricing rule associations are listed.+listPricingRulesAssociatedToPricingPlanResponse_billingPeriod :: Lens.Lens' ListPricingRulesAssociatedToPricingPlanResponse (Prelude.Maybe Prelude.Text)+listPricingRulesAssociatedToPricingPlanResponse_billingPeriod = Lens.lens (\ListPricingRulesAssociatedToPricingPlanResponse' {billingPeriod} -> billingPeriod) (\s@ListPricingRulesAssociatedToPricingPlanResponse' {} a -> s {billingPeriod = a} :: ListPricingRulesAssociatedToPricingPlanResponse)++-- | The pagination token to be used on subsequent calls.+listPricingRulesAssociatedToPricingPlanResponse_nextToken :: Lens.Lens' ListPricingRulesAssociatedToPricingPlanResponse (Prelude.Maybe Prelude.Text)+listPricingRulesAssociatedToPricingPlanResponse_nextToken = Lens.lens (\ListPricingRulesAssociatedToPricingPlanResponse' {nextToken} -> nextToken) (\s@ListPricingRulesAssociatedToPricingPlanResponse' {} a -> s {nextToken = a} :: ListPricingRulesAssociatedToPricingPlanResponse)++-- | The Amazon Resource Name (ARN) of the pricing plan for which+-- associations are listed.+listPricingRulesAssociatedToPricingPlanResponse_pricingPlanArn :: Lens.Lens' ListPricingRulesAssociatedToPricingPlanResponse (Prelude.Maybe Prelude.Text)+listPricingRulesAssociatedToPricingPlanResponse_pricingPlanArn = Lens.lens (\ListPricingRulesAssociatedToPricingPlanResponse' {pricingPlanArn} -> pricingPlanArn) (\s@ListPricingRulesAssociatedToPricingPlanResponse' {} a -> s {pricingPlanArn = a} :: ListPricingRulesAssociatedToPricingPlanResponse)++-- | A list containing pricing rules that are associated with the requested+-- pricing plan.+listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns :: Lens.Lens' ListPricingRulesAssociatedToPricingPlanResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listPricingRulesAssociatedToPricingPlanResponse_pricingRuleArns = Lens.lens (\ListPricingRulesAssociatedToPricingPlanResponse' {pricingRuleArns} -> pricingRuleArns) (\s@ListPricingRulesAssociatedToPricingPlanResponse' {} a -> s {pricingRuleArns = a} :: ListPricingRulesAssociatedToPricingPlanResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPricingRulesAssociatedToPricingPlanResponse_httpStatus :: Lens.Lens' ListPricingRulesAssociatedToPricingPlanResponse Prelude.Int+listPricingRulesAssociatedToPricingPlanResponse_httpStatus = Lens.lens (\ListPricingRulesAssociatedToPricingPlanResponse' {httpStatus} -> httpStatus) (\s@ListPricingRulesAssociatedToPricingPlanResponse' {} a -> s {httpStatus = a} :: ListPricingRulesAssociatedToPricingPlanResponse)++instance+ Prelude.NFData+ ListPricingRulesAssociatedToPricingPlanResponse+ where+ rnf+ ListPricingRulesAssociatedToPricingPlanResponse' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf pricingPlanArn+ `Prelude.seq` Prelude.rnf pricingRuleArns+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListResourcesAssociatedToCustomLineItem.hs view
@@ -0,0 +1,321 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.ListResourcesAssociatedToCustomLineItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the resources that are associated to a custom line item.+--+-- This operation returns paginated results.+module Amazonka.BillingConductor.ListResourcesAssociatedToCustomLineItem+ ( -- * Creating a Request+ ListResourcesAssociatedToCustomLineItem (..),+ newListResourcesAssociatedToCustomLineItem,++ -- * Request Lenses+ listResourcesAssociatedToCustomLineItem_billingPeriod,+ listResourcesAssociatedToCustomLineItem_filters,+ listResourcesAssociatedToCustomLineItem_maxResults,+ listResourcesAssociatedToCustomLineItem_nextToken,+ listResourcesAssociatedToCustomLineItem_arn,++ -- * Destructuring the Response+ ListResourcesAssociatedToCustomLineItemResponse (..),+ newListResourcesAssociatedToCustomLineItemResponse,++ -- * Response Lenses+ listResourcesAssociatedToCustomLineItemResponse_arn,+ listResourcesAssociatedToCustomLineItemResponse_associatedResources,+ listResourcesAssociatedToCustomLineItemResponse_nextToken,+ listResourcesAssociatedToCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourcesAssociatedToCustomLineItem' smart constructor.+data ListResourcesAssociatedToCustomLineItem = ListResourcesAssociatedToCustomLineItem'+ { -- | The billing period for which the resource associations will be listed.+ billingPeriod :: Prelude.Maybe Prelude.Text,+ -- | (Optional) A @ListResourcesAssociatedToCustomLineItemFilter@ that can+ -- specify the types of resources that should be retrieved.+ filters :: Prelude.Maybe ListResourcesAssociatedToCustomLineItemFilter,+ -- | (Optional) The maximum number of resource associations to be retrieved.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) The pagination token that\'s returned by a previous request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the custom line item for which the resource associations will+ -- be listed.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourcesAssociatedToCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriod', 'listResourcesAssociatedToCustomLineItem_billingPeriod' - The billing period for which the resource associations will be listed.+--+-- 'filters', 'listResourcesAssociatedToCustomLineItem_filters' - (Optional) A @ListResourcesAssociatedToCustomLineItemFilter@ that can+-- specify the types of resources that should be retrieved.+--+-- 'maxResults', 'listResourcesAssociatedToCustomLineItem_maxResults' - (Optional) The maximum number of resource associations to be retrieved.+--+-- 'nextToken', 'listResourcesAssociatedToCustomLineItem_nextToken' - (Optional) The pagination token that\'s returned by a previous request.+--+-- 'arn', 'listResourcesAssociatedToCustomLineItem_arn' - The ARN of the custom line item for which the resource associations will+-- be listed.+newListResourcesAssociatedToCustomLineItem ::+ -- | 'arn'+ Prelude.Text ->+ ListResourcesAssociatedToCustomLineItem+newListResourcesAssociatedToCustomLineItem pArn_ =+ ListResourcesAssociatedToCustomLineItem'+ { billingPeriod =+ Prelude.Nothing,+ filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ arn = pArn_+ }++-- | The billing period for which the resource associations will be listed.+listResourcesAssociatedToCustomLineItem_billingPeriod :: Lens.Lens' ListResourcesAssociatedToCustomLineItem (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItem_billingPeriod = Lens.lens (\ListResourcesAssociatedToCustomLineItem' {billingPeriod} -> billingPeriod) (\s@ListResourcesAssociatedToCustomLineItem' {} a -> s {billingPeriod = a} :: ListResourcesAssociatedToCustomLineItem)++-- | (Optional) A @ListResourcesAssociatedToCustomLineItemFilter@ that can+-- specify the types of resources that should be retrieved.+listResourcesAssociatedToCustomLineItem_filters :: Lens.Lens' ListResourcesAssociatedToCustomLineItem (Prelude.Maybe ListResourcesAssociatedToCustomLineItemFilter)+listResourcesAssociatedToCustomLineItem_filters = Lens.lens (\ListResourcesAssociatedToCustomLineItem' {filters} -> filters) (\s@ListResourcesAssociatedToCustomLineItem' {} a -> s {filters = a} :: ListResourcesAssociatedToCustomLineItem)++-- | (Optional) The maximum number of resource associations to be retrieved.+listResourcesAssociatedToCustomLineItem_maxResults :: Lens.Lens' ListResourcesAssociatedToCustomLineItem (Prelude.Maybe Prelude.Natural)+listResourcesAssociatedToCustomLineItem_maxResults = Lens.lens (\ListResourcesAssociatedToCustomLineItem' {maxResults} -> maxResults) (\s@ListResourcesAssociatedToCustomLineItem' {} a -> s {maxResults = a} :: ListResourcesAssociatedToCustomLineItem)++-- | (Optional) The pagination token that\'s returned by a previous request.+listResourcesAssociatedToCustomLineItem_nextToken :: Lens.Lens' ListResourcesAssociatedToCustomLineItem (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItem_nextToken = Lens.lens (\ListResourcesAssociatedToCustomLineItem' {nextToken} -> nextToken) (\s@ListResourcesAssociatedToCustomLineItem' {} a -> s {nextToken = a} :: ListResourcesAssociatedToCustomLineItem)++-- | The ARN of the custom line item for which the resource associations will+-- be listed.+listResourcesAssociatedToCustomLineItem_arn :: Lens.Lens' ListResourcesAssociatedToCustomLineItem Prelude.Text+listResourcesAssociatedToCustomLineItem_arn = Lens.lens (\ListResourcesAssociatedToCustomLineItem' {arn} -> arn) (\s@ListResourcesAssociatedToCustomLineItem' {} a -> s {arn = a} :: ListResourcesAssociatedToCustomLineItem)++instance+ Core.AWSPager+ ListResourcesAssociatedToCustomLineItem+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResourcesAssociatedToCustomLineItemResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResourcesAssociatedToCustomLineItemResponse_associatedResources+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResourcesAssociatedToCustomLineItem_nextToken+ Lens..~ rs+ Lens.^? listResourcesAssociatedToCustomLineItemResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListResourcesAssociatedToCustomLineItem+ where+ type+ AWSResponse+ ListResourcesAssociatedToCustomLineItem =+ ListResourcesAssociatedToCustomLineItemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResourcesAssociatedToCustomLineItemResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> ( x+ Data..?> "AssociatedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResourcesAssociatedToCustomLineItem+ where+ hashWithSalt+ _salt+ ListResourcesAssociatedToCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriod+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` arn++instance+ Prelude.NFData+ ListResourcesAssociatedToCustomLineItem+ where+ rnf ListResourcesAssociatedToCustomLineItem' {..} =+ Prelude.rnf billingPeriod+ `Prelude.seq` Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf arn++instance+ Data.ToHeaders+ ListResourcesAssociatedToCustomLineItem+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListResourcesAssociatedToCustomLineItem+ where+ toJSON ListResourcesAssociatedToCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriod" Data..=) Prelude.<$> billingPeriod,+ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance+ Data.ToPath+ ListResourcesAssociatedToCustomLineItem+ where+ toPath =+ Prelude.const+ "/list-resources-associated-to-custom-line-item"++instance+ Data.ToQuery+ ListResourcesAssociatedToCustomLineItem+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResourcesAssociatedToCustomLineItemResponse' smart constructor.+data ListResourcesAssociatedToCustomLineItemResponse = ListResourcesAssociatedToCustomLineItemResponse'+ { -- | The custom line item ARN for which the resource associations are listed.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A list of @ListResourcesAssociatedToCustomLineItemResponseElement@ for+ -- each resource association retrieved.+ associatedResources :: Prelude.Maybe [ListResourcesAssociatedToCustomLineItemResponseElement],+ -- | The pagination token to be used in subsequent requests to retrieve+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourcesAssociatedToCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResourcesAssociatedToCustomLineItemResponse_arn' - The custom line item ARN for which the resource associations are listed.+--+-- 'associatedResources', 'listResourcesAssociatedToCustomLineItemResponse_associatedResources' - A list of @ListResourcesAssociatedToCustomLineItemResponseElement@ for+-- each resource association retrieved.+--+-- 'nextToken', 'listResourcesAssociatedToCustomLineItemResponse_nextToken' - The pagination token to be used in subsequent requests to retrieve+-- additional results.+--+-- 'httpStatus', 'listResourcesAssociatedToCustomLineItemResponse_httpStatus' - The response's http status code.+newListResourcesAssociatedToCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResourcesAssociatedToCustomLineItemResponse+newListResourcesAssociatedToCustomLineItemResponse+ pHttpStatus_ =+ ListResourcesAssociatedToCustomLineItemResponse'+ { arn =+ Prelude.Nothing,+ associatedResources =+ Prelude.Nothing,+ nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The custom line item ARN for which the resource associations are listed.+listResourcesAssociatedToCustomLineItemResponse_arn :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponse (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItemResponse_arn = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponse' {arn} -> arn) (\s@ListResourcesAssociatedToCustomLineItemResponse' {} a -> s {arn = a} :: ListResourcesAssociatedToCustomLineItemResponse)++-- | A list of @ListResourcesAssociatedToCustomLineItemResponseElement@ for+-- each resource association retrieved.+listResourcesAssociatedToCustomLineItemResponse_associatedResources :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponse (Prelude.Maybe [ListResourcesAssociatedToCustomLineItemResponseElement])+listResourcesAssociatedToCustomLineItemResponse_associatedResources = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponse' {associatedResources} -> associatedResources) (\s@ListResourcesAssociatedToCustomLineItemResponse' {} a -> s {associatedResources = a} :: ListResourcesAssociatedToCustomLineItemResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token to be used in subsequent requests to retrieve+-- additional results.+listResourcesAssociatedToCustomLineItemResponse_nextToken :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponse (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItemResponse_nextToken = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponse' {nextToken} -> nextToken) (\s@ListResourcesAssociatedToCustomLineItemResponse' {} a -> s {nextToken = a} :: ListResourcesAssociatedToCustomLineItemResponse)++-- | The response's http status code.+listResourcesAssociatedToCustomLineItemResponse_httpStatus :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponse Prelude.Int+listResourcesAssociatedToCustomLineItemResponse_httpStatus = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@ListResourcesAssociatedToCustomLineItemResponse' {} a -> s {httpStatus = a} :: ListResourcesAssociatedToCustomLineItemResponse)++instance+ Prelude.NFData+ ListResourcesAssociatedToCustomLineItemResponse+ where+ rnf+ ListResourcesAssociatedToCustomLineItemResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associatedResources+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/ListTagsForResource.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.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)+--+-- A list the tags for a resource.+module Amazonka.BillingConductor.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) that identifies the resource to list the+ -- tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that identifies the resource to list the+-- tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags for the resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags for the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags for the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/TagResource.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.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)+--+-- Associates the specified tags to a resource with the specified+-- @resourceArn@. If existing tags on a resource are not specified in the+-- request parameters, they are not changed.+module Amazonka.BillingConductor.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the resource to which to add tags.+ resourceArn :: Prelude.Text,+ -- | The tags to add to the resource as a list of key-value pairs.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to which to add tags.+--+-- 'tags', 'tagResource_tags' - The tags to add to the resource as a list of key-value pairs.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource to which to add tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to add to the resource as a list of key-value pairs.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++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/BillingConductor/Types.hs view
@@ -0,0 +1,486 @@+{-# 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.BillingConductor.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.BillingConductor.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceLimitExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * AssociateResourceErrorReason+ AssociateResourceErrorReason (..),++ -- * BillingGroupStatus+ BillingGroupStatus (..),++ -- * CurrencyCode+ CurrencyCode (..),++ -- * CustomLineItemRelationship+ CustomLineItemRelationship (..),++ -- * CustomLineItemType+ CustomLineItemType (..),++ -- * PricingRuleScope+ PricingRuleScope (..),++ -- * PricingRuleType+ PricingRuleType (..),++ -- * AccountAssociationsListElement+ AccountAssociationsListElement (..),+ newAccountAssociationsListElement,+ accountAssociationsListElement_accountEmail,+ accountAssociationsListElement_accountId,+ accountAssociationsListElement_accountName,+ accountAssociationsListElement_billingGroupArn,++ -- * AccountGrouping+ AccountGrouping (..),+ newAccountGrouping,+ accountGrouping_linkedAccountIds,++ -- * AssociateResourceError+ AssociateResourceError (..),+ newAssociateResourceError,+ associateResourceError_message,+ associateResourceError_reason,++ -- * AssociateResourceResponseElement+ AssociateResourceResponseElement (..),+ newAssociateResourceResponseElement,+ associateResourceResponseElement_arn,+ associateResourceResponseElement_error,++ -- * BillingGroupCostReportElement+ BillingGroupCostReportElement (..),+ newBillingGroupCostReportElement,+ billingGroupCostReportElement_aWSCost,+ billingGroupCostReportElement_arn,+ billingGroupCostReportElement_currency,+ billingGroupCostReportElement_margin,+ billingGroupCostReportElement_marginPercentage,+ billingGroupCostReportElement_proformaCost,++ -- * BillingGroupListElement+ BillingGroupListElement (..),+ newBillingGroupListElement,+ billingGroupListElement_arn,+ billingGroupListElement_computationPreference,+ billingGroupListElement_creationTime,+ billingGroupListElement_description,+ billingGroupListElement_lastModifiedTime,+ billingGroupListElement_name,+ billingGroupListElement_primaryAccountId,+ billingGroupListElement_size,+ billingGroupListElement_status,+ billingGroupListElement_statusReason,++ -- * ComputationPreference+ ComputationPreference (..),+ newComputationPreference,+ computationPreference_pricingPlanArn,++ -- * CreateFreeTierConfig+ CreateFreeTierConfig (..),+ newCreateFreeTierConfig,+ createFreeTierConfig_activated,++ -- * CreateTieringInput+ CreateTieringInput (..),+ newCreateTieringInput,+ createTieringInput_freeTier,++ -- * CustomLineItemBillingPeriodRange+ CustomLineItemBillingPeriodRange (..),+ newCustomLineItemBillingPeriodRange,+ customLineItemBillingPeriodRange_exclusiveEndBillingPeriod,+ customLineItemBillingPeriodRange_inclusiveStartBillingPeriod,++ -- * CustomLineItemChargeDetails+ CustomLineItemChargeDetails (..),+ newCustomLineItemChargeDetails,+ customLineItemChargeDetails_flat,+ customLineItemChargeDetails_percentage,+ customLineItemChargeDetails_type,++ -- * CustomLineItemFlatChargeDetails+ CustomLineItemFlatChargeDetails (..),+ newCustomLineItemFlatChargeDetails,+ customLineItemFlatChargeDetails_chargeValue,++ -- * CustomLineItemListElement+ CustomLineItemListElement (..),+ newCustomLineItemListElement,+ customLineItemListElement_arn,+ customLineItemListElement_associationSize,+ customLineItemListElement_billingGroupArn,+ customLineItemListElement_chargeDetails,+ customLineItemListElement_creationTime,+ customLineItemListElement_currencyCode,+ customLineItemListElement_description,+ customLineItemListElement_lastModifiedTime,+ customLineItemListElement_name,+ customLineItemListElement_productCode,++ -- * CustomLineItemPercentageChargeDetails+ CustomLineItemPercentageChargeDetails (..),+ newCustomLineItemPercentageChargeDetails,+ customLineItemPercentageChargeDetails_associatedValues,+ customLineItemPercentageChargeDetails_percentageValue,++ -- * CustomLineItemVersionListElement+ CustomLineItemVersionListElement (..),+ newCustomLineItemVersionListElement,+ customLineItemVersionListElement_associationSize,+ customLineItemVersionListElement_billingGroupArn,+ customLineItemVersionListElement_chargeDetails,+ customLineItemVersionListElement_creationTime,+ customLineItemVersionListElement_currencyCode,+ customLineItemVersionListElement_description,+ customLineItemVersionListElement_endBillingPeriod,+ customLineItemVersionListElement_lastModifiedTime,+ customLineItemVersionListElement_name,+ customLineItemVersionListElement_productCode,+ customLineItemVersionListElement_startBillingPeriod,++ -- * DisassociateResourceResponseElement+ DisassociateResourceResponseElement (..),+ newDisassociateResourceResponseElement,+ disassociateResourceResponseElement_arn,+ disassociateResourceResponseElement_error,++ -- * FreeTierConfig+ FreeTierConfig (..),+ newFreeTierConfig,+ freeTierConfig_activated,++ -- * ListAccountAssociationsFilter+ ListAccountAssociationsFilter (..),+ newListAccountAssociationsFilter,+ listAccountAssociationsFilter_accountId,+ listAccountAssociationsFilter_association,++ -- * ListBillingGroupCostReportsFilter+ ListBillingGroupCostReportsFilter (..),+ newListBillingGroupCostReportsFilter,+ listBillingGroupCostReportsFilter_billingGroupArns,++ -- * ListBillingGroupsFilter+ ListBillingGroupsFilter (..),+ newListBillingGroupsFilter,+ listBillingGroupsFilter_arns,+ listBillingGroupsFilter_pricingPlan,++ -- * ListCustomLineItemChargeDetails+ ListCustomLineItemChargeDetails (..),+ newListCustomLineItemChargeDetails,+ listCustomLineItemChargeDetails_flat,+ listCustomLineItemChargeDetails_percentage,+ listCustomLineItemChargeDetails_type,++ -- * ListCustomLineItemFlatChargeDetails+ ListCustomLineItemFlatChargeDetails (..),+ newListCustomLineItemFlatChargeDetails,+ listCustomLineItemFlatChargeDetails_chargeValue,++ -- * ListCustomLineItemPercentageChargeDetails+ ListCustomLineItemPercentageChargeDetails (..),+ newListCustomLineItemPercentageChargeDetails,+ listCustomLineItemPercentageChargeDetails_percentageValue,++ -- * ListCustomLineItemVersionsBillingPeriodRangeFilter+ ListCustomLineItemVersionsBillingPeriodRangeFilter (..),+ newListCustomLineItemVersionsBillingPeriodRangeFilter,+ listCustomLineItemVersionsBillingPeriodRangeFilter_endBillingPeriod,+ listCustomLineItemVersionsBillingPeriodRangeFilter_startBillingPeriod,++ -- * ListCustomLineItemVersionsFilter+ ListCustomLineItemVersionsFilter (..),+ newListCustomLineItemVersionsFilter,+ listCustomLineItemVersionsFilter_billingPeriodRange,++ -- * ListCustomLineItemsFilter+ ListCustomLineItemsFilter (..),+ newListCustomLineItemsFilter,+ listCustomLineItemsFilter_arns,+ listCustomLineItemsFilter_billingGroups,+ listCustomLineItemsFilter_names,++ -- * ListPricingPlansFilter+ ListPricingPlansFilter (..),+ newListPricingPlansFilter,+ listPricingPlansFilter_arns,++ -- * ListPricingRulesFilter+ ListPricingRulesFilter (..),+ newListPricingRulesFilter,+ listPricingRulesFilter_arns,++ -- * ListResourcesAssociatedToCustomLineItemFilter+ ListResourcesAssociatedToCustomLineItemFilter (..),+ newListResourcesAssociatedToCustomLineItemFilter,+ listResourcesAssociatedToCustomLineItemFilter_relationship,++ -- * ListResourcesAssociatedToCustomLineItemResponseElement+ ListResourcesAssociatedToCustomLineItemResponseElement (..),+ newListResourcesAssociatedToCustomLineItemResponseElement,+ listResourcesAssociatedToCustomLineItemResponseElement_arn,+ listResourcesAssociatedToCustomLineItemResponseElement_endBillingPeriod,+ listResourcesAssociatedToCustomLineItemResponseElement_relationship,++ -- * PricingPlanListElement+ PricingPlanListElement (..),+ newPricingPlanListElement,+ pricingPlanListElement_arn,+ pricingPlanListElement_creationTime,+ pricingPlanListElement_description,+ pricingPlanListElement_lastModifiedTime,+ pricingPlanListElement_name,+ pricingPlanListElement_size,++ -- * PricingRuleListElement+ PricingRuleListElement (..),+ newPricingRuleListElement,+ pricingRuleListElement_arn,+ pricingRuleListElement_associatedPricingPlanCount,+ pricingRuleListElement_billingEntity,+ pricingRuleListElement_creationTime,+ pricingRuleListElement_description,+ pricingRuleListElement_lastModifiedTime,+ pricingRuleListElement_modifierPercentage,+ pricingRuleListElement_name,+ pricingRuleListElement_scope,+ pricingRuleListElement_service,+ pricingRuleListElement_tiering,+ pricingRuleListElement_type,++ -- * Tiering+ Tiering (..),+ newTiering,+ tiering_freeTier,++ -- * UpdateCustomLineItemChargeDetails+ UpdateCustomLineItemChargeDetails (..),+ newUpdateCustomLineItemChargeDetails,+ updateCustomLineItemChargeDetails_flat,+ updateCustomLineItemChargeDetails_percentage,++ -- * UpdateCustomLineItemFlatChargeDetails+ UpdateCustomLineItemFlatChargeDetails (..),+ newUpdateCustomLineItemFlatChargeDetails,+ updateCustomLineItemFlatChargeDetails_chargeValue,++ -- * UpdateCustomLineItemPercentageChargeDetails+ UpdateCustomLineItemPercentageChargeDetails (..),+ newUpdateCustomLineItemPercentageChargeDetails,+ updateCustomLineItemPercentageChargeDetails_percentageValue,++ -- * UpdateFreeTierConfig+ UpdateFreeTierConfig (..),+ newUpdateFreeTierConfig,+ updateFreeTierConfig_activated,++ -- * UpdateTieringInput+ UpdateTieringInput (..),+ newUpdateTieringInput,+ updateTieringInput_freeTier,+ )+where++import Amazonka.BillingConductor.Types.AccountAssociationsListElement+import Amazonka.BillingConductor.Types.AccountGrouping+import Amazonka.BillingConductor.Types.AssociateResourceError+import Amazonka.BillingConductor.Types.AssociateResourceErrorReason+import Amazonka.BillingConductor.Types.AssociateResourceResponseElement+import Amazonka.BillingConductor.Types.BillingGroupCostReportElement+import Amazonka.BillingConductor.Types.BillingGroupListElement+import Amazonka.BillingConductor.Types.BillingGroupStatus+import Amazonka.BillingConductor.Types.ComputationPreference+import Amazonka.BillingConductor.Types.CreateFreeTierConfig+import Amazonka.BillingConductor.Types.CreateTieringInput+import Amazonka.BillingConductor.Types.CurrencyCode+import Amazonka.BillingConductor.Types.CustomLineItemBillingPeriodRange+import Amazonka.BillingConductor.Types.CustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemListElement+import Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemRelationship+import Amazonka.BillingConductor.Types.CustomLineItemType+import Amazonka.BillingConductor.Types.CustomLineItemVersionListElement+import Amazonka.BillingConductor.Types.DisassociateResourceResponseElement+import Amazonka.BillingConductor.Types.FreeTierConfig+import Amazonka.BillingConductor.Types.ListAccountAssociationsFilter+import Amazonka.BillingConductor.Types.ListBillingGroupCostReportsFilter+import Amazonka.BillingConductor.Types.ListBillingGroupsFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemVersionsFilter+import Amazonka.BillingConductor.Types.ListCustomLineItemsFilter+import Amazonka.BillingConductor.Types.ListPricingPlansFilter+import Amazonka.BillingConductor.Types.ListPricingRulesFilter+import Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemFilter+import Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemResponseElement+import Amazonka.BillingConductor.Types.PricingPlanListElement+import Amazonka.BillingConductor.Types.PricingRuleListElement+import Amazonka.BillingConductor.Types.PricingRuleScope+import Amazonka.BillingConductor.Types.PricingRuleType+import Amazonka.BillingConductor.Types.Tiering+import Amazonka.BillingConductor.Types.UpdateCustomLineItemChargeDetails+import Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.UpdateFreeTierConfig+import Amazonka.BillingConductor.Types.UpdateTieringInput+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-07-30@ of the Amazon BillingConductor SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "BillingConductor",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "billingconductor",+ Core.signingName = "billingconductor",+ Core.version = "2021-07-30",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "BillingConductor",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | You can cause an inconsistent state by updating or deleting a resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | An unexpected error occurred while processing a request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The request references a resource that doesn\'t exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The request would cause a service limit to exceed.+_ServiceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceLimitExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceLimitExceededException"+ Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | The input doesn\'t match with the constraints specified by Amazon Web+-- Services services.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/BillingConductor/Types/AccountAssociationsListElement.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.AccountAssociationsListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.AccountAssociationsListElement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a linked account.+--+-- /See:/ 'newAccountAssociationsListElement' smart constructor.+data AccountAssociationsListElement = AccountAssociationsListElement'+ { -- | The Amazon Web Services account email.+ accountEmail :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The associating array of account IDs.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account name.+ accountName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The Billing Group Arn that the linked account is associated to.+ billingGroupArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountAssociationsListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountEmail', 'accountAssociationsListElement_accountEmail' - The Amazon Web Services account email.+--+-- 'accountId', 'accountAssociationsListElement_accountId' - The associating array of account IDs.+--+-- 'accountName', 'accountAssociationsListElement_accountName' - The Amazon Web Services account name.+--+-- 'billingGroupArn', 'accountAssociationsListElement_billingGroupArn' - The Billing Group Arn that the linked account is associated to.+newAccountAssociationsListElement ::+ AccountAssociationsListElement+newAccountAssociationsListElement =+ AccountAssociationsListElement'+ { accountEmail =+ Prelude.Nothing,+ accountId = Prelude.Nothing,+ accountName = Prelude.Nothing,+ billingGroupArn = Prelude.Nothing+ }++-- | The Amazon Web Services account email.+accountAssociationsListElement_accountEmail :: Lens.Lens' AccountAssociationsListElement (Prelude.Maybe Prelude.Text)+accountAssociationsListElement_accountEmail = Lens.lens (\AccountAssociationsListElement' {accountEmail} -> accountEmail) (\s@AccountAssociationsListElement' {} a -> s {accountEmail = a} :: AccountAssociationsListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The associating array of account IDs.+accountAssociationsListElement_accountId :: Lens.Lens' AccountAssociationsListElement (Prelude.Maybe Prelude.Text)+accountAssociationsListElement_accountId = Lens.lens (\AccountAssociationsListElement' {accountId} -> accountId) (\s@AccountAssociationsListElement' {} a -> s {accountId = a} :: AccountAssociationsListElement)++-- | The Amazon Web Services account name.+accountAssociationsListElement_accountName :: Lens.Lens' AccountAssociationsListElement (Prelude.Maybe Prelude.Text)+accountAssociationsListElement_accountName = Lens.lens (\AccountAssociationsListElement' {accountName} -> accountName) (\s@AccountAssociationsListElement' {} a -> s {accountName = a} :: AccountAssociationsListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The Billing Group Arn that the linked account is associated to.+accountAssociationsListElement_billingGroupArn :: Lens.Lens' AccountAssociationsListElement (Prelude.Maybe Prelude.Text)+accountAssociationsListElement_billingGroupArn = Lens.lens (\AccountAssociationsListElement' {billingGroupArn} -> billingGroupArn) (\s@AccountAssociationsListElement' {} a -> s {billingGroupArn = a} :: AccountAssociationsListElement)++instance Data.FromJSON AccountAssociationsListElement where+ parseJSON =+ Data.withObject+ "AccountAssociationsListElement"+ ( \x ->+ AccountAssociationsListElement'+ Prelude.<$> (x Data..:? "AccountEmail")+ Prelude.<*> (x Data..:? "AccountId")+ Prelude.<*> (x Data..:? "AccountName")+ Prelude.<*> (x Data..:? "BillingGroupArn")+ )++instance+ Prelude.Hashable+ AccountAssociationsListElement+ where+ hashWithSalt+ _salt+ AccountAssociationsListElement' {..} =+ _salt+ `Prelude.hashWithSalt` accountEmail+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` accountName+ `Prelude.hashWithSalt` billingGroupArn++instance+ Prelude.NFData+ AccountAssociationsListElement+ where+ rnf AccountAssociationsListElement' {..} =+ Prelude.rnf accountEmail+ `Prelude.seq` Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf accountName+ `Prelude.seq` Prelude.rnf billingGroupArn
+ gen/Amazonka/BillingConductor/Types/AccountGrouping.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.AccountGrouping+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.AccountGrouping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The set of accounts that will be under the billing group. The set of+-- accounts resemble the linked accounts in a consolidated family.+--+-- /See:/ 'newAccountGrouping' smart constructor.+data AccountGrouping = AccountGrouping'+ { -- | The account IDs that make up the billing group. Account IDs must be a+ -- part of the consolidated billing family, and not associated with another+ -- billing group.+ linkedAccountIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountGrouping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkedAccountIds', 'accountGrouping_linkedAccountIds' - The account IDs that make up the billing group. Account IDs must be a+-- part of the consolidated billing family, and not associated with another+-- billing group.+newAccountGrouping ::+ -- | 'linkedAccountIds'+ Prelude.NonEmpty Prelude.Text ->+ AccountGrouping+newAccountGrouping pLinkedAccountIds_ =+ AccountGrouping'+ { linkedAccountIds =+ Lens.coerced Lens.# pLinkedAccountIds_+ }++-- | The account IDs that make up the billing group. Account IDs must be a+-- part of the consolidated billing family, and not associated with another+-- billing group.+accountGrouping_linkedAccountIds :: Lens.Lens' AccountGrouping (Prelude.NonEmpty Prelude.Text)+accountGrouping_linkedAccountIds = Lens.lens (\AccountGrouping' {linkedAccountIds} -> linkedAccountIds) (\s@AccountGrouping' {} a -> s {linkedAccountIds = a} :: AccountGrouping) Prelude.. Lens.coerced++instance Prelude.Hashable AccountGrouping where+ hashWithSalt _salt AccountGrouping' {..} =+ _salt `Prelude.hashWithSalt` linkedAccountIds++instance Prelude.NFData AccountGrouping where+ rnf AccountGrouping' {..} =+ Prelude.rnf linkedAccountIds++instance Data.ToJSON AccountGrouping where+ toJSON AccountGrouping' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("LinkedAccountIds" Data..= linkedAccountIds)+ ]+ )
+ gen/Amazonka/BillingConductor/Types/AssociateResourceError.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.AssociateResourceError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.AssociateResourceError where++import Amazonka.BillingConductor.Types.AssociateResourceErrorReason+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a resource association error.+--+-- /See:/ 'newAssociateResourceError' smart constructor.+data AssociateResourceError = AssociateResourceError'+ { -- | The reason why the resource association failed.+ message :: Prelude.Maybe Prelude.Text,+ -- | A static error code that\'s used to classify the type of failure.+ reason :: Prelude.Maybe AssociateResourceErrorReason+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResourceError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'associateResourceError_message' - The reason why the resource association failed.+--+-- 'reason', 'associateResourceError_reason' - A static error code that\'s used to classify the type of failure.+newAssociateResourceError ::+ AssociateResourceError+newAssociateResourceError =+ AssociateResourceError'+ { message = Prelude.Nothing,+ reason = Prelude.Nothing+ }++-- | The reason why the resource association failed.+associateResourceError_message :: Lens.Lens' AssociateResourceError (Prelude.Maybe Prelude.Text)+associateResourceError_message = Lens.lens (\AssociateResourceError' {message} -> message) (\s@AssociateResourceError' {} a -> s {message = a} :: AssociateResourceError)++-- | A static error code that\'s used to classify the type of failure.+associateResourceError_reason :: Lens.Lens' AssociateResourceError (Prelude.Maybe AssociateResourceErrorReason)+associateResourceError_reason = Lens.lens (\AssociateResourceError' {reason} -> reason) (\s@AssociateResourceError' {} a -> s {reason = a} :: AssociateResourceError)++instance Data.FromJSON AssociateResourceError where+ parseJSON =+ Data.withObject+ "AssociateResourceError"+ ( \x ->+ AssociateResourceError'+ Prelude.<$> (x Data..:? "Message")+ Prelude.<*> (x Data..:? "Reason")+ )++instance Prelude.Hashable AssociateResourceError where+ hashWithSalt _salt AssociateResourceError' {..} =+ _salt+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` reason++instance Prelude.NFData AssociateResourceError where+ rnf AssociateResourceError' {..} =+ Prelude.rnf message+ `Prelude.seq` Prelude.rnf reason
+ gen/Amazonka/BillingConductor/Types/AssociateResourceErrorReason.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.BillingConductor.Types.AssociateResourceErrorReason+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.AssociateResourceErrorReason+ ( AssociateResourceErrorReason+ ( ..,+ AssociateResourceErrorReason_ILLEGAL_CUSTOMLINEITEM,+ AssociateResourceErrorReason_INTERNAL_SERVER_EXCEPTION,+ AssociateResourceErrorReason_INVALID_ARN,+ AssociateResourceErrorReason_INVALID_BILLING_PERIOD_RANGE,+ AssociateResourceErrorReason_SERVICE_LIMIT_EXCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssociateResourceErrorReason = AssociateResourceErrorReason'+ { fromAssociateResourceErrorReason ::+ 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 AssociateResourceErrorReason_ILLEGAL_CUSTOMLINEITEM :: AssociateResourceErrorReason+pattern AssociateResourceErrorReason_ILLEGAL_CUSTOMLINEITEM = AssociateResourceErrorReason' "ILLEGAL_CUSTOMLINEITEM"++pattern AssociateResourceErrorReason_INTERNAL_SERVER_EXCEPTION :: AssociateResourceErrorReason+pattern AssociateResourceErrorReason_INTERNAL_SERVER_EXCEPTION = AssociateResourceErrorReason' "INTERNAL_SERVER_EXCEPTION"++pattern AssociateResourceErrorReason_INVALID_ARN :: AssociateResourceErrorReason+pattern AssociateResourceErrorReason_INVALID_ARN = AssociateResourceErrorReason' "INVALID_ARN"++pattern AssociateResourceErrorReason_INVALID_BILLING_PERIOD_RANGE :: AssociateResourceErrorReason+pattern AssociateResourceErrorReason_INVALID_BILLING_PERIOD_RANGE = AssociateResourceErrorReason' "INVALID_BILLING_PERIOD_RANGE"++pattern AssociateResourceErrorReason_SERVICE_LIMIT_EXCEEDED :: AssociateResourceErrorReason+pattern AssociateResourceErrorReason_SERVICE_LIMIT_EXCEEDED = AssociateResourceErrorReason' "SERVICE_LIMIT_EXCEEDED"++{-# COMPLETE+ AssociateResourceErrorReason_ILLEGAL_CUSTOMLINEITEM,+ AssociateResourceErrorReason_INTERNAL_SERVER_EXCEPTION,+ AssociateResourceErrorReason_INVALID_ARN,+ AssociateResourceErrorReason_INVALID_BILLING_PERIOD_RANGE,+ AssociateResourceErrorReason_SERVICE_LIMIT_EXCEEDED,+ AssociateResourceErrorReason'+ #-}
+ gen/Amazonka/BillingConductor/Types/AssociateResourceResponseElement.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.AssociateResourceResponseElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.AssociateResourceResponseElement where++import Amazonka.BillingConductor.Types.AssociateResourceError+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A resource association result for a percentage custom line item.+--+-- /See:/ 'newAssociateResourceResponseElement' smart constructor.+data AssociateResourceResponseElement = AssociateResourceResponseElement'+ { -- | The resource ARN that was associated to the custom line item.+ arn :: Prelude.Maybe Prelude.Text,+ -- | An @AssociateResourceError@ that will populate if the resource+ -- association fails.+ error :: Prelude.Maybe AssociateResourceError+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResourceResponseElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateResourceResponseElement_arn' - The resource ARN that was associated to the custom line item.+--+-- 'error', 'associateResourceResponseElement_error' - An @AssociateResourceError@ that will populate if the resource+-- association fails.+newAssociateResourceResponseElement ::+ AssociateResourceResponseElement+newAssociateResourceResponseElement =+ AssociateResourceResponseElement'+ { arn =+ Prelude.Nothing,+ error = Prelude.Nothing+ }++-- | The resource ARN that was associated to the custom line item.+associateResourceResponseElement_arn :: Lens.Lens' AssociateResourceResponseElement (Prelude.Maybe Prelude.Text)+associateResourceResponseElement_arn = Lens.lens (\AssociateResourceResponseElement' {arn} -> arn) (\s@AssociateResourceResponseElement' {} a -> s {arn = a} :: AssociateResourceResponseElement)++-- | An @AssociateResourceError@ that will populate if the resource+-- association fails.+associateResourceResponseElement_error :: Lens.Lens' AssociateResourceResponseElement (Prelude.Maybe AssociateResourceError)+associateResourceResponseElement_error = Lens.lens (\AssociateResourceResponseElement' {error} -> error) (\s@AssociateResourceResponseElement' {} a -> s {error = a} :: AssociateResourceResponseElement)++instance+ Data.FromJSON+ AssociateResourceResponseElement+ where+ parseJSON =+ Data.withObject+ "AssociateResourceResponseElement"+ ( \x ->+ AssociateResourceResponseElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "Error")+ )++instance+ Prelude.Hashable+ AssociateResourceResponseElement+ where+ hashWithSalt+ _salt+ AssociateResourceResponseElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` error++instance+ Prelude.NFData+ AssociateResourceResponseElement+ where+ rnf AssociateResourceResponseElement' {..} =+ Prelude.rnf arn `Prelude.seq` Prelude.rnf error
+ gen/Amazonka/BillingConductor/Types/BillingGroupCostReportElement.hs view
@@ -0,0 +1,141 @@+{-# 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.BillingConductor.Types.BillingGroupCostReportElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.BillingGroupCostReportElement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A summary report of actual Amazon Web Services charges and calculated+-- Amazon Web Services charges, based on the associated pricing plan of a+-- billing group.+--+-- /See:/ 'newBillingGroupCostReportElement' smart constructor.+data BillingGroupCostReportElement = BillingGroupCostReportElement'+ { -- | The actual Amazon Web Services charges for the billing group.+ aWSCost :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of a billing group.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The displayed currency.+ currency :: Prelude.Maybe Prelude.Text,+ -- | The billing group margin.+ margin :: Prelude.Maybe Prelude.Text,+ -- | The percentage of billing group margin.+ marginPercentage :: Prelude.Maybe Prelude.Text,+ -- | The hypothetical Amazon Web Services charges based on the associated+ -- pricing plan of a billing group.+ proformaCost :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BillingGroupCostReportElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aWSCost', 'billingGroupCostReportElement_aWSCost' - The actual Amazon Web Services charges for the billing group.+--+-- 'arn', 'billingGroupCostReportElement_arn' - The Amazon Resource Name (ARN) of a billing group.+--+-- 'currency', 'billingGroupCostReportElement_currency' - The displayed currency.+--+-- 'margin', 'billingGroupCostReportElement_margin' - The billing group margin.+--+-- 'marginPercentage', 'billingGroupCostReportElement_marginPercentage' - The percentage of billing group margin.+--+-- 'proformaCost', 'billingGroupCostReportElement_proformaCost' - The hypothetical Amazon Web Services charges based on the associated+-- pricing plan of a billing group.+newBillingGroupCostReportElement ::+ BillingGroupCostReportElement+newBillingGroupCostReportElement =+ BillingGroupCostReportElement'+ { aWSCost =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ currency = Prelude.Nothing,+ margin = Prelude.Nothing,+ marginPercentage = Prelude.Nothing,+ proformaCost = Prelude.Nothing+ }++-- | The actual Amazon Web Services charges for the billing group.+billingGroupCostReportElement_aWSCost :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_aWSCost = Lens.lens (\BillingGroupCostReportElement' {aWSCost} -> aWSCost) (\s@BillingGroupCostReportElement' {} a -> s {aWSCost = a} :: BillingGroupCostReportElement)++-- | The Amazon Resource Name (ARN) of a billing group.+billingGroupCostReportElement_arn :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_arn = Lens.lens (\BillingGroupCostReportElement' {arn} -> arn) (\s@BillingGroupCostReportElement' {} a -> s {arn = a} :: BillingGroupCostReportElement)++-- | The displayed currency.+billingGroupCostReportElement_currency :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_currency = Lens.lens (\BillingGroupCostReportElement' {currency} -> currency) (\s@BillingGroupCostReportElement' {} a -> s {currency = a} :: BillingGroupCostReportElement)++-- | The billing group margin.+billingGroupCostReportElement_margin :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_margin = Lens.lens (\BillingGroupCostReportElement' {margin} -> margin) (\s@BillingGroupCostReportElement' {} a -> s {margin = a} :: BillingGroupCostReportElement)++-- | The percentage of billing group margin.+billingGroupCostReportElement_marginPercentage :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_marginPercentage = Lens.lens (\BillingGroupCostReportElement' {marginPercentage} -> marginPercentage) (\s@BillingGroupCostReportElement' {} a -> s {marginPercentage = a} :: BillingGroupCostReportElement)++-- | The hypothetical Amazon Web Services charges based on the associated+-- pricing plan of a billing group.+billingGroupCostReportElement_proformaCost :: Lens.Lens' BillingGroupCostReportElement (Prelude.Maybe Prelude.Text)+billingGroupCostReportElement_proformaCost = Lens.lens (\BillingGroupCostReportElement' {proformaCost} -> proformaCost) (\s@BillingGroupCostReportElement' {} a -> s {proformaCost = a} :: BillingGroupCostReportElement)++instance Data.FromJSON BillingGroupCostReportElement where+ parseJSON =+ Data.withObject+ "BillingGroupCostReportElement"+ ( \x ->+ BillingGroupCostReportElement'+ Prelude.<$> (x Data..:? "AWSCost")+ Prelude.<*> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "Currency")+ Prelude.<*> (x Data..:? "Margin")+ Prelude.<*> (x Data..:? "MarginPercentage")+ Prelude.<*> (x Data..:? "ProformaCost")+ )++instance+ Prelude.Hashable+ BillingGroupCostReportElement+ where+ hashWithSalt _salt BillingGroupCostReportElement' {..} =+ _salt+ `Prelude.hashWithSalt` aWSCost+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` currency+ `Prelude.hashWithSalt` margin+ `Prelude.hashWithSalt` marginPercentage+ `Prelude.hashWithSalt` proformaCost++instance Prelude.NFData BillingGroupCostReportElement where+ rnf BillingGroupCostReportElement' {..} =+ Prelude.rnf aWSCost+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf currency+ `Prelude.seq` Prelude.rnf margin+ `Prelude.seq` Prelude.rnf marginPercentage+ `Prelude.seq` Prelude.rnf proformaCost
+ gen/Amazonka/BillingConductor/Types/BillingGroupListElement.hs view
@@ -0,0 +1,184 @@+{-# 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.BillingConductor.Types.BillingGroupListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.BillingGroupListElement where++import Amazonka.BillingConductor.Types.BillingGroupStatus+import Amazonka.BillingConductor.Types.ComputationPreference+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a billing group.+--+-- /See:/ 'newBillingGroupListElement' smart constructor.+data BillingGroupListElement = BillingGroupListElement'+ { -- | The Amazon Resource Number (ARN) that can be used to uniquely identify+ -- the billing group.+ arn :: Prelude.Maybe Prelude.Text,+ computationPreference :: Prelude.Maybe ComputationPreference,+ -- | The time when the billing group was created.+ creationTime :: Prelude.Maybe Prelude.Integer,+ -- | The description of the billing group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the billing group was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of the billing group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The account ID that serves as the main account in a billing group.+ primaryAccountId :: Prelude.Maybe Prelude.Text,+ -- | The number of accounts in the particular billing group.+ size :: Prelude.Maybe Prelude.Natural,+ -- | The billing group status. Only one of the valid values can be used.+ status :: Prelude.Maybe BillingGroupStatus,+ -- | The reason why the billing group is in its current status.+ statusReason :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BillingGroupListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'billingGroupListElement_arn' - The Amazon Resource Number (ARN) that can be used to uniquely identify+-- the billing group.+--+-- 'computationPreference', 'billingGroupListElement_computationPreference' - Undocumented member.+--+-- 'creationTime', 'billingGroupListElement_creationTime' - The time when the billing group was created.+--+-- 'description', 'billingGroupListElement_description' - The description of the billing group.+--+-- 'lastModifiedTime', 'billingGroupListElement_lastModifiedTime' - The most recent time when the billing group was modified.+--+-- 'name', 'billingGroupListElement_name' - The name of the billing group.+--+-- 'primaryAccountId', 'billingGroupListElement_primaryAccountId' - The account ID that serves as the main account in a billing group.+--+-- 'size', 'billingGroupListElement_size' - The number of accounts in the particular billing group.+--+-- 'status', 'billingGroupListElement_status' - The billing group status. Only one of the valid values can be used.+--+-- 'statusReason', 'billingGroupListElement_statusReason' - The reason why the billing group is in its current status.+newBillingGroupListElement ::+ BillingGroupListElement+newBillingGroupListElement =+ BillingGroupListElement'+ { arn = Prelude.Nothing,+ computationPreference = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ primaryAccountId = Prelude.Nothing,+ size = Prelude.Nothing,+ status = Prelude.Nothing,+ statusReason = Prelude.Nothing+ }++-- | The Amazon Resource Number (ARN) that can be used to uniquely identify+-- the billing group.+billingGroupListElement_arn :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Text)+billingGroupListElement_arn = Lens.lens (\BillingGroupListElement' {arn} -> arn) (\s@BillingGroupListElement' {} a -> s {arn = a} :: BillingGroupListElement)++-- | Undocumented member.+billingGroupListElement_computationPreference :: Lens.Lens' BillingGroupListElement (Prelude.Maybe ComputationPreference)+billingGroupListElement_computationPreference = Lens.lens (\BillingGroupListElement' {computationPreference} -> computationPreference) (\s@BillingGroupListElement' {} a -> s {computationPreference = a} :: BillingGroupListElement)++-- | The time when the billing group was created.+billingGroupListElement_creationTime :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Integer)+billingGroupListElement_creationTime = Lens.lens (\BillingGroupListElement' {creationTime} -> creationTime) (\s@BillingGroupListElement' {} a -> s {creationTime = a} :: BillingGroupListElement)++-- | The description of the billing group.+billingGroupListElement_description :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Text)+billingGroupListElement_description = Lens.lens (\BillingGroupListElement' {description} -> description) (\s@BillingGroupListElement' {} a -> s {description = a} :: BillingGroupListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the billing group was modified.+billingGroupListElement_lastModifiedTime :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Integer)+billingGroupListElement_lastModifiedTime = Lens.lens (\BillingGroupListElement' {lastModifiedTime} -> lastModifiedTime) (\s@BillingGroupListElement' {} a -> s {lastModifiedTime = a} :: BillingGroupListElement)++-- | The name of the billing group.+billingGroupListElement_name :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Text)+billingGroupListElement_name = Lens.lens (\BillingGroupListElement' {name} -> name) (\s@BillingGroupListElement' {} a -> s {name = a} :: BillingGroupListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The account ID that serves as the main account in a billing group.+billingGroupListElement_primaryAccountId :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Text)+billingGroupListElement_primaryAccountId = Lens.lens (\BillingGroupListElement' {primaryAccountId} -> primaryAccountId) (\s@BillingGroupListElement' {} a -> s {primaryAccountId = a} :: BillingGroupListElement)++-- | The number of accounts in the particular billing group.+billingGroupListElement_size :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Natural)+billingGroupListElement_size = Lens.lens (\BillingGroupListElement' {size} -> size) (\s@BillingGroupListElement' {} a -> s {size = a} :: BillingGroupListElement)++-- | The billing group status. Only one of the valid values can be used.+billingGroupListElement_status :: Lens.Lens' BillingGroupListElement (Prelude.Maybe BillingGroupStatus)+billingGroupListElement_status = Lens.lens (\BillingGroupListElement' {status} -> status) (\s@BillingGroupListElement' {} a -> s {status = a} :: BillingGroupListElement)++-- | The reason why the billing group is in its current status.+billingGroupListElement_statusReason :: Lens.Lens' BillingGroupListElement (Prelude.Maybe Prelude.Text)+billingGroupListElement_statusReason = Lens.lens (\BillingGroupListElement' {statusReason} -> statusReason) (\s@BillingGroupListElement' {} a -> s {statusReason = a} :: BillingGroupListElement)++instance Data.FromJSON BillingGroupListElement where+ parseJSON =+ Data.withObject+ "BillingGroupListElement"+ ( \x ->+ BillingGroupListElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "ComputationPreference")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "PrimaryAccountId")+ Prelude.<*> (x Data..:? "Size")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusReason")+ )++instance Prelude.Hashable BillingGroupListElement where+ hashWithSalt _salt BillingGroupListElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` computationPreference+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` primaryAccountId+ `Prelude.hashWithSalt` size+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusReason++instance Prelude.NFData BillingGroupListElement where+ rnf BillingGroupListElement' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf computationPreference+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf primaryAccountId+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusReason
+ gen/Amazonka/BillingConductor/Types/BillingGroupStatus.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.BillingConductor.Types.BillingGroupStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.BillingGroupStatus+ ( BillingGroupStatus+ ( ..,+ BillingGroupStatus_ACTIVE,+ BillingGroupStatus_PRIMARY_ACCOUNT_MISSING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BillingGroupStatus = BillingGroupStatus'+ { fromBillingGroupStatus ::+ 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 BillingGroupStatus_ACTIVE :: BillingGroupStatus+pattern BillingGroupStatus_ACTIVE = BillingGroupStatus' "ACTIVE"++pattern BillingGroupStatus_PRIMARY_ACCOUNT_MISSING :: BillingGroupStatus+pattern BillingGroupStatus_PRIMARY_ACCOUNT_MISSING = BillingGroupStatus' "PRIMARY_ACCOUNT_MISSING"++{-# COMPLETE+ BillingGroupStatus_ACTIVE,+ BillingGroupStatus_PRIMARY_ACCOUNT_MISSING,+ BillingGroupStatus'+ #-}
+ gen/Amazonka/BillingConductor/Types/ComputationPreference.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ComputationPreference+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ComputationPreference where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The preferences and settings that will be used to compute the Amazon Web+-- Services charges for a billing group.+--+-- /See:/ 'newComputationPreference' smart constructor.+data ComputationPreference = ComputationPreference'+ { -- | The Amazon Resource Name (ARN) of the pricing plan that\'s used to+ -- compute the Amazon Web Services charges for a billing group.+ pricingPlanArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComputationPreference' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlanArn', 'computationPreference_pricingPlanArn' - The Amazon Resource Name (ARN) of the pricing plan that\'s used to+-- compute the Amazon Web Services charges for a billing group.+newComputationPreference ::+ -- | 'pricingPlanArn'+ Prelude.Text ->+ ComputationPreference+newComputationPreference pPricingPlanArn_ =+ ComputationPreference'+ { pricingPlanArn =+ pPricingPlanArn_+ }++-- | The Amazon Resource Name (ARN) of the pricing plan that\'s used to+-- compute the Amazon Web Services charges for a billing group.+computationPreference_pricingPlanArn :: Lens.Lens' ComputationPreference Prelude.Text+computationPreference_pricingPlanArn = Lens.lens (\ComputationPreference' {pricingPlanArn} -> pricingPlanArn) (\s@ComputationPreference' {} a -> s {pricingPlanArn = a} :: ComputationPreference)++instance Data.FromJSON ComputationPreference where+ parseJSON =+ Data.withObject+ "ComputationPreference"+ ( \x ->+ ComputationPreference'+ Prelude.<$> (x Data..: "PricingPlanArn")+ )++instance Prelude.Hashable ComputationPreference where+ hashWithSalt _salt ComputationPreference' {..} =+ _salt `Prelude.hashWithSalt` pricingPlanArn++instance Prelude.NFData ComputationPreference where+ rnf ComputationPreference' {..} =+ Prelude.rnf pricingPlanArn++instance Data.ToJSON ComputationPreference where+ toJSON ComputationPreference' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("PricingPlanArn" Data..= pricingPlanArn)+ ]+ )
+ gen/Amazonka/BillingConductor/Types/CreateFreeTierConfig.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CreateFreeTierConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CreateFreeTierConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The possible Amazon Web Services Free Tier configurations.+--+-- /See:/ 'newCreateFreeTierConfig' smart constructor.+data CreateFreeTierConfig = CreateFreeTierConfig'+ { -- | Activate or deactivate Amazon Web Services Free Tier.+ activated :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFreeTierConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activated', 'createFreeTierConfig_activated' - Activate or deactivate Amazon Web Services Free Tier.+newCreateFreeTierConfig ::+ -- | 'activated'+ Prelude.Bool ->+ CreateFreeTierConfig+newCreateFreeTierConfig pActivated_ =+ CreateFreeTierConfig' {activated = pActivated_}++-- | Activate or deactivate Amazon Web Services Free Tier.+createFreeTierConfig_activated :: Lens.Lens' CreateFreeTierConfig Prelude.Bool+createFreeTierConfig_activated = Lens.lens (\CreateFreeTierConfig' {activated} -> activated) (\s@CreateFreeTierConfig' {} a -> s {activated = a} :: CreateFreeTierConfig)++instance Prelude.Hashable CreateFreeTierConfig where+ hashWithSalt _salt CreateFreeTierConfig' {..} =+ _salt `Prelude.hashWithSalt` activated++instance Prelude.NFData CreateFreeTierConfig where+ rnf CreateFreeTierConfig' {..} = Prelude.rnf activated++instance Data.ToJSON CreateFreeTierConfig where+ toJSON CreateFreeTierConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Activated" Data..= activated)]+ )
+ gen/Amazonka/BillingConductor/Types/CreateTieringInput.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CreateTieringInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CreateTieringInput where++import Amazonka.BillingConductor.Types.CreateFreeTierConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The set of tiering configurations for the pricing rule.+--+-- /See:/ 'newCreateTieringInput' smart constructor.+data CreateTieringInput = CreateTieringInput'+ { -- | The possible Amazon Web Services Free Tier configurations.+ freeTier :: CreateFreeTierConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTieringInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeTier', 'createTieringInput_freeTier' - The possible Amazon Web Services Free Tier configurations.+newCreateTieringInput ::+ -- | 'freeTier'+ CreateFreeTierConfig ->+ CreateTieringInput+newCreateTieringInput pFreeTier_ =+ CreateTieringInput' {freeTier = pFreeTier_}++-- | The possible Amazon Web Services Free Tier configurations.+createTieringInput_freeTier :: Lens.Lens' CreateTieringInput CreateFreeTierConfig+createTieringInput_freeTier = Lens.lens (\CreateTieringInput' {freeTier} -> freeTier) (\s@CreateTieringInput' {} a -> s {freeTier = a} :: CreateTieringInput)++instance Prelude.Hashable CreateTieringInput where+ hashWithSalt _salt CreateTieringInput' {..} =+ _salt `Prelude.hashWithSalt` freeTier++instance Prelude.NFData CreateTieringInput where+ rnf CreateTieringInput' {..} = Prelude.rnf freeTier++instance Data.ToJSON CreateTieringInput where+ toJSON CreateTieringInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("FreeTier" Data..= freeTier)]+ )
+ gen/Amazonka/BillingConductor/Types/CurrencyCode.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.BillingConductor.Types.CurrencyCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CurrencyCode+ ( CurrencyCode+ ( ..,+ CurrencyCode_CNY,+ CurrencyCode_USD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CurrencyCode = CurrencyCode'+ { fromCurrencyCode ::+ 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 CurrencyCode_CNY :: CurrencyCode+pattern CurrencyCode_CNY = CurrencyCode' "CNY"++pattern CurrencyCode_USD :: CurrencyCode+pattern CurrencyCode_USD = CurrencyCode' "USD"++{-# COMPLETE+ CurrencyCode_CNY,+ CurrencyCode_USD,+ CurrencyCode'+ #-}
+ gen/Amazonka/BillingConductor/Types/CustomLineItemBillingPeriodRange.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CustomLineItemBillingPeriodRange+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemBillingPeriodRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The billing period range in which the custom line item request will be+-- applied.+--+-- /See:/ 'newCustomLineItemBillingPeriodRange' smart constructor.+data CustomLineItemBillingPeriodRange = CustomLineItemBillingPeriodRange'+ { -- | The inclusive end billing period that defines a billing period range+ -- where a custom line is applied.+ exclusiveEndBillingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The inclusive start billing period that defines a billing period range+ -- where a custom line is applied.+ inclusiveStartBillingPeriod :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemBillingPeriodRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exclusiveEndBillingPeriod', 'customLineItemBillingPeriodRange_exclusiveEndBillingPeriod' - The inclusive end billing period that defines a billing period range+-- where a custom line is applied.+--+-- 'inclusiveStartBillingPeriod', 'customLineItemBillingPeriodRange_inclusiveStartBillingPeriod' - The inclusive start billing period that defines a billing period range+-- where a custom line is applied.+newCustomLineItemBillingPeriodRange ::+ -- | 'inclusiveStartBillingPeriod'+ Prelude.Text ->+ CustomLineItemBillingPeriodRange+newCustomLineItemBillingPeriodRange+ pInclusiveStartBillingPeriod_ =+ CustomLineItemBillingPeriodRange'+ { exclusiveEndBillingPeriod =+ Prelude.Nothing,+ inclusiveStartBillingPeriod =+ pInclusiveStartBillingPeriod_+ }++-- | The inclusive end billing period that defines a billing period range+-- where a custom line is applied.+customLineItemBillingPeriodRange_exclusiveEndBillingPeriod :: Lens.Lens' CustomLineItemBillingPeriodRange (Prelude.Maybe Prelude.Text)+customLineItemBillingPeriodRange_exclusiveEndBillingPeriod = Lens.lens (\CustomLineItemBillingPeriodRange' {exclusiveEndBillingPeriod} -> exclusiveEndBillingPeriod) (\s@CustomLineItemBillingPeriodRange' {} a -> s {exclusiveEndBillingPeriod = a} :: CustomLineItemBillingPeriodRange)++-- | The inclusive start billing period that defines a billing period range+-- where a custom line is applied.+customLineItemBillingPeriodRange_inclusiveStartBillingPeriod :: Lens.Lens' CustomLineItemBillingPeriodRange Prelude.Text+customLineItemBillingPeriodRange_inclusiveStartBillingPeriod = Lens.lens (\CustomLineItemBillingPeriodRange' {inclusiveStartBillingPeriod} -> inclusiveStartBillingPeriod) (\s@CustomLineItemBillingPeriodRange' {} a -> s {inclusiveStartBillingPeriod = a} :: CustomLineItemBillingPeriodRange)++instance+ Prelude.Hashable+ CustomLineItemBillingPeriodRange+ where+ hashWithSalt+ _salt+ CustomLineItemBillingPeriodRange' {..} =+ _salt+ `Prelude.hashWithSalt` exclusiveEndBillingPeriod+ `Prelude.hashWithSalt` inclusiveStartBillingPeriod++instance+ Prelude.NFData+ CustomLineItemBillingPeriodRange+ where+ rnf CustomLineItemBillingPeriodRange' {..} =+ Prelude.rnf exclusiveEndBillingPeriod+ `Prelude.seq` Prelude.rnf inclusiveStartBillingPeriod++instance Data.ToJSON CustomLineItemBillingPeriodRange where+ toJSON CustomLineItemBillingPeriodRange' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ExclusiveEndBillingPeriod" Data..=)+ Prelude.<$> exclusiveEndBillingPeriod,+ Prelude.Just+ ( "InclusiveStartBillingPeriod"+ Data..= inclusiveStartBillingPeriod+ )+ ]+ )
+ gen/Amazonka/BillingConductor/Types/CustomLineItemChargeDetails.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CustomLineItemChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemChargeDetails where++import Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails+import Amazonka.BillingConductor.Types.CustomLineItemType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The charge details of a custom line item. It should contain only one of+-- @Flat@ or @Percentage@.+--+-- /See:/ 'newCustomLineItemChargeDetails' smart constructor.+data CustomLineItemChargeDetails = CustomLineItemChargeDetails'+ { -- | A @CustomLineItemFlatChargeDetails@ that describes the charge details of+ -- a flat custom line item.+ flat :: Prelude.Maybe CustomLineItemFlatChargeDetails,+ -- | A @CustomLineItemPercentageChargeDetails@ that describes the charge+ -- details of a percentage custom line item.+ percentage :: Prelude.Maybe CustomLineItemPercentageChargeDetails,+ -- | The type of the custom line item that indicates whether the charge is a+ -- fee or credit.+ type' :: CustomLineItemType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flat', 'customLineItemChargeDetails_flat' - A @CustomLineItemFlatChargeDetails@ that describes the charge details of+-- a flat custom line item.+--+-- 'percentage', 'customLineItemChargeDetails_percentage' - A @CustomLineItemPercentageChargeDetails@ that describes the charge+-- details of a percentage custom line item.+--+-- 'type'', 'customLineItemChargeDetails_type' - The type of the custom line item that indicates whether the charge is a+-- fee or credit.+newCustomLineItemChargeDetails ::+ -- | 'type''+ CustomLineItemType ->+ CustomLineItemChargeDetails+newCustomLineItemChargeDetails pType_ =+ CustomLineItemChargeDetails'+ { flat =+ Prelude.Nothing,+ percentage = Prelude.Nothing,+ type' = pType_+ }++-- | A @CustomLineItemFlatChargeDetails@ that describes the charge details of+-- a flat custom line item.+customLineItemChargeDetails_flat :: Lens.Lens' CustomLineItemChargeDetails (Prelude.Maybe CustomLineItemFlatChargeDetails)+customLineItemChargeDetails_flat = Lens.lens (\CustomLineItemChargeDetails' {flat} -> flat) (\s@CustomLineItemChargeDetails' {} a -> s {flat = a} :: CustomLineItemChargeDetails)++-- | A @CustomLineItemPercentageChargeDetails@ that describes the charge+-- details of a percentage custom line item.+customLineItemChargeDetails_percentage :: Lens.Lens' CustomLineItemChargeDetails (Prelude.Maybe CustomLineItemPercentageChargeDetails)+customLineItemChargeDetails_percentage = Lens.lens (\CustomLineItemChargeDetails' {percentage} -> percentage) (\s@CustomLineItemChargeDetails' {} a -> s {percentage = a} :: CustomLineItemChargeDetails)++-- | The type of the custom line item that indicates whether the charge is a+-- fee or credit.+customLineItemChargeDetails_type :: Lens.Lens' CustomLineItemChargeDetails CustomLineItemType+customLineItemChargeDetails_type = Lens.lens (\CustomLineItemChargeDetails' {type'} -> type') (\s@CustomLineItemChargeDetails' {} a -> s {type' = a} :: CustomLineItemChargeDetails)++instance Prelude.Hashable CustomLineItemChargeDetails where+ hashWithSalt _salt CustomLineItemChargeDetails' {..} =+ _salt+ `Prelude.hashWithSalt` flat+ `Prelude.hashWithSalt` percentage+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CustomLineItemChargeDetails where+ rnf CustomLineItemChargeDetails' {..} =+ Prelude.rnf flat+ `Prelude.seq` Prelude.rnf percentage+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON CustomLineItemChargeDetails where+ toJSON CustomLineItemChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Flat" Data..=) Prelude.<$> flat,+ ("Percentage" Data..=) Prelude.<$> percentage,+ Prelude.Just ("Type" Data..= type')+ ]+ )
+ gen/Amazonka/BillingConductor/Types/CustomLineItemFlatChargeDetails.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemFlatChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the charge details that are associated with a flat+-- custom line item.+--+-- /See:/ 'newCustomLineItemFlatChargeDetails' smart constructor.+data CustomLineItemFlatChargeDetails = CustomLineItemFlatChargeDetails'+ { -- | The custom line item\'s fixed charge value in USD.+ chargeValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemFlatChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chargeValue', 'customLineItemFlatChargeDetails_chargeValue' - The custom line item\'s fixed charge value in USD.+newCustomLineItemFlatChargeDetails ::+ -- | 'chargeValue'+ Prelude.Double ->+ CustomLineItemFlatChargeDetails+newCustomLineItemFlatChargeDetails pChargeValue_ =+ CustomLineItemFlatChargeDetails'+ { chargeValue =+ pChargeValue_+ }++-- | The custom line item\'s fixed charge value in USD.+customLineItemFlatChargeDetails_chargeValue :: Lens.Lens' CustomLineItemFlatChargeDetails Prelude.Double+customLineItemFlatChargeDetails_chargeValue = Lens.lens (\CustomLineItemFlatChargeDetails' {chargeValue} -> chargeValue) (\s@CustomLineItemFlatChargeDetails' {} a -> s {chargeValue = a} :: CustomLineItemFlatChargeDetails)++instance+ Prelude.Hashable+ CustomLineItemFlatChargeDetails+ where+ hashWithSalt+ _salt+ CustomLineItemFlatChargeDetails' {..} =+ _salt `Prelude.hashWithSalt` chargeValue++instance+ Prelude.NFData+ CustomLineItemFlatChargeDetails+ where+ rnf CustomLineItemFlatChargeDetails' {..} =+ Prelude.rnf chargeValue++instance Data.ToJSON CustomLineItemFlatChargeDetails where+ toJSON CustomLineItemFlatChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ChargeValue" Data..= chargeValue)]+ )
+ gen/Amazonka/BillingConductor/Types/CustomLineItemListElement.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CustomLineItemListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemListElement where++import Amazonka.BillingConductor.Types.CurrencyCode+import Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a custom line item.+--+-- /See:/ 'newCustomLineItemListElement' smart constructor.+data CustomLineItemListElement = CustomLineItemListElement'+ { -- | The Amazon Resource Names (ARNs) for custom line items.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The number of resources that are associated to the custom line item.+ associationSize :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) that references the billing group where+ -- the custom line item applies to.+ billingGroupArn :: Prelude.Maybe Prelude.Text,+ -- | A @ListCustomLineItemChargeDetails@ that describes the charge details of+ -- a custom line item.+ chargeDetails :: Prelude.Maybe ListCustomLineItemChargeDetails,+ -- | The time created.+ creationTime :: Prelude.Maybe Prelude.Integer,+ -- | The custom line item\'s charge value currency. Only one of the valid+ -- values can be used.+ currencyCode :: Prelude.Maybe CurrencyCode,+ -- | The custom line item\'s description. This is shown on the Bills page in+ -- association with the charge value.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the custom line item was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The custom line item\'s name.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The product code that\'s associated with the custom line item.+ productCode :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'customLineItemListElement_arn' - The Amazon Resource Names (ARNs) for custom line items.+--+-- 'associationSize', 'customLineItemListElement_associationSize' - The number of resources that are associated to the custom line item.+--+-- 'billingGroupArn', 'customLineItemListElement_billingGroupArn' - The Amazon Resource Name (ARN) that references the billing group where+-- the custom line item applies to.+--+-- 'chargeDetails', 'customLineItemListElement_chargeDetails' - A @ListCustomLineItemChargeDetails@ that describes the charge details of+-- a custom line item.+--+-- 'creationTime', 'customLineItemListElement_creationTime' - The time created.+--+-- 'currencyCode', 'customLineItemListElement_currencyCode' - The custom line item\'s charge value currency. Only one of the valid+-- values can be used.+--+-- 'description', 'customLineItemListElement_description' - The custom line item\'s description. This is shown on the Bills page in+-- association with the charge value.+--+-- 'lastModifiedTime', 'customLineItemListElement_lastModifiedTime' - The most recent time when the custom line item was modified.+--+-- 'name', 'customLineItemListElement_name' - The custom line item\'s name.+--+-- 'productCode', 'customLineItemListElement_productCode' - The product code that\'s associated with the custom line item.+newCustomLineItemListElement ::+ CustomLineItemListElement+newCustomLineItemListElement =+ CustomLineItemListElement'+ { arn = Prelude.Nothing,+ associationSize = Prelude.Nothing,+ billingGroupArn = Prelude.Nothing,+ chargeDetails = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ currencyCode = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ productCode = Prelude.Nothing+ }++-- | The Amazon Resource Names (ARNs) for custom line items.+customLineItemListElement_arn :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Text)+customLineItemListElement_arn = Lens.lens (\CustomLineItemListElement' {arn} -> arn) (\s@CustomLineItemListElement' {} a -> s {arn = a} :: CustomLineItemListElement)++-- | The number of resources that are associated to the custom line item.+customLineItemListElement_associationSize :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Natural)+customLineItemListElement_associationSize = Lens.lens (\CustomLineItemListElement' {associationSize} -> associationSize) (\s@CustomLineItemListElement' {} a -> s {associationSize = a} :: CustomLineItemListElement)++-- | The Amazon Resource Name (ARN) that references the billing group where+-- the custom line item applies to.+customLineItemListElement_billingGroupArn :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Text)+customLineItemListElement_billingGroupArn = Lens.lens (\CustomLineItemListElement' {billingGroupArn} -> billingGroupArn) (\s@CustomLineItemListElement' {} a -> s {billingGroupArn = a} :: CustomLineItemListElement)++-- | A @ListCustomLineItemChargeDetails@ that describes the charge details of+-- a custom line item.+customLineItemListElement_chargeDetails :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe ListCustomLineItemChargeDetails)+customLineItemListElement_chargeDetails = Lens.lens (\CustomLineItemListElement' {chargeDetails} -> chargeDetails) (\s@CustomLineItemListElement' {} a -> s {chargeDetails = a} :: CustomLineItemListElement)++-- | The time created.+customLineItemListElement_creationTime :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Integer)+customLineItemListElement_creationTime = Lens.lens (\CustomLineItemListElement' {creationTime} -> creationTime) (\s@CustomLineItemListElement' {} a -> s {creationTime = a} :: CustomLineItemListElement)++-- | The custom line item\'s charge value currency. Only one of the valid+-- values can be used.+customLineItemListElement_currencyCode :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe CurrencyCode)+customLineItemListElement_currencyCode = Lens.lens (\CustomLineItemListElement' {currencyCode} -> currencyCode) (\s@CustomLineItemListElement' {} a -> s {currencyCode = a} :: CustomLineItemListElement)++-- | The custom line item\'s description. This is shown on the Bills page in+-- association with the charge value.+customLineItemListElement_description :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Text)+customLineItemListElement_description = Lens.lens (\CustomLineItemListElement' {description} -> description) (\s@CustomLineItemListElement' {} a -> s {description = a} :: CustomLineItemListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the custom line item was modified.+customLineItemListElement_lastModifiedTime :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Integer)+customLineItemListElement_lastModifiedTime = Lens.lens (\CustomLineItemListElement' {lastModifiedTime} -> lastModifiedTime) (\s@CustomLineItemListElement' {} a -> s {lastModifiedTime = a} :: CustomLineItemListElement)++-- | The custom line item\'s name.+customLineItemListElement_name :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Text)+customLineItemListElement_name = Lens.lens (\CustomLineItemListElement' {name} -> name) (\s@CustomLineItemListElement' {} a -> s {name = a} :: CustomLineItemListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The product code that\'s associated with the custom line item.+customLineItemListElement_productCode :: Lens.Lens' CustomLineItemListElement (Prelude.Maybe Prelude.Text)+customLineItemListElement_productCode = Lens.lens (\CustomLineItemListElement' {productCode} -> productCode) (\s@CustomLineItemListElement' {} a -> s {productCode = a} :: CustomLineItemListElement)++instance Data.FromJSON CustomLineItemListElement where+ parseJSON =+ Data.withObject+ "CustomLineItemListElement"+ ( \x ->+ CustomLineItemListElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "AssociationSize")+ Prelude.<*> (x Data..:? "BillingGroupArn")+ Prelude.<*> (x Data..:? "ChargeDetails")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CurrencyCode")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ProductCode")+ )++instance Prelude.Hashable CustomLineItemListElement where+ hashWithSalt _salt CustomLineItemListElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` associationSize+ `Prelude.hashWithSalt` billingGroupArn+ `Prelude.hashWithSalt` chargeDetails+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` currencyCode+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` productCode++instance Prelude.NFData CustomLineItemListElement where+ rnf CustomLineItemListElement' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associationSize+ `Prelude.seq` Prelude.rnf billingGroupArn+ `Prelude.seq` Prelude.rnf chargeDetails+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf currencyCode+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf productCode
+ gen/Amazonka/BillingConductor/Types/CustomLineItemPercentageChargeDetails.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemPercentageChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the charge details that are associated with a+-- percentage custom line item.+--+-- /See:/ 'newCustomLineItemPercentageChargeDetails' smart constructor.+data CustomLineItemPercentageChargeDetails = CustomLineItemPercentageChargeDetails'+ { -- | A list of resource ARNs to associate to the percentage custom line item.+ associatedValues :: Prelude.Maybe [Prelude.Text],+ -- | The custom line item\'s percentage value. This will be multiplied+ -- against the combined value of its associated resources to determine its+ -- charge value.+ percentageValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemPercentageChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associatedValues', 'customLineItemPercentageChargeDetails_associatedValues' - A list of resource ARNs to associate to the percentage custom line item.+--+-- 'percentageValue', 'customLineItemPercentageChargeDetails_percentageValue' - The custom line item\'s percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+newCustomLineItemPercentageChargeDetails ::+ -- | 'percentageValue'+ Prelude.Double ->+ CustomLineItemPercentageChargeDetails+newCustomLineItemPercentageChargeDetails+ pPercentageValue_ =+ CustomLineItemPercentageChargeDetails'+ { associatedValues =+ Prelude.Nothing,+ percentageValue = pPercentageValue_+ }++-- | A list of resource ARNs to associate to the percentage custom line item.+customLineItemPercentageChargeDetails_associatedValues :: Lens.Lens' CustomLineItemPercentageChargeDetails (Prelude.Maybe [Prelude.Text])+customLineItemPercentageChargeDetails_associatedValues = Lens.lens (\CustomLineItemPercentageChargeDetails' {associatedValues} -> associatedValues) (\s@CustomLineItemPercentageChargeDetails' {} a -> s {associatedValues = a} :: CustomLineItemPercentageChargeDetails) Prelude.. Lens.mapping Lens.coerced++-- | The custom line item\'s percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+customLineItemPercentageChargeDetails_percentageValue :: Lens.Lens' CustomLineItemPercentageChargeDetails Prelude.Double+customLineItemPercentageChargeDetails_percentageValue = Lens.lens (\CustomLineItemPercentageChargeDetails' {percentageValue} -> percentageValue) (\s@CustomLineItemPercentageChargeDetails' {} a -> s {percentageValue = a} :: CustomLineItemPercentageChargeDetails)++instance+ Prelude.Hashable+ CustomLineItemPercentageChargeDetails+ where+ hashWithSalt+ _salt+ CustomLineItemPercentageChargeDetails' {..} =+ _salt+ `Prelude.hashWithSalt` associatedValues+ `Prelude.hashWithSalt` percentageValue++instance+ Prelude.NFData+ CustomLineItemPercentageChargeDetails+ where+ rnf CustomLineItemPercentageChargeDetails' {..} =+ Prelude.rnf associatedValues+ `Prelude.seq` Prelude.rnf percentageValue++instance+ Data.ToJSON+ CustomLineItemPercentageChargeDetails+ where+ toJSON CustomLineItemPercentageChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AssociatedValues" Data..=)+ Prelude.<$> associatedValues,+ Prelude.Just+ ("PercentageValue" Data..= percentageValue)+ ]+ )
+ gen/Amazonka/BillingConductor/Types/CustomLineItemRelationship.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.BillingConductor.Types.CustomLineItemRelationship+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemRelationship+ ( CustomLineItemRelationship+ ( ..,+ CustomLineItemRelationship_CHILD,+ CustomLineItemRelationship_PARENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomLineItemRelationship = CustomLineItemRelationship'+ { fromCustomLineItemRelationship ::+ 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 CustomLineItemRelationship_CHILD :: CustomLineItemRelationship+pattern CustomLineItemRelationship_CHILD = CustomLineItemRelationship' "CHILD"++pattern CustomLineItemRelationship_PARENT :: CustomLineItemRelationship+pattern CustomLineItemRelationship_PARENT = CustomLineItemRelationship' "PARENT"++{-# COMPLETE+ CustomLineItemRelationship_CHILD,+ CustomLineItemRelationship_PARENT,+ CustomLineItemRelationship'+ #-}
+ gen/Amazonka/BillingConductor/Types/CustomLineItemType.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.BillingConductor.Types.CustomLineItemType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemType+ ( CustomLineItemType+ ( ..,+ CustomLineItemType_CREDIT,+ CustomLineItemType_FEE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomLineItemType = CustomLineItemType'+ { fromCustomLineItemType ::+ 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 CustomLineItemType_CREDIT :: CustomLineItemType+pattern CustomLineItemType_CREDIT = CustomLineItemType' "CREDIT"++pattern CustomLineItemType_FEE :: CustomLineItemType+pattern CustomLineItemType_FEE = CustomLineItemType' "FEE"++{-# COMPLETE+ CustomLineItemType_CREDIT,+ CustomLineItemType_FEE,+ CustomLineItemType'+ #-}
+ gen/Amazonka/BillingConductor/Types/CustomLineItemVersionListElement.hs view
@@ -0,0 +1,208 @@+{-# 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.BillingConductor.Types.CustomLineItemVersionListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.CustomLineItemVersionListElement where++import Amazonka.BillingConductor.Types.CurrencyCode+import Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a custom line item version.+--+-- /See:/ 'newCustomLineItemVersionListElement' smart constructor.+data CustomLineItemVersionListElement = CustomLineItemVersionListElement'+ { -- | The number of resources that are associated with the custom line item.+ associationSize :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of the billing group that the custom line+ -- item applies to.+ billingGroupArn :: Prelude.Maybe Prelude.Text,+ chargeDetails :: Prelude.Maybe ListCustomLineItemChargeDetails,+ -- | The time when the custom line item version was created.+ creationTime :: Prelude.Maybe Prelude.Integer,+ -- | The charge value currency of the custom line item.+ currencyCode :: Prelude.Maybe CurrencyCode,+ -- | The description of the custom line item.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The end billing period of the custom line item version.+ endBillingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The most recent time that the custom line item version was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of the custom line item.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The product code that’s associated with the custom line item.+ productCode :: Prelude.Maybe Prelude.Text,+ -- | The start billing period of the custom line item version.+ startBillingPeriod :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomLineItemVersionListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationSize', 'customLineItemVersionListElement_associationSize' - The number of resources that are associated with the custom line item.+--+-- 'billingGroupArn', 'customLineItemVersionListElement_billingGroupArn' - The Amazon Resource Name (ARN) of the billing group that the custom line+-- item applies to.+--+-- 'chargeDetails', 'customLineItemVersionListElement_chargeDetails' - Undocumented member.+--+-- 'creationTime', 'customLineItemVersionListElement_creationTime' - The time when the custom line item version was created.+--+-- 'currencyCode', 'customLineItemVersionListElement_currencyCode' - The charge value currency of the custom line item.+--+-- 'description', 'customLineItemVersionListElement_description' - The description of the custom line item.+--+-- 'endBillingPeriod', 'customLineItemVersionListElement_endBillingPeriod' - The end billing period of the custom line item version.+--+-- 'lastModifiedTime', 'customLineItemVersionListElement_lastModifiedTime' - The most recent time that the custom line item version was modified.+--+-- 'name', 'customLineItemVersionListElement_name' - The name of the custom line item.+--+-- 'productCode', 'customLineItemVersionListElement_productCode' - The product code that’s associated with the custom line item.+--+-- 'startBillingPeriod', 'customLineItemVersionListElement_startBillingPeriod' - The start billing period of the custom line item version.+newCustomLineItemVersionListElement ::+ CustomLineItemVersionListElement+newCustomLineItemVersionListElement =+ CustomLineItemVersionListElement'+ { associationSize =+ Prelude.Nothing,+ billingGroupArn = Prelude.Nothing,+ chargeDetails = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ currencyCode = Prelude.Nothing,+ description = Prelude.Nothing,+ endBillingPeriod = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ productCode = Prelude.Nothing,+ startBillingPeriod = Prelude.Nothing+ }++-- | The number of resources that are associated with the custom line item.+customLineItemVersionListElement_associationSize :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Natural)+customLineItemVersionListElement_associationSize = Lens.lens (\CustomLineItemVersionListElement' {associationSize} -> associationSize) (\s@CustomLineItemVersionListElement' {} a -> s {associationSize = a} :: CustomLineItemVersionListElement)++-- | The Amazon Resource Name (ARN) of the billing group that the custom line+-- item applies to.+customLineItemVersionListElement_billingGroupArn :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_billingGroupArn = Lens.lens (\CustomLineItemVersionListElement' {billingGroupArn} -> billingGroupArn) (\s@CustomLineItemVersionListElement' {} a -> s {billingGroupArn = a} :: CustomLineItemVersionListElement)++-- | Undocumented member.+customLineItemVersionListElement_chargeDetails :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe ListCustomLineItemChargeDetails)+customLineItemVersionListElement_chargeDetails = Lens.lens (\CustomLineItemVersionListElement' {chargeDetails} -> chargeDetails) (\s@CustomLineItemVersionListElement' {} a -> s {chargeDetails = a} :: CustomLineItemVersionListElement)++-- | The time when the custom line item version was created.+customLineItemVersionListElement_creationTime :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Integer)+customLineItemVersionListElement_creationTime = Lens.lens (\CustomLineItemVersionListElement' {creationTime} -> creationTime) (\s@CustomLineItemVersionListElement' {} a -> s {creationTime = a} :: CustomLineItemVersionListElement)++-- | The charge value currency of the custom line item.+customLineItemVersionListElement_currencyCode :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe CurrencyCode)+customLineItemVersionListElement_currencyCode = Lens.lens (\CustomLineItemVersionListElement' {currencyCode} -> currencyCode) (\s@CustomLineItemVersionListElement' {} a -> s {currencyCode = a} :: CustomLineItemVersionListElement)++-- | The description of the custom line item.+customLineItemVersionListElement_description :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_description = Lens.lens (\CustomLineItemVersionListElement' {description} -> description) (\s@CustomLineItemVersionListElement' {} a -> s {description = a} :: CustomLineItemVersionListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The end billing period of the custom line item version.+customLineItemVersionListElement_endBillingPeriod :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_endBillingPeriod = Lens.lens (\CustomLineItemVersionListElement' {endBillingPeriod} -> endBillingPeriod) (\s@CustomLineItemVersionListElement' {} a -> s {endBillingPeriod = a} :: CustomLineItemVersionListElement)++-- | The most recent time that the custom line item version was modified.+customLineItemVersionListElement_lastModifiedTime :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Integer)+customLineItemVersionListElement_lastModifiedTime = Lens.lens (\CustomLineItemVersionListElement' {lastModifiedTime} -> lastModifiedTime) (\s@CustomLineItemVersionListElement' {} a -> s {lastModifiedTime = a} :: CustomLineItemVersionListElement)++-- | The name of the custom line item.+customLineItemVersionListElement_name :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_name = Lens.lens (\CustomLineItemVersionListElement' {name} -> name) (\s@CustomLineItemVersionListElement' {} a -> s {name = a} :: CustomLineItemVersionListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The product code that’s associated with the custom line item.+customLineItemVersionListElement_productCode :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_productCode = Lens.lens (\CustomLineItemVersionListElement' {productCode} -> productCode) (\s@CustomLineItemVersionListElement' {} a -> s {productCode = a} :: CustomLineItemVersionListElement)++-- | The start billing period of the custom line item version.+customLineItemVersionListElement_startBillingPeriod :: Lens.Lens' CustomLineItemVersionListElement (Prelude.Maybe Prelude.Text)+customLineItemVersionListElement_startBillingPeriod = Lens.lens (\CustomLineItemVersionListElement' {startBillingPeriod} -> startBillingPeriod) (\s@CustomLineItemVersionListElement' {} a -> s {startBillingPeriod = a} :: CustomLineItemVersionListElement)++instance+ Data.FromJSON+ CustomLineItemVersionListElement+ where+ parseJSON =+ Data.withObject+ "CustomLineItemVersionListElement"+ ( \x ->+ CustomLineItemVersionListElement'+ Prelude.<$> (x Data..:? "AssociationSize")+ Prelude.<*> (x Data..:? "BillingGroupArn")+ Prelude.<*> (x Data..:? "ChargeDetails")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "CurrencyCode")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "EndBillingPeriod")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ProductCode")+ Prelude.<*> (x Data..:? "StartBillingPeriod")+ )++instance+ Prelude.Hashable+ CustomLineItemVersionListElement+ where+ hashWithSalt+ _salt+ CustomLineItemVersionListElement' {..} =+ _salt+ `Prelude.hashWithSalt` associationSize+ `Prelude.hashWithSalt` billingGroupArn+ `Prelude.hashWithSalt` chargeDetails+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` currencyCode+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` endBillingPeriod+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` productCode+ `Prelude.hashWithSalt` startBillingPeriod++instance+ Prelude.NFData+ CustomLineItemVersionListElement+ where+ rnf CustomLineItemVersionListElement' {..} =+ Prelude.rnf associationSize+ `Prelude.seq` Prelude.rnf billingGroupArn+ `Prelude.seq` Prelude.rnf chargeDetails+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf currencyCode+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf endBillingPeriod+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf productCode+ `Prelude.seq` Prelude.rnf startBillingPeriod
+ gen/Amazonka/BillingConductor/Types/DisassociateResourceResponseElement.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.DisassociateResourceResponseElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.DisassociateResourceResponseElement where++import Amazonka.BillingConductor.Types.AssociateResourceError+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A resource disassociation result for a percentage custom line item.+--+-- /See:/ 'newDisassociateResourceResponseElement' smart constructor.+data DisassociateResourceResponseElement = DisassociateResourceResponseElement'+ { -- | The resource ARN that was disassociated from the custom line item.+ arn :: Prelude.Maybe Prelude.Text,+ -- | An @AssociateResourceError@ that\'s shown if the resource disassociation+ -- fails.+ error :: Prelude.Maybe AssociateResourceError+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResourceResponseElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateResourceResponseElement_arn' - The resource ARN that was disassociated from the custom line item.+--+-- 'error', 'disassociateResourceResponseElement_error' - An @AssociateResourceError@ that\'s shown if the resource disassociation+-- fails.+newDisassociateResourceResponseElement ::+ DisassociateResourceResponseElement+newDisassociateResourceResponseElement =+ DisassociateResourceResponseElement'+ { arn =+ Prelude.Nothing,+ error = Prelude.Nothing+ }++-- | The resource ARN that was disassociated from the custom line item.+disassociateResourceResponseElement_arn :: Lens.Lens' DisassociateResourceResponseElement (Prelude.Maybe Prelude.Text)+disassociateResourceResponseElement_arn = Lens.lens (\DisassociateResourceResponseElement' {arn} -> arn) (\s@DisassociateResourceResponseElement' {} a -> s {arn = a} :: DisassociateResourceResponseElement)++-- | An @AssociateResourceError@ that\'s shown if the resource disassociation+-- fails.+disassociateResourceResponseElement_error :: Lens.Lens' DisassociateResourceResponseElement (Prelude.Maybe AssociateResourceError)+disassociateResourceResponseElement_error = Lens.lens (\DisassociateResourceResponseElement' {error} -> error) (\s@DisassociateResourceResponseElement' {} a -> s {error = a} :: DisassociateResourceResponseElement)++instance+ Data.FromJSON+ DisassociateResourceResponseElement+ where+ parseJSON =+ Data.withObject+ "DisassociateResourceResponseElement"+ ( \x ->+ DisassociateResourceResponseElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "Error")+ )++instance+ Prelude.Hashable+ DisassociateResourceResponseElement+ where+ hashWithSalt+ _salt+ DisassociateResourceResponseElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` error++instance+ Prelude.NFData+ DisassociateResourceResponseElement+ where+ rnf DisassociateResourceResponseElement' {..} =+ Prelude.rnf arn `Prelude.seq` Prelude.rnf error
+ gen/Amazonka/BillingConductor/Types/FreeTierConfig.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.FreeTierConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.FreeTierConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The possible Amazon Web Services Free Tier configurations.+--+-- /See:/ 'newFreeTierConfig' smart constructor.+data FreeTierConfig = FreeTierConfig'+ { -- | Activate or deactivate Amazon Web Services Free Tier application.+ activated :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeTierConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activated', 'freeTierConfig_activated' - Activate or deactivate Amazon Web Services Free Tier application.+newFreeTierConfig ::+ -- | 'activated'+ Prelude.Bool ->+ FreeTierConfig+newFreeTierConfig pActivated_ =+ FreeTierConfig' {activated = pActivated_}++-- | Activate or deactivate Amazon Web Services Free Tier application.+freeTierConfig_activated :: Lens.Lens' FreeTierConfig Prelude.Bool+freeTierConfig_activated = Lens.lens (\FreeTierConfig' {activated} -> activated) (\s@FreeTierConfig' {} a -> s {activated = a} :: FreeTierConfig)++instance Data.FromJSON FreeTierConfig where+ parseJSON =+ Data.withObject+ "FreeTierConfig"+ ( \x ->+ FreeTierConfig' Prelude.<$> (x Data..: "Activated")+ )++instance Prelude.Hashable FreeTierConfig where+ hashWithSalt _salt FreeTierConfig' {..} =+ _salt `Prelude.hashWithSalt` activated++instance Prelude.NFData FreeTierConfig where+ rnf FreeTierConfig' {..} = Prelude.rnf activated
+ gen/Amazonka/BillingConductor/Types/ListAccountAssociationsFilter.hs view
@@ -0,0 +1,114 @@+{-# 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.BillingConductor.Types.ListAccountAssociationsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListAccountAssociationsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The filter on the account ID of the linked account, or any of the+-- following:+--+-- @MONITORED@: linked accounts that are associated to billing groups.+--+-- @UNMONITORED@: linked accounts that are not associated to billing+-- groups.+--+-- @Billing Group Arn@: linked accounts that are associated to the provided+-- Billing Group Arn.+--+-- /See:/ 'newListAccountAssociationsFilter' smart constructor.+data ListAccountAssociationsFilter = ListAccountAssociationsFilter'+ { -- | The Amazon Web Services account ID to filter on.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | @MONITORED@: linked accounts that are associated to billing groups.+ --+ -- @UNMONITORED@: linked accounts that are not associated to billing+ -- groups.+ --+ -- @Billing Group Arn@: linked accounts that are associated to the provided+ -- Billing Group Arn.+ association :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccountAssociationsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'listAccountAssociationsFilter_accountId' - The Amazon Web Services account ID to filter on.+--+-- 'association', 'listAccountAssociationsFilter_association' - @MONITORED@: linked accounts that are associated to billing groups.+--+-- @UNMONITORED@: linked accounts that are not associated to billing+-- groups.+--+-- @Billing Group Arn@: linked accounts that are associated to the provided+-- Billing Group Arn.+newListAccountAssociationsFilter ::+ ListAccountAssociationsFilter+newListAccountAssociationsFilter =+ ListAccountAssociationsFilter'+ { accountId =+ Prelude.Nothing,+ association = Prelude.Nothing+ }++-- | The Amazon Web Services account ID to filter on.+listAccountAssociationsFilter_accountId :: Lens.Lens' ListAccountAssociationsFilter (Prelude.Maybe Prelude.Text)+listAccountAssociationsFilter_accountId = Lens.lens (\ListAccountAssociationsFilter' {accountId} -> accountId) (\s@ListAccountAssociationsFilter' {} a -> s {accountId = a} :: ListAccountAssociationsFilter)++-- | @MONITORED@: linked accounts that are associated to billing groups.+--+-- @UNMONITORED@: linked accounts that are not associated to billing+-- groups.+--+-- @Billing Group Arn@: linked accounts that are associated to the provided+-- Billing Group Arn.+listAccountAssociationsFilter_association :: Lens.Lens' ListAccountAssociationsFilter (Prelude.Maybe Prelude.Text)+listAccountAssociationsFilter_association = Lens.lens (\ListAccountAssociationsFilter' {association} -> association) (\s@ListAccountAssociationsFilter' {} a -> s {association = a} :: ListAccountAssociationsFilter)++instance+ Prelude.Hashable+ ListAccountAssociationsFilter+ where+ hashWithSalt _salt ListAccountAssociationsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` association++instance Prelude.NFData ListAccountAssociationsFilter where+ rnf ListAccountAssociationsFilter' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf association++instance Data.ToJSON ListAccountAssociationsFilter where+ toJSON ListAccountAssociationsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccountId" Data..=) Prelude.<$> accountId,+ ("Association" Data..=) Prelude.<$> association+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListBillingGroupCostReportsFilter.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListBillingGroupCostReportsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListBillingGroupCostReportsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The filter used to retrieve specific @BillingGroupCostReportElements@.+--+-- /See:/ 'newListBillingGroupCostReportsFilter' smart constructor.+data ListBillingGroupCostReportsFilter = ListBillingGroupCostReportsFilter'+ { -- | The list of Amazon Resource Names (ARNs) used to filter billing groups+ -- to retrieve reports.+ billingGroupArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBillingGroupCostReportsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingGroupArns', 'listBillingGroupCostReportsFilter_billingGroupArns' - The list of Amazon Resource Names (ARNs) used to filter billing groups+-- to retrieve reports.+newListBillingGroupCostReportsFilter ::+ ListBillingGroupCostReportsFilter+newListBillingGroupCostReportsFilter =+ ListBillingGroupCostReportsFilter'+ { billingGroupArns =+ Prelude.Nothing+ }++-- | The list of Amazon Resource Names (ARNs) used to filter billing groups+-- to retrieve reports.+listBillingGroupCostReportsFilter_billingGroupArns :: Lens.Lens' ListBillingGroupCostReportsFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listBillingGroupCostReportsFilter_billingGroupArns = Lens.lens (\ListBillingGroupCostReportsFilter' {billingGroupArns} -> billingGroupArns) (\s@ListBillingGroupCostReportsFilter' {} a -> s {billingGroupArns = a} :: ListBillingGroupCostReportsFilter) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ ListBillingGroupCostReportsFilter+ where+ hashWithSalt+ _salt+ ListBillingGroupCostReportsFilter' {..} =+ _salt `Prelude.hashWithSalt` billingGroupArns++instance+ Prelude.NFData+ ListBillingGroupCostReportsFilter+ where+ rnf ListBillingGroupCostReportsFilter' {..} =+ Prelude.rnf billingGroupArns++instance+ Data.ToJSON+ ListBillingGroupCostReportsFilter+ where+ toJSON ListBillingGroupCostReportsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingGroupArns" Data..=)+ Prelude.<$> billingGroupArns+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListBillingGroupsFilter.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListBillingGroupsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListBillingGroupsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The filter that specifies the billing groups and pricing plans to+-- retrieve billing group information.+--+-- /See:/ 'newListBillingGroupsFilter' smart constructor.+data ListBillingGroupsFilter = ListBillingGroupsFilter'+ { -- | The list of billing group Amazon Resource Names (ARNs) to retrieve+ -- information.+ arns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The pricing plan Amazon Resource Names (ARNs) to retrieve information.+ pricingPlan :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBillingGroupsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arns', 'listBillingGroupsFilter_arns' - The list of billing group Amazon Resource Names (ARNs) to retrieve+-- information.+--+-- 'pricingPlan', 'listBillingGroupsFilter_pricingPlan' - The pricing plan Amazon Resource Names (ARNs) to retrieve information.+newListBillingGroupsFilter ::+ ListBillingGroupsFilter+newListBillingGroupsFilter =+ ListBillingGroupsFilter'+ { arns = Prelude.Nothing,+ pricingPlan = Prelude.Nothing+ }++-- | The list of billing group Amazon Resource Names (ARNs) to retrieve+-- information.+listBillingGroupsFilter_arns :: Lens.Lens' ListBillingGroupsFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listBillingGroupsFilter_arns = Lens.lens (\ListBillingGroupsFilter' {arns} -> arns) (\s@ListBillingGroupsFilter' {} a -> s {arns = a} :: ListBillingGroupsFilter) Prelude.. Lens.mapping Lens.coerced++-- | The pricing plan Amazon Resource Names (ARNs) to retrieve information.+listBillingGroupsFilter_pricingPlan :: Lens.Lens' ListBillingGroupsFilter (Prelude.Maybe Prelude.Text)+listBillingGroupsFilter_pricingPlan = Lens.lens (\ListBillingGroupsFilter' {pricingPlan} -> pricingPlan) (\s@ListBillingGroupsFilter' {} a -> s {pricingPlan = a} :: ListBillingGroupsFilter)++instance Prelude.Hashable ListBillingGroupsFilter where+ hashWithSalt _salt ListBillingGroupsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` arns+ `Prelude.hashWithSalt` pricingPlan++instance Prelude.NFData ListBillingGroupsFilter where+ rnf ListBillingGroupsFilter' {..} =+ Prelude.rnf arns+ `Prelude.seq` Prelude.rnf pricingPlan++instance Data.ToJSON ListBillingGroupsFilter where+ toJSON ListBillingGroupsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Arns" Data..=) Prelude.<$> arns,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemChargeDetails.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemChargeDetails where++import Amazonka.BillingConductor.Types.CustomLineItemType+import Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the charge details of a custom line item.+--+-- /See:/ 'newListCustomLineItemChargeDetails' smart constructor.+data ListCustomLineItemChargeDetails = ListCustomLineItemChargeDetails'+ { -- | A @ListCustomLineItemFlatChargeDetails@ that describes the charge+ -- details of a flat custom line item.+ flat :: Prelude.Maybe ListCustomLineItemFlatChargeDetails,+ -- | A @ListCustomLineItemPercentageChargeDetails@ that describes the charge+ -- details of a percentage custom line item.+ percentage :: Prelude.Maybe ListCustomLineItemPercentageChargeDetails,+ -- | The type of the custom line item that indicates whether the charge is a+ -- @fee@ or @credit@.+ type' :: CustomLineItemType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flat', 'listCustomLineItemChargeDetails_flat' - A @ListCustomLineItemFlatChargeDetails@ that describes the charge+-- details of a flat custom line item.+--+-- 'percentage', 'listCustomLineItemChargeDetails_percentage' - A @ListCustomLineItemPercentageChargeDetails@ that describes the charge+-- details of a percentage custom line item.+--+-- 'type'', 'listCustomLineItemChargeDetails_type' - The type of the custom line item that indicates whether the charge is a+-- @fee@ or @credit@.+newListCustomLineItemChargeDetails ::+ -- | 'type''+ CustomLineItemType ->+ ListCustomLineItemChargeDetails+newListCustomLineItemChargeDetails pType_ =+ ListCustomLineItemChargeDetails'+ { flat =+ Prelude.Nothing,+ percentage = Prelude.Nothing,+ type' = pType_+ }++-- | A @ListCustomLineItemFlatChargeDetails@ that describes the charge+-- details of a flat custom line item.+listCustomLineItemChargeDetails_flat :: Lens.Lens' ListCustomLineItemChargeDetails (Prelude.Maybe ListCustomLineItemFlatChargeDetails)+listCustomLineItemChargeDetails_flat = Lens.lens (\ListCustomLineItemChargeDetails' {flat} -> flat) (\s@ListCustomLineItemChargeDetails' {} a -> s {flat = a} :: ListCustomLineItemChargeDetails)++-- | A @ListCustomLineItemPercentageChargeDetails@ that describes the charge+-- details of a percentage custom line item.+listCustomLineItemChargeDetails_percentage :: Lens.Lens' ListCustomLineItemChargeDetails (Prelude.Maybe ListCustomLineItemPercentageChargeDetails)+listCustomLineItemChargeDetails_percentage = Lens.lens (\ListCustomLineItemChargeDetails' {percentage} -> percentage) (\s@ListCustomLineItemChargeDetails' {} a -> s {percentage = a} :: ListCustomLineItemChargeDetails)++-- | The type of the custom line item that indicates whether the charge is a+-- @fee@ or @credit@.+listCustomLineItemChargeDetails_type :: Lens.Lens' ListCustomLineItemChargeDetails CustomLineItemType+listCustomLineItemChargeDetails_type = Lens.lens (\ListCustomLineItemChargeDetails' {type'} -> type') (\s@ListCustomLineItemChargeDetails' {} a -> s {type' = a} :: ListCustomLineItemChargeDetails)++instance+ Data.FromJSON+ ListCustomLineItemChargeDetails+ where+ parseJSON =+ Data.withObject+ "ListCustomLineItemChargeDetails"+ ( \x ->+ ListCustomLineItemChargeDetails'+ Prelude.<$> (x Data..:? "Flat")+ Prelude.<*> (x Data..:? "Percentage")+ Prelude.<*> (x Data..: "Type")+ )++instance+ Prelude.Hashable+ ListCustomLineItemChargeDetails+ where+ hashWithSalt+ _salt+ ListCustomLineItemChargeDetails' {..} =+ _salt+ `Prelude.hashWithSalt` flat+ `Prelude.hashWithSalt` percentage+ `Prelude.hashWithSalt` type'++instance+ Prelude.NFData+ ListCustomLineItemChargeDetails+ where+ rnf ListCustomLineItemChargeDetails' {..} =+ Prelude.rnf flat+ `Prelude.seq` Prelude.rnf percentage+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemFlatChargeDetails.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemFlatChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the charge details that are associated with a flat+-- custom line item.+--+-- /See:/ 'newListCustomLineItemFlatChargeDetails' smart constructor.+data ListCustomLineItemFlatChargeDetails = ListCustomLineItemFlatChargeDetails'+ { -- | The custom line item\'s fixed charge value in USD.+ chargeValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemFlatChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chargeValue', 'listCustomLineItemFlatChargeDetails_chargeValue' - The custom line item\'s fixed charge value in USD.+newListCustomLineItemFlatChargeDetails ::+ -- | 'chargeValue'+ Prelude.Double ->+ ListCustomLineItemFlatChargeDetails+newListCustomLineItemFlatChargeDetails pChargeValue_ =+ ListCustomLineItemFlatChargeDetails'+ { chargeValue =+ pChargeValue_+ }++-- | The custom line item\'s fixed charge value in USD.+listCustomLineItemFlatChargeDetails_chargeValue :: Lens.Lens' ListCustomLineItemFlatChargeDetails Prelude.Double+listCustomLineItemFlatChargeDetails_chargeValue = Lens.lens (\ListCustomLineItemFlatChargeDetails' {chargeValue} -> chargeValue) (\s@ListCustomLineItemFlatChargeDetails' {} a -> s {chargeValue = a} :: ListCustomLineItemFlatChargeDetails)++instance+ Data.FromJSON+ ListCustomLineItemFlatChargeDetails+ where+ parseJSON =+ Data.withObject+ "ListCustomLineItemFlatChargeDetails"+ ( \x ->+ ListCustomLineItemFlatChargeDetails'+ Prelude.<$> (x Data..: "ChargeValue")+ )++instance+ Prelude.Hashable+ ListCustomLineItemFlatChargeDetails+ where+ hashWithSalt+ _salt+ ListCustomLineItemFlatChargeDetails' {..} =+ _salt `Prelude.hashWithSalt` chargeValue++instance+ Prelude.NFData+ ListCustomLineItemFlatChargeDetails+ where+ rnf ListCustomLineItemFlatChargeDetails' {..} =+ Prelude.rnf chargeValue
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemPercentageChargeDetails.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemPercentageChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the charge details that are associated with a+-- percentage custom line item.+--+-- /See:/ 'newListCustomLineItemPercentageChargeDetails' smart constructor.+data ListCustomLineItemPercentageChargeDetails = ListCustomLineItemPercentageChargeDetails'+ { -- | The custom line item\'s percentage value. This will be multiplied+ -- against the combined value of its associated resources to determine its+ -- charge value.+ percentageValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemPercentageChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentageValue', 'listCustomLineItemPercentageChargeDetails_percentageValue' - The custom line item\'s percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+newListCustomLineItemPercentageChargeDetails ::+ -- | 'percentageValue'+ Prelude.Double ->+ ListCustomLineItemPercentageChargeDetails+newListCustomLineItemPercentageChargeDetails+ pPercentageValue_ =+ ListCustomLineItemPercentageChargeDetails'+ { percentageValue =+ pPercentageValue_+ }++-- | The custom line item\'s percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+listCustomLineItemPercentageChargeDetails_percentageValue :: Lens.Lens' ListCustomLineItemPercentageChargeDetails Prelude.Double+listCustomLineItemPercentageChargeDetails_percentageValue = Lens.lens (\ListCustomLineItemPercentageChargeDetails' {percentageValue} -> percentageValue) (\s@ListCustomLineItemPercentageChargeDetails' {} a -> s {percentageValue = a} :: ListCustomLineItemPercentageChargeDetails)++instance+ Data.FromJSON+ ListCustomLineItemPercentageChargeDetails+ where+ parseJSON =+ Data.withObject+ "ListCustomLineItemPercentageChargeDetails"+ ( \x ->+ ListCustomLineItemPercentageChargeDetails'+ Prelude.<$> (x Data..: "PercentageValue")+ )++instance+ Prelude.Hashable+ ListCustomLineItemPercentageChargeDetails+ where+ hashWithSalt+ _salt+ ListCustomLineItemPercentageChargeDetails' {..} =+ _salt `Prelude.hashWithSalt` percentageValue++instance+ Prelude.NFData+ ListCustomLineItemPercentageChargeDetails+ where+ rnf ListCustomLineItemPercentageChargeDetails' {..} =+ Prelude.rnf percentageValue
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemVersionsBillingPeriodRangeFilter.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A billing period filter that specifies the custom line item versions to+-- retrieve.+--+-- /See:/ 'newListCustomLineItemVersionsBillingPeriodRangeFilter' smart constructor.+data ListCustomLineItemVersionsBillingPeriodRangeFilter = ListCustomLineItemVersionsBillingPeriodRangeFilter'+ { -- | The exclusive end billing period that defines a billing period range+ -- where a custom line item version is applied.+ endBillingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The inclusive start billing period that defines a billing period range+ -- where a custom line item version is applied.+ startBillingPeriod :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemVersionsBillingPeriodRangeFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endBillingPeriod', 'listCustomLineItemVersionsBillingPeriodRangeFilter_endBillingPeriod' - The exclusive end billing period that defines a billing period range+-- where a custom line item version is applied.+--+-- 'startBillingPeriod', 'listCustomLineItemVersionsBillingPeriodRangeFilter_startBillingPeriod' - The inclusive start billing period that defines a billing period range+-- where a custom line item version is applied.+newListCustomLineItemVersionsBillingPeriodRangeFilter ::+ ListCustomLineItemVersionsBillingPeriodRangeFilter+newListCustomLineItemVersionsBillingPeriodRangeFilter =+ ListCustomLineItemVersionsBillingPeriodRangeFilter'+ { endBillingPeriod =+ Prelude.Nothing,+ startBillingPeriod =+ Prelude.Nothing+ }++-- | The exclusive end billing period that defines a billing period range+-- where a custom line item version is applied.+listCustomLineItemVersionsBillingPeriodRangeFilter_endBillingPeriod :: Lens.Lens' ListCustomLineItemVersionsBillingPeriodRangeFilter (Prelude.Maybe Prelude.Text)+listCustomLineItemVersionsBillingPeriodRangeFilter_endBillingPeriod = Lens.lens (\ListCustomLineItemVersionsBillingPeriodRangeFilter' {endBillingPeriod} -> endBillingPeriod) (\s@ListCustomLineItemVersionsBillingPeriodRangeFilter' {} a -> s {endBillingPeriod = a} :: ListCustomLineItemVersionsBillingPeriodRangeFilter)++-- | The inclusive start billing period that defines a billing period range+-- where a custom line item version is applied.+listCustomLineItemVersionsBillingPeriodRangeFilter_startBillingPeriod :: Lens.Lens' ListCustomLineItemVersionsBillingPeriodRangeFilter (Prelude.Maybe Prelude.Text)+listCustomLineItemVersionsBillingPeriodRangeFilter_startBillingPeriod = Lens.lens (\ListCustomLineItemVersionsBillingPeriodRangeFilter' {startBillingPeriod} -> startBillingPeriod) (\s@ListCustomLineItemVersionsBillingPeriodRangeFilter' {} a -> s {startBillingPeriod = a} :: ListCustomLineItemVersionsBillingPeriodRangeFilter)++instance+ Prelude.Hashable+ ListCustomLineItemVersionsBillingPeriodRangeFilter+ where+ hashWithSalt+ _salt+ ListCustomLineItemVersionsBillingPeriodRangeFilter' {..} =+ _salt+ `Prelude.hashWithSalt` endBillingPeriod+ `Prelude.hashWithSalt` startBillingPeriod++instance+ Prelude.NFData+ ListCustomLineItemVersionsBillingPeriodRangeFilter+ where+ rnf+ ListCustomLineItemVersionsBillingPeriodRangeFilter' {..} =+ Prelude.rnf endBillingPeriod+ `Prelude.seq` Prelude.rnf startBillingPeriod++instance+ Data.ToJSON+ ListCustomLineItemVersionsBillingPeriodRangeFilter+ where+ toJSON+ ListCustomLineItemVersionsBillingPeriodRangeFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EndBillingPeriod" Data..=)+ Prelude.<$> endBillingPeriod,+ ("StartBillingPeriod" Data..=)+ Prelude.<$> startBillingPeriod+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemVersionsFilter.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListCustomLineItemVersionsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemVersionsFilter where++import Amazonka.BillingConductor.Types.ListCustomLineItemVersionsBillingPeriodRangeFilter+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A filter that specifies the billing period range where the custom line+-- item versions reside.+--+-- /See:/ 'newListCustomLineItemVersionsFilter' smart constructor.+data ListCustomLineItemVersionsFilter = ListCustomLineItemVersionsFilter'+ { -- | The billing period range in which the custom line item version is+ -- applied.+ billingPeriodRange :: Prelude.Maybe ListCustomLineItemVersionsBillingPeriodRangeFilter+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemVersionsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'listCustomLineItemVersionsFilter_billingPeriodRange' - The billing period range in which the custom line item version is+-- applied.+newListCustomLineItemVersionsFilter ::+ ListCustomLineItemVersionsFilter+newListCustomLineItemVersionsFilter =+ ListCustomLineItemVersionsFilter'+ { billingPeriodRange =+ Prelude.Nothing+ }++-- | The billing period range in which the custom line item version is+-- applied.+listCustomLineItemVersionsFilter_billingPeriodRange :: Lens.Lens' ListCustomLineItemVersionsFilter (Prelude.Maybe ListCustomLineItemVersionsBillingPeriodRangeFilter)+listCustomLineItemVersionsFilter_billingPeriodRange = Lens.lens (\ListCustomLineItemVersionsFilter' {billingPeriodRange} -> billingPeriodRange) (\s@ListCustomLineItemVersionsFilter' {} a -> s {billingPeriodRange = a} :: ListCustomLineItemVersionsFilter)++instance+ Prelude.Hashable+ ListCustomLineItemVersionsFilter+ where+ hashWithSalt+ _salt+ ListCustomLineItemVersionsFilter' {..} =+ _salt `Prelude.hashWithSalt` billingPeriodRange++instance+ Prelude.NFData+ ListCustomLineItemVersionsFilter+ where+ rnf ListCustomLineItemVersionsFilter' {..} =+ Prelude.rnf billingPeriodRange++instance Data.ToJSON ListCustomLineItemVersionsFilter where+ toJSON ListCustomLineItemVersionsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListCustomLineItemsFilter.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.BillingConductor.Types.ListCustomLineItemsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListCustomLineItemsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A filter that specifies the custom line items and billing groups to+-- retrieve FFLI information.+--+-- /See:/ 'newListCustomLineItemsFilter' smart constructor.+data ListCustomLineItemsFilter = ListCustomLineItemsFilter'+ { -- | A list of custom line item ARNs to retrieve information.+ arns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The billing group Amazon Resource Names (ARNs) to retrieve information.+ billingGroups :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of custom line items to retrieve information.+ names :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive Prelude.Text))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomLineItemsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arns', 'listCustomLineItemsFilter_arns' - A list of custom line item ARNs to retrieve information.+--+-- 'billingGroups', 'listCustomLineItemsFilter_billingGroups' - The billing group Amazon Resource Names (ARNs) to retrieve information.+--+-- 'names', 'listCustomLineItemsFilter_names' - A list of custom line items to retrieve information.+newListCustomLineItemsFilter ::+ ListCustomLineItemsFilter+newListCustomLineItemsFilter =+ ListCustomLineItemsFilter'+ { arns = Prelude.Nothing,+ billingGroups = Prelude.Nothing,+ names = Prelude.Nothing+ }++-- | A list of custom line item ARNs to retrieve information.+listCustomLineItemsFilter_arns :: Lens.Lens' ListCustomLineItemsFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listCustomLineItemsFilter_arns = Lens.lens (\ListCustomLineItemsFilter' {arns} -> arns) (\s@ListCustomLineItemsFilter' {} a -> s {arns = a} :: ListCustomLineItemsFilter) Prelude.. Lens.mapping Lens.coerced++-- | The billing group Amazon Resource Names (ARNs) to retrieve information.+listCustomLineItemsFilter_billingGroups :: Lens.Lens' ListCustomLineItemsFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listCustomLineItemsFilter_billingGroups = Lens.lens (\ListCustomLineItemsFilter' {billingGroups} -> billingGroups) (\s@ListCustomLineItemsFilter' {} a -> s {billingGroups = a} :: ListCustomLineItemsFilter) Prelude.. Lens.mapping Lens.coerced++-- | A list of custom line items to retrieve information.+listCustomLineItemsFilter_names :: Lens.Lens' ListCustomLineItemsFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listCustomLineItemsFilter_names = Lens.lens (\ListCustomLineItemsFilter' {names} -> names) (\s@ListCustomLineItemsFilter' {} a -> s {names = a} :: ListCustomLineItemsFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ListCustomLineItemsFilter where+ hashWithSalt _salt ListCustomLineItemsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` arns+ `Prelude.hashWithSalt` billingGroups+ `Prelude.hashWithSalt` names++instance Prelude.NFData ListCustomLineItemsFilter where+ rnf ListCustomLineItemsFilter' {..} =+ Prelude.rnf arns+ `Prelude.seq` Prelude.rnf billingGroups+ `Prelude.seq` Prelude.rnf names++instance Data.ToJSON ListCustomLineItemsFilter where+ toJSON ListCustomLineItemsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Arns" Data..=) Prelude.<$> arns,+ ("BillingGroups" Data..=) Prelude.<$> billingGroups,+ ("Names" Data..=) Prelude.<$> names+ ]+ )
+ gen/Amazonka/BillingConductor/Types/ListPricingPlansFilter.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListPricingPlansFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListPricingPlansFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The filter that specifies the Amazon Resource Names (ARNs) of pricing+-- plans, to retrieve pricing plan information.+--+-- /See:/ 'newListPricingPlansFilter' smart constructor.+data ListPricingPlansFilter = ListPricingPlansFilter'+ { -- | A list of pricing plan Amazon Resource Names (ARNs) to retrieve+ -- information.+ arns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingPlansFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arns', 'listPricingPlansFilter_arns' - A list of pricing plan Amazon Resource Names (ARNs) to retrieve+-- information.+newListPricingPlansFilter ::+ ListPricingPlansFilter+newListPricingPlansFilter =+ ListPricingPlansFilter' {arns = Prelude.Nothing}++-- | A list of pricing plan Amazon Resource Names (ARNs) to retrieve+-- information.+listPricingPlansFilter_arns :: Lens.Lens' ListPricingPlansFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listPricingPlansFilter_arns = Lens.lens (\ListPricingPlansFilter' {arns} -> arns) (\s@ListPricingPlansFilter' {} a -> s {arns = a} :: ListPricingPlansFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ListPricingPlansFilter where+ hashWithSalt _salt ListPricingPlansFilter' {..} =+ _salt `Prelude.hashWithSalt` arns++instance Prelude.NFData ListPricingPlansFilter where+ rnf ListPricingPlansFilter' {..} = Prelude.rnf arns++instance Data.ToJSON ListPricingPlansFilter where+ toJSON ListPricingPlansFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Arns" Data..=) Prelude.<$> arns]+ )
+ gen/Amazonka/BillingConductor/Types/ListPricingRulesFilter.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListPricingRulesFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListPricingRulesFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The filter that specifies criteria that the pricing rules returned by+-- the @ListPricingRules@ API will adhere to.+--+-- /See:/ 'newListPricingRulesFilter' smart constructor.+data ListPricingRulesFilter = ListPricingRulesFilter'+ { -- | A list containing the pricing rule Amazon Resource Names (ARNs) to+ -- include in the API response.+ arns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPricingRulesFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arns', 'listPricingRulesFilter_arns' - A list containing the pricing rule Amazon Resource Names (ARNs) to+-- include in the API response.+newListPricingRulesFilter ::+ ListPricingRulesFilter+newListPricingRulesFilter =+ ListPricingRulesFilter' {arns = Prelude.Nothing}++-- | A list containing the pricing rule Amazon Resource Names (ARNs) to+-- include in the API response.+listPricingRulesFilter_arns :: Lens.Lens' ListPricingRulesFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listPricingRulesFilter_arns = Lens.lens (\ListPricingRulesFilter' {arns} -> arns) (\s@ListPricingRulesFilter' {} a -> s {arns = a} :: ListPricingRulesFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ListPricingRulesFilter where+ hashWithSalt _salt ListPricingRulesFilter' {..} =+ _salt `Prelude.hashWithSalt` arns++instance Prelude.NFData ListPricingRulesFilter where+ rnf ListPricingRulesFilter' {..} = Prelude.rnf arns++instance Data.ToJSON ListPricingRulesFilter where+ toJSON ListPricingRulesFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Arns" Data..=) Prelude.<$> arns]+ )
+ gen/Amazonka/BillingConductor/Types/ListResourcesAssociatedToCustomLineItemFilter.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemFilter where++import Amazonka.BillingConductor.Types.CustomLineItemRelationship+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A filter that specifies the type of resource associations that should be+-- retrieved for a custom line item.+--+-- /See:/ 'newListResourcesAssociatedToCustomLineItemFilter' smart constructor.+data ListResourcesAssociatedToCustomLineItemFilter = ListResourcesAssociatedToCustomLineItemFilter'+ { -- | The type of relationship between the custom line item and the associated+ -- resource.+ relationship :: Prelude.Maybe CustomLineItemRelationship+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourcesAssociatedToCustomLineItemFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'relationship', 'listResourcesAssociatedToCustomLineItemFilter_relationship' - The type of relationship between the custom line item and the associated+-- resource.+newListResourcesAssociatedToCustomLineItemFilter ::+ ListResourcesAssociatedToCustomLineItemFilter+newListResourcesAssociatedToCustomLineItemFilter =+ ListResourcesAssociatedToCustomLineItemFilter'+ { relationship =+ Prelude.Nothing+ }++-- | The type of relationship between the custom line item and the associated+-- resource.+listResourcesAssociatedToCustomLineItemFilter_relationship :: Lens.Lens' ListResourcesAssociatedToCustomLineItemFilter (Prelude.Maybe CustomLineItemRelationship)+listResourcesAssociatedToCustomLineItemFilter_relationship = Lens.lens (\ListResourcesAssociatedToCustomLineItemFilter' {relationship} -> relationship) (\s@ListResourcesAssociatedToCustomLineItemFilter' {} a -> s {relationship = a} :: ListResourcesAssociatedToCustomLineItemFilter)++instance+ Prelude.Hashable+ ListResourcesAssociatedToCustomLineItemFilter+ where+ hashWithSalt+ _salt+ ListResourcesAssociatedToCustomLineItemFilter' {..} =+ _salt `Prelude.hashWithSalt` relationship++instance+ Prelude.NFData+ ListResourcesAssociatedToCustomLineItemFilter+ where+ rnf+ ListResourcesAssociatedToCustomLineItemFilter' {..} =+ Prelude.rnf relationship++instance+ Data.ToJSON+ ListResourcesAssociatedToCustomLineItemFilter+ where+ toJSON+ ListResourcesAssociatedToCustomLineItemFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Relationship" Data..=) Prelude.<$> relationship]+ )
+ gen/Amazonka/BillingConductor/Types/ListResourcesAssociatedToCustomLineItemResponseElement.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemResponseElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.ListResourcesAssociatedToCustomLineItemResponseElement where++import Amazonka.BillingConductor.Types.CustomLineItemRelationship+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a resource association for a custom line item.+--+-- /See:/ 'newListResourcesAssociatedToCustomLineItemResponseElement' smart constructor.+data ListResourcesAssociatedToCustomLineItemResponseElement = ListResourcesAssociatedToCustomLineItemResponseElement'+ { -- | The ARN of the associated resource.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The end billing period of the associated resource.+ endBillingPeriod :: Prelude.Maybe Prelude.Text,+ -- | The type of relationship between the custom line item and the associated+ -- resource.+ relationship :: Prelude.Maybe CustomLineItemRelationship+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourcesAssociatedToCustomLineItemResponseElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listResourcesAssociatedToCustomLineItemResponseElement_arn' - The ARN of the associated resource.+--+-- 'endBillingPeriod', 'listResourcesAssociatedToCustomLineItemResponseElement_endBillingPeriod' - The end billing period of the associated resource.+--+-- 'relationship', 'listResourcesAssociatedToCustomLineItemResponseElement_relationship' - The type of relationship between the custom line item and the associated+-- resource.+newListResourcesAssociatedToCustomLineItemResponseElement ::+ ListResourcesAssociatedToCustomLineItemResponseElement+newListResourcesAssociatedToCustomLineItemResponseElement =+ ListResourcesAssociatedToCustomLineItemResponseElement'+ { arn =+ Prelude.Nothing,+ endBillingPeriod =+ Prelude.Nothing,+ relationship =+ Prelude.Nothing+ }++-- | The ARN of the associated resource.+listResourcesAssociatedToCustomLineItemResponseElement_arn :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponseElement (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItemResponseElement_arn = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponseElement' {arn} -> arn) (\s@ListResourcesAssociatedToCustomLineItemResponseElement' {} a -> s {arn = a} :: ListResourcesAssociatedToCustomLineItemResponseElement)++-- | The end billing period of the associated resource.+listResourcesAssociatedToCustomLineItemResponseElement_endBillingPeriod :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponseElement (Prelude.Maybe Prelude.Text)+listResourcesAssociatedToCustomLineItemResponseElement_endBillingPeriod = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponseElement' {endBillingPeriod} -> endBillingPeriod) (\s@ListResourcesAssociatedToCustomLineItemResponseElement' {} a -> s {endBillingPeriod = a} :: ListResourcesAssociatedToCustomLineItemResponseElement)++-- | The type of relationship between the custom line item and the associated+-- resource.+listResourcesAssociatedToCustomLineItemResponseElement_relationship :: Lens.Lens' ListResourcesAssociatedToCustomLineItemResponseElement (Prelude.Maybe CustomLineItemRelationship)+listResourcesAssociatedToCustomLineItemResponseElement_relationship = Lens.lens (\ListResourcesAssociatedToCustomLineItemResponseElement' {relationship} -> relationship) (\s@ListResourcesAssociatedToCustomLineItemResponseElement' {} a -> s {relationship = a} :: ListResourcesAssociatedToCustomLineItemResponseElement)++instance+ Data.FromJSON+ ListResourcesAssociatedToCustomLineItemResponseElement+ where+ parseJSON =+ Data.withObject+ "ListResourcesAssociatedToCustomLineItemResponseElement"+ ( \x ->+ ListResourcesAssociatedToCustomLineItemResponseElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "EndBillingPeriod")+ Prelude.<*> (x Data..:? "Relationship")+ )++instance+ Prelude.Hashable+ ListResourcesAssociatedToCustomLineItemResponseElement+ where+ hashWithSalt+ _salt+ ListResourcesAssociatedToCustomLineItemResponseElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` endBillingPeriod+ `Prelude.hashWithSalt` relationship++instance+ Prelude.NFData+ ListResourcesAssociatedToCustomLineItemResponseElement+ where+ rnf+ ListResourcesAssociatedToCustomLineItemResponseElement' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf endBillingPeriod+ `Prelude.seq` Prelude.rnf relationship
+ gen/Amazonka/BillingConductor/Types/PricingPlanListElement.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.PricingPlanListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.PricingPlanListElement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a pricing plan.+--+-- /See:/ 'newPricingPlanListElement' smart constructor.+data PricingPlanListElement = PricingPlanListElement'+ { -- | The pricing plan Amazon Resource Names (ARN). This can be used to+ -- uniquely identify a pricing plan.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the pricing plan was created.+ creationTime :: Prelude.Maybe Prelude.Integer,+ -- | The pricing plan description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the pricing plan was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of a pricing plan.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The pricing rules count that\'s currently associated with this pricing+ -- plan list element.+ size :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PricingPlanListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'pricingPlanListElement_arn' - The pricing plan Amazon Resource Names (ARN). This can be used to+-- uniquely identify a pricing plan.+--+-- 'creationTime', 'pricingPlanListElement_creationTime' - The time when the pricing plan was created.+--+-- 'description', 'pricingPlanListElement_description' - The pricing plan description.+--+-- 'lastModifiedTime', 'pricingPlanListElement_lastModifiedTime' - The most recent time when the pricing plan was modified.+--+-- 'name', 'pricingPlanListElement_name' - The name of a pricing plan.+--+-- 'size', 'pricingPlanListElement_size' - The pricing rules count that\'s currently associated with this pricing+-- plan list element.+newPricingPlanListElement ::+ PricingPlanListElement+newPricingPlanListElement =+ PricingPlanListElement'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ size = Prelude.Nothing+ }++-- | The pricing plan Amazon Resource Names (ARN). This can be used to+-- uniquely identify a pricing plan.+pricingPlanListElement_arn :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Text)+pricingPlanListElement_arn = Lens.lens (\PricingPlanListElement' {arn} -> arn) (\s@PricingPlanListElement' {} a -> s {arn = a} :: PricingPlanListElement)++-- | The time when the pricing plan was created.+pricingPlanListElement_creationTime :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Integer)+pricingPlanListElement_creationTime = Lens.lens (\PricingPlanListElement' {creationTime} -> creationTime) (\s@PricingPlanListElement' {} a -> s {creationTime = a} :: PricingPlanListElement)++-- | The pricing plan description.+pricingPlanListElement_description :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Text)+pricingPlanListElement_description = Lens.lens (\PricingPlanListElement' {description} -> description) (\s@PricingPlanListElement' {} a -> s {description = a} :: PricingPlanListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the pricing plan was modified.+pricingPlanListElement_lastModifiedTime :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Integer)+pricingPlanListElement_lastModifiedTime = Lens.lens (\PricingPlanListElement' {lastModifiedTime} -> lastModifiedTime) (\s@PricingPlanListElement' {} a -> s {lastModifiedTime = a} :: PricingPlanListElement)++-- | The name of a pricing plan.+pricingPlanListElement_name :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Text)+pricingPlanListElement_name = Lens.lens (\PricingPlanListElement' {name} -> name) (\s@PricingPlanListElement' {} a -> s {name = a} :: PricingPlanListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The pricing rules count that\'s currently associated with this pricing+-- plan list element.+pricingPlanListElement_size :: Lens.Lens' PricingPlanListElement (Prelude.Maybe Prelude.Natural)+pricingPlanListElement_size = Lens.lens (\PricingPlanListElement' {size} -> size) (\s@PricingPlanListElement' {} a -> s {size = a} :: PricingPlanListElement)++instance Data.FromJSON PricingPlanListElement where+ parseJSON =+ Data.withObject+ "PricingPlanListElement"+ ( \x ->+ PricingPlanListElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Size")+ )++instance Prelude.Hashable PricingPlanListElement where+ hashWithSalt _salt PricingPlanListElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` size++instance Prelude.NFData PricingPlanListElement where+ rnf PricingPlanListElement' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf size
+ gen/Amazonka/BillingConductor/Types/PricingRuleListElement.hs view
@@ -0,0 +1,219 @@+{-# 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.BillingConductor.Types.PricingRuleListElement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.PricingRuleListElement where++import Amazonka.BillingConductor.Types.PricingRuleScope+import Amazonka.BillingConductor.Types.PricingRuleType+import Amazonka.BillingConductor.Types.Tiering+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of a pricing rule.+--+-- /See:/ 'newPricingRuleListElement' smart constructor.+data PricingRuleListElement = PricingRuleListElement'+ { -- | The Amazon Resource Name (ARN) used to uniquely identify a pricing rule.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The pricing plans count that this pricing rule is associated with.+ associatedPricingPlanCount :: Prelude.Maybe Prelude.Natural,+ -- | The seller of services provided by Amazon Web Services, their+ -- affiliates, or third-party providers selling services via Amazon Web+ -- Services Marketplace.+ billingEntity :: Prelude.Maybe Prelude.Text,+ -- | The time when the pricing rule was created.+ creationTime :: Prelude.Maybe Prelude.Integer,+ -- | The pricing rule description.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the pricing rule was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | A percentage modifier applied on the public pricing rates.+ modifierPercentage :: Prelude.Maybe Prelude.Double,+ -- | The name of a pricing rule.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The scope of pricing rule that indicates if it is globally applicable,+ -- or if it is service-specific.+ scope :: Prelude.Maybe PricingRuleScope,+ -- | If the @Scope@ attribute is @SERVICE@, this attribute indicates which+ -- service the @PricingRule@ is applicable for.+ service :: Prelude.Maybe Prelude.Text,+ -- | The set of tiering configurations for the pricing rule.+ tiering :: Prelude.Maybe Tiering,+ -- | The type of pricing rule.+ type' :: Prelude.Maybe PricingRuleType+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PricingRuleListElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'pricingRuleListElement_arn' - The Amazon Resource Name (ARN) used to uniquely identify a pricing rule.+--+-- 'associatedPricingPlanCount', 'pricingRuleListElement_associatedPricingPlanCount' - The pricing plans count that this pricing rule is associated with.+--+-- 'billingEntity', 'pricingRuleListElement_billingEntity' - The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+--+-- 'creationTime', 'pricingRuleListElement_creationTime' - The time when the pricing rule was created.+--+-- 'description', 'pricingRuleListElement_description' - The pricing rule description.+--+-- 'lastModifiedTime', 'pricingRuleListElement_lastModifiedTime' - The most recent time when the pricing rule was modified.+--+-- 'modifierPercentage', 'pricingRuleListElement_modifierPercentage' - A percentage modifier applied on the public pricing rates.+--+-- 'name', 'pricingRuleListElement_name' - The name of a pricing rule.+--+-- 'scope', 'pricingRuleListElement_scope' - The scope of pricing rule that indicates if it is globally applicable,+-- or if it is service-specific.+--+-- 'service', 'pricingRuleListElement_service' - If the @Scope@ attribute is @SERVICE@, this attribute indicates which+-- service the @PricingRule@ is applicable for.+--+-- 'tiering', 'pricingRuleListElement_tiering' - The set of tiering configurations for the pricing rule.+--+-- 'type'', 'pricingRuleListElement_type' - The type of pricing rule.+newPricingRuleListElement ::+ PricingRuleListElement+newPricingRuleListElement =+ PricingRuleListElement'+ { arn = Prelude.Nothing,+ associatedPricingPlanCount = Prelude.Nothing,+ billingEntity = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ modifierPercentage = Prelude.Nothing,+ name = Prelude.Nothing,+ scope = Prelude.Nothing,+ service = Prelude.Nothing,+ tiering = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) used to uniquely identify a pricing rule.+pricingRuleListElement_arn :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Text)+pricingRuleListElement_arn = Lens.lens (\PricingRuleListElement' {arn} -> arn) (\s@PricingRuleListElement' {} a -> s {arn = a} :: PricingRuleListElement)++-- | The pricing plans count that this pricing rule is associated with.+pricingRuleListElement_associatedPricingPlanCount :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Natural)+pricingRuleListElement_associatedPricingPlanCount = Lens.lens (\PricingRuleListElement' {associatedPricingPlanCount} -> associatedPricingPlanCount) (\s@PricingRuleListElement' {} a -> s {associatedPricingPlanCount = a} :: PricingRuleListElement)++-- | The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+pricingRuleListElement_billingEntity :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Text)+pricingRuleListElement_billingEntity = Lens.lens (\PricingRuleListElement' {billingEntity} -> billingEntity) (\s@PricingRuleListElement' {} a -> s {billingEntity = a} :: PricingRuleListElement)++-- | The time when the pricing rule was created.+pricingRuleListElement_creationTime :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Integer)+pricingRuleListElement_creationTime = Lens.lens (\PricingRuleListElement' {creationTime} -> creationTime) (\s@PricingRuleListElement' {} a -> s {creationTime = a} :: PricingRuleListElement)++-- | The pricing rule description.+pricingRuleListElement_description :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Text)+pricingRuleListElement_description = Lens.lens (\PricingRuleListElement' {description} -> description) (\s@PricingRuleListElement' {} a -> s {description = a} :: PricingRuleListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the pricing rule was modified.+pricingRuleListElement_lastModifiedTime :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Integer)+pricingRuleListElement_lastModifiedTime = Lens.lens (\PricingRuleListElement' {lastModifiedTime} -> lastModifiedTime) (\s@PricingRuleListElement' {} a -> s {lastModifiedTime = a} :: PricingRuleListElement)++-- | A percentage modifier applied on the public pricing rates.+pricingRuleListElement_modifierPercentage :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Double)+pricingRuleListElement_modifierPercentage = Lens.lens (\PricingRuleListElement' {modifierPercentage} -> modifierPercentage) (\s@PricingRuleListElement' {} a -> s {modifierPercentage = a} :: PricingRuleListElement)++-- | The name of a pricing rule.+pricingRuleListElement_name :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Text)+pricingRuleListElement_name = Lens.lens (\PricingRuleListElement' {name} -> name) (\s@PricingRuleListElement' {} a -> s {name = a} :: PricingRuleListElement) Prelude.. Lens.mapping Data._Sensitive++-- | The scope of pricing rule that indicates if it is globally applicable,+-- or if it is service-specific.+pricingRuleListElement_scope :: Lens.Lens' PricingRuleListElement (Prelude.Maybe PricingRuleScope)+pricingRuleListElement_scope = Lens.lens (\PricingRuleListElement' {scope} -> scope) (\s@PricingRuleListElement' {} a -> s {scope = a} :: PricingRuleListElement)++-- | If the @Scope@ attribute is @SERVICE@, this attribute indicates which+-- service the @PricingRule@ is applicable for.+pricingRuleListElement_service :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Prelude.Text)+pricingRuleListElement_service = Lens.lens (\PricingRuleListElement' {service} -> service) (\s@PricingRuleListElement' {} a -> s {service = a} :: PricingRuleListElement)++-- | The set of tiering configurations for the pricing rule.+pricingRuleListElement_tiering :: Lens.Lens' PricingRuleListElement (Prelude.Maybe Tiering)+pricingRuleListElement_tiering = Lens.lens (\PricingRuleListElement' {tiering} -> tiering) (\s@PricingRuleListElement' {} a -> s {tiering = a} :: PricingRuleListElement)++-- | The type of pricing rule.+pricingRuleListElement_type :: Lens.Lens' PricingRuleListElement (Prelude.Maybe PricingRuleType)+pricingRuleListElement_type = Lens.lens (\PricingRuleListElement' {type'} -> type') (\s@PricingRuleListElement' {} a -> s {type' = a} :: PricingRuleListElement)++instance Data.FromJSON PricingRuleListElement where+ parseJSON =+ Data.withObject+ "PricingRuleListElement"+ ( \x ->+ PricingRuleListElement'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "AssociatedPricingPlanCount")+ Prelude.<*> (x Data..:? "BillingEntity")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "ModifierPercentage")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Scope")+ Prelude.<*> (x Data..:? "Service")+ Prelude.<*> (x Data..:? "Tiering")+ Prelude.<*> (x Data..:? "Type")+ )++instance Prelude.Hashable PricingRuleListElement where+ hashWithSalt _salt PricingRuleListElement' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` associatedPricingPlanCount+ `Prelude.hashWithSalt` billingEntity+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` modifierPercentage+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` scope+ `Prelude.hashWithSalt` service+ `Prelude.hashWithSalt` tiering+ `Prelude.hashWithSalt` type'++instance Prelude.NFData PricingRuleListElement where+ rnf PricingRuleListElement' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associatedPricingPlanCount+ `Prelude.seq` Prelude.rnf billingEntity+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf modifierPercentage+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf service+ `Prelude.seq` Prelude.rnf tiering+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/BillingConductor/Types/PricingRuleScope.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.BillingConductor.Types.PricingRuleScope+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.PricingRuleScope+ ( PricingRuleScope+ ( ..,+ PricingRuleScope_BILLING_ENTITY,+ PricingRuleScope_GLOBAL,+ PricingRuleScope_SERVICE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PricingRuleScope = PricingRuleScope'+ { fromPricingRuleScope ::+ 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 PricingRuleScope_BILLING_ENTITY :: PricingRuleScope+pattern PricingRuleScope_BILLING_ENTITY = PricingRuleScope' "BILLING_ENTITY"++pattern PricingRuleScope_GLOBAL :: PricingRuleScope+pattern PricingRuleScope_GLOBAL = PricingRuleScope' "GLOBAL"++pattern PricingRuleScope_SERVICE :: PricingRuleScope+pattern PricingRuleScope_SERVICE = PricingRuleScope' "SERVICE"++{-# COMPLETE+ PricingRuleScope_BILLING_ENTITY,+ PricingRuleScope_GLOBAL,+ PricingRuleScope_SERVICE,+ PricingRuleScope'+ #-}
+ gen/Amazonka/BillingConductor/Types/PricingRuleType.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.BillingConductor.Types.PricingRuleType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.PricingRuleType+ ( PricingRuleType+ ( ..,+ PricingRuleType_DISCOUNT,+ PricingRuleType_MARKUP,+ PricingRuleType_TIERING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PricingRuleType = PricingRuleType'+ { fromPricingRuleType ::+ 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 PricingRuleType_DISCOUNT :: PricingRuleType+pattern PricingRuleType_DISCOUNT = PricingRuleType' "DISCOUNT"++pattern PricingRuleType_MARKUP :: PricingRuleType+pattern PricingRuleType_MARKUP = PricingRuleType' "MARKUP"++pattern PricingRuleType_TIERING :: PricingRuleType+pattern PricingRuleType_TIERING = PricingRuleType' "TIERING"++{-# COMPLETE+ PricingRuleType_DISCOUNT,+ PricingRuleType_MARKUP,+ PricingRuleType_TIERING,+ PricingRuleType'+ #-}
+ gen/Amazonka/BillingConductor/Types/Tiering.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.Tiering+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.Tiering where++import Amazonka.BillingConductor.Types.FreeTierConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The set of tiering configurations for the pricing rule.+--+-- /See:/ 'newTiering' smart constructor.+data Tiering = Tiering'+ { -- | The possible Amazon Web Services Free Tier configurations.+ freeTier :: FreeTierConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tiering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeTier', 'tiering_freeTier' - The possible Amazon Web Services Free Tier configurations.+newTiering ::+ -- | 'freeTier'+ FreeTierConfig ->+ Tiering+newTiering pFreeTier_ =+ Tiering' {freeTier = pFreeTier_}++-- | The possible Amazon Web Services Free Tier configurations.+tiering_freeTier :: Lens.Lens' Tiering FreeTierConfig+tiering_freeTier = Lens.lens (\Tiering' {freeTier} -> freeTier) (\s@Tiering' {} a -> s {freeTier = a} :: Tiering)++instance Data.FromJSON Tiering where+ parseJSON =+ Data.withObject+ "Tiering"+ (\x -> Tiering' Prelude.<$> (x Data..: "FreeTier"))++instance Prelude.Hashable Tiering where+ hashWithSalt _salt Tiering' {..} =+ _salt `Prelude.hashWithSalt` freeTier++instance Prelude.NFData Tiering where+ rnf Tiering' {..} = Prelude.rnf freeTier
+ gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemChargeDetails.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.UpdateCustomLineItemChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.UpdateCustomLineItemChargeDetails where++import Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails+import Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the new charge details of a custom line item. This+-- should contain only one of @Flat@ or @Percentage@.+--+-- /See:/ 'newUpdateCustomLineItemChargeDetails' smart constructor.+data UpdateCustomLineItemChargeDetails = UpdateCustomLineItemChargeDetails'+ { -- | An @UpdateCustomLineItemFlatChargeDetails@ that describes the new charge+ -- details of a flat custom line item.+ flat :: Prelude.Maybe UpdateCustomLineItemFlatChargeDetails,+ -- | An @UpdateCustomLineItemPercentageChargeDetails@ that describes the new+ -- charge details of a percentage custom line item.+ percentage :: Prelude.Maybe UpdateCustomLineItemPercentageChargeDetails+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCustomLineItemChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flat', 'updateCustomLineItemChargeDetails_flat' - An @UpdateCustomLineItemFlatChargeDetails@ that describes the new charge+-- details of a flat custom line item.+--+-- 'percentage', 'updateCustomLineItemChargeDetails_percentage' - An @UpdateCustomLineItemPercentageChargeDetails@ that describes the new+-- charge details of a percentage custom line item.+newUpdateCustomLineItemChargeDetails ::+ UpdateCustomLineItemChargeDetails+newUpdateCustomLineItemChargeDetails =+ UpdateCustomLineItemChargeDetails'+ { flat =+ Prelude.Nothing,+ percentage = Prelude.Nothing+ }++-- | An @UpdateCustomLineItemFlatChargeDetails@ that describes the new charge+-- details of a flat custom line item.+updateCustomLineItemChargeDetails_flat :: Lens.Lens' UpdateCustomLineItemChargeDetails (Prelude.Maybe UpdateCustomLineItemFlatChargeDetails)+updateCustomLineItemChargeDetails_flat = Lens.lens (\UpdateCustomLineItemChargeDetails' {flat} -> flat) (\s@UpdateCustomLineItemChargeDetails' {} a -> s {flat = a} :: UpdateCustomLineItemChargeDetails)++-- | An @UpdateCustomLineItemPercentageChargeDetails@ that describes the new+-- charge details of a percentage custom line item.+updateCustomLineItemChargeDetails_percentage :: Lens.Lens' UpdateCustomLineItemChargeDetails (Prelude.Maybe UpdateCustomLineItemPercentageChargeDetails)+updateCustomLineItemChargeDetails_percentage = Lens.lens (\UpdateCustomLineItemChargeDetails' {percentage} -> percentage) (\s@UpdateCustomLineItemChargeDetails' {} a -> s {percentage = a} :: UpdateCustomLineItemChargeDetails)++instance+ Prelude.Hashable+ UpdateCustomLineItemChargeDetails+ where+ hashWithSalt+ _salt+ UpdateCustomLineItemChargeDetails' {..} =+ _salt+ `Prelude.hashWithSalt` flat+ `Prelude.hashWithSalt` percentage++instance+ Prelude.NFData+ UpdateCustomLineItemChargeDetails+ where+ rnf UpdateCustomLineItemChargeDetails' {..} =+ Prelude.rnf flat+ `Prelude.seq` Prelude.rnf percentage++instance+ Data.ToJSON+ UpdateCustomLineItemChargeDetails+ where+ toJSON UpdateCustomLineItemChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Flat" Data..=) Prelude.<$> flat,+ ("Percentage" Data..=) Prelude.<$> percentage+ ]+ )
+ gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemFlatChargeDetails.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.UpdateCustomLineItemFlatChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the new charge details that are associated with a+-- flat custom line item.+--+-- /See:/ 'newUpdateCustomLineItemFlatChargeDetails' smart constructor.+data UpdateCustomLineItemFlatChargeDetails = UpdateCustomLineItemFlatChargeDetails'+ { -- | The custom line item\'s new fixed charge value in USD.+ chargeValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCustomLineItemFlatChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chargeValue', 'updateCustomLineItemFlatChargeDetails_chargeValue' - The custom line item\'s new fixed charge value in USD.+newUpdateCustomLineItemFlatChargeDetails ::+ -- | 'chargeValue'+ Prelude.Double ->+ UpdateCustomLineItemFlatChargeDetails+newUpdateCustomLineItemFlatChargeDetails+ pChargeValue_ =+ UpdateCustomLineItemFlatChargeDetails'+ { chargeValue =+ pChargeValue_+ }++-- | The custom line item\'s new fixed charge value in USD.+updateCustomLineItemFlatChargeDetails_chargeValue :: Lens.Lens' UpdateCustomLineItemFlatChargeDetails Prelude.Double+updateCustomLineItemFlatChargeDetails_chargeValue = Lens.lens (\UpdateCustomLineItemFlatChargeDetails' {chargeValue} -> chargeValue) (\s@UpdateCustomLineItemFlatChargeDetails' {} a -> s {chargeValue = a} :: UpdateCustomLineItemFlatChargeDetails)++instance+ Prelude.Hashable+ UpdateCustomLineItemFlatChargeDetails+ where+ hashWithSalt+ _salt+ UpdateCustomLineItemFlatChargeDetails' {..} =+ _salt `Prelude.hashWithSalt` chargeValue++instance+ Prelude.NFData+ UpdateCustomLineItemFlatChargeDetails+ where+ rnf UpdateCustomLineItemFlatChargeDetails' {..} =+ Prelude.rnf chargeValue++instance+ Data.ToJSON+ UpdateCustomLineItemFlatChargeDetails+ where+ toJSON UpdateCustomLineItemFlatChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ChargeValue" Data..= chargeValue)]+ )
+ gen/Amazonka/BillingConductor/Types/UpdateCustomLineItemPercentageChargeDetails.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.UpdateCustomLineItemPercentageChargeDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A representation of the new charge details that are associated with a+-- percentage custom line item.+--+-- /See:/ 'newUpdateCustomLineItemPercentageChargeDetails' smart constructor.+data UpdateCustomLineItemPercentageChargeDetails = UpdateCustomLineItemPercentageChargeDetails'+ { -- | The custom line item\'s new percentage value. This will be multiplied+ -- against the combined value of its associated resources to determine its+ -- charge value.+ percentageValue :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCustomLineItemPercentageChargeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentageValue', 'updateCustomLineItemPercentageChargeDetails_percentageValue' - The custom line item\'s new percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+newUpdateCustomLineItemPercentageChargeDetails ::+ -- | 'percentageValue'+ Prelude.Double ->+ UpdateCustomLineItemPercentageChargeDetails+newUpdateCustomLineItemPercentageChargeDetails+ pPercentageValue_ =+ UpdateCustomLineItemPercentageChargeDetails'+ { percentageValue =+ pPercentageValue_+ }++-- | The custom line item\'s new percentage value. This will be multiplied+-- against the combined value of its associated resources to determine its+-- charge value.+updateCustomLineItemPercentageChargeDetails_percentageValue :: Lens.Lens' UpdateCustomLineItemPercentageChargeDetails Prelude.Double+updateCustomLineItemPercentageChargeDetails_percentageValue = Lens.lens (\UpdateCustomLineItemPercentageChargeDetails' {percentageValue} -> percentageValue) (\s@UpdateCustomLineItemPercentageChargeDetails' {} a -> s {percentageValue = a} :: UpdateCustomLineItemPercentageChargeDetails)++instance+ Prelude.Hashable+ UpdateCustomLineItemPercentageChargeDetails+ where+ hashWithSalt+ _salt+ UpdateCustomLineItemPercentageChargeDetails' {..} =+ _salt `Prelude.hashWithSalt` percentageValue++instance+ Prelude.NFData+ UpdateCustomLineItemPercentageChargeDetails+ where+ rnf UpdateCustomLineItemPercentageChargeDetails' {..} =+ Prelude.rnf percentageValue++instance+ Data.ToJSON+ UpdateCustomLineItemPercentageChargeDetails+ where+ toJSON+ UpdateCustomLineItemPercentageChargeDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("PercentageValue" Data..= percentageValue)+ ]+ )
+ gen/Amazonka/BillingConductor/Types/UpdateFreeTierConfig.hs view
@@ -0,0 +1,77 @@+{-# 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.BillingConductor.Types.UpdateFreeTierConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.UpdateFreeTierConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The possible Amazon Web Services Free Tier configurations.+--+-- /See:/ 'newUpdateFreeTierConfig' smart constructor.+data UpdateFreeTierConfig = UpdateFreeTierConfig'+ { -- | Activate or deactivate application of Amazon Web Services Free Tier.+ activated :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFreeTierConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activated', 'updateFreeTierConfig_activated' - Activate or deactivate application of Amazon Web Services Free Tier.+newUpdateFreeTierConfig ::+ -- | 'activated'+ Prelude.Bool ->+ UpdateFreeTierConfig+newUpdateFreeTierConfig pActivated_ =+ UpdateFreeTierConfig' {activated = pActivated_}++-- | Activate or deactivate application of Amazon Web Services Free Tier.+updateFreeTierConfig_activated :: Lens.Lens' UpdateFreeTierConfig Prelude.Bool+updateFreeTierConfig_activated = Lens.lens (\UpdateFreeTierConfig' {activated} -> activated) (\s@UpdateFreeTierConfig' {} a -> s {activated = a} :: UpdateFreeTierConfig)++instance Data.FromJSON UpdateFreeTierConfig where+ parseJSON =+ Data.withObject+ "UpdateFreeTierConfig"+ ( \x ->+ UpdateFreeTierConfig'+ Prelude.<$> (x Data..: "Activated")+ )++instance Prelude.Hashable UpdateFreeTierConfig where+ hashWithSalt _salt UpdateFreeTierConfig' {..} =+ _salt `Prelude.hashWithSalt` activated++instance Prelude.NFData UpdateFreeTierConfig where+ rnf UpdateFreeTierConfig' {..} = Prelude.rnf activated++instance Data.ToJSON UpdateFreeTierConfig where+ toJSON UpdateFreeTierConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Activated" Data..= activated)]+ )
+ gen/Amazonka/BillingConductor/Types/UpdateTieringInput.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.Types.UpdateTieringInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.BillingConductor.Types.UpdateTieringInput where++import Amazonka.BillingConductor.Types.UpdateFreeTierConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The set of tiering configurations for the pricing rule.+--+-- /See:/ 'newUpdateTieringInput' smart constructor.+data UpdateTieringInput = UpdateTieringInput'+ { -- | The possible Amazon Web Services Free Tier configurations.+ freeTier :: UpdateFreeTierConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTieringInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeTier', 'updateTieringInput_freeTier' - The possible Amazon Web Services Free Tier configurations.+newUpdateTieringInput ::+ -- | 'freeTier'+ UpdateFreeTierConfig ->+ UpdateTieringInput+newUpdateTieringInput pFreeTier_ =+ UpdateTieringInput' {freeTier = pFreeTier_}++-- | The possible Amazon Web Services Free Tier configurations.+updateTieringInput_freeTier :: Lens.Lens' UpdateTieringInput UpdateFreeTierConfig+updateTieringInput_freeTier = Lens.lens (\UpdateTieringInput' {freeTier} -> freeTier) (\s@UpdateTieringInput' {} a -> s {freeTier = a} :: UpdateTieringInput)++instance Data.FromJSON UpdateTieringInput where+ parseJSON =+ Data.withObject+ "UpdateTieringInput"+ ( \x ->+ UpdateTieringInput'+ Prelude.<$> (x Data..: "FreeTier")+ )++instance Prelude.Hashable UpdateTieringInput where+ hashWithSalt _salt UpdateTieringInput' {..} =+ _salt `Prelude.hashWithSalt` freeTier++instance Prelude.NFData UpdateTieringInput where+ rnf UpdateTieringInput' {..} = Prelude.rnf freeTier++instance Data.ToJSON UpdateTieringInput where+ toJSON UpdateTieringInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("FreeTier" Data..= freeTier)]+ )
+ gen/Amazonka/BillingConductor/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.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)+--+-- Deletes specified tags from a resource.+module Amazonka.BillingConductor.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the resource to which to delete tags.+ resourceArn :: Prelude.Text,+ -- | The tags to delete from the resource as a list of key-value pairs.+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to which to delete tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tags to delete from the resource as a list of key-value pairs.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The Amazon Resource Name (ARN) of the resource to which to delete tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tags to delete from the resource as a list of key-value pairs.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/UpdateBillingGroup.hs view
@@ -0,0 +1,336 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.UpdateBillingGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This updates an existing billing group.+module Amazonka.BillingConductor.UpdateBillingGroup+ ( -- * Creating a Request+ UpdateBillingGroup (..),+ newUpdateBillingGroup,++ -- * Request Lenses+ updateBillingGroup_computationPreference,+ updateBillingGroup_description,+ updateBillingGroup_name,+ updateBillingGroup_status,+ updateBillingGroup_arn,++ -- * Destructuring the Response+ UpdateBillingGroupResponse (..),+ newUpdateBillingGroupResponse,++ -- * Response Lenses+ updateBillingGroupResponse_arn,+ updateBillingGroupResponse_description,+ updateBillingGroupResponse_lastModifiedTime,+ updateBillingGroupResponse_name,+ updateBillingGroupResponse_pricingPlanArn,+ updateBillingGroupResponse_primaryAccountId,+ updateBillingGroupResponse_size,+ updateBillingGroupResponse_status,+ updateBillingGroupResponse_statusReason,+ updateBillingGroupResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateBillingGroup' smart constructor.+data UpdateBillingGroup = UpdateBillingGroup'+ { -- | The preferences and settings that will be used to compute the Amazon Web+ -- Services charges for a billing group.+ computationPreference :: Prelude.Maybe ComputationPreference,+ -- | A description of the billing group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the billing group. The names must be unique to each billing+ -- group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The status of the billing group. Only one of the valid values can be+ -- used.+ status :: Prelude.Maybe BillingGroupStatus,+ -- | The Amazon Resource Name (ARN) of the billing group being updated.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBillingGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'computationPreference', 'updateBillingGroup_computationPreference' - The preferences and settings that will be used to compute the Amazon Web+-- Services charges for a billing group.+--+-- 'description', 'updateBillingGroup_description' - A description of the billing group.+--+-- 'name', 'updateBillingGroup_name' - The name of the billing group. The names must be unique to each billing+-- group.+--+-- 'status', 'updateBillingGroup_status' - The status of the billing group. Only one of the valid values can be+-- used.+--+-- 'arn', 'updateBillingGroup_arn' - The Amazon Resource Name (ARN) of the billing group being updated.+newUpdateBillingGroup ::+ -- | 'arn'+ Prelude.Text ->+ UpdateBillingGroup+newUpdateBillingGroup pArn_ =+ UpdateBillingGroup'+ { computationPreference =+ Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ arn = pArn_+ }++-- | The preferences and settings that will be used to compute the Amazon Web+-- Services charges for a billing group.+updateBillingGroup_computationPreference :: Lens.Lens' UpdateBillingGroup (Prelude.Maybe ComputationPreference)+updateBillingGroup_computationPreference = Lens.lens (\UpdateBillingGroup' {computationPreference} -> computationPreference) (\s@UpdateBillingGroup' {} a -> s {computationPreference = a} :: UpdateBillingGroup)++-- | A description of the billing group.+updateBillingGroup_description :: Lens.Lens' UpdateBillingGroup (Prelude.Maybe Prelude.Text)+updateBillingGroup_description = Lens.lens (\UpdateBillingGroup' {description} -> description) (\s@UpdateBillingGroup' {} a -> s {description = a} :: UpdateBillingGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the billing group. The names must be unique to each billing+-- group.+updateBillingGroup_name :: Lens.Lens' UpdateBillingGroup (Prelude.Maybe Prelude.Text)+updateBillingGroup_name = Lens.lens (\UpdateBillingGroup' {name} -> name) (\s@UpdateBillingGroup' {} a -> s {name = a} :: UpdateBillingGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The status of the billing group. Only one of the valid values can be+-- used.+updateBillingGroup_status :: Lens.Lens' UpdateBillingGroup (Prelude.Maybe BillingGroupStatus)+updateBillingGroup_status = Lens.lens (\UpdateBillingGroup' {status} -> status) (\s@UpdateBillingGroup' {} a -> s {status = a} :: UpdateBillingGroup)++-- | The Amazon Resource Name (ARN) of the billing group being updated.+updateBillingGroup_arn :: Lens.Lens' UpdateBillingGroup Prelude.Text+updateBillingGroup_arn = Lens.lens (\UpdateBillingGroup' {arn} -> arn) (\s@UpdateBillingGroup' {} a -> s {arn = a} :: UpdateBillingGroup)++instance Core.AWSRequest UpdateBillingGroup where+ type+ AWSResponse UpdateBillingGroup =+ UpdateBillingGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateBillingGroupResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "Description")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PricingPlanArn")+ Prelude.<*> (x Data..?> "PrimaryAccountId")+ Prelude.<*> (x Data..?> "Size")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (x Data..?> "StatusReason")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateBillingGroup where+ hashWithSalt _salt UpdateBillingGroup' {..} =+ _salt+ `Prelude.hashWithSalt` computationPreference+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdateBillingGroup where+ rnf UpdateBillingGroup' {..} =+ Prelude.rnf computationPreference+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdateBillingGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateBillingGroup where+ toJSON UpdateBillingGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ComputationPreference" Data..=)+ Prelude.<$> computationPreference,+ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name,+ ("Status" Data..=) Prelude.<$> status,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath UpdateBillingGroup where+ toPath = Prelude.const "/update-billing-group"++instance Data.ToQuery UpdateBillingGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBillingGroupResponse' smart constructor.+data UpdateBillingGroupResponse = UpdateBillingGroupResponse'+ { -- | The Amazon Resource Name (ARN) of the billing group that was updated.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A description of the billing group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the billing group was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of the billing group. The names must be unique to each billing+ -- group.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The Amazon Resource Name (ARN) of the pricing plan to compute Amazon Web+ -- Services charges for the billing group.+ pricingPlanArn :: Prelude.Maybe Prelude.Text,+ -- | The account ID that serves as the main account in a billing group.+ primaryAccountId :: Prelude.Maybe Prelude.Text,+ -- | The number of accounts in the particular billing group.+ size :: Prelude.Maybe Prelude.Natural,+ -- | The status of the billing group. Only one of the valid values can be+ -- used.+ status :: Prelude.Maybe BillingGroupStatus,+ -- | The reason why the billing group is in its current status.+ statusReason :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBillingGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateBillingGroupResponse_arn' - The Amazon Resource Name (ARN) of the billing group that was updated.+--+-- 'description', 'updateBillingGroupResponse_description' - A description of the billing group.+--+-- 'lastModifiedTime', 'updateBillingGroupResponse_lastModifiedTime' - The most recent time when the billing group was modified.+--+-- 'name', 'updateBillingGroupResponse_name' - The name of the billing group. The names must be unique to each billing+-- group.+--+-- 'pricingPlanArn', 'updateBillingGroupResponse_pricingPlanArn' - The Amazon Resource Name (ARN) of the pricing plan to compute Amazon Web+-- Services charges for the billing group.+--+-- 'primaryAccountId', 'updateBillingGroupResponse_primaryAccountId' - The account ID that serves as the main account in a billing group.+--+-- 'size', 'updateBillingGroupResponse_size' - The number of accounts in the particular billing group.+--+-- 'status', 'updateBillingGroupResponse_status' - The status of the billing group. Only one of the valid values can be+-- used.+--+-- 'statusReason', 'updateBillingGroupResponse_statusReason' - The reason why the billing group is in its current status.+--+-- 'httpStatus', 'updateBillingGroupResponse_httpStatus' - The response's http status code.+newUpdateBillingGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateBillingGroupResponse+newUpdateBillingGroupResponse pHttpStatus_ =+ UpdateBillingGroupResponse'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ pricingPlanArn = Prelude.Nothing,+ primaryAccountId = Prelude.Nothing,+ size = Prelude.Nothing,+ status = Prelude.Nothing,+ statusReason = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the billing group that was updated.+updateBillingGroupResponse_arn :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_arn = Lens.lens (\UpdateBillingGroupResponse' {arn} -> arn) (\s@UpdateBillingGroupResponse' {} a -> s {arn = a} :: UpdateBillingGroupResponse)++-- | A description of the billing group.+updateBillingGroupResponse_description :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_description = Lens.lens (\UpdateBillingGroupResponse' {description} -> description) (\s@UpdateBillingGroupResponse' {} a -> s {description = a} :: UpdateBillingGroupResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the billing group was modified.+updateBillingGroupResponse_lastModifiedTime :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Integer)+updateBillingGroupResponse_lastModifiedTime = Lens.lens (\UpdateBillingGroupResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateBillingGroupResponse' {} a -> s {lastModifiedTime = a} :: UpdateBillingGroupResponse)++-- | The name of the billing group. The names must be unique to each billing+-- group.+updateBillingGroupResponse_name :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_name = Lens.lens (\UpdateBillingGroupResponse' {name} -> name) (\s@UpdateBillingGroupResponse' {} a -> s {name = a} :: UpdateBillingGroupResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Resource Name (ARN) of the pricing plan to compute Amazon Web+-- Services charges for the billing group.+updateBillingGroupResponse_pricingPlanArn :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_pricingPlanArn = Lens.lens (\UpdateBillingGroupResponse' {pricingPlanArn} -> pricingPlanArn) (\s@UpdateBillingGroupResponse' {} a -> s {pricingPlanArn = a} :: UpdateBillingGroupResponse)++-- | The account ID that serves as the main account in a billing group.+updateBillingGroupResponse_primaryAccountId :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_primaryAccountId = Lens.lens (\UpdateBillingGroupResponse' {primaryAccountId} -> primaryAccountId) (\s@UpdateBillingGroupResponse' {} a -> s {primaryAccountId = a} :: UpdateBillingGroupResponse)++-- | The number of accounts in the particular billing group.+updateBillingGroupResponse_size :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Natural)+updateBillingGroupResponse_size = Lens.lens (\UpdateBillingGroupResponse' {size} -> size) (\s@UpdateBillingGroupResponse' {} a -> s {size = a} :: UpdateBillingGroupResponse)++-- | The status of the billing group. Only one of the valid values can be+-- used.+updateBillingGroupResponse_status :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe BillingGroupStatus)+updateBillingGroupResponse_status = Lens.lens (\UpdateBillingGroupResponse' {status} -> status) (\s@UpdateBillingGroupResponse' {} a -> s {status = a} :: UpdateBillingGroupResponse)++-- | The reason why the billing group is in its current status.+updateBillingGroupResponse_statusReason :: Lens.Lens' UpdateBillingGroupResponse (Prelude.Maybe Prelude.Text)+updateBillingGroupResponse_statusReason = Lens.lens (\UpdateBillingGroupResponse' {statusReason} -> statusReason) (\s@UpdateBillingGroupResponse' {} a -> s {statusReason = a} :: UpdateBillingGroupResponse)++-- | The response's http status code.+updateBillingGroupResponse_httpStatus :: Lens.Lens' UpdateBillingGroupResponse Prelude.Int+updateBillingGroupResponse_httpStatus = Lens.lens (\UpdateBillingGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateBillingGroupResponse' {} a -> s {httpStatus = a} :: UpdateBillingGroupResponse)++instance Prelude.NFData UpdateBillingGroupResponse where+ rnf UpdateBillingGroupResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf pricingPlanArn+ `Prelude.seq` Prelude.rnf primaryAccountId+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusReason+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/UpdateCustomLineItem.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.BillingConductor.UpdateCustomLineItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update an existing custom line item in the current or previous billing+-- period.+module Amazonka.BillingConductor.UpdateCustomLineItem+ ( -- * Creating a Request+ UpdateCustomLineItem (..),+ newUpdateCustomLineItem,++ -- * Request Lenses+ updateCustomLineItem_billingPeriodRange,+ updateCustomLineItem_chargeDetails,+ updateCustomLineItem_description,+ updateCustomLineItem_name,+ updateCustomLineItem_arn,++ -- * Destructuring the Response+ UpdateCustomLineItemResponse (..),+ newUpdateCustomLineItemResponse,++ -- * Response Lenses+ updateCustomLineItemResponse_arn,+ updateCustomLineItemResponse_associationSize,+ updateCustomLineItemResponse_billingGroupArn,+ updateCustomLineItemResponse_chargeDetails,+ updateCustomLineItemResponse_description,+ updateCustomLineItemResponse_lastModifiedTime,+ updateCustomLineItemResponse_name,+ updateCustomLineItemResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateCustomLineItem' smart constructor.+data UpdateCustomLineItem = UpdateCustomLineItem'+ { billingPeriodRange :: Prelude.Maybe CustomLineItemBillingPeriodRange,+ -- | A @ListCustomLineItemChargeDetails@ containing the new charge details+ -- for the custom line item.+ chargeDetails :: Prelude.Maybe UpdateCustomLineItemChargeDetails,+ -- | The new line item description of the custom line item.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The new name for the custom line item.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The ARN of the custom line item to be updated.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCustomLineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'billingPeriodRange', 'updateCustomLineItem_billingPeriodRange' - Undocumented member.+--+-- 'chargeDetails', 'updateCustomLineItem_chargeDetails' - A @ListCustomLineItemChargeDetails@ containing the new charge details+-- for the custom line item.+--+-- 'description', 'updateCustomLineItem_description' - The new line item description of the custom line item.+--+-- 'name', 'updateCustomLineItem_name' - The new name for the custom line item.+--+-- 'arn', 'updateCustomLineItem_arn' - The ARN of the custom line item to be updated.+newUpdateCustomLineItem ::+ -- | 'arn'+ Prelude.Text ->+ UpdateCustomLineItem+newUpdateCustomLineItem pArn_ =+ UpdateCustomLineItem'+ { billingPeriodRange =+ Prelude.Nothing,+ chargeDetails = Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ arn = pArn_+ }++-- | Undocumented member.+updateCustomLineItem_billingPeriodRange :: Lens.Lens' UpdateCustomLineItem (Prelude.Maybe CustomLineItemBillingPeriodRange)+updateCustomLineItem_billingPeriodRange = Lens.lens (\UpdateCustomLineItem' {billingPeriodRange} -> billingPeriodRange) (\s@UpdateCustomLineItem' {} a -> s {billingPeriodRange = a} :: UpdateCustomLineItem)++-- | A @ListCustomLineItemChargeDetails@ containing the new charge details+-- for the custom line item.+updateCustomLineItem_chargeDetails :: Lens.Lens' UpdateCustomLineItem (Prelude.Maybe UpdateCustomLineItemChargeDetails)+updateCustomLineItem_chargeDetails = Lens.lens (\UpdateCustomLineItem' {chargeDetails} -> chargeDetails) (\s@UpdateCustomLineItem' {} a -> s {chargeDetails = a} :: UpdateCustomLineItem)++-- | The new line item description of the custom line item.+updateCustomLineItem_description :: Lens.Lens' UpdateCustomLineItem (Prelude.Maybe Prelude.Text)+updateCustomLineItem_description = Lens.lens (\UpdateCustomLineItem' {description} -> description) (\s@UpdateCustomLineItem' {} a -> s {description = a} :: UpdateCustomLineItem) Prelude.. Lens.mapping Data._Sensitive++-- | The new name for the custom line item.+updateCustomLineItem_name :: Lens.Lens' UpdateCustomLineItem (Prelude.Maybe Prelude.Text)+updateCustomLineItem_name = Lens.lens (\UpdateCustomLineItem' {name} -> name) (\s@UpdateCustomLineItem' {} a -> s {name = a} :: UpdateCustomLineItem) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the custom line item to be updated.+updateCustomLineItem_arn :: Lens.Lens' UpdateCustomLineItem Prelude.Text+updateCustomLineItem_arn = Lens.lens (\UpdateCustomLineItem' {arn} -> arn) (\s@UpdateCustomLineItem' {} a -> s {arn = a} :: UpdateCustomLineItem)++instance Core.AWSRequest UpdateCustomLineItem where+ type+ AWSResponse UpdateCustomLineItem =+ UpdateCustomLineItemResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateCustomLineItemResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "AssociationSize")+ Prelude.<*> (x Data..?> "BillingGroupArn")+ Prelude.<*> (x Data..?> "ChargeDetails")+ Prelude.<*> (x Data..?> "Description")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateCustomLineItem where+ hashWithSalt _salt UpdateCustomLineItem' {..} =+ _salt+ `Prelude.hashWithSalt` billingPeriodRange+ `Prelude.hashWithSalt` chargeDetails+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdateCustomLineItem where+ rnf UpdateCustomLineItem' {..} =+ Prelude.rnf billingPeriodRange+ `Prelude.seq` Prelude.rnf chargeDetails+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdateCustomLineItem where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateCustomLineItem where+ toJSON UpdateCustomLineItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BillingPeriodRange" Data..=)+ Prelude.<$> billingPeriodRange,+ ("ChargeDetails" Data..=) Prelude.<$> chargeDetails,+ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath UpdateCustomLineItem where+ toPath = Prelude.const "/update-custom-line-item"++instance Data.ToQuery UpdateCustomLineItem where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateCustomLineItemResponse' smart constructor.+data UpdateCustomLineItemResponse = UpdateCustomLineItemResponse'+ { -- | The ARN of the successfully updated custom line item.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The number of resources that are associated to the custom line item.+ associationSize :: Prelude.Maybe Prelude.Natural,+ -- | The ARN of the billing group that the custom line item is applied to.+ billingGroupArn :: Prelude.Maybe Prelude.Text,+ -- | A @ListCustomLineItemChargeDetails@ containing the charge details of the+ -- successfully updated custom line item.+ chargeDetails :: Prelude.Maybe ListCustomLineItemChargeDetails,+ -- | The description of the successfully updated custom line item.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the custom line item was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of the successfully updated custom line item.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCustomLineItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateCustomLineItemResponse_arn' - The ARN of the successfully updated custom line item.+--+-- 'associationSize', 'updateCustomLineItemResponse_associationSize' - The number of resources that are associated to the custom line item.+--+-- 'billingGroupArn', 'updateCustomLineItemResponse_billingGroupArn' - The ARN of the billing group that the custom line item is applied to.+--+-- 'chargeDetails', 'updateCustomLineItemResponse_chargeDetails' - A @ListCustomLineItemChargeDetails@ containing the charge details of the+-- successfully updated custom line item.+--+-- 'description', 'updateCustomLineItemResponse_description' - The description of the successfully updated custom line item.+--+-- 'lastModifiedTime', 'updateCustomLineItemResponse_lastModifiedTime' - The most recent time when the custom line item was modified.+--+-- 'name', 'updateCustomLineItemResponse_name' - The name of the successfully updated custom line item.+--+-- 'httpStatus', 'updateCustomLineItemResponse_httpStatus' - The response's http status code.+newUpdateCustomLineItemResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateCustomLineItemResponse+newUpdateCustomLineItemResponse pHttpStatus_ =+ UpdateCustomLineItemResponse'+ { arn =+ Prelude.Nothing,+ associationSize = Prelude.Nothing,+ billingGroupArn = Prelude.Nothing,+ chargeDetails = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the successfully updated custom line item.+updateCustomLineItemResponse_arn :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Text)+updateCustomLineItemResponse_arn = Lens.lens (\UpdateCustomLineItemResponse' {arn} -> arn) (\s@UpdateCustomLineItemResponse' {} a -> s {arn = a} :: UpdateCustomLineItemResponse)++-- | The number of resources that are associated to the custom line item.+updateCustomLineItemResponse_associationSize :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Natural)+updateCustomLineItemResponse_associationSize = Lens.lens (\UpdateCustomLineItemResponse' {associationSize} -> associationSize) (\s@UpdateCustomLineItemResponse' {} a -> s {associationSize = a} :: UpdateCustomLineItemResponse)++-- | The ARN of the billing group that the custom line item is applied to.+updateCustomLineItemResponse_billingGroupArn :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Text)+updateCustomLineItemResponse_billingGroupArn = Lens.lens (\UpdateCustomLineItemResponse' {billingGroupArn} -> billingGroupArn) (\s@UpdateCustomLineItemResponse' {} a -> s {billingGroupArn = a} :: UpdateCustomLineItemResponse)++-- | A @ListCustomLineItemChargeDetails@ containing the charge details of the+-- successfully updated custom line item.+updateCustomLineItemResponse_chargeDetails :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe ListCustomLineItemChargeDetails)+updateCustomLineItemResponse_chargeDetails = Lens.lens (\UpdateCustomLineItemResponse' {chargeDetails} -> chargeDetails) (\s@UpdateCustomLineItemResponse' {} a -> s {chargeDetails = a} :: UpdateCustomLineItemResponse)++-- | The description of the successfully updated custom line item.+updateCustomLineItemResponse_description :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Text)+updateCustomLineItemResponse_description = Lens.lens (\UpdateCustomLineItemResponse' {description} -> description) (\s@UpdateCustomLineItemResponse' {} a -> s {description = a} :: UpdateCustomLineItemResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the custom line item was modified.+updateCustomLineItemResponse_lastModifiedTime :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Integer)+updateCustomLineItemResponse_lastModifiedTime = Lens.lens (\UpdateCustomLineItemResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateCustomLineItemResponse' {} a -> s {lastModifiedTime = a} :: UpdateCustomLineItemResponse)++-- | The name of the successfully updated custom line item.+updateCustomLineItemResponse_name :: Lens.Lens' UpdateCustomLineItemResponse (Prelude.Maybe Prelude.Text)+updateCustomLineItemResponse_name = Lens.lens (\UpdateCustomLineItemResponse' {name} -> name) (\s@UpdateCustomLineItemResponse' {} a -> s {name = a} :: UpdateCustomLineItemResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+updateCustomLineItemResponse_httpStatus :: Lens.Lens' UpdateCustomLineItemResponse Prelude.Int+updateCustomLineItemResponse_httpStatus = Lens.lens (\UpdateCustomLineItemResponse' {httpStatus} -> httpStatus) (\s@UpdateCustomLineItemResponse' {} a -> s {httpStatus = a} :: UpdateCustomLineItemResponse)++instance Prelude.NFData UpdateCustomLineItemResponse where+ rnf UpdateCustomLineItemResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associationSize+ `Prelude.seq` Prelude.rnf billingGroupArn+ `Prelude.seq` Prelude.rnf chargeDetails+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/UpdatePricingPlan.hs view
@@ -0,0 +1,254 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.UpdatePricingPlan+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This updates an existing pricing plan.+module Amazonka.BillingConductor.UpdatePricingPlan+ ( -- * Creating a Request+ UpdatePricingPlan (..),+ newUpdatePricingPlan,++ -- * Request Lenses+ updatePricingPlan_description,+ updatePricingPlan_name,+ updatePricingPlan_arn,++ -- * Destructuring the Response+ UpdatePricingPlanResponse (..),+ newUpdatePricingPlanResponse,++ -- * Response Lenses+ updatePricingPlanResponse_arn,+ updatePricingPlanResponse_description,+ updatePricingPlanResponse_lastModifiedTime,+ updatePricingPlanResponse_name,+ updatePricingPlanResponse_size,+ updatePricingPlanResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePricingPlan' smart constructor.+data UpdatePricingPlan = UpdatePricingPlan'+ { -- | The description of the pricing plan.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the pricing plan. The name must be unique to each pricing+ -- plan.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The Amazon Resource Name (ARN) of the pricing plan that you\'re+ -- updating.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePricingPlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updatePricingPlan_description' - The description of the pricing plan.+--+-- 'name', 'updatePricingPlan_name' - The name of the pricing plan. The name must be unique to each pricing+-- plan.+--+-- 'arn', 'updatePricingPlan_arn' - The Amazon Resource Name (ARN) of the pricing plan that you\'re+-- updating.+newUpdatePricingPlan ::+ -- | 'arn'+ Prelude.Text ->+ UpdatePricingPlan+newUpdatePricingPlan pArn_ =+ UpdatePricingPlan'+ { description = Prelude.Nothing,+ name = Prelude.Nothing,+ arn = pArn_+ }++-- | The description of the pricing plan.+updatePricingPlan_description :: Lens.Lens' UpdatePricingPlan (Prelude.Maybe Prelude.Text)+updatePricingPlan_description = Lens.lens (\UpdatePricingPlan' {description} -> description) (\s@UpdatePricingPlan' {} a -> s {description = a} :: UpdatePricingPlan) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the pricing plan. The name must be unique to each pricing+-- plan.+updatePricingPlan_name :: Lens.Lens' UpdatePricingPlan (Prelude.Maybe Prelude.Text)+updatePricingPlan_name = Lens.lens (\UpdatePricingPlan' {name} -> name) (\s@UpdatePricingPlan' {} a -> s {name = a} :: UpdatePricingPlan) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Resource Name (ARN) of the pricing plan that you\'re+-- updating.+updatePricingPlan_arn :: Lens.Lens' UpdatePricingPlan Prelude.Text+updatePricingPlan_arn = Lens.lens (\UpdatePricingPlan' {arn} -> arn) (\s@UpdatePricingPlan' {} a -> s {arn = a} :: UpdatePricingPlan)++instance Core.AWSRequest UpdatePricingPlan where+ type+ AWSResponse UpdatePricingPlan =+ UpdatePricingPlanResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdatePricingPlanResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "Description")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "Size")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdatePricingPlan where+ hashWithSalt _salt UpdatePricingPlan' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdatePricingPlan where+ rnf UpdatePricingPlan' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdatePricingPlan where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdatePricingPlan where+ toJSON UpdatePricingPlan' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name,+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath UpdatePricingPlan where+ toPath = Prelude.const "/update-pricing-plan"++instance Data.ToQuery UpdatePricingPlan where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePricingPlanResponse' smart constructor.+data UpdatePricingPlanResponse = UpdatePricingPlanResponse'+ { -- | The Amazon Resource Name (ARN) of the updated pricing plan.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The new description for the pricing rule.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time when the pricing plan was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The name of the pricing plan. The name must be unique to each pricing+ -- plan.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The pricing rules count that\'s currently associated with this pricing+ -- plan list.+ size :: Prelude.Maybe Prelude.Natural,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePricingPlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updatePricingPlanResponse_arn' - The Amazon Resource Name (ARN) of the updated pricing plan.+--+-- 'description', 'updatePricingPlanResponse_description' - The new description for the pricing rule.+--+-- 'lastModifiedTime', 'updatePricingPlanResponse_lastModifiedTime' - The most recent time when the pricing plan was modified.+--+-- 'name', 'updatePricingPlanResponse_name' - The name of the pricing plan. The name must be unique to each pricing+-- plan.+--+-- 'size', 'updatePricingPlanResponse_size' - The pricing rules count that\'s currently associated with this pricing+-- plan list.+--+-- 'httpStatus', 'updatePricingPlanResponse_httpStatus' - The response's http status code.+newUpdatePricingPlanResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdatePricingPlanResponse+newUpdatePricingPlanResponse pHttpStatus_ =+ UpdatePricingPlanResponse'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ name = Prelude.Nothing,+ size = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the updated pricing plan.+updatePricingPlanResponse_arn :: Lens.Lens' UpdatePricingPlanResponse (Prelude.Maybe Prelude.Text)+updatePricingPlanResponse_arn = Lens.lens (\UpdatePricingPlanResponse' {arn} -> arn) (\s@UpdatePricingPlanResponse' {} a -> s {arn = a} :: UpdatePricingPlanResponse)++-- | The new description for the pricing rule.+updatePricingPlanResponse_description :: Lens.Lens' UpdatePricingPlanResponse (Prelude.Maybe Prelude.Text)+updatePricingPlanResponse_description = Lens.lens (\UpdatePricingPlanResponse' {description} -> description) (\s@UpdatePricingPlanResponse' {} a -> s {description = a} :: UpdatePricingPlanResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time when the pricing plan was modified.+updatePricingPlanResponse_lastModifiedTime :: Lens.Lens' UpdatePricingPlanResponse (Prelude.Maybe Prelude.Integer)+updatePricingPlanResponse_lastModifiedTime = Lens.lens (\UpdatePricingPlanResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdatePricingPlanResponse' {} a -> s {lastModifiedTime = a} :: UpdatePricingPlanResponse)++-- | The name of the pricing plan. The name must be unique to each pricing+-- plan.+updatePricingPlanResponse_name :: Lens.Lens' UpdatePricingPlanResponse (Prelude.Maybe Prelude.Text)+updatePricingPlanResponse_name = Lens.lens (\UpdatePricingPlanResponse' {name} -> name) (\s@UpdatePricingPlanResponse' {} a -> s {name = a} :: UpdatePricingPlanResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The pricing rules count that\'s currently associated with this pricing+-- plan list.+updatePricingPlanResponse_size :: Lens.Lens' UpdatePricingPlanResponse (Prelude.Maybe Prelude.Natural)+updatePricingPlanResponse_size = Lens.lens (\UpdatePricingPlanResponse' {size} -> size) (\s@UpdatePricingPlanResponse' {} a -> s {size = a} :: UpdatePricingPlanResponse)++-- | The response's http status code.+updatePricingPlanResponse_httpStatus :: Lens.Lens' UpdatePricingPlanResponse Prelude.Int+updatePricingPlanResponse_httpStatus = Lens.lens (\UpdatePricingPlanResponse' {httpStatus} -> httpStatus) (\s@UpdatePricingPlanResponse' {} a -> s {httpStatus = a} :: UpdatePricingPlanResponse)++instance Prelude.NFData UpdatePricingPlanResponse where+ rnf UpdatePricingPlanResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/UpdatePricingRule.hs view
@@ -0,0 +1,372 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.BillingConductor.UpdatePricingRule+-- 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 pricing rule.+module Amazonka.BillingConductor.UpdatePricingRule+ ( -- * Creating a Request+ UpdatePricingRule (..),+ newUpdatePricingRule,++ -- * Request Lenses+ updatePricingRule_description,+ updatePricingRule_modifierPercentage,+ updatePricingRule_name,+ updatePricingRule_tiering,+ updatePricingRule_type,+ updatePricingRule_arn,++ -- * Destructuring the Response+ UpdatePricingRuleResponse (..),+ newUpdatePricingRuleResponse,++ -- * Response Lenses+ updatePricingRuleResponse_arn,+ updatePricingRuleResponse_associatedPricingPlanCount,+ updatePricingRuleResponse_billingEntity,+ updatePricingRuleResponse_description,+ updatePricingRuleResponse_lastModifiedTime,+ updatePricingRuleResponse_modifierPercentage,+ updatePricingRuleResponse_name,+ updatePricingRuleResponse_scope,+ updatePricingRuleResponse_service,+ updatePricingRuleResponse_tiering,+ updatePricingRuleResponse_type,+ updatePricingRuleResponse_httpStatus,+ )+where++import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePricingRule' smart constructor.+data UpdatePricingRule = UpdatePricingRule'+ { -- | The new description for the pricing rule.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The new modifier to show pricing plan rates as a percentage.+ modifierPercentage :: Prelude.Maybe Prelude.Double,+ -- | The new name of the pricing rule. The name must be unique to each+ -- pricing rule.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The set of tiering configurations for the pricing rule.+ tiering :: Prelude.Maybe UpdateTieringInput,+ -- | The new pricing rule type.+ type' :: Prelude.Maybe PricingRuleType,+ -- | The Amazon Resource Name (ARN) of the pricing rule to update.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePricingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updatePricingRule_description' - The new description for the pricing rule.+--+-- 'modifierPercentage', 'updatePricingRule_modifierPercentage' - The new modifier to show pricing plan rates as a percentage.+--+-- 'name', 'updatePricingRule_name' - The new name of the pricing rule. The name must be unique to each+-- pricing rule.+--+-- 'tiering', 'updatePricingRule_tiering' - The set of tiering configurations for the pricing rule.+--+-- 'type'', 'updatePricingRule_type' - The new pricing rule type.+--+-- 'arn', 'updatePricingRule_arn' - The Amazon Resource Name (ARN) of the pricing rule to update.+newUpdatePricingRule ::+ -- | 'arn'+ Prelude.Text ->+ UpdatePricingRule+newUpdatePricingRule pArn_ =+ UpdatePricingRule'+ { description = Prelude.Nothing,+ modifierPercentage = Prelude.Nothing,+ name = Prelude.Nothing,+ tiering = Prelude.Nothing,+ type' = Prelude.Nothing,+ arn = pArn_+ }++-- | The new description for the pricing rule.+updatePricingRule_description :: Lens.Lens' UpdatePricingRule (Prelude.Maybe Prelude.Text)+updatePricingRule_description = Lens.lens (\UpdatePricingRule' {description} -> description) (\s@UpdatePricingRule' {} a -> s {description = a} :: UpdatePricingRule) Prelude.. Lens.mapping Data._Sensitive++-- | The new modifier to show pricing plan rates as a percentage.+updatePricingRule_modifierPercentage :: Lens.Lens' UpdatePricingRule (Prelude.Maybe Prelude.Double)+updatePricingRule_modifierPercentage = Lens.lens (\UpdatePricingRule' {modifierPercentage} -> modifierPercentage) (\s@UpdatePricingRule' {} a -> s {modifierPercentage = a} :: UpdatePricingRule)++-- | The new name of the pricing rule. The name must be unique to each+-- pricing rule.+updatePricingRule_name :: Lens.Lens' UpdatePricingRule (Prelude.Maybe Prelude.Text)+updatePricingRule_name = Lens.lens (\UpdatePricingRule' {name} -> name) (\s@UpdatePricingRule' {} a -> s {name = a} :: UpdatePricingRule) Prelude.. Lens.mapping Data._Sensitive++-- | The set of tiering configurations for the pricing rule.+updatePricingRule_tiering :: Lens.Lens' UpdatePricingRule (Prelude.Maybe UpdateTieringInput)+updatePricingRule_tiering = Lens.lens (\UpdatePricingRule' {tiering} -> tiering) (\s@UpdatePricingRule' {} a -> s {tiering = a} :: UpdatePricingRule)++-- | The new pricing rule type.+updatePricingRule_type :: Lens.Lens' UpdatePricingRule (Prelude.Maybe PricingRuleType)+updatePricingRule_type = Lens.lens (\UpdatePricingRule' {type'} -> type') (\s@UpdatePricingRule' {} a -> s {type' = a} :: UpdatePricingRule)++-- | The Amazon Resource Name (ARN) of the pricing rule to update.+updatePricingRule_arn :: Lens.Lens' UpdatePricingRule Prelude.Text+updatePricingRule_arn = Lens.lens (\UpdatePricingRule' {arn} -> arn) (\s@UpdatePricingRule' {} a -> s {arn = a} :: UpdatePricingRule)++instance Core.AWSRequest UpdatePricingRule where+ type+ AWSResponse UpdatePricingRule =+ UpdatePricingRuleResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdatePricingRuleResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "AssociatedPricingPlanCount")+ Prelude.<*> (x Data..?> "BillingEntity")+ Prelude.<*> (x Data..?> "Description")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "ModifierPercentage")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "Scope")+ Prelude.<*> (x Data..?> "Service")+ Prelude.<*> (x Data..?> "Tiering")+ Prelude.<*> (x Data..?> "Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdatePricingRule where+ hashWithSalt _salt UpdatePricingRule' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` modifierPercentage+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tiering+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdatePricingRule where+ rnf UpdatePricingRule' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf modifierPercentage+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tiering+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdatePricingRule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdatePricingRule where+ toJSON UpdatePricingRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("ModifierPercentage" Data..=)+ Prelude.<$> modifierPercentage,+ ("Name" Data..=) Prelude.<$> name,+ ("Tiering" Data..=) Prelude.<$> tiering,+ ("Type" Data..=) Prelude.<$> type',+ Prelude.Just ("Arn" Data..= arn)+ ]+ )++instance Data.ToPath UpdatePricingRule where+ toPath = Prelude.const "/update-pricing-rule"++instance Data.ToQuery UpdatePricingRule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePricingRuleResponse' smart constructor.+data UpdatePricingRuleResponse = UpdatePricingRuleResponse'+ { -- | The Amazon Resource Name (ARN) of the successfully updated pricing rule.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The pricing plans count that this pricing rule is associated with.+ associatedPricingPlanCount :: Prelude.Maybe Prelude.Natural,+ -- | The seller of services provided by Amazon Web Services, their+ -- affiliates, or third-party providers selling services via Amazon Web+ -- Services Marketplace.+ billingEntity :: Prelude.Maybe Prelude.Text,+ -- | The new description for the pricing rule.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The most recent time the pricing rule was modified.+ lastModifiedTime :: Prelude.Maybe Prelude.Integer,+ -- | The new modifier to show pricing plan rates as a percentage.+ modifierPercentage :: Prelude.Maybe Prelude.Double,+ -- | The new name of the pricing rule. The name must be unique to each+ -- pricing rule.+ name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The scope of pricing rule that indicates if it\'s globally applicable,+ -- or it\'s service-specific.+ scope :: Prelude.Maybe PricingRuleScope,+ -- | If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+ -- which service the @PricingRule@ is applicable for.+ service :: Prelude.Maybe Prelude.Text,+ -- | The set of tiering configurations for the pricing rule.+ tiering :: Prelude.Maybe UpdateTieringInput,+ -- | The new pricing rule type.+ type' :: Prelude.Maybe PricingRuleType,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePricingRuleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updatePricingRuleResponse_arn' - The Amazon Resource Name (ARN) of the successfully updated pricing rule.+--+-- 'associatedPricingPlanCount', 'updatePricingRuleResponse_associatedPricingPlanCount' - The pricing plans count that this pricing rule is associated with.+--+-- 'billingEntity', 'updatePricingRuleResponse_billingEntity' - The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+--+-- 'description', 'updatePricingRuleResponse_description' - The new description for the pricing rule.+--+-- 'lastModifiedTime', 'updatePricingRuleResponse_lastModifiedTime' - The most recent time the pricing rule was modified.+--+-- 'modifierPercentage', 'updatePricingRuleResponse_modifierPercentage' - The new modifier to show pricing plan rates as a percentage.+--+-- 'name', 'updatePricingRuleResponse_name' - The new name of the pricing rule. The name must be unique to each+-- pricing rule.+--+-- 'scope', 'updatePricingRuleResponse_scope' - The scope of pricing rule that indicates if it\'s globally applicable,+-- or it\'s service-specific.+--+-- 'service', 'updatePricingRuleResponse_service' - If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+-- which service the @PricingRule@ is applicable for.+--+-- 'tiering', 'updatePricingRuleResponse_tiering' - The set of tiering configurations for the pricing rule.+--+-- 'type'', 'updatePricingRuleResponse_type' - The new pricing rule type.+--+-- 'httpStatus', 'updatePricingRuleResponse_httpStatus' - The response's http status code.+newUpdatePricingRuleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdatePricingRuleResponse+newUpdatePricingRuleResponse pHttpStatus_ =+ UpdatePricingRuleResponse'+ { arn = Prelude.Nothing,+ associatedPricingPlanCount = Prelude.Nothing,+ billingEntity = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ modifierPercentage = Prelude.Nothing,+ name = Prelude.Nothing,+ scope = Prelude.Nothing,+ service = Prelude.Nothing,+ tiering = Prelude.Nothing,+ type' = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the successfully updated pricing rule.+updatePricingRuleResponse_arn :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Text)+updatePricingRuleResponse_arn = Lens.lens (\UpdatePricingRuleResponse' {arn} -> arn) (\s@UpdatePricingRuleResponse' {} a -> s {arn = a} :: UpdatePricingRuleResponse)++-- | The pricing plans count that this pricing rule is associated with.+updatePricingRuleResponse_associatedPricingPlanCount :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Natural)+updatePricingRuleResponse_associatedPricingPlanCount = Lens.lens (\UpdatePricingRuleResponse' {associatedPricingPlanCount} -> associatedPricingPlanCount) (\s@UpdatePricingRuleResponse' {} a -> s {associatedPricingPlanCount = a} :: UpdatePricingRuleResponse)++-- | The seller of services provided by Amazon Web Services, their+-- affiliates, or third-party providers selling services via Amazon Web+-- Services Marketplace.+updatePricingRuleResponse_billingEntity :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Text)+updatePricingRuleResponse_billingEntity = Lens.lens (\UpdatePricingRuleResponse' {billingEntity} -> billingEntity) (\s@UpdatePricingRuleResponse' {} a -> s {billingEntity = a} :: UpdatePricingRuleResponse)++-- | The new description for the pricing rule.+updatePricingRuleResponse_description :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Text)+updatePricingRuleResponse_description = Lens.lens (\UpdatePricingRuleResponse' {description} -> description) (\s@UpdatePricingRuleResponse' {} a -> s {description = a} :: UpdatePricingRuleResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The most recent time the pricing rule was modified.+updatePricingRuleResponse_lastModifiedTime :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Integer)+updatePricingRuleResponse_lastModifiedTime = Lens.lens (\UpdatePricingRuleResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdatePricingRuleResponse' {} a -> s {lastModifiedTime = a} :: UpdatePricingRuleResponse)++-- | The new modifier to show pricing plan rates as a percentage.+updatePricingRuleResponse_modifierPercentage :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Double)+updatePricingRuleResponse_modifierPercentage = Lens.lens (\UpdatePricingRuleResponse' {modifierPercentage} -> modifierPercentage) (\s@UpdatePricingRuleResponse' {} a -> s {modifierPercentage = a} :: UpdatePricingRuleResponse)++-- | The new name of the pricing rule. The name must be unique to each+-- pricing rule.+updatePricingRuleResponse_name :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Text)+updatePricingRuleResponse_name = Lens.lens (\UpdatePricingRuleResponse' {name} -> name) (\s@UpdatePricingRuleResponse' {} a -> s {name = a} :: UpdatePricingRuleResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The scope of pricing rule that indicates if it\'s globally applicable,+-- or it\'s service-specific.+updatePricingRuleResponse_scope :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe PricingRuleScope)+updatePricingRuleResponse_scope = Lens.lens (\UpdatePricingRuleResponse' {scope} -> scope) (\s@UpdatePricingRuleResponse' {} a -> s {scope = a} :: UpdatePricingRuleResponse)++-- | If the @Scope@ attribute is set to @SERVICE@, the attribute indicates+-- which service the @PricingRule@ is applicable for.+updatePricingRuleResponse_service :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe Prelude.Text)+updatePricingRuleResponse_service = Lens.lens (\UpdatePricingRuleResponse' {service} -> service) (\s@UpdatePricingRuleResponse' {} a -> s {service = a} :: UpdatePricingRuleResponse)++-- | The set of tiering configurations for the pricing rule.+updatePricingRuleResponse_tiering :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe UpdateTieringInput)+updatePricingRuleResponse_tiering = Lens.lens (\UpdatePricingRuleResponse' {tiering} -> tiering) (\s@UpdatePricingRuleResponse' {} a -> s {tiering = a} :: UpdatePricingRuleResponse)++-- | The new pricing rule type.+updatePricingRuleResponse_type :: Lens.Lens' UpdatePricingRuleResponse (Prelude.Maybe PricingRuleType)+updatePricingRuleResponse_type = Lens.lens (\UpdatePricingRuleResponse' {type'} -> type') (\s@UpdatePricingRuleResponse' {} a -> s {type' = a} :: UpdatePricingRuleResponse)++-- | The response's http status code.+updatePricingRuleResponse_httpStatus :: Lens.Lens' UpdatePricingRuleResponse Prelude.Int+updatePricingRuleResponse_httpStatus = Lens.lens (\UpdatePricingRuleResponse' {httpStatus} -> httpStatus) (\s@UpdatePricingRuleResponse' {} a -> s {httpStatus = a} :: UpdatePricingRuleResponse)++instance Prelude.NFData UpdatePricingRuleResponse where+ rnf UpdatePricingRuleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associatedPricingPlanCount+ `Prelude.seq` Prelude.rnf billingEntity+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf modifierPercentage+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf service+ `Prelude.seq` Prelude.rnf tiering+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/BillingConductor/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.BillingConductor.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.BillingConductor.Waiters where++import Amazonka.BillingConductor.Lens+import Amazonka.BillingConductor.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.BillingConductor+import Test.Amazonka.BillingConductor.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "BillingConductor"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/BillingConductor.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.BillingConductor+-- Copyright : (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.BillingConductor+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/BillingConductor/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.BillingConductor.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.BillingConductor.Internal where
+ test/Test/Amazonka/Gen/BillingConductor.hs view
@@ -0,0 +1,658 @@+{-# 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.BillingConductor+-- Copyright : (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.BillingConductor where++import Amazonka.BillingConductor+import qualified Data.Proxy as Proxy+import Test.Amazonka.BillingConductor.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestAssociateAccounts $+-- newAssociateAccounts+--+-- , requestAssociatePricingRules $+-- newAssociatePricingRules+--+-- , requestBatchAssociateResourcesToCustomLineItem $+-- newBatchAssociateResourcesToCustomLineItem+--+-- , requestBatchDisassociateResourcesFromCustomLineItem $+-- newBatchDisassociateResourcesFromCustomLineItem+--+-- , requestCreateBillingGroup $+-- newCreateBillingGroup+--+-- , requestCreateCustomLineItem $+-- newCreateCustomLineItem+--+-- , requestCreatePricingPlan $+-- newCreatePricingPlan+--+-- , requestCreatePricingRule $+-- newCreatePricingRule+--+-- , requestDeleteBillingGroup $+-- newDeleteBillingGroup+--+-- , requestDeleteCustomLineItem $+-- newDeleteCustomLineItem+--+-- , requestDeletePricingPlan $+-- newDeletePricingPlan+--+-- , requestDeletePricingRule $+-- newDeletePricingRule+--+-- , requestDisassociateAccounts $+-- newDisassociateAccounts+--+-- , requestDisassociatePricingRules $+-- newDisassociatePricingRules+--+-- , requestListAccountAssociations $+-- newListAccountAssociations+--+-- , requestListBillingGroupCostReports $+-- newListBillingGroupCostReports+--+-- , requestListBillingGroups $+-- newListBillingGroups+--+-- , requestListCustomLineItemVersions $+-- newListCustomLineItemVersions+--+-- , requestListCustomLineItems $+-- newListCustomLineItems+--+-- , requestListPricingPlans $+-- newListPricingPlans+--+-- , requestListPricingPlansAssociatedWithPricingRule $+-- newListPricingPlansAssociatedWithPricingRule+--+-- , requestListPricingRules $+-- newListPricingRules+--+-- , requestListPricingRulesAssociatedToPricingPlan $+-- newListPricingRulesAssociatedToPricingPlan+--+-- , requestListResourcesAssociatedToCustomLineItem $+-- newListResourcesAssociatedToCustomLineItem+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateBillingGroup $+-- newUpdateBillingGroup+--+-- , requestUpdateCustomLineItem $+-- newUpdateCustomLineItem+--+-- , requestUpdatePricingPlan $+-- newUpdatePricingPlan+--+-- , requestUpdatePricingRule $+-- newUpdatePricingRule+--+-- ]++-- , testGroup "response"+-- [ responseAssociateAccounts $+-- newAssociateAccountsResponse+--+-- , responseAssociatePricingRules $+-- newAssociatePricingRulesResponse+--+-- , responseBatchAssociateResourcesToCustomLineItem $+-- newBatchAssociateResourcesToCustomLineItemResponse+--+-- , responseBatchDisassociateResourcesFromCustomLineItem $+-- newBatchDisassociateResourcesFromCustomLineItemResponse+--+-- , responseCreateBillingGroup $+-- newCreateBillingGroupResponse+--+-- , responseCreateCustomLineItem $+-- newCreateCustomLineItemResponse+--+-- , responseCreatePricingPlan $+-- newCreatePricingPlanResponse+--+-- , responseCreatePricingRule $+-- newCreatePricingRuleResponse+--+-- , responseDeleteBillingGroup $+-- newDeleteBillingGroupResponse+--+-- , responseDeleteCustomLineItem $+-- newDeleteCustomLineItemResponse+--+-- , responseDeletePricingPlan $+-- newDeletePricingPlanResponse+--+-- , responseDeletePricingRule $+-- newDeletePricingRuleResponse+--+-- , responseDisassociateAccounts $+-- newDisassociateAccountsResponse+--+-- , responseDisassociatePricingRules $+-- newDisassociatePricingRulesResponse+--+-- , responseListAccountAssociations $+-- newListAccountAssociationsResponse+--+-- , responseListBillingGroupCostReports $+-- newListBillingGroupCostReportsResponse+--+-- , responseListBillingGroups $+-- newListBillingGroupsResponse+--+-- , responseListCustomLineItemVersions $+-- newListCustomLineItemVersionsResponse+--+-- , responseListCustomLineItems $+-- newListCustomLineItemsResponse+--+-- , responseListPricingPlans $+-- newListPricingPlansResponse+--+-- , responseListPricingPlansAssociatedWithPricingRule $+-- newListPricingPlansAssociatedWithPricingRuleResponse+--+-- , responseListPricingRules $+-- newListPricingRulesResponse+--+-- , responseListPricingRulesAssociatedToPricingPlan $+-- newListPricingRulesAssociatedToPricingPlanResponse+--+-- , responseListResourcesAssociatedToCustomLineItem $+-- newListResourcesAssociatedToCustomLineItemResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateBillingGroup $+-- newUpdateBillingGroupResponse+--+-- , responseUpdateCustomLineItem $+-- newUpdateCustomLineItemResponse+--+-- , responseUpdatePricingPlan $+-- newUpdatePricingPlanResponse+--+-- , responseUpdatePricingRule $+-- newUpdatePricingRuleResponse+--+-- ]+-- ]++-- Requests++requestAssociateAccounts :: AssociateAccounts -> TestTree+requestAssociateAccounts =+ req+ "AssociateAccounts"+ "fixture/AssociateAccounts.yaml"++requestAssociatePricingRules :: AssociatePricingRules -> TestTree+requestAssociatePricingRules =+ req+ "AssociatePricingRules"+ "fixture/AssociatePricingRules.yaml"++requestBatchAssociateResourcesToCustomLineItem :: BatchAssociateResourcesToCustomLineItem -> TestTree+requestBatchAssociateResourcesToCustomLineItem =+ req+ "BatchAssociateResourcesToCustomLineItem"+ "fixture/BatchAssociateResourcesToCustomLineItem.yaml"++requestBatchDisassociateResourcesFromCustomLineItem :: BatchDisassociateResourcesFromCustomLineItem -> TestTree+requestBatchDisassociateResourcesFromCustomLineItem =+ req+ "BatchDisassociateResourcesFromCustomLineItem"+ "fixture/BatchDisassociateResourcesFromCustomLineItem.yaml"++requestCreateBillingGroup :: CreateBillingGroup -> TestTree+requestCreateBillingGroup =+ req+ "CreateBillingGroup"+ "fixture/CreateBillingGroup.yaml"++requestCreateCustomLineItem :: CreateCustomLineItem -> TestTree+requestCreateCustomLineItem =+ req+ "CreateCustomLineItem"+ "fixture/CreateCustomLineItem.yaml"++requestCreatePricingPlan :: CreatePricingPlan -> TestTree+requestCreatePricingPlan =+ req+ "CreatePricingPlan"+ "fixture/CreatePricingPlan.yaml"++requestCreatePricingRule :: CreatePricingRule -> TestTree+requestCreatePricingRule =+ req+ "CreatePricingRule"+ "fixture/CreatePricingRule.yaml"++requestDeleteBillingGroup :: DeleteBillingGroup -> TestTree+requestDeleteBillingGroup =+ req+ "DeleteBillingGroup"+ "fixture/DeleteBillingGroup.yaml"++requestDeleteCustomLineItem :: DeleteCustomLineItem -> TestTree+requestDeleteCustomLineItem =+ req+ "DeleteCustomLineItem"+ "fixture/DeleteCustomLineItem.yaml"++requestDeletePricingPlan :: DeletePricingPlan -> TestTree+requestDeletePricingPlan =+ req+ "DeletePricingPlan"+ "fixture/DeletePricingPlan.yaml"++requestDeletePricingRule :: DeletePricingRule -> TestTree+requestDeletePricingRule =+ req+ "DeletePricingRule"+ "fixture/DeletePricingRule.yaml"++requestDisassociateAccounts :: DisassociateAccounts -> TestTree+requestDisassociateAccounts =+ req+ "DisassociateAccounts"+ "fixture/DisassociateAccounts.yaml"++requestDisassociatePricingRules :: DisassociatePricingRules -> TestTree+requestDisassociatePricingRules =+ req+ "DisassociatePricingRules"+ "fixture/DisassociatePricingRules.yaml"++requestListAccountAssociations :: ListAccountAssociations -> TestTree+requestListAccountAssociations =+ req+ "ListAccountAssociations"+ "fixture/ListAccountAssociations.yaml"++requestListBillingGroupCostReports :: ListBillingGroupCostReports -> TestTree+requestListBillingGroupCostReports =+ req+ "ListBillingGroupCostReports"+ "fixture/ListBillingGroupCostReports.yaml"++requestListBillingGroups :: ListBillingGroups -> TestTree+requestListBillingGroups =+ req+ "ListBillingGroups"+ "fixture/ListBillingGroups.yaml"++requestListCustomLineItemVersions :: ListCustomLineItemVersions -> TestTree+requestListCustomLineItemVersions =+ req+ "ListCustomLineItemVersions"+ "fixture/ListCustomLineItemVersions.yaml"++requestListCustomLineItems :: ListCustomLineItems -> TestTree+requestListCustomLineItems =+ req+ "ListCustomLineItems"+ "fixture/ListCustomLineItems.yaml"++requestListPricingPlans :: ListPricingPlans -> TestTree+requestListPricingPlans =+ req+ "ListPricingPlans"+ "fixture/ListPricingPlans.yaml"++requestListPricingPlansAssociatedWithPricingRule :: ListPricingPlansAssociatedWithPricingRule -> TestTree+requestListPricingPlansAssociatedWithPricingRule =+ req+ "ListPricingPlansAssociatedWithPricingRule"+ "fixture/ListPricingPlansAssociatedWithPricingRule.yaml"++requestListPricingRules :: ListPricingRules -> TestTree+requestListPricingRules =+ req+ "ListPricingRules"+ "fixture/ListPricingRules.yaml"++requestListPricingRulesAssociatedToPricingPlan :: ListPricingRulesAssociatedToPricingPlan -> TestTree+requestListPricingRulesAssociatedToPricingPlan =+ req+ "ListPricingRulesAssociatedToPricingPlan"+ "fixture/ListPricingRulesAssociatedToPricingPlan.yaml"++requestListResourcesAssociatedToCustomLineItem :: ListResourcesAssociatedToCustomLineItem -> TestTree+requestListResourcesAssociatedToCustomLineItem =+ req+ "ListResourcesAssociatedToCustomLineItem"+ "fixture/ListResourcesAssociatedToCustomLineItem.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateBillingGroup :: UpdateBillingGroup -> TestTree+requestUpdateBillingGroup =+ req+ "UpdateBillingGroup"+ "fixture/UpdateBillingGroup.yaml"++requestUpdateCustomLineItem :: UpdateCustomLineItem -> TestTree+requestUpdateCustomLineItem =+ req+ "UpdateCustomLineItem"+ "fixture/UpdateCustomLineItem.yaml"++requestUpdatePricingPlan :: UpdatePricingPlan -> TestTree+requestUpdatePricingPlan =+ req+ "UpdatePricingPlan"+ "fixture/UpdatePricingPlan.yaml"++requestUpdatePricingRule :: UpdatePricingRule -> TestTree+requestUpdatePricingRule =+ req+ "UpdatePricingRule"+ "fixture/UpdatePricingRule.yaml"++-- Responses++responseAssociateAccounts :: AssociateAccountsResponse -> TestTree+responseAssociateAccounts =+ res+ "AssociateAccountsResponse"+ "fixture/AssociateAccountsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateAccounts)++responseAssociatePricingRules :: AssociatePricingRulesResponse -> TestTree+responseAssociatePricingRules =+ res+ "AssociatePricingRulesResponse"+ "fixture/AssociatePricingRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociatePricingRules)++responseBatchAssociateResourcesToCustomLineItem :: BatchAssociateResourcesToCustomLineItemResponse -> TestTree+responseBatchAssociateResourcesToCustomLineItem =+ res+ "BatchAssociateResourcesToCustomLineItemResponse"+ "fixture/BatchAssociateResourcesToCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchAssociateResourcesToCustomLineItem)++responseBatchDisassociateResourcesFromCustomLineItem :: BatchDisassociateResourcesFromCustomLineItemResponse -> TestTree+responseBatchDisassociateResourcesFromCustomLineItem =+ res+ "BatchDisassociateResourcesFromCustomLineItemResponse"+ "fixture/BatchDisassociateResourcesFromCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDisassociateResourcesFromCustomLineItem)++responseCreateBillingGroup :: CreateBillingGroupResponse -> TestTree+responseCreateBillingGroup =+ res+ "CreateBillingGroupResponse"+ "fixture/CreateBillingGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateBillingGroup)++responseCreateCustomLineItem :: CreateCustomLineItemResponse -> TestTree+responseCreateCustomLineItem =+ res+ "CreateCustomLineItemResponse"+ "fixture/CreateCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCustomLineItem)++responseCreatePricingPlan :: CreatePricingPlanResponse -> TestTree+responseCreatePricingPlan =+ res+ "CreatePricingPlanResponse"+ "fixture/CreatePricingPlanResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePricingPlan)++responseCreatePricingRule :: CreatePricingRuleResponse -> TestTree+responseCreatePricingRule =+ res+ "CreatePricingRuleResponse"+ "fixture/CreatePricingRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePricingRule)++responseDeleteBillingGroup :: DeleteBillingGroupResponse -> TestTree+responseDeleteBillingGroup =+ res+ "DeleteBillingGroupResponse"+ "fixture/DeleteBillingGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteBillingGroup)++responseDeleteCustomLineItem :: DeleteCustomLineItemResponse -> TestTree+responseDeleteCustomLineItem =+ res+ "DeleteCustomLineItemResponse"+ "fixture/DeleteCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCustomLineItem)++responseDeletePricingPlan :: DeletePricingPlanResponse -> TestTree+responseDeletePricingPlan =+ res+ "DeletePricingPlanResponse"+ "fixture/DeletePricingPlanResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePricingPlan)++responseDeletePricingRule :: DeletePricingRuleResponse -> TestTree+responseDeletePricingRule =+ res+ "DeletePricingRuleResponse"+ "fixture/DeletePricingRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePricingRule)++responseDisassociateAccounts :: DisassociateAccountsResponse -> TestTree+responseDisassociateAccounts =+ res+ "DisassociateAccountsResponse"+ "fixture/DisassociateAccountsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateAccounts)++responseDisassociatePricingRules :: DisassociatePricingRulesResponse -> TestTree+responseDisassociatePricingRules =+ res+ "DisassociatePricingRulesResponse"+ "fixture/DisassociatePricingRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociatePricingRules)++responseListAccountAssociations :: ListAccountAssociationsResponse -> TestTree+responseListAccountAssociations =+ res+ "ListAccountAssociationsResponse"+ "fixture/ListAccountAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAccountAssociations)++responseListBillingGroupCostReports :: ListBillingGroupCostReportsResponse -> TestTree+responseListBillingGroupCostReports =+ res+ "ListBillingGroupCostReportsResponse"+ "fixture/ListBillingGroupCostReportsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListBillingGroupCostReports)++responseListBillingGroups :: ListBillingGroupsResponse -> TestTree+responseListBillingGroups =+ res+ "ListBillingGroupsResponse"+ "fixture/ListBillingGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListBillingGroups)++responseListCustomLineItemVersions :: ListCustomLineItemVersionsResponse -> TestTree+responseListCustomLineItemVersions =+ res+ "ListCustomLineItemVersionsResponse"+ "fixture/ListCustomLineItemVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListCustomLineItemVersions)++responseListCustomLineItems :: ListCustomLineItemsResponse -> TestTree+responseListCustomLineItems =+ res+ "ListCustomLineItemsResponse"+ "fixture/ListCustomLineItemsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListCustomLineItems)++responseListPricingPlans :: ListPricingPlansResponse -> TestTree+responseListPricingPlans =+ res+ "ListPricingPlansResponse"+ "fixture/ListPricingPlansResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPricingPlans)++responseListPricingPlansAssociatedWithPricingRule :: ListPricingPlansAssociatedWithPricingRuleResponse -> TestTree+responseListPricingPlansAssociatedWithPricingRule =+ res+ "ListPricingPlansAssociatedWithPricingRuleResponse"+ "fixture/ListPricingPlansAssociatedWithPricingRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPricingPlansAssociatedWithPricingRule)++responseListPricingRules :: ListPricingRulesResponse -> TestTree+responseListPricingRules =+ res+ "ListPricingRulesResponse"+ "fixture/ListPricingRulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPricingRules)++responseListPricingRulesAssociatedToPricingPlan :: ListPricingRulesAssociatedToPricingPlanResponse -> TestTree+responseListPricingRulesAssociatedToPricingPlan =+ res+ "ListPricingRulesAssociatedToPricingPlanResponse"+ "fixture/ListPricingRulesAssociatedToPricingPlanResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPricingRulesAssociatedToPricingPlan)++responseListResourcesAssociatedToCustomLineItem :: ListResourcesAssociatedToCustomLineItemResponse -> TestTree+responseListResourcesAssociatedToCustomLineItem =+ res+ "ListResourcesAssociatedToCustomLineItemResponse"+ "fixture/ListResourcesAssociatedToCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResourcesAssociatedToCustomLineItem)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++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)++responseUpdateBillingGroup :: UpdateBillingGroupResponse -> TestTree+responseUpdateBillingGroup =+ res+ "UpdateBillingGroupResponse"+ "fixture/UpdateBillingGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateBillingGroup)++responseUpdateCustomLineItem :: UpdateCustomLineItemResponse -> TestTree+responseUpdateCustomLineItem =+ res+ "UpdateCustomLineItemResponse"+ "fixture/UpdateCustomLineItemResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateCustomLineItem)++responseUpdatePricingPlan :: UpdatePricingPlanResponse -> TestTree+responseUpdatePricingPlan =+ res+ "UpdatePricingPlanResponse"+ "fixture/UpdatePricingPlanResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdatePricingPlan)++responseUpdatePricingRule :: UpdatePricingRuleResponse -> TestTree+responseUpdatePricingRule =+ res+ "UpdatePricingRuleResponse"+ "fixture/UpdatePricingRuleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdatePricingRule)