amazonka-managedblockchain (empty) → 2.0
raw patch · 142 files changed
+15022/−0 lines, 142 filesdep +amazonka-coredep +amazonka-managedblockchaindep +amazonka-test
Dependencies added: amazonka-core, amazonka-managedblockchain, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-managedblockchain.cabal +159/−0
- fixture/CreateAccessor.yaml +10/−0
- fixture/CreateAccessorResponse.proto +0/−0
- fixture/CreateMember.yaml +10/−0
- fixture/CreateMemberResponse.proto +0/−0
- fixture/CreateNetwork.yaml +10/−0
- fixture/CreateNetworkResponse.proto +0/−0
- fixture/CreateNode.yaml +10/−0
- fixture/CreateNodeResponse.proto +0/−0
- fixture/CreateProposal.yaml +10/−0
- fixture/CreateProposalResponse.proto +0/−0
- fixture/DeleteAccessor.yaml +10/−0
- fixture/DeleteAccessorResponse.proto +0/−0
- fixture/DeleteMember.yaml +10/−0
- fixture/DeleteMemberResponse.proto +0/−0
- fixture/DeleteNode.yaml +10/−0
- fixture/DeleteNodeResponse.proto +0/−0
- fixture/GetAccessor.yaml +10/−0
- fixture/GetAccessorResponse.proto +0/−0
- fixture/GetMember.yaml +10/−0
- fixture/GetMemberResponse.proto +0/−0
- fixture/GetNetwork.yaml +10/−0
- fixture/GetNetworkResponse.proto +0/−0
- fixture/GetNode.yaml +10/−0
- fixture/GetNodeResponse.proto +0/−0
- fixture/GetProposal.yaml +10/−0
- fixture/GetProposalResponse.proto +0/−0
- fixture/ListAccessors.yaml +10/−0
- fixture/ListAccessorsResponse.proto +0/−0
- fixture/ListInvitations.yaml +10/−0
- fixture/ListInvitationsResponse.proto +0/−0
- fixture/ListMembers.yaml +10/−0
- fixture/ListMembersResponse.proto +0/−0
- fixture/ListNetworks.yaml +10/−0
- fixture/ListNetworksResponse.proto +0/−0
- fixture/ListNodes.yaml +10/−0
- fixture/ListNodesResponse.proto +0/−0
- fixture/ListProposalVotes.yaml +10/−0
- fixture/ListProposalVotesResponse.proto +0/−0
- fixture/ListProposals.yaml +10/−0
- fixture/ListProposalsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/RejectInvitation.yaml +10/−0
- fixture/RejectInvitationResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateMember.yaml +10/−0
- fixture/UpdateMemberResponse.proto +0/−0
- fixture/UpdateNode.yaml +10/−0
- fixture/UpdateNodeResponse.proto +0/−0
- fixture/VoteOnProposal.yaml +10/−0
- fixture/VoteOnProposalResponse.proto +0/−0
- gen/Amazonka/ManagedBlockChain.hs +479/−0
- gen/Amazonka/ManagedBlockChain/CreateAccessor.hs +232/−0
- gen/Amazonka/ManagedBlockChain/CreateMember.hs +236/−0
- gen/Amazonka/ManagedBlockChain/CreateNetwork.hs +357/−0
- gen/Amazonka/ManagedBlockChain/CreateNode.hs +311/−0
- gen/Amazonka/ManagedBlockChain/CreateProposal.hs +319/−0
- gen/Amazonka/ManagedBlockChain/DeleteAccessor.hs +157/−0
- gen/Amazonka/ManagedBlockChain/DeleteMember.hs +173/−0
- gen/Amazonka/ManagedBlockChain/DeleteNode.hs +218/−0
- gen/Amazonka/ManagedBlockChain/GetAccessor.hs +163/−0
- gen/Amazonka/ManagedBlockChain/GetMember.hs +180/−0
- gen/Amazonka/ManagedBlockChain/GetNetwork.hs +157/−0
- gen/Amazonka/ManagedBlockChain/GetNode.hs +202/−0
- gen/Amazonka/ManagedBlockChain/GetProposal.hs +180/−0
- gen/Amazonka/ManagedBlockChain/Lens.hs +494/−0
- gen/Amazonka/ManagedBlockChain/ListAccessors.hs +220/−0
- gen/Amazonka/ManagedBlockChain/ListInvitations.hs +190/−0
- gen/Amazonka/ManagedBlockChain/ListMembers.hs +257/−0
- gen/Amazonka/ManagedBlockChain/ListNetworks.hs +241/−0
- gen/Amazonka/ManagedBlockChain/ListNodes.hs +243/−0
- gen/Amazonka/ManagedBlockChain/ListProposalVotes.hs +225/−0
- gen/Amazonka/ManagedBlockChain/ListProposals.hs +204/−0
- gen/Amazonka/ManagedBlockChain/ListTagsForResource.hs +175/−0
- gen/Amazonka/ManagedBlockChain/RejectInvitation.hs +151/−0
- gen/Amazonka/ManagedBlockChain/TagResource.hs +194/−0
- gen/Amazonka/ManagedBlockChain/Types.hs +570/−0
- gen/Amazonka/ManagedBlockChain/Types/Accessor.hs +163/−0
- gen/Amazonka/ManagedBlockChain/Types/AccessorStatus.hs +76/−0
- gen/Amazonka/ManagedBlockChain/Types/AccessorSummary.hs +142/−0
- gen/Amazonka/ManagedBlockChain/Types/AccessorType.hs +66/−0
- gen/Amazonka/ManagedBlockChain/Types/ApprovalThresholdPolicy.hs +153/−0
- gen/Amazonka/ManagedBlockChain/Types/Edition.hs +68/−0
- gen/Amazonka/ManagedBlockChain/Types/Framework.hs +71/−0
- gen/Amazonka/ManagedBlockChain/Types/Invitation.hs +199/−0
- gen/Amazonka/ManagedBlockChain/Types/InvitationStatus.hs +86/−0
- gen/Amazonka/ManagedBlockChain/Types/InviteAction.hs +80/−0
- gen/Amazonka/ManagedBlockChain/Types/LogConfiguration.hs +74/−0
- gen/Amazonka/ManagedBlockChain/Types/LogConfigurations.hs +76/−0
- gen/Amazonka/ManagedBlockChain/Types/Member.hs +338/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberConfiguration.hs +235/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberFabricAttributes.hs +86/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberFabricConfiguration.hs +109/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberFabricLogPublishingConfiguration.hs +104/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberFrameworkAttributes.hs +77/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberFrameworkConfiguration.hs +78/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberLogPublishingConfiguration.hs +95/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberStatus.hs +96/−0
- gen/Amazonka/ManagedBlockChain/Types/MemberSummary.hs +258/−0
- gen/Amazonka/ManagedBlockChain/Types/Network.hs +244/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkEthereumAttributes.hs +99/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkFabricAttributes.hs +91/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkFabricConfiguration.hs +76/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkFrameworkAttributes.hs +94/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkFrameworkConfiguration.hs +78/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkStatus.hs +86/−0
- gen/Amazonka/ManagedBlockChain/Types/NetworkSummary.hs +167/−0
- gen/Amazonka/ManagedBlockChain/Types/Node.hs +400/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeConfiguration.hs +132/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeEthereumAttributes.hs +109/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeFabricAttributes.hs +92/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeFabricLogPublishingConfiguration.hs +131/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeFrameworkAttributes.hs +94/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeLogPublishingConfiguration.hs +95/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeStatus.hs +106/−0
- gen/Amazonka/ManagedBlockChain/Types/NodeSummary.hs +142/−0
- gen/Amazonka/ManagedBlockChain/Types/Proposal.hs +337/−0
- gen/Amazonka/ManagedBlockChain/Types/ProposalActions.hs +106/−0
- gen/Amazonka/ManagedBlockChain/Types/ProposalStatus.hs +86/−0
- gen/Amazonka/ManagedBlockChain/Types/ProposalSummary.hs +234/−0
- gen/Amazonka/ManagedBlockChain/Types/RemoveAction.hs +80/−0
- gen/Amazonka/ManagedBlockChain/Types/StateDBType.hs +71/−0
- gen/Amazonka/ManagedBlockChain/Types/ThresholdComparator.hs +71/−0
- gen/Amazonka/ManagedBlockChain/Types/VoteSummary.hs +99/−0
- gen/Amazonka/ManagedBlockChain/Types/VoteValue.hs +71/−0
- gen/Amazonka/ManagedBlockChain/Types/VotingPolicy.hs +94/−0
- gen/Amazonka/ManagedBlockChain/UntagResource.hs +176/−0
- gen/Amazonka/ManagedBlockChain/UpdateMember.hs +191/−0
- gen/Amazonka/ManagedBlockChain/UpdateNode.hs +206/−0
- gen/Amazonka/ManagedBlockChain/VoteOnProposal.hs +213/−0
- gen/Amazonka/ManagedBlockChain/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/ManagedBlockChain.hs +578/−0
- test/Test/Amazonka/ManagedBlockChain.hs +20/−0
- test/Test/Amazonka/ManagedBlockChain/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Managed Blockchain SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-09-24@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-managedblockchain)+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.ManagedBlockChain](http://hackage.haskell.org/package/amazonka-managedblockchain/docs/Amazonka-ManagedBlockChain.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-managedblockchain` 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-managedblockchain.cabal view
@@ -0,0 +1,159 @@+cabal-version: 2.2+name: amazonka-managedblockchain+version: 2.0+synopsis: Amazon Managed Blockchain SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2018-09-24@ 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.ManagedBlockChain.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.ManagedBlockChain" 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-managedblockchain++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.ManagedBlockChain+ Amazonka.ManagedBlockChain.CreateAccessor+ Amazonka.ManagedBlockChain.CreateMember+ Amazonka.ManagedBlockChain.CreateNetwork+ Amazonka.ManagedBlockChain.CreateNode+ Amazonka.ManagedBlockChain.CreateProposal+ Amazonka.ManagedBlockChain.DeleteAccessor+ Amazonka.ManagedBlockChain.DeleteMember+ Amazonka.ManagedBlockChain.DeleteNode+ Amazonka.ManagedBlockChain.GetAccessor+ Amazonka.ManagedBlockChain.GetMember+ Amazonka.ManagedBlockChain.GetNetwork+ Amazonka.ManagedBlockChain.GetNode+ Amazonka.ManagedBlockChain.GetProposal+ Amazonka.ManagedBlockChain.Lens+ Amazonka.ManagedBlockChain.ListAccessors+ Amazonka.ManagedBlockChain.ListInvitations+ Amazonka.ManagedBlockChain.ListMembers+ Amazonka.ManagedBlockChain.ListNetworks+ Amazonka.ManagedBlockChain.ListNodes+ Amazonka.ManagedBlockChain.ListProposals+ Amazonka.ManagedBlockChain.ListProposalVotes+ Amazonka.ManagedBlockChain.ListTagsForResource+ Amazonka.ManagedBlockChain.RejectInvitation+ Amazonka.ManagedBlockChain.TagResource+ Amazonka.ManagedBlockChain.Types+ Amazonka.ManagedBlockChain.Types.Accessor+ Amazonka.ManagedBlockChain.Types.AccessorStatus+ Amazonka.ManagedBlockChain.Types.AccessorSummary+ Amazonka.ManagedBlockChain.Types.AccessorType+ Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy+ Amazonka.ManagedBlockChain.Types.Edition+ Amazonka.ManagedBlockChain.Types.Framework+ Amazonka.ManagedBlockChain.Types.Invitation+ Amazonka.ManagedBlockChain.Types.InvitationStatus+ Amazonka.ManagedBlockChain.Types.InviteAction+ Amazonka.ManagedBlockChain.Types.LogConfiguration+ Amazonka.ManagedBlockChain.Types.LogConfigurations+ Amazonka.ManagedBlockChain.Types.Member+ Amazonka.ManagedBlockChain.Types.MemberConfiguration+ Amazonka.ManagedBlockChain.Types.MemberFabricAttributes+ Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration+ Amazonka.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration+ Amazonka.ManagedBlockChain.Types.MemberFrameworkAttributes+ Amazonka.ManagedBlockChain.Types.MemberFrameworkConfiguration+ Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+ Amazonka.ManagedBlockChain.Types.MemberStatus+ Amazonka.ManagedBlockChain.Types.MemberSummary+ Amazonka.ManagedBlockChain.Types.Network+ Amazonka.ManagedBlockChain.Types.NetworkEthereumAttributes+ Amazonka.ManagedBlockChain.Types.NetworkFabricAttributes+ Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration+ Amazonka.ManagedBlockChain.Types.NetworkFrameworkAttributes+ Amazonka.ManagedBlockChain.Types.NetworkFrameworkConfiguration+ Amazonka.ManagedBlockChain.Types.NetworkStatus+ Amazonka.ManagedBlockChain.Types.NetworkSummary+ Amazonka.ManagedBlockChain.Types.Node+ Amazonka.ManagedBlockChain.Types.NodeConfiguration+ Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes+ Amazonka.ManagedBlockChain.Types.NodeFabricAttributes+ Amazonka.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration+ Amazonka.ManagedBlockChain.Types.NodeFrameworkAttributes+ Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+ Amazonka.ManagedBlockChain.Types.NodeStatus+ Amazonka.ManagedBlockChain.Types.NodeSummary+ Amazonka.ManagedBlockChain.Types.Proposal+ Amazonka.ManagedBlockChain.Types.ProposalActions+ Amazonka.ManagedBlockChain.Types.ProposalStatus+ Amazonka.ManagedBlockChain.Types.ProposalSummary+ Amazonka.ManagedBlockChain.Types.RemoveAction+ Amazonka.ManagedBlockChain.Types.StateDBType+ Amazonka.ManagedBlockChain.Types.ThresholdComparator+ Amazonka.ManagedBlockChain.Types.VoteSummary+ Amazonka.ManagedBlockChain.Types.VoteValue+ Amazonka.ManagedBlockChain.Types.VotingPolicy+ Amazonka.ManagedBlockChain.UntagResource+ Amazonka.ManagedBlockChain.UpdateMember+ Amazonka.ManagedBlockChain.UpdateNode+ Amazonka.ManagedBlockChain.VoteOnProposal+ Amazonka.ManagedBlockChain.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-managedblockchain-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.ManagedBlockChain+ Test.Amazonka.ManagedBlockChain+ Test.Amazonka.ManagedBlockChain.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-managedblockchain+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateAccessor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAccessorResponse.proto view
+ fixture/CreateMember.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateMemberResponse.proto view
+ fixture/CreateNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateNetworkResponse.proto view
+ fixture/CreateNode.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateNodeResponse.proto view
+ fixture/CreateProposal.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateProposalResponse.proto view
+ fixture/DeleteAccessor.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAccessorResponse.proto view
+ fixture/DeleteMember.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteMemberResponse.proto view
+ fixture/DeleteNode.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteNodeResponse.proto view
+ fixture/GetAccessor.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetAccessorResponse.proto view
+ fixture/GetMember.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetMemberResponse.proto view
+ fixture/GetNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetNetworkResponse.proto view
+ fixture/GetNode.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetNodeResponse.proto view
+ fixture/GetProposal.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetProposalResponse.proto view
+ fixture/ListAccessors.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAccessorsResponse.proto view
+ fixture/ListInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListInvitationsResponse.proto view
+ fixture/ListMembers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListMembersResponse.proto view
+ fixture/ListNetworks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListNetworksResponse.proto view
+ fixture/ListNodes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListNodesResponse.proto view
+ fixture/ListProposalVotes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListProposalVotesResponse.proto view
+ fixture/ListProposals.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListProposalsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-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/RejectInvitation.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/RejectInvitationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-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/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-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/UpdateMember.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateMemberResponse.proto view
+ fixture/UpdateNode.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateNodeResponse.proto view
+ fixture/VoteOnProposal.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/managedblockchain/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: managedblockchain.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/VoteOnProposalResponse.proto view
+ gen/Amazonka/ManagedBlockChain.hs view
@@ -0,0 +1,479 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.ManagedBlockChain+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-09-24@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Managed Blockchain is a fully managed service for creating and+-- managing blockchain networks using open-source frameworks. Blockchain+-- allows you to build applications where multiple parties can securely and+-- transparently run transactions and share data without the need for a+-- trusted, central authority.+--+-- Managed Blockchain supports the Hyperledger Fabric and Ethereum+-- open-source frameworks. Because of fundamental differences between the+-- frameworks, some API actions or data types may only apply in the context+-- of one framework and not the other. For example, actions related to+-- Hyperledger Fabric network members such as @CreateMember@ and+-- @DeleteMember@ don\'t apply to Ethereum.+--+-- The description for each action indicates the framework or frameworks to+-- which it applies. Data types and properties that apply only in the+-- context of a particular framework are similarly indicated.+module Amazonka.ManagedBlockChain+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** IllegalActionException+ _IllegalActionException,++ -- ** InternalServiceErrorException+ _InternalServiceErrorException,++ -- ** InvalidRequestException+ _InvalidRequestException,++ -- ** ResourceAlreadyExistsException+ _ResourceAlreadyExistsException,++ -- ** ResourceLimitExceededException+ _ResourceLimitExceededException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ResourceNotReadyException+ _ResourceNotReadyException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** TooManyTagsException+ _TooManyTagsException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateAccessor+ CreateAccessor (CreateAccessor'),+ newCreateAccessor,+ CreateAccessorResponse (CreateAccessorResponse'),+ newCreateAccessorResponse,++ -- ** CreateMember+ CreateMember (CreateMember'),+ newCreateMember,+ CreateMemberResponse (CreateMemberResponse'),+ newCreateMemberResponse,++ -- ** CreateNetwork+ CreateNetwork (CreateNetwork'),+ newCreateNetwork,+ CreateNetworkResponse (CreateNetworkResponse'),+ newCreateNetworkResponse,++ -- ** CreateNode+ CreateNode (CreateNode'),+ newCreateNode,+ CreateNodeResponse (CreateNodeResponse'),+ newCreateNodeResponse,++ -- ** CreateProposal+ CreateProposal (CreateProposal'),+ newCreateProposal,+ CreateProposalResponse (CreateProposalResponse'),+ newCreateProposalResponse,++ -- ** DeleteAccessor+ DeleteAccessor (DeleteAccessor'),+ newDeleteAccessor,+ DeleteAccessorResponse (DeleteAccessorResponse'),+ newDeleteAccessorResponse,++ -- ** DeleteMember+ DeleteMember (DeleteMember'),+ newDeleteMember,+ DeleteMemberResponse (DeleteMemberResponse'),+ newDeleteMemberResponse,++ -- ** DeleteNode+ DeleteNode (DeleteNode'),+ newDeleteNode,+ DeleteNodeResponse (DeleteNodeResponse'),+ newDeleteNodeResponse,++ -- ** GetAccessor+ GetAccessor (GetAccessor'),+ newGetAccessor,+ GetAccessorResponse (GetAccessorResponse'),+ newGetAccessorResponse,++ -- ** GetMember+ GetMember (GetMember'),+ newGetMember,+ GetMemberResponse (GetMemberResponse'),+ newGetMemberResponse,++ -- ** GetNetwork+ GetNetwork (GetNetwork'),+ newGetNetwork,+ GetNetworkResponse (GetNetworkResponse'),+ newGetNetworkResponse,++ -- ** GetNode+ GetNode (GetNode'),+ newGetNode,+ GetNodeResponse (GetNodeResponse'),+ newGetNodeResponse,++ -- ** GetProposal+ GetProposal (GetProposal'),+ newGetProposal,+ GetProposalResponse (GetProposalResponse'),+ newGetProposalResponse,++ -- ** ListAccessors (Paginated)+ ListAccessors (ListAccessors'),+ newListAccessors,+ ListAccessorsResponse (ListAccessorsResponse'),+ newListAccessorsResponse,++ -- ** ListInvitations+ ListInvitations (ListInvitations'),+ newListInvitations,+ ListInvitationsResponse (ListInvitationsResponse'),+ newListInvitationsResponse,++ -- ** ListMembers+ ListMembers (ListMembers'),+ newListMembers,+ ListMembersResponse (ListMembersResponse'),+ newListMembersResponse,++ -- ** ListNetworks+ ListNetworks (ListNetworks'),+ newListNetworks,+ ListNetworksResponse (ListNetworksResponse'),+ newListNetworksResponse,++ -- ** ListNodes+ ListNodes (ListNodes'),+ newListNodes,+ ListNodesResponse (ListNodesResponse'),+ newListNodesResponse,++ -- ** ListProposalVotes+ ListProposalVotes (ListProposalVotes'),+ newListProposalVotes,+ ListProposalVotesResponse (ListProposalVotesResponse'),+ newListProposalVotesResponse,++ -- ** ListProposals+ ListProposals (ListProposals'),+ newListProposals,+ ListProposalsResponse (ListProposalsResponse'),+ newListProposalsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** RejectInvitation+ RejectInvitation (RejectInvitation'),+ newRejectInvitation,+ RejectInvitationResponse (RejectInvitationResponse'),+ newRejectInvitationResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateMember+ UpdateMember (UpdateMember'),+ newUpdateMember,+ UpdateMemberResponse (UpdateMemberResponse'),+ newUpdateMemberResponse,++ -- ** UpdateNode+ UpdateNode (UpdateNode'),+ newUpdateNode,+ UpdateNodeResponse (UpdateNodeResponse'),+ newUpdateNodeResponse,++ -- ** VoteOnProposal+ VoteOnProposal (VoteOnProposal'),+ newVoteOnProposal,+ VoteOnProposalResponse (VoteOnProposalResponse'),+ newVoteOnProposalResponse,++ -- * Types++ -- ** AccessorStatus+ AccessorStatus (..),++ -- ** AccessorType+ AccessorType (..),++ -- ** Edition+ Edition (..),++ -- ** Framework+ Framework (..),++ -- ** InvitationStatus+ InvitationStatus (..),++ -- ** MemberStatus+ MemberStatus (..),++ -- ** NetworkStatus+ NetworkStatus (..),++ -- ** NodeStatus+ NodeStatus (..),++ -- ** ProposalStatus+ ProposalStatus (..),++ -- ** StateDBType+ StateDBType (..),++ -- ** ThresholdComparator+ ThresholdComparator (..),++ -- ** VoteValue+ VoteValue (..),++ -- ** Accessor+ Accessor (Accessor'),+ newAccessor,++ -- ** AccessorSummary+ AccessorSummary (AccessorSummary'),+ newAccessorSummary,++ -- ** ApprovalThresholdPolicy+ ApprovalThresholdPolicy (ApprovalThresholdPolicy'),+ newApprovalThresholdPolicy,++ -- ** Invitation+ Invitation (Invitation'),+ newInvitation,++ -- ** InviteAction+ InviteAction (InviteAction'),+ newInviteAction,++ -- ** LogConfiguration+ LogConfiguration (LogConfiguration'),+ newLogConfiguration,++ -- ** LogConfigurations+ LogConfigurations (LogConfigurations'),+ newLogConfigurations,++ -- ** Member+ Member (Member'),+ newMember,++ -- ** MemberConfiguration+ MemberConfiguration (MemberConfiguration'),+ newMemberConfiguration,++ -- ** MemberFabricAttributes+ MemberFabricAttributes (MemberFabricAttributes'),+ newMemberFabricAttributes,++ -- ** MemberFabricConfiguration+ MemberFabricConfiguration (MemberFabricConfiguration'),+ newMemberFabricConfiguration,++ -- ** MemberFabricLogPublishingConfiguration+ MemberFabricLogPublishingConfiguration (MemberFabricLogPublishingConfiguration'),+ newMemberFabricLogPublishingConfiguration,++ -- ** MemberFrameworkAttributes+ MemberFrameworkAttributes (MemberFrameworkAttributes'),+ newMemberFrameworkAttributes,++ -- ** MemberFrameworkConfiguration+ MemberFrameworkConfiguration (MemberFrameworkConfiguration'),+ newMemberFrameworkConfiguration,++ -- ** MemberLogPublishingConfiguration+ MemberLogPublishingConfiguration (MemberLogPublishingConfiguration'),+ newMemberLogPublishingConfiguration,++ -- ** MemberSummary+ MemberSummary (MemberSummary'),+ newMemberSummary,++ -- ** Network+ Network (Network'),+ newNetwork,++ -- ** NetworkEthereumAttributes+ NetworkEthereumAttributes (NetworkEthereumAttributes'),+ newNetworkEthereumAttributes,++ -- ** NetworkFabricAttributes+ NetworkFabricAttributes (NetworkFabricAttributes'),+ newNetworkFabricAttributes,++ -- ** NetworkFabricConfiguration+ NetworkFabricConfiguration (NetworkFabricConfiguration'),+ newNetworkFabricConfiguration,++ -- ** NetworkFrameworkAttributes+ NetworkFrameworkAttributes (NetworkFrameworkAttributes'),+ newNetworkFrameworkAttributes,++ -- ** NetworkFrameworkConfiguration+ NetworkFrameworkConfiguration (NetworkFrameworkConfiguration'),+ newNetworkFrameworkConfiguration,++ -- ** NetworkSummary+ NetworkSummary (NetworkSummary'),+ newNetworkSummary,++ -- ** Node+ Node (Node'),+ newNode,++ -- ** NodeConfiguration+ NodeConfiguration (NodeConfiguration'),+ newNodeConfiguration,++ -- ** NodeEthereumAttributes+ NodeEthereumAttributes (NodeEthereumAttributes'),+ newNodeEthereumAttributes,++ -- ** NodeFabricAttributes+ NodeFabricAttributes (NodeFabricAttributes'),+ newNodeFabricAttributes,++ -- ** NodeFabricLogPublishingConfiguration+ NodeFabricLogPublishingConfiguration (NodeFabricLogPublishingConfiguration'),+ newNodeFabricLogPublishingConfiguration,++ -- ** NodeFrameworkAttributes+ NodeFrameworkAttributes (NodeFrameworkAttributes'),+ newNodeFrameworkAttributes,++ -- ** NodeLogPublishingConfiguration+ NodeLogPublishingConfiguration (NodeLogPublishingConfiguration'),+ newNodeLogPublishingConfiguration,++ -- ** NodeSummary+ NodeSummary (NodeSummary'),+ newNodeSummary,++ -- ** Proposal+ Proposal (Proposal'),+ newProposal,++ -- ** ProposalActions+ ProposalActions (ProposalActions'),+ newProposalActions,++ -- ** ProposalSummary+ ProposalSummary (ProposalSummary'),+ newProposalSummary,++ -- ** RemoveAction+ RemoveAction (RemoveAction'),+ newRemoveAction,++ -- ** VoteSummary+ VoteSummary (VoteSummary'),+ newVoteSummary,++ -- ** VotingPolicy+ VotingPolicy (VotingPolicy'),+ newVotingPolicy,+ )+where++import Amazonka.ManagedBlockChain.CreateAccessor+import Amazonka.ManagedBlockChain.CreateMember+import Amazonka.ManagedBlockChain.CreateNetwork+import Amazonka.ManagedBlockChain.CreateNode+import Amazonka.ManagedBlockChain.CreateProposal+import Amazonka.ManagedBlockChain.DeleteAccessor+import Amazonka.ManagedBlockChain.DeleteMember+import Amazonka.ManagedBlockChain.DeleteNode+import Amazonka.ManagedBlockChain.GetAccessor+import Amazonka.ManagedBlockChain.GetMember+import Amazonka.ManagedBlockChain.GetNetwork+import Amazonka.ManagedBlockChain.GetNode+import Amazonka.ManagedBlockChain.GetProposal+import Amazonka.ManagedBlockChain.Lens+import Amazonka.ManagedBlockChain.ListAccessors+import Amazonka.ManagedBlockChain.ListInvitations+import Amazonka.ManagedBlockChain.ListMembers+import Amazonka.ManagedBlockChain.ListNetworks+import Amazonka.ManagedBlockChain.ListNodes+import Amazonka.ManagedBlockChain.ListProposalVotes+import Amazonka.ManagedBlockChain.ListProposals+import Amazonka.ManagedBlockChain.ListTagsForResource+import Amazonka.ManagedBlockChain.RejectInvitation+import Amazonka.ManagedBlockChain.TagResource+import Amazonka.ManagedBlockChain.Types+import Amazonka.ManagedBlockChain.UntagResource+import Amazonka.ManagedBlockChain.UpdateMember+import Amazonka.ManagedBlockChain.UpdateNode+import Amazonka.ManagedBlockChain.VoteOnProposal+import Amazonka.ManagedBlockChain.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 'ManagedBlockChain'.++-- $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/ManagedBlockChain/CreateAccessor.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.CreateAccessor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- Creates a new accessor for use with Managed Blockchain Ethereum nodes.+-- An accessor object is a container that has the information required for+-- token based access to your Ethereum nodes.+module Amazonka.ManagedBlockChain.CreateAccessor+ ( -- * Creating a Request+ CreateAccessor (..),+ newCreateAccessor,++ -- * Request Lenses+ createAccessor_clientRequestToken,+ createAccessor_accessorType,++ -- * Destructuring the Response+ CreateAccessorResponse (..),+ newCreateAccessorResponse,++ -- * Response Lenses+ createAccessorResponse_accessorId,+ createAccessorResponse_billingToken,+ createAccessorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAccessor' smart constructor.+data CreateAccessor = CreateAccessor'+ { -- | This is a unique, case-sensitive identifier that you provide to ensure+ -- the idempotency of the operation. An idempotent operation completes no+ -- more than once. This identifier is required only if you make a service+ -- request directly using an HTTP client. It is generated automatically if+ -- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+ clientRequestToken :: Prelude.Text,+ -- | The type of accessor.+ --+ -- Currently accessor type is restricted to @BILLING_TOKEN@.+ accessorType :: AccessorType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccessor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createAccessor_clientRequestToken' - This is a unique, case-sensitive identifier that you provide to ensure+-- the idempotency of the operation. An idempotent operation completes no+-- more than once. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+--+-- 'accessorType', 'createAccessor_accessorType' - The type of accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+newCreateAccessor ::+ -- | 'clientRequestToken'+ Prelude.Text ->+ -- | 'accessorType'+ AccessorType ->+ CreateAccessor+newCreateAccessor pClientRequestToken_ pAccessorType_ =+ CreateAccessor'+ { clientRequestToken =+ pClientRequestToken_,+ accessorType = pAccessorType_+ }++-- | This is a unique, case-sensitive identifier that you provide to ensure+-- the idempotency of the operation. An idempotent operation completes no+-- more than once. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+createAccessor_clientRequestToken :: Lens.Lens' CreateAccessor Prelude.Text+createAccessor_clientRequestToken = Lens.lens (\CreateAccessor' {clientRequestToken} -> clientRequestToken) (\s@CreateAccessor' {} a -> s {clientRequestToken = a} :: CreateAccessor)++-- | The type of accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+createAccessor_accessorType :: Lens.Lens' CreateAccessor AccessorType+createAccessor_accessorType = Lens.lens (\CreateAccessor' {accessorType} -> accessorType) (\s@CreateAccessor' {} a -> s {accessorType = a} :: CreateAccessor)++instance Core.AWSRequest CreateAccessor where+ type+ AWSResponse CreateAccessor =+ CreateAccessorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAccessorResponse'+ Prelude.<$> (x Data..?> "AccessorId")+ Prelude.<*> (x Data..?> "BillingToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAccessor where+ hashWithSalt _salt CreateAccessor' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` accessorType++instance Prelude.NFData CreateAccessor where+ rnf CreateAccessor' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf accessorType++instance Data.ToHeaders CreateAccessor where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAccessor where+ toJSON CreateAccessor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ClientRequestToken" Data..= clientRequestToken),+ Prelude.Just ("AccessorType" Data..= accessorType)+ ]+ )++instance Data.ToPath CreateAccessor where+ toPath = Prelude.const "/accessors"++instance Data.ToQuery CreateAccessor where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAccessorResponse' smart constructor.+data CreateAccessorResponse = CreateAccessorResponse'+ { -- | The unique identifier of the accessor.+ accessorId :: Prelude.Maybe Prelude.Text,+ -- | The billing token is a property of the Accessor. Use this token to make+ -- Ethereum API calls to your Ethereum node. The billing token is used to+ -- track your accessor object for billing Ethereum API requests made to+ -- your Ethereum nodes.+ billingToken :: 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 'CreateAccessorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessorId', 'createAccessorResponse_accessorId' - The unique identifier of the accessor.+--+-- 'billingToken', 'createAccessorResponse_billingToken' - The billing token is a property of the Accessor. Use this token to make+-- Ethereum API calls to your Ethereum node. The billing token is used to+-- track your accessor object for billing Ethereum API requests made to+-- your Ethereum nodes.+--+-- 'httpStatus', 'createAccessorResponse_httpStatus' - The response's http status code.+newCreateAccessorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAccessorResponse+newCreateAccessorResponse pHttpStatus_ =+ CreateAccessorResponse'+ { accessorId =+ Prelude.Nothing,+ billingToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the accessor.+createAccessorResponse_accessorId :: Lens.Lens' CreateAccessorResponse (Prelude.Maybe Prelude.Text)+createAccessorResponse_accessorId = Lens.lens (\CreateAccessorResponse' {accessorId} -> accessorId) (\s@CreateAccessorResponse' {} a -> s {accessorId = a} :: CreateAccessorResponse)++-- | The billing token is a property of the Accessor. Use this token to make+-- Ethereum API calls to your Ethereum node. The billing token is used to+-- track your accessor object for billing Ethereum API requests made to+-- your Ethereum nodes.+createAccessorResponse_billingToken :: Lens.Lens' CreateAccessorResponse (Prelude.Maybe Prelude.Text)+createAccessorResponse_billingToken = Lens.lens (\CreateAccessorResponse' {billingToken} -> billingToken) (\s@CreateAccessorResponse' {} a -> s {billingToken = a} :: CreateAccessorResponse)++-- | The response's http status code.+createAccessorResponse_httpStatus :: Lens.Lens' CreateAccessorResponse Prelude.Int+createAccessorResponse_httpStatus = Lens.lens (\CreateAccessorResponse' {httpStatus} -> httpStatus) (\s@CreateAccessorResponse' {} a -> s {httpStatus = a} :: CreateAccessorResponse)++instance Prelude.NFData CreateAccessorResponse where+ rnf CreateAccessorResponse' {..} =+ Prelude.rnf accessorId+ `Prelude.seq` Prelude.rnf billingToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/CreateMember.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.CreateMember+-- 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 member within a Managed Blockchain network.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.CreateMember+ ( -- * Creating a Request+ CreateMember (..),+ newCreateMember,++ -- * Request Lenses+ createMember_clientRequestToken,+ createMember_invitationId,+ createMember_networkId,+ createMember_memberConfiguration,++ -- * Destructuring the Response+ CreateMemberResponse (..),+ newCreateMemberResponse,++ -- * Response Lenses+ createMemberResponse_memberId,+ createMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMember' smart constructor.+data CreateMember = CreateMember'+ { -- | A unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the operation. An idempotent operation completes no more+ -- than one time. This identifier is required only if you make a service+ -- request directly using an HTTP client. It is generated automatically if+ -- you use an Amazon Web Services SDK or the CLI.+ clientRequestToken :: Prelude.Text,+ -- | The unique identifier of the invitation that is sent to the member to+ -- join the network.+ invitationId :: Prelude.Text,+ -- | The unique identifier of the network in which the member is created.+ networkId :: Prelude.Text,+ -- | Member configuration parameters.+ memberConfiguration :: MemberConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createMember_clientRequestToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+--+-- 'invitationId', 'createMember_invitationId' - The unique identifier of the invitation that is sent to the member to+-- join the network.+--+-- 'networkId', 'createMember_networkId' - The unique identifier of the network in which the member is created.+--+-- 'memberConfiguration', 'createMember_memberConfiguration' - Member configuration parameters.+newCreateMember ::+ -- | 'clientRequestToken'+ Prelude.Text ->+ -- | 'invitationId'+ Prelude.Text ->+ -- | 'networkId'+ Prelude.Text ->+ -- | 'memberConfiguration'+ MemberConfiguration ->+ CreateMember+newCreateMember+ pClientRequestToken_+ pInvitationId_+ pNetworkId_+ pMemberConfiguration_ =+ CreateMember'+ { clientRequestToken =+ pClientRequestToken_,+ invitationId = pInvitationId_,+ networkId = pNetworkId_,+ memberConfiguration = pMemberConfiguration_+ }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+createMember_clientRequestToken :: Lens.Lens' CreateMember Prelude.Text+createMember_clientRequestToken = Lens.lens (\CreateMember' {clientRequestToken} -> clientRequestToken) (\s@CreateMember' {} a -> s {clientRequestToken = a} :: CreateMember)++-- | The unique identifier of the invitation that is sent to the member to+-- join the network.+createMember_invitationId :: Lens.Lens' CreateMember Prelude.Text+createMember_invitationId = Lens.lens (\CreateMember' {invitationId} -> invitationId) (\s@CreateMember' {} a -> s {invitationId = a} :: CreateMember)++-- | The unique identifier of the network in which the member is created.+createMember_networkId :: Lens.Lens' CreateMember Prelude.Text+createMember_networkId = Lens.lens (\CreateMember' {networkId} -> networkId) (\s@CreateMember' {} a -> s {networkId = a} :: CreateMember)++-- | Member configuration parameters.+createMember_memberConfiguration :: Lens.Lens' CreateMember MemberConfiguration+createMember_memberConfiguration = Lens.lens (\CreateMember' {memberConfiguration} -> memberConfiguration) (\s@CreateMember' {} a -> s {memberConfiguration = a} :: CreateMember)++instance Core.AWSRequest CreateMember where+ type AWSResponse CreateMember = CreateMemberResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateMemberResponse'+ Prelude.<$> (x Data..?> "MemberId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateMember where+ hashWithSalt _salt CreateMember' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` invitationId+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` memberConfiguration++instance Prelude.NFData CreateMember where+ rnf CreateMember' {..} =+ Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf invitationId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf memberConfiguration++instance Data.ToHeaders CreateMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateMember where+ toJSON CreateMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("ClientRequestToken" Data..= clientRequestToken),+ Prelude.Just ("InvitationId" Data..= invitationId),+ Prelude.Just+ ("MemberConfiguration" Data..= memberConfiguration)+ ]+ )++instance Data.ToPath CreateMember where+ toPath CreateMember' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/members"]++instance Data.ToQuery CreateMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMemberResponse' smart constructor.+data CreateMemberResponse = CreateMemberResponse'+ { -- | The unique identifier of the member.+ memberId :: 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 'CreateMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'createMemberResponse_memberId' - The unique identifier of the member.+--+-- 'httpStatus', 'createMemberResponse_httpStatus' - The response's http status code.+newCreateMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateMemberResponse+newCreateMemberResponse pHttpStatus_ =+ CreateMemberResponse'+ { memberId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the member.+createMemberResponse_memberId :: Lens.Lens' CreateMemberResponse (Prelude.Maybe Prelude.Text)+createMemberResponse_memberId = Lens.lens (\CreateMemberResponse' {memberId} -> memberId) (\s@CreateMemberResponse' {} a -> s {memberId = a} :: CreateMemberResponse)++-- | The response's http status code.+createMemberResponse_httpStatus :: Lens.Lens' CreateMemberResponse Prelude.Int+createMemberResponse_httpStatus = Lens.lens (\CreateMemberResponse' {httpStatus} -> httpStatus) (\s@CreateMemberResponse' {} a -> s {httpStatus = a} :: CreateMemberResponse)++instance Prelude.NFData CreateMemberResponse where+ rnf CreateMemberResponse' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/CreateNetwork.hs view
@@ -0,0 +1,357 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.CreateNetwork+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new blockchain network using Amazon Managed Blockchain.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.CreateNetwork+ ( -- * Creating a Request+ CreateNetwork (..),+ newCreateNetwork,++ -- * Request Lenses+ createNetwork_description,+ createNetwork_frameworkConfiguration,+ createNetwork_tags,+ createNetwork_clientRequestToken,+ createNetwork_name,+ createNetwork_framework,+ createNetwork_frameworkVersion,+ createNetwork_votingPolicy,+ createNetwork_memberConfiguration,++ -- * Destructuring the Response+ CreateNetworkResponse (..),+ newCreateNetworkResponse,++ -- * Response Lenses+ createNetworkResponse_memberId,+ createNetworkResponse_networkId,+ createNetworkResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNetwork' smart constructor.+data CreateNetwork = CreateNetwork'+ { -- | An optional description for the network.+ description :: Prelude.Maybe Prelude.Text,+ -- | Configuration properties of the blockchain framework relevant to the+ -- network configuration.+ frameworkConfiguration :: Prelude.Maybe NetworkFrameworkConfiguration,+ -- | Tags to assign to the network. Each tag consists of a key and optional+ -- value.+ --+ -- When specifying tags during creation, you can specify multiple key-value+ -- pairs in a single request, with an overall maximum of 50 tags added to+ -- each resource.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | This is a unique, case-sensitive identifier that you provide to ensure+ -- the idempotency of the operation. An idempotent operation completes no+ -- more than once. This identifier is required only if you make a service+ -- request directly using an HTTP client. It is generated automatically if+ -- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+ clientRequestToken :: Prelude.Text,+ -- | The name of the network.+ name :: Prelude.Text,+ -- | The blockchain framework that the network uses.+ framework :: Framework,+ -- | The version of the blockchain framework that the network uses.+ frameworkVersion :: Prelude.Text,+ -- | The voting rules used by the network to determine if a proposal is+ -- approved.+ votingPolicy :: VotingPolicy,+ -- | Configuration properties for the first member within the network.+ memberConfiguration :: MemberConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNetwork_description' - An optional description for the network.+--+-- 'frameworkConfiguration', 'createNetwork_frameworkConfiguration' - Configuration properties of the blockchain framework relevant to the+-- network configuration.+--+-- 'tags', 'createNetwork_tags' - Tags to assign to the network. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'clientRequestToken', 'createNetwork_clientRequestToken' - This is a unique, case-sensitive identifier that you provide to ensure+-- the idempotency of the operation. An idempotent operation completes no+-- more than once. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+--+-- 'name', 'createNetwork_name' - The name of the network.+--+-- 'framework', 'createNetwork_framework' - The blockchain framework that the network uses.+--+-- 'frameworkVersion', 'createNetwork_frameworkVersion' - The version of the blockchain framework that the network uses.+--+-- 'votingPolicy', 'createNetwork_votingPolicy' - The voting rules used by the network to determine if a proposal is+-- approved.+--+-- 'memberConfiguration', 'createNetwork_memberConfiguration' - Configuration properties for the first member within the network.+newCreateNetwork ::+ -- | 'clientRequestToken'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'framework'+ Framework ->+ -- | 'frameworkVersion'+ Prelude.Text ->+ -- | 'votingPolicy'+ VotingPolicy ->+ -- | 'memberConfiguration'+ MemberConfiguration ->+ CreateNetwork+newCreateNetwork+ pClientRequestToken_+ pName_+ pFramework_+ pFrameworkVersion_+ pVotingPolicy_+ pMemberConfiguration_ =+ CreateNetwork'+ { description = Prelude.Nothing,+ frameworkConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ clientRequestToken = pClientRequestToken_,+ name = pName_,+ framework = pFramework_,+ frameworkVersion = pFrameworkVersion_,+ votingPolicy = pVotingPolicy_,+ memberConfiguration = pMemberConfiguration_+ }++-- | An optional description for the network.+createNetwork_description :: Lens.Lens' CreateNetwork (Prelude.Maybe Prelude.Text)+createNetwork_description = Lens.lens (\CreateNetwork' {description} -> description) (\s@CreateNetwork' {} a -> s {description = a} :: CreateNetwork)++-- | Configuration properties of the blockchain framework relevant to the+-- network configuration.+createNetwork_frameworkConfiguration :: Lens.Lens' CreateNetwork (Prelude.Maybe NetworkFrameworkConfiguration)+createNetwork_frameworkConfiguration = Lens.lens (\CreateNetwork' {frameworkConfiguration} -> frameworkConfiguration) (\s@CreateNetwork' {} a -> s {frameworkConfiguration = a} :: CreateNetwork)++-- | Tags to assign to the network. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+createNetwork_tags :: Lens.Lens' CreateNetwork (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNetwork_tags = Lens.lens (\CreateNetwork' {tags} -> tags) (\s@CreateNetwork' {} a -> s {tags = a} :: CreateNetwork) Prelude.. Lens.mapping Lens.coerced++-- | This is a unique, case-sensitive identifier that you provide to ensure+-- the idempotency of the operation. An idempotent operation completes no+-- more than once. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the Amazon Web Services CLI.+createNetwork_clientRequestToken :: Lens.Lens' CreateNetwork Prelude.Text+createNetwork_clientRequestToken = Lens.lens (\CreateNetwork' {clientRequestToken} -> clientRequestToken) (\s@CreateNetwork' {} a -> s {clientRequestToken = a} :: CreateNetwork)++-- | The name of the network.+createNetwork_name :: Lens.Lens' CreateNetwork Prelude.Text+createNetwork_name = Lens.lens (\CreateNetwork' {name} -> name) (\s@CreateNetwork' {} a -> s {name = a} :: CreateNetwork)++-- | The blockchain framework that the network uses.+createNetwork_framework :: Lens.Lens' CreateNetwork Framework+createNetwork_framework = Lens.lens (\CreateNetwork' {framework} -> framework) (\s@CreateNetwork' {} a -> s {framework = a} :: CreateNetwork)++-- | The version of the blockchain framework that the network uses.+createNetwork_frameworkVersion :: Lens.Lens' CreateNetwork Prelude.Text+createNetwork_frameworkVersion = Lens.lens (\CreateNetwork' {frameworkVersion} -> frameworkVersion) (\s@CreateNetwork' {} a -> s {frameworkVersion = a} :: CreateNetwork)++-- | The voting rules used by the network to determine if a proposal is+-- approved.+createNetwork_votingPolicy :: Lens.Lens' CreateNetwork VotingPolicy+createNetwork_votingPolicy = Lens.lens (\CreateNetwork' {votingPolicy} -> votingPolicy) (\s@CreateNetwork' {} a -> s {votingPolicy = a} :: CreateNetwork)++-- | Configuration properties for the first member within the network.+createNetwork_memberConfiguration :: Lens.Lens' CreateNetwork MemberConfiguration+createNetwork_memberConfiguration = Lens.lens (\CreateNetwork' {memberConfiguration} -> memberConfiguration) (\s@CreateNetwork' {} a -> s {memberConfiguration = a} :: CreateNetwork)++instance Core.AWSRequest CreateNetwork where+ type+ AWSResponse CreateNetwork =+ CreateNetworkResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateNetworkResponse'+ Prelude.<$> (x Data..?> "MemberId")+ Prelude.<*> (x Data..?> "NetworkId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateNetwork where+ hashWithSalt _salt CreateNetwork' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` frameworkConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` framework+ `Prelude.hashWithSalt` frameworkVersion+ `Prelude.hashWithSalt` votingPolicy+ `Prelude.hashWithSalt` memberConfiguration++instance Prelude.NFData CreateNetwork where+ rnf CreateNetwork' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf frameworkConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf framework+ `Prelude.seq` Prelude.rnf frameworkVersion+ `Prelude.seq` Prelude.rnf votingPolicy+ `Prelude.seq` Prelude.rnf memberConfiguration++instance Data.ToHeaders CreateNetwork where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateNetwork where+ toJSON CreateNetwork' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("FrameworkConfiguration" Data..=)+ Prelude.<$> frameworkConfiguration,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("ClientRequestToken" Data..= clientRequestToken),+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Framework" Data..= framework),+ Prelude.Just+ ("FrameworkVersion" Data..= frameworkVersion),+ Prelude.Just ("VotingPolicy" Data..= votingPolicy),+ Prelude.Just+ ("MemberConfiguration" Data..= memberConfiguration)+ ]+ )++instance Data.ToPath CreateNetwork where+ toPath = Prelude.const "/networks"++instance Data.ToQuery CreateNetwork where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNetworkResponse' smart constructor.+data CreateNetworkResponse = CreateNetworkResponse'+ { -- | The unique identifier for the first member within the network.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the network.+ networkId :: 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 'CreateNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'createNetworkResponse_memberId' - The unique identifier for the first member within the network.+--+-- 'networkId', 'createNetworkResponse_networkId' - The unique identifier for the network.+--+-- 'httpStatus', 'createNetworkResponse_httpStatus' - The response's http status code.+newCreateNetworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateNetworkResponse+newCreateNetworkResponse pHttpStatus_ =+ CreateNetworkResponse'+ { memberId = Prelude.Nothing,+ networkId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the first member within the network.+createNetworkResponse_memberId :: Lens.Lens' CreateNetworkResponse (Prelude.Maybe Prelude.Text)+createNetworkResponse_memberId = Lens.lens (\CreateNetworkResponse' {memberId} -> memberId) (\s@CreateNetworkResponse' {} a -> s {memberId = a} :: CreateNetworkResponse)++-- | The unique identifier for the network.+createNetworkResponse_networkId :: Lens.Lens' CreateNetworkResponse (Prelude.Maybe Prelude.Text)+createNetworkResponse_networkId = Lens.lens (\CreateNetworkResponse' {networkId} -> networkId) (\s@CreateNetworkResponse' {} a -> s {networkId = a} :: CreateNetworkResponse)++-- | The response's http status code.+createNetworkResponse_httpStatus :: Lens.Lens' CreateNetworkResponse Prelude.Int+createNetworkResponse_httpStatus = Lens.lens (\CreateNetworkResponse' {httpStatus} -> httpStatus) (\s@CreateNetworkResponse' {} a -> s {httpStatus = a} :: CreateNetworkResponse)++instance Prelude.NFData CreateNetworkResponse where+ rnf CreateNetworkResponse' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/CreateNode.hs view
@@ -0,0 +1,311 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.CreateNode+-- 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 node on the specified blockchain network.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.CreateNode+ ( -- * Creating a Request+ CreateNode (..),+ newCreateNode,++ -- * Request Lenses+ createNode_memberId,+ createNode_tags,+ createNode_clientRequestToken,+ createNode_networkId,+ createNode_nodeConfiguration,++ -- * Destructuring the Response+ CreateNodeResponse (..),+ newCreateNodeResponse,++ -- * Response Lenses+ createNodeResponse_nodeId,+ createNodeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNode' smart constructor.+data CreateNode = CreateNode'+ { -- | The unique identifier of the member that owns this node.+ --+ -- Applies only to Hyperledger Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | Tags to assign to the node. Each tag consists of a key and optional+ -- value.+ --+ -- When specifying tags during creation, you can specify multiple key-value+ -- pairs in a single request, with an overall maximum of 50 tags added to+ -- each resource.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the operation. An idempotent operation completes no more+ -- than one time. This identifier is required only if you make a service+ -- request directly using an HTTP client. It is generated automatically if+ -- you use an Amazon Web Services SDK or the CLI.+ clientRequestToken :: Prelude.Text,+ -- | The unique identifier of the network for the node.+ --+ -- Ethereum public networks have the following @NetworkId@s:+ --+ -- - @n-ethereum-mainnet@+ --+ -- - @n-ethereum-goerli@+ --+ -- - @n-ethereum-rinkeby@+ --+ -- - @n-ethereum-ropsten@+ networkId :: Prelude.Text,+ -- | The properties of a node configuration.+ nodeConfiguration :: NodeConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'createNode_memberId' - The unique identifier of the member that owns this node.+--+-- Applies only to Hyperledger Fabric.+--+-- 'tags', 'createNode_tags' - Tags to assign to the node. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'clientRequestToken', 'createNode_clientRequestToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+--+-- 'networkId', 'createNode_networkId' - The unique identifier of the network for the node.+--+-- Ethereum public networks have the following @NetworkId@s:+--+-- - @n-ethereum-mainnet@+--+-- - @n-ethereum-goerli@+--+-- - @n-ethereum-rinkeby@+--+-- - @n-ethereum-ropsten@+--+-- 'nodeConfiguration', 'createNode_nodeConfiguration' - The properties of a node configuration.+newCreateNode ::+ -- | 'clientRequestToken'+ Prelude.Text ->+ -- | 'networkId'+ Prelude.Text ->+ -- | 'nodeConfiguration'+ NodeConfiguration ->+ CreateNode+newCreateNode+ pClientRequestToken_+ pNetworkId_+ pNodeConfiguration_ =+ CreateNode'+ { memberId = Prelude.Nothing,+ tags = Prelude.Nothing,+ clientRequestToken = pClientRequestToken_,+ networkId = pNetworkId_,+ nodeConfiguration = pNodeConfiguration_+ }++-- | The unique identifier of the member that owns this node.+--+-- Applies only to Hyperledger Fabric.+createNode_memberId :: Lens.Lens' CreateNode (Prelude.Maybe Prelude.Text)+createNode_memberId = Lens.lens (\CreateNode' {memberId} -> memberId) (\s@CreateNode' {} a -> s {memberId = a} :: CreateNode)++-- | Tags to assign to the node. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+createNode_tags :: Lens.Lens' CreateNode (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNode_tags = Lens.lens (\CreateNode' {tags} -> tags) (\s@CreateNode' {} a -> s {tags = a} :: CreateNode) Prelude.. Lens.mapping Lens.coerced++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+createNode_clientRequestToken :: Lens.Lens' CreateNode Prelude.Text+createNode_clientRequestToken = Lens.lens (\CreateNode' {clientRequestToken} -> clientRequestToken) (\s@CreateNode' {} a -> s {clientRequestToken = a} :: CreateNode)++-- | The unique identifier of the network for the node.+--+-- Ethereum public networks have the following @NetworkId@s:+--+-- - @n-ethereum-mainnet@+--+-- - @n-ethereum-goerli@+--+-- - @n-ethereum-rinkeby@+--+-- - @n-ethereum-ropsten@+createNode_networkId :: Lens.Lens' CreateNode Prelude.Text+createNode_networkId = Lens.lens (\CreateNode' {networkId} -> networkId) (\s@CreateNode' {} a -> s {networkId = a} :: CreateNode)++-- | The properties of a node configuration.+createNode_nodeConfiguration :: Lens.Lens' CreateNode NodeConfiguration+createNode_nodeConfiguration = Lens.lens (\CreateNode' {nodeConfiguration} -> nodeConfiguration) (\s@CreateNode' {} a -> s {nodeConfiguration = a} :: CreateNode)++instance Core.AWSRequest CreateNode where+ type AWSResponse CreateNode = CreateNodeResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateNodeResponse'+ Prelude.<$> (x Data..?> "NodeId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateNode where+ hashWithSalt _salt CreateNode' {..} =+ _salt+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` nodeConfiguration++instance Prelude.NFData CreateNode where+ rnf CreateNode' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf nodeConfiguration++instance Data.ToHeaders CreateNode where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateNode where+ toJSON CreateNode' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MemberId" Data..=) Prelude.<$> memberId,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("ClientRequestToken" Data..= clientRequestToken),+ Prelude.Just+ ("NodeConfiguration" Data..= nodeConfiguration)+ ]+ )++instance Data.ToPath CreateNode where+ toPath CreateNode' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/nodes"]++instance Data.ToQuery CreateNode where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNodeResponse' smart constructor.+data CreateNodeResponse = CreateNodeResponse'+ { -- | The unique identifier of the node.+ nodeId :: 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 'CreateNodeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nodeId', 'createNodeResponse_nodeId' - The unique identifier of the node.+--+-- 'httpStatus', 'createNodeResponse_httpStatus' - The response's http status code.+newCreateNodeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateNodeResponse+newCreateNodeResponse pHttpStatus_ =+ CreateNodeResponse'+ { nodeId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the node.+createNodeResponse_nodeId :: Lens.Lens' CreateNodeResponse (Prelude.Maybe Prelude.Text)+createNodeResponse_nodeId = Lens.lens (\CreateNodeResponse' {nodeId} -> nodeId) (\s@CreateNodeResponse' {} a -> s {nodeId = a} :: CreateNodeResponse)++-- | The response's http status code.+createNodeResponse_httpStatus :: Lens.Lens' CreateNodeResponse Prelude.Int+createNodeResponse_httpStatus = Lens.lens (\CreateNodeResponse' {httpStatus} -> httpStatus) (\s@CreateNodeResponse' {} a -> s {httpStatus = a} :: CreateNodeResponse)++instance Prelude.NFData CreateNodeResponse where+ rnf CreateNodeResponse' {..} =+ Prelude.rnf nodeId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/CreateProposal.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.CreateProposal+-- 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 proposal for a change to the network that other members of the+-- network can vote on, for example, a proposal to add a new member to the+-- network. Any member can create a proposal.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.CreateProposal+ ( -- * Creating a Request+ CreateProposal (..),+ newCreateProposal,++ -- * Request Lenses+ createProposal_description,+ createProposal_tags,+ createProposal_clientRequestToken,+ createProposal_networkId,+ createProposal_memberId,+ createProposal_actions,++ -- * Destructuring the Response+ CreateProposalResponse (..),+ newCreateProposalResponse,++ -- * Response Lenses+ createProposalResponse_proposalId,+ createProposalResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateProposal' smart constructor.+data CreateProposal = CreateProposal'+ { -- | A description for the proposal that is visible to voting members, for+ -- example, \"Proposal to add Example Corp. as member.\"+ description :: Prelude.Maybe Prelude.Text,+ -- | Tags to assign to the proposal. Each tag consists of a key and optional+ -- value.+ --+ -- When specifying tags during creation, you can specify multiple key-value+ -- pairs in a single request, with an overall maximum of 50 tags added to+ -- each resource. If the proposal is for a network invitation, the+ -- invitation inherits the tags added to the proposal.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A unique, case-sensitive identifier that you provide to ensure the+ -- idempotency of the operation. An idempotent operation completes no more+ -- than one time. This identifier is required only if you make a service+ -- request directly using an HTTP client. It is generated automatically if+ -- you use an Amazon Web Services SDK or the CLI.+ clientRequestToken :: Prelude.Text,+ -- | The unique identifier of the network for which the proposal is made.+ networkId :: Prelude.Text,+ -- | The unique identifier of the member that is creating the proposal. This+ -- identifier is especially useful for identifying the member making the+ -- proposal when multiple members exist in a single Amazon Web Services+ -- account.+ memberId :: Prelude.Text,+ -- | The type of actions proposed, such as inviting a member or removing a+ -- member. The types of @Actions@ in a proposal are mutually exclusive. For+ -- example, a proposal with @Invitations@ actions cannot also contain+ -- @Removals@ actions.+ actions :: ProposalActions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProposal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createProposal_description' - A description for the proposal that is visible to voting members, for+-- example, \"Proposal to add Example Corp. as member.\"+--+-- 'tags', 'createProposal_tags' - Tags to assign to the proposal. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource. If the proposal is for a network invitation, the+-- invitation inherits the tags added to the proposal.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'clientRequestToken', 'createProposal_clientRequestToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+--+-- 'networkId', 'createProposal_networkId' - The unique identifier of the network for which the proposal is made.+--+-- 'memberId', 'createProposal_memberId' - The unique identifier of the member that is creating the proposal. This+-- identifier is especially useful for identifying the member making the+-- proposal when multiple members exist in a single Amazon Web Services+-- account.+--+-- 'actions', 'createProposal_actions' - The type of actions proposed, such as inviting a member or removing a+-- member. The types of @Actions@ in a proposal are mutually exclusive. For+-- example, a proposal with @Invitations@ actions cannot also contain+-- @Removals@ actions.+newCreateProposal ::+ -- | 'clientRequestToken'+ Prelude.Text ->+ -- | 'networkId'+ Prelude.Text ->+ -- | 'memberId'+ Prelude.Text ->+ -- | 'actions'+ ProposalActions ->+ CreateProposal+newCreateProposal+ pClientRequestToken_+ pNetworkId_+ pMemberId_+ pActions_ =+ CreateProposal'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ clientRequestToken = pClientRequestToken_,+ networkId = pNetworkId_,+ memberId = pMemberId_,+ actions = pActions_+ }++-- | A description for the proposal that is visible to voting members, for+-- example, \"Proposal to add Example Corp. as member.\"+createProposal_description :: Lens.Lens' CreateProposal (Prelude.Maybe Prelude.Text)+createProposal_description = Lens.lens (\CreateProposal' {description} -> description) (\s@CreateProposal' {} a -> s {description = a} :: CreateProposal)++-- | Tags to assign to the proposal. Each tag consists of a key and optional+-- value.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource. If the proposal is for a network invitation, the+-- invitation inherits the tags added to the proposal.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+createProposal_tags :: Lens.Lens' CreateProposal (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createProposal_tags = Lens.lens (\CreateProposal' {tags} -> tags) (\s@CreateProposal' {} a -> s {tags = a} :: CreateProposal) Prelude.. Lens.mapping Lens.coerced++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the operation. An idempotent operation completes no more+-- than one time. This identifier is required only if you make a service+-- request directly using an HTTP client. It is generated automatically if+-- you use an Amazon Web Services SDK or the CLI.+createProposal_clientRequestToken :: Lens.Lens' CreateProposal Prelude.Text+createProposal_clientRequestToken = Lens.lens (\CreateProposal' {clientRequestToken} -> clientRequestToken) (\s@CreateProposal' {} a -> s {clientRequestToken = a} :: CreateProposal)++-- | The unique identifier of the network for which the proposal is made.+createProposal_networkId :: Lens.Lens' CreateProposal Prelude.Text+createProposal_networkId = Lens.lens (\CreateProposal' {networkId} -> networkId) (\s@CreateProposal' {} a -> s {networkId = a} :: CreateProposal)++-- | The unique identifier of the member that is creating the proposal. This+-- identifier is especially useful for identifying the member making the+-- proposal when multiple members exist in a single Amazon Web Services+-- account.+createProposal_memberId :: Lens.Lens' CreateProposal Prelude.Text+createProposal_memberId = Lens.lens (\CreateProposal' {memberId} -> memberId) (\s@CreateProposal' {} a -> s {memberId = a} :: CreateProposal)++-- | The type of actions proposed, such as inviting a member or removing a+-- member. The types of @Actions@ in a proposal are mutually exclusive. For+-- example, a proposal with @Invitations@ actions cannot also contain+-- @Removals@ actions.+createProposal_actions :: Lens.Lens' CreateProposal ProposalActions+createProposal_actions = Lens.lens (\CreateProposal' {actions} -> actions) (\s@CreateProposal' {} a -> s {actions = a} :: CreateProposal)++instance Core.AWSRequest CreateProposal where+ type+ AWSResponse CreateProposal =+ CreateProposalResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateProposalResponse'+ Prelude.<$> (x Data..?> "ProposalId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateProposal where+ hashWithSalt _salt CreateProposal' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` clientRequestToken+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` actions++instance Prelude.NFData CreateProposal where+ rnf CreateProposal' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf clientRequestToken+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf actions++instance Data.ToHeaders CreateProposal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateProposal where+ toJSON CreateProposal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("ClientRequestToken" Data..= clientRequestToken),+ Prelude.Just ("MemberId" Data..= memberId),+ Prelude.Just ("Actions" Data..= actions)+ ]+ )++instance Data.ToPath CreateProposal where+ toPath CreateProposal' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/proposals"]++instance Data.ToQuery CreateProposal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateProposalResponse' smart constructor.+data CreateProposalResponse = CreateProposalResponse'+ { -- | The unique identifier of the proposal.+ proposalId :: 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 'CreateProposalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'proposalId', 'createProposalResponse_proposalId' - The unique identifier of the proposal.+--+-- 'httpStatus', 'createProposalResponse_httpStatus' - The response's http status code.+newCreateProposalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateProposalResponse+newCreateProposalResponse pHttpStatus_ =+ CreateProposalResponse'+ { proposalId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier of the proposal.+createProposalResponse_proposalId :: Lens.Lens' CreateProposalResponse (Prelude.Maybe Prelude.Text)+createProposalResponse_proposalId = Lens.lens (\CreateProposalResponse' {proposalId} -> proposalId) (\s@CreateProposalResponse' {} a -> s {proposalId = a} :: CreateProposalResponse)++-- | The response's http status code.+createProposalResponse_httpStatus :: Lens.Lens' CreateProposalResponse Prelude.Int+createProposalResponse_httpStatus = Lens.lens (\CreateProposalResponse' {httpStatus} -> httpStatus) (\s@CreateProposalResponse' {} a -> s {httpStatus = a} :: CreateProposalResponse)++instance Prelude.NFData CreateProposalResponse where+ rnf CreateProposalResponse' {..} =+ Prelude.rnf proposalId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/DeleteAccessor.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.DeleteAccessor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- Deletes an accessor that your Amazon Web Services account owns. An+-- accessor object is a container that has the information required for+-- token based access to your Ethereum nodes including, the+-- @BILLING_TOKEN@. After an accessor is deleted, the status of the+-- accessor changes from @AVAILABLE@ to @PENDING_DELETION@. An accessor in+-- the @PENDING_DELETION@ state can’t be used for new WebSocket requests or+-- HTTP requests. However, WebSocket connections that were initiated while+-- the accessor was in the @AVAILABLE@ state remain open until they expire+-- (up to 2 hours).+module Amazonka.ManagedBlockChain.DeleteAccessor+ ( -- * Creating a Request+ DeleteAccessor (..),+ newDeleteAccessor,++ -- * Request Lenses+ deleteAccessor_accessorId,++ -- * Destructuring the Response+ DeleteAccessorResponse (..),+ newDeleteAccessorResponse,++ -- * Response Lenses+ deleteAccessorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAccessor' smart constructor.+data DeleteAccessor = DeleteAccessor'+ { -- | The unique identifier of the accessor.+ accessorId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessorId', 'deleteAccessor_accessorId' - The unique identifier of the accessor.+newDeleteAccessor ::+ -- | 'accessorId'+ Prelude.Text ->+ DeleteAccessor+newDeleteAccessor pAccessorId_ =+ DeleteAccessor' {accessorId = pAccessorId_}++-- | The unique identifier of the accessor.+deleteAccessor_accessorId :: Lens.Lens' DeleteAccessor Prelude.Text+deleteAccessor_accessorId = Lens.lens (\DeleteAccessor' {accessorId} -> accessorId) (\s@DeleteAccessor' {} a -> s {accessorId = a} :: DeleteAccessor)++instance Core.AWSRequest DeleteAccessor where+ type+ AWSResponse DeleteAccessor =+ DeleteAccessorResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAccessorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAccessor where+ hashWithSalt _salt DeleteAccessor' {..} =+ _salt `Prelude.hashWithSalt` accessorId++instance Prelude.NFData DeleteAccessor where+ rnf DeleteAccessor' {..} = Prelude.rnf accessorId++instance Data.ToHeaders DeleteAccessor where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAccessor where+ toPath DeleteAccessor' {..} =+ Prelude.mconcat+ ["/accessors/", Data.toBS accessorId]++instance Data.ToQuery DeleteAccessor where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAccessorResponse' smart constructor.+data DeleteAccessorResponse = DeleteAccessorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteAccessorResponse_httpStatus' - The response's http status code.+newDeleteAccessorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAccessorResponse+newDeleteAccessorResponse pHttpStatus_ =+ DeleteAccessorResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAccessorResponse_httpStatus :: Lens.Lens' DeleteAccessorResponse Prelude.Int+deleteAccessorResponse_httpStatus = Lens.lens (\DeleteAccessorResponse' {httpStatus} -> httpStatus) (\s@DeleteAccessorResponse' {} a -> s {httpStatus = a} :: DeleteAccessorResponse)++instance Prelude.NFData DeleteAccessorResponse where+ rnf DeleteAccessorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/DeleteMember.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.DeleteMember+-- 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 member. Deleting a member removes the member and all+-- associated resources from the network. @DeleteMember@ can only be called+-- for a specified @MemberId@ if the principal performing the action is+-- associated with the Amazon Web Services account that owns the member. In+-- all other cases, the @DeleteMember@ action is carried out as the result+-- of an approved proposal to remove a member. If @MemberId@ is the last+-- member in a network specified by the last Amazon Web Services account,+-- the network is deleted also.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.DeleteMember+ ( -- * Creating a Request+ DeleteMember (..),+ newDeleteMember,++ -- * Request Lenses+ deleteMember_networkId,+ deleteMember_memberId,++ -- * Destructuring the Response+ DeleteMemberResponse (..),+ newDeleteMemberResponse,++ -- * Response Lenses+ deleteMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteMember' smart constructor.+data DeleteMember = DeleteMember'+ { -- | The unique identifier of the network from which the member is removed.+ networkId :: Prelude.Text,+ -- | The unique identifier of the member to remove.+ memberId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'deleteMember_networkId' - The unique identifier of the network from which the member is removed.+--+-- 'memberId', 'deleteMember_memberId' - The unique identifier of the member to remove.+newDeleteMember ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'memberId'+ Prelude.Text ->+ DeleteMember+newDeleteMember pNetworkId_ pMemberId_ =+ DeleteMember'+ { networkId = pNetworkId_,+ memberId = pMemberId_+ }++-- | The unique identifier of the network from which the member is removed.+deleteMember_networkId :: Lens.Lens' DeleteMember Prelude.Text+deleteMember_networkId = Lens.lens (\DeleteMember' {networkId} -> networkId) (\s@DeleteMember' {} a -> s {networkId = a} :: DeleteMember)++-- | The unique identifier of the member to remove.+deleteMember_memberId :: Lens.Lens' DeleteMember Prelude.Text+deleteMember_memberId = Lens.lens (\DeleteMember' {memberId} -> memberId) (\s@DeleteMember' {} a -> s {memberId = a} :: DeleteMember)++instance Core.AWSRequest DeleteMember where+ type AWSResponse DeleteMember = DeleteMemberResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteMember where+ hashWithSalt _salt DeleteMember' {..} =+ _salt+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData DeleteMember where+ rnf DeleteMember' {..} =+ Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders DeleteMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteMember where+ toPath DeleteMember' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/members/",+ Data.toBS memberId+ ]++instance Data.ToQuery DeleteMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMemberResponse' smart constructor.+data DeleteMemberResponse = DeleteMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteMemberResponse_httpStatus' - The response's http status code.+newDeleteMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteMemberResponse+newDeleteMemberResponse pHttpStatus_ =+ DeleteMemberResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteMemberResponse_httpStatus :: Lens.Lens' DeleteMemberResponse Prelude.Int+deleteMemberResponse_httpStatus = Lens.lens (\DeleteMemberResponse' {httpStatus} -> httpStatus) (\s@DeleteMemberResponse' {} a -> s {httpStatus = a} :: DeleteMemberResponse)++instance Prelude.NFData DeleteMemberResponse where+ rnf DeleteMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/DeleteNode.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.DeleteNode+-- 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 node that your Amazon Web Services account owns. All data on+-- the node is lost and cannot be recovered.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.DeleteNode+ ( -- * Creating a Request+ DeleteNode (..),+ newDeleteNode,++ -- * Request Lenses+ deleteNode_memberId,+ deleteNode_networkId,+ deleteNode_nodeId,++ -- * Destructuring the Response+ DeleteNodeResponse (..),+ newDeleteNodeResponse,++ -- * Response Lenses+ deleteNodeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNode' smart constructor.+data DeleteNode = DeleteNode'+ { -- | The unique identifier of the member that owns this node.+ --+ -- Applies only to Hyperledger Fabric and is required for Hyperledger+ -- Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network that the node is on.+ --+ -- Ethereum public networks have the following @NetworkId@s:+ --+ -- - @n-ethereum-mainnet@+ --+ -- - @n-ethereum-goerli@+ --+ -- - @n-ethereum-rinkeby@+ --+ -- - @n-ethereum-ropsten@+ networkId :: Prelude.Text,+ -- | The unique identifier of the node.+ nodeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'deleteNode_memberId' - The unique identifier of the member that owns this node.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+--+-- 'networkId', 'deleteNode_networkId' - The unique identifier of the network that the node is on.+--+-- Ethereum public networks have the following @NetworkId@s:+--+-- - @n-ethereum-mainnet@+--+-- - @n-ethereum-goerli@+--+-- - @n-ethereum-rinkeby@+--+-- - @n-ethereum-ropsten@+--+-- 'nodeId', 'deleteNode_nodeId' - The unique identifier of the node.+newDeleteNode ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'nodeId'+ Prelude.Text ->+ DeleteNode+newDeleteNode pNetworkId_ pNodeId_ =+ DeleteNode'+ { memberId = Prelude.Nothing,+ networkId = pNetworkId_,+ nodeId = pNodeId_+ }++-- | The unique identifier of the member that owns this node.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+deleteNode_memberId :: Lens.Lens' DeleteNode (Prelude.Maybe Prelude.Text)+deleteNode_memberId = Lens.lens (\DeleteNode' {memberId} -> memberId) (\s@DeleteNode' {} a -> s {memberId = a} :: DeleteNode)++-- | The unique identifier of the network that the node is on.+--+-- Ethereum public networks have the following @NetworkId@s:+--+-- - @n-ethereum-mainnet@+--+-- - @n-ethereum-goerli@+--+-- - @n-ethereum-rinkeby@+--+-- - @n-ethereum-ropsten@+deleteNode_networkId :: Lens.Lens' DeleteNode Prelude.Text+deleteNode_networkId = Lens.lens (\DeleteNode' {networkId} -> networkId) (\s@DeleteNode' {} a -> s {networkId = a} :: DeleteNode)++-- | The unique identifier of the node.+deleteNode_nodeId :: Lens.Lens' DeleteNode Prelude.Text+deleteNode_nodeId = Lens.lens (\DeleteNode' {nodeId} -> nodeId) (\s@DeleteNode' {} a -> s {nodeId = a} :: DeleteNode)++instance Core.AWSRequest DeleteNode where+ type AWSResponse DeleteNode = DeleteNodeResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteNodeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteNode where+ hashWithSalt _salt DeleteNode' {..} =+ _salt+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` nodeId++instance Prelude.NFData DeleteNode where+ rnf DeleteNode' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf nodeId++instance Data.ToHeaders DeleteNode where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteNode where+ toPath DeleteNode' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/nodes/",+ Data.toBS nodeId+ ]++instance Data.ToQuery DeleteNode where+ toQuery DeleteNode' {..} =+ Prelude.mconcat ["memberId" Data.=: memberId]++-- | /See:/ 'newDeleteNodeResponse' smart constructor.+data DeleteNodeResponse = DeleteNodeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNodeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteNodeResponse_httpStatus' - The response's http status code.+newDeleteNodeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteNodeResponse+newDeleteNodeResponse pHttpStatus_ =+ DeleteNodeResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteNodeResponse_httpStatus :: Lens.Lens' DeleteNodeResponse Prelude.Int+deleteNodeResponse_httpStatus = Lens.lens (\DeleteNodeResponse' {httpStatus} -> httpStatus) (\s@DeleteNodeResponse' {} a -> s {httpStatus = a} :: DeleteNodeResponse)++instance Prelude.NFData DeleteNodeResponse where+ rnf DeleteNodeResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/GetAccessor.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.ManagedBlockChain.GetAccessor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- Returns detailed information about an accessor. An accessor object is a+-- container that has the information required for token based access to+-- your Ethereum nodes.+module Amazonka.ManagedBlockChain.GetAccessor+ ( -- * Creating a Request+ GetAccessor (..),+ newGetAccessor,++ -- * Request Lenses+ getAccessor_accessorId,++ -- * Destructuring the Response+ GetAccessorResponse (..),+ newGetAccessorResponse,++ -- * Response Lenses+ getAccessorResponse_accessor,+ getAccessorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAccessor' smart constructor.+data GetAccessor = GetAccessor'+ { -- | The unique identifier of the accessor.+ accessorId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccessor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessorId', 'getAccessor_accessorId' - The unique identifier of the accessor.+newGetAccessor ::+ -- | 'accessorId'+ Prelude.Text ->+ GetAccessor+newGetAccessor pAccessorId_ =+ GetAccessor' {accessorId = pAccessorId_}++-- | The unique identifier of the accessor.+getAccessor_accessorId :: Lens.Lens' GetAccessor Prelude.Text+getAccessor_accessorId = Lens.lens (\GetAccessor' {accessorId} -> accessorId) (\s@GetAccessor' {} a -> s {accessorId = a} :: GetAccessor)++instance Core.AWSRequest GetAccessor where+ type AWSResponse GetAccessor = GetAccessorResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAccessorResponse'+ Prelude.<$> (x Data..?> "Accessor")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAccessor where+ hashWithSalt _salt GetAccessor' {..} =+ _salt `Prelude.hashWithSalt` accessorId++instance Prelude.NFData GetAccessor where+ rnf GetAccessor' {..} = Prelude.rnf accessorId++instance Data.ToHeaders GetAccessor where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAccessor where+ toPath GetAccessor' {..} =+ Prelude.mconcat+ ["/accessors/", Data.toBS accessorId]++instance Data.ToQuery GetAccessor where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccessorResponse' smart constructor.+data GetAccessorResponse = GetAccessorResponse'+ { -- | The properties of the accessor.+ accessor :: Prelude.Maybe Accessor,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccessorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessor', 'getAccessorResponse_accessor' - The properties of the accessor.+--+-- 'httpStatus', 'getAccessorResponse_httpStatus' - The response's http status code.+newGetAccessorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAccessorResponse+newGetAccessorResponse pHttpStatus_ =+ GetAccessorResponse'+ { accessor = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The properties of the accessor.+getAccessorResponse_accessor :: Lens.Lens' GetAccessorResponse (Prelude.Maybe Accessor)+getAccessorResponse_accessor = Lens.lens (\GetAccessorResponse' {accessor} -> accessor) (\s@GetAccessorResponse' {} a -> s {accessor = a} :: GetAccessorResponse)++-- | The response's http status code.+getAccessorResponse_httpStatus :: Lens.Lens' GetAccessorResponse Prelude.Int+getAccessorResponse_httpStatus = Lens.lens (\GetAccessorResponse' {httpStatus} -> httpStatus) (\s@GetAccessorResponse' {} a -> s {httpStatus = a} :: GetAccessorResponse)++instance Prelude.NFData GetAccessorResponse where+ rnf GetAccessorResponse' {..} =+ Prelude.rnf accessor+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/GetMember.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.GetMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns detailed information about a member.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.GetMember+ ( -- * Creating a Request+ GetMember (..),+ newGetMember,++ -- * Request Lenses+ getMember_networkId,+ getMember_memberId,++ -- * Destructuring the Response+ GetMemberResponse (..),+ newGetMemberResponse,++ -- * Response Lenses+ getMemberResponse_member,+ getMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMember' smart constructor.+data GetMember = GetMember'+ { -- | The unique identifier of the network to which the member belongs.+ networkId :: Prelude.Text,+ -- | The unique identifier of the member.+ memberId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'getMember_networkId' - The unique identifier of the network to which the member belongs.+--+-- 'memberId', 'getMember_memberId' - The unique identifier of the member.+newGetMember ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'memberId'+ Prelude.Text ->+ GetMember+newGetMember pNetworkId_ pMemberId_ =+ GetMember'+ { networkId = pNetworkId_,+ memberId = pMemberId_+ }++-- | The unique identifier of the network to which the member belongs.+getMember_networkId :: Lens.Lens' GetMember Prelude.Text+getMember_networkId = Lens.lens (\GetMember' {networkId} -> networkId) (\s@GetMember' {} a -> s {networkId = a} :: GetMember)++-- | The unique identifier of the member.+getMember_memberId :: Lens.Lens' GetMember Prelude.Text+getMember_memberId = Lens.lens (\GetMember' {memberId} -> memberId) (\s@GetMember' {} a -> s {memberId = a} :: GetMember)++instance Core.AWSRequest GetMember where+ type AWSResponse GetMember = GetMemberResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetMemberResponse'+ Prelude.<$> (x Data..?> "Member")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMember where+ hashWithSalt _salt GetMember' {..} =+ _salt+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData GetMember where+ rnf GetMember' {..} =+ Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders GetMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMember where+ toPath GetMember' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/members/",+ Data.toBS memberId+ ]++instance Data.ToQuery GetMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMemberResponse' smart constructor.+data GetMemberResponse = GetMemberResponse'+ { -- | The properties of a member.+ member :: Prelude.Maybe Member,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'member', 'getMemberResponse_member' - The properties of a member.+--+-- 'httpStatus', 'getMemberResponse_httpStatus' - The response's http status code.+newGetMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMemberResponse+newGetMemberResponse pHttpStatus_ =+ GetMemberResponse'+ { member = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The properties of a member.+getMemberResponse_member :: Lens.Lens' GetMemberResponse (Prelude.Maybe Member)+getMemberResponse_member = Lens.lens (\GetMemberResponse' {member} -> member) (\s@GetMemberResponse' {} a -> s {member = a} :: GetMemberResponse)++-- | The response's http status code.+getMemberResponse_httpStatus :: Lens.Lens' GetMemberResponse Prelude.Int+getMemberResponse_httpStatus = Lens.lens (\GetMemberResponse' {httpStatus} -> httpStatus) (\s@GetMemberResponse' {} a -> s {httpStatus = a} :: GetMemberResponse)++instance Prelude.NFData GetMemberResponse where+ rnf GetMemberResponse' {..} =+ Prelude.rnf member+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/GetNetwork.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.GetNetwork+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns detailed information about a network.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.GetNetwork+ ( -- * Creating a Request+ GetNetwork (..),+ newGetNetwork,++ -- * Request Lenses+ getNetwork_networkId,++ -- * Destructuring the Response+ GetNetworkResponse (..),+ newGetNetworkResponse,++ -- * Response Lenses+ getNetworkResponse_network,+ getNetworkResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetwork' smart constructor.+data GetNetwork = GetNetwork'+ { -- | The unique identifier of the network to get information about.+ networkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'getNetwork_networkId' - The unique identifier of the network to get information about.+newGetNetwork ::+ -- | 'networkId'+ Prelude.Text ->+ GetNetwork+newGetNetwork pNetworkId_ =+ GetNetwork' {networkId = pNetworkId_}++-- | The unique identifier of the network to get information about.+getNetwork_networkId :: Lens.Lens' GetNetwork Prelude.Text+getNetwork_networkId = Lens.lens (\GetNetwork' {networkId} -> networkId) (\s@GetNetwork' {} a -> s {networkId = a} :: GetNetwork)++instance Core.AWSRequest GetNetwork where+ type AWSResponse GetNetwork = GetNetworkResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetNetworkResponse'+ Prelude.<$> (x Data..?> "Network")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetNetwork where+ hashWithSalt _salt GetNetwork' {..} =+ _salt `Prelude.hashWithSalt` networkId++instance Prelude.NFData GetNetwork where+ rnf GetNetwork' {..} = Prelude.rnf networkId++instance Data.ToHeaders GetNetwork where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetNetwork where+ toPath GetNetwork' {..} =+ Prelude.mconcat ["/networks/", Data.toBS networkId]++instance Data.ToQuery GetNetwork where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkResponse' smart constructor.+data GetNetworkResponse = GetNetworkResponse'+ { -- | An object containing network configuration parameters.+ network :: Prelude.Maybe Network,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'network', 'getNetworkResponse_network' - An object containing network configuration parameters.+--+-- 'httpStatus', 'getNetworkResponse_httpStatus' - The response's http status code.+newGetNetworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetNetworkResponse+newGetNetworkResponse pHttpStatus_ =+ GetNetworkResponse'+ { network = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An object containing network configuration parameters.+getNetworkResponse_network :: Lens.Lens' GetNetworkResponse (Prelude.Maybe Network)+getNetworkResponse_network = Lens.lens (\GetNetworkResponse' {network} -> network) (\s@GetNetworkResponse' {} a -> s {network = a} :: GetNetworkResponse)++-- | The response's http status code.+getNetworkResponse_httpStatus :: Lens.Lens' GetNetworkResponse Prelude.Int+getNetworkResponse_httpStatus = Lens.lens (\GetNetworkResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResponse' {} a -> s {httpStatus = a} :: GetNetworkResponse)++instance Prelude.NFData GetNetworkResponse where+ rnf GetNetworkResponse' {..} =+ Prelude.rnf network+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/GetNode.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.GetNode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns detailed information about a node.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.GetNode+ ( -- * Creating a Request+ GetNode (..),+ newGetNode,++ -- * Request Lenses+ getNode_memberId,+ getNode_networkId,+ getNode_nodeId,++ -- * Destructuring the Response+ GetNodeResponse (..),+ newGetNodeResponse,++ -- * Response Lenses+ getNodeResponse_node,+ getNodeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNode' smart constructor.+data GetNode = GetNode'+ { -- | The unique identifier of the member that owns the node.+ --+ -- Applies only to Hyperledger Fabric and is required for Hyperledger+ -- Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network that the node is on.+ networkId :: Prelude.Text,+ -- | The unique identifier of the node.+ nodeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'getNode_memberId' - The unique identifier of the member that owns the node.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+--+-- 'networkId', 'getNode_networkId' - The unique identifier of the network that the node is on.+--+-- 'nodeId', 'getNode_nodeId' - The unique identifier of the node.+newGetNode ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'nodeId'+ Prelude.Text ->+ GetNode+newGetNode pNetworkId_ pNodeId_ =+ GetNode'+ { memberId = Prelude.Nothing,+ networkId = pNetworkId_,+ nodeId = pNodeId_+ }++-- | The unique identifier of the member that owns the node.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+getNode_memberId :: Lens.Lens' GetNode (Prelude.Maybe Prelude.Text)+getNode_memberId = Lens.lens (\GetNode' {memberId} -> memberId) (\s@GetNode' {} a -> s {memberId = a} :: GetNode)++-- | The unique identifier of the network that the node is on.+getNode_networkId :: Lens.Lens' GetNode Prelude.Text+getNode_networkId = Lens.lens (\GetNode' {networkId} -> networkId) (\s@GetNode' {} a -> s {networkId = a} :: GetNode)++-- | The unique identifier of the node.+getNode_nodeId :: Lens.Lens' GetNode Prelude.Text+getNode_nodeId = Lens.lens (\GetNode' {nodeId} -> nodeId) (\s@GetNode' {} a -> s {nodeId = a} :: GetNode)++instance Core.AWSRequest GetNode where+ type AWSResponse GetNode = GetNodeResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetNodeResponse'+ Prelude.<$> (x Data..?> "Node")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetNode where+ hashWithSalt _salt GetNode' {..} =+ _salt+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` nodeId++instance Prelude.NFData GetNode where+ rnf GetNode' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf nodeId++instance Data.ToHeaders GetNode where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetNode where+ toPath GetNode' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/nodes/",+ Data.toBS nodeId+ ]++instance Data.ToQuery GetNode where+ toQuery GetNode' {..} =+ Prelude.mconcat ["memberId" Data.=: memberId]++-- | /See:/ 'newGetNodeResponse' smart constructor.+data GetNodeResponse = GetNodeResponse'+ { -- | Properties of the node configuration.+ node :: Prelude.Maybe Node,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNodeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'node', 'getNodeResponse_node' - Properties of the node configuration.+--+-- 'httpStatus', 'getNodeResponse_httpStatus' - The response's http status code.+newGetNodeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetNodeResponse+newGetNodeResponse pHttpStatus_ =+ GetNodeResponse'+ { node = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Properties of the node configuration.+getNodeResponse_node :: Lens.Lens' GetNodeResponse (Prelude.Maybe Node)+getNodeResponse_node = Lens.lens (\GetNodeResponse' {node} -> node) (\s@GetNodeResponse' {} a -> s {node = a} :: GetNodeResponse)++-- | The response's http status code.+getNodeResponse_httpStatus :: Lens.Lens' GetNodeResponse Prelude.Int+getNodeResponse_httpStatus = Lens.lens (\GetNodeResponse' {httpStatus} -> httpStatus) (\s@GetNodeResponse' {} a -> s {httpStatus = a} :: GetNodeResponse)++instance Prelude.NFData GetNodeResponse where+ rnf GetNodeResponse' {..} =+ Prelude.rnf node+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/GetProposal.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.GetProposal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns detailed information about a proposal.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.GetProposal+ ( -- * Creating a Request+ GetProposal (..),+ newGetProposal,++ -- * Request Lenses+ getProposal_networkId,+ getProposal_proposalId,++ -- * Destructuring the Response+ GetProposalResponse (..),+ newGetProposalResponse,++ -- * Response Lenses+ getProposalResponse_proposal,+ getProposalResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetProposal' smart constructor.+data GetProposal = GetProposal'+ { -- | The unique identifier of the network for which the proposal is made.+ networkId :: Prelude.Text,+ -- | The unique identifier of the proposal.+ proposalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProposal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'getProposal_networkId' - The unique identifier of the network for which the proposal is made.+--+-- 'proposalId', 'getProposal_proposalId' - The unique identifier of the proposal.+newGetProposal ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'proposalId'+ Prelude.Text ->+ GetProposal+newGetProposal pNetworkId_ pProposalId_ =+ GetProposal'+ { networkId = pNetworkId_,+ proposalId = pProposalId_+ }++-- | The unique identifier of the network for which the proposal is made.+getProposal_networkId :: Lens.Lens' GetProposal Prelude.Text+getProposal_networkId = Lens.lens (\GetProposal' {networkId} -> networkId) (\s@GetProposal' {} a -> s {networkId = a} :: GetProposal)++-- | The unique identifier of the proposal.+getProposal_proposalId :: Lens.Lens' GetProposal Prelude.Text+getProposal_proposalId = Lens.lens (\GetProposal' {proposalId} -> proposalId) (\s@GetProposal' {} a -> s {proposalId = a} :: GetProposal)++instance Core.AWSRequest GetProposal where+ type AWSResponse GetProposal = GetProposalResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetProposalResponse'+ Prelude.<$> (x Data..?> "Proposal")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetProposal where+ hashWithSalt _salt GetProposal' {..} =+ _salt+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` proposalId++instance Prelude.NFData GetProposal where+ rnf GetProposal' {..} =+ Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf proposalId++instance Data.ToHeaders GetProposal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetProposal where+ toPath GetProposal' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/proposals/",+ Data.toBS proposalId+ ]++instance Data.ToQuery GetProposal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetProposalResponse' smart constructor.+data GetProposalResponse = GetProposalResponse'+ { -- | Information about a proposal.+ proposal :: Prelude.Maybe Proposal,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetProposalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'proposal', 'getProposalResponse_proposal' - Information about a proposal.+--+-- 'httpStatus', 'getProposalResponse_httpStatus' - The response's http status code.+newGetProposalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetProposalResponse+newGetProposalResponse pHttpStatus_ =+ GetProposalResponse'+ { proposal = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about a proposal.+getProposalResponse_proposal :: Lens.Lens' GetProposalResponse (Prelude.Maybe Proposal)+getProposalResponse_proposal = Lens.lens (\GetProposalResponse' {proposal} -> proposal) (\s@GetProposalResponse' {} a -> s {proposal = a} :: GetProposalResponse)++-- | The response's http status code.+getProposalResponse_httpStatus :: Lens.Lens' GetProposalResponse Prelude.Int+getProposalResponse_httpStatus = Lens.lens (\GetProposalResponse' {httpStatus} -> httpStatus) (\s@GetProposalResponse' {} a -> s {httpStatus = a} :: GetProposalResponse)++instance Prelude.NFData GetProposalResponse where+ rnf GetProposalResponse' {..} =+ Prelude.rnf proposal+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/Lens.hs view
@@ -0,0 +1,494 @@+{-# 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.ManagedBlockChain.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.ManagedBlockChain.Lens+ ( -- * Operations++ -- ** CreateAccessor+ createAccessor_clientRequestToken,+ createAccessor_accessorType,+ createAccessorResponse_accessorId,+ createAccessorResponse_billingToken,+ createAccessorResponse_httpStatus,++ -- ** CreateMember+ createMember_clientRequestToken,+ createMember_invitationId,+ createMember_networkId,+ createMember_memberConfiguration,+ createMemberResponse_memberId,+ createMemberResponse_httpStatus,++ -- ** CreateNetwork+ createNetwork_description,+ createNetwork_frameworkConfiguration,+ createNetwork_tags,+ createNetwork_clientRequestToken,+ createNetwork_name,+ createNetwork_framework,+ createNetwork_frameworkVersion,+ createNetwork_votingPolicy,+ createNetwork_memberConfiguration,+ createNetworkResponse_memberId,+ createNetworkResponse_networkId,+ createNetworkResponse_httpStatus,++ -- ** CreateNode+ createNode_memberId,+ createNode_tags,+ createNode_clientRequestToken,+ createNode_networkId,+ createNode_nodeConfiguration,+ createNodeResponse_nodeId,+ createNodeResponse_httpStatus,++ -- ** CreateProposal+ createProposal_description,+ createProposal_tags,+ createProposal_clientRequestToken,+ createProposal_networkId,+ createProposal_memberId,+ createProposal_actions,+ createProposalResponse_proposalId,+ createProposalResponse_httpStatus,++ -- ** DeleteAccessor+ deleteAccessor_accessorId,+ deleteAccessorResponse_httpStatus,++ -- ** DeleteMember+ deleteMember_networkId,+ deleteMember_memberId,+ deleteMemberResponse_httpStatus,++ -- ** DeleteNode+ deleteNode_memberId,+ deleteNode_networkId,+ deleteNode_nodeId,+ deleteNodeResponse_httpStatus,++ -- ** GetAccessor+ getAccessor_accessorId,+ getAccessorResponse_accessor,+ getAccessorResponse_httpStatus,++ -- ** GetMember+ getMember_networkId,+ getMember_memberId,+ getMemberResponse_member,+ getMemberResponse_httpStatus,++ -- ** GetNetwork+ getNetwork_networkId,+ getNetworkResponse_network,+ getNetworkResponse_httpStatus,++ -- ** GetNode+ getNode_memberId,+ getNode_networkId,+ getNode_nodeId,+ getNodeResponse_node,+ getNodeResponse_httpStatus,++ -- ** GetProposal+ getProposal_networkId,+ getProposal_proposalId,+ getProposalResponse_proposal,+ getProposalResponse_httpStatus,++ -- ** ListAccessors+ listAccessors_maxResults,+ listAccessors_nextToken,+ listAccessorsResponse_accessors,+ listAccessorsResponse_nextToken,+ listAccessorsResponse_httpStatus,++ -- ** ListInvitations+ listInvitations_maxResults,+ listInvitations_nextToken,+ listInvitationsResponse_invitations,+ listInvitationsResponse_nextToken,+ listInvitationsResponse_httpStatus,++ -- ** ListMembers+ listMembers_isOwned,+ listMembers_maxResults,+ listMembers_name,+ listMembers_nextToken,+ listMembers_status,+ listMembers_networkId,+ listMembersResponse_members,+ listMembersResponse_nextToken,+ listMembersResponse_httpStatus,++ -- ** ListNetworks+ listNetworks_framework,+ listNetworks_maxResults,+ listNetworks_name,+ listNetworks_nextToken,+ listNetworks_status,+ listNetworksResponse_networks,+ listNetworksResponse_nextToken,+ listNetworksResponse_httpStatus,++ -- ** ListNodes+ listNodes_maxResults,+ listNodes_memberId,+ listNodes_nextToken,+ listNodes_status,+ listNodes_networkId,+ listNodesResponse_nextToken,+ listNodesResponse_nodes,+ listNodesResponse_httpStatus,++ -- ** ListProposalVotes+ listProposalVotes_maxResults,+ listProposalVotes_nextToken,+ listProposalVotes_networkId,+ listProposalVotes_proposalId,+ listProposalVotesResponse_nextToken,+ listProposalVotesResponse_proposalVotes,+ listProposalVotesResponse_httpStatus,++ -- ** ListProposals+ listProposals_maxResults,+ listProposals_nextToken,+ listProposals_networkId,+ listProposalsResponse_nextToken,+ listProposalsResponse_proposals,+ listProposalsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** RejectInvitation+ rejectInvitation_invitationId,+ rejectInvitationResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateMember+ updateMember_logPublishingConfiguration,+ updateMember_networkId,+ updateMember_memberId,+ updateMemberResponse_httpStatus,++ -- ** UpdateNode+ updateNode_logPublishingConfiguration,+ updateNode_memberId,+ updateNode_networkId,+ updateNode_nodeId,+ updateNodeResponse_httpStatus,++ -- ** VoteOnProposal+ voteOnProposal_networkId,+ voteOnProposal_proposalId,+ voteOnProposal_voterMemberId,+ voteOnProposal_vote,+ voteOnProposalResponse_httpStatus,++ -- * Types++ -- ** Accessor+ accessor_arn,+ accessor_billingToken,+ accessor_creationDate,+ accessor_id,+ accessor_status,+ accessor_type,++ -- ** AccessorSummary+ accessorSummary_arn,+ accessorSummary_creationDate,+ accessorSummary_id,+ accessorSummary_status,+ accessorSummary_type,++ -- ** ApprovalThresholdPolicy+ approvalThresholdPolicy_proposalDurationInHours,+ approvalThresholdPolicy_thresholdComparator,+ approvalThresholdPolicy_thresholdPercentage,++ -- ** Invitation+ invitation_arn,+ invitation_creationDate,+ invitation_expirationDate,+ invitation_invitationId,+ invitation_networkSummary,+ invitation_status,++ -- ** InviteAction+ inviteAction_principal,++ -- ** LogConfiguration+ logConfiguration_enabled,++ -- ** LogConfigurations+ logConfigurations_cloudwatch,++ -- ** Member+ member_arn,+ member_creationDate,+ member_description,+ member_frameworkAttributes,+ member_id,+ member_kmsKeyArn,+ member_logPublishingConfiguration,+ member_name,+ member_networkId,+ member_status,+ member_tags,++ -- ** MemberConfiguration+ memberConfiguration_description,+ memberConfiguration_kmsKeyArn,+ memberConfiguration_logPublishingConfiguration,+ memberConfiguration_tags,+ memberConfiguration_name,+ memberConfiguration_frameworkConfiguration,++ -- ** MemberFabricAttributes+ memberFabricAttributes_adminUsername,+ memberFabricAttributes_caEndpoint,++ -- ** MemberFabricConfiguration+ memberFabricConfiguration_adminUsername,+ memberFabricConfiguration_adminPassword,++ -- ** MemberFabricLogPublishingConfiguration+ memberFabricLogPublishingConfiguration_caLogs,++ -- ** MemberFrameworkAttributes+ memberFrameworkAttributes_fabric,++ -- ** MemberFrameworkConfiguration+ memberFrameworkConfiguration_fabric,++ -- ** MemberLogPublishingConfiguration+ memberLogPublishingConfiguration_fabric,++ -- ** MemberSummary+ memberSummary_arn,+ memberSummary_creationDate,+ memberSummary_description,+ memberSummary_id,+ memberSummary_isOwned,+ memberSummary_name,+ memberSummary_status,++ -- ** Network+ network_arn,+ network_creationDate,+ network_description,+ network_framework,+ network_frameworkAttributes,+ network_frameworkVersion,+ network_id,+ network_name,+ network_status,+ network_tags,+ network_votingPolicy,+ network_vpcEndpointServiceName,++ -- ** NetworkEthereumAttributes+ networkEthereumAttributes_chainId,++ -- ** NetworkFabricAttributes+ networkFabricAttributes_edition,+ networkFabricAttributes_orderingServiceEndpoint,++ -- ** NetworkFabricConfiguration+ networkFabricConfiguration_edition,++ -- ** NetworkFrameworkAttributes+ networkFrameworkAttributes_ethereum,+ networkFrameworkAttributes_fabric,++ -- ** NetworkFrameworkConfiguration+ networkFrameworkConfiguration_fabric,++ -- ** NetworkSummary+ networkSummary_arn,+ networkSummary_creationDate,+ networkSummary_description,+ networkSummary_framework,+ networkSummary_frameworkVersion,+ networkSummary_id,+ networkSummary_name,+ networkSummary_status,++ -- ** Node+ node_arn,+ node_availabilityZone,+ node_creationDate,+ node_frameworkAttributes,+ node_id,+ node_instanceType,+ node_kmsKeyArn,+ node_logPublishingConfiguration,+ node_memberId,+ node_networkId,+ node_stateDB,+ node_status,+ node_tags,++ -- ** NodeConfiguration+ nodeConfiguration_availabilityZone,+ nodeConfiguration_logPublishingConfiguration,+ nodeConfiguration_stateDB,+ nodeConfiguration_instanceType,++ -- ** NodeEthereumAttributes+ nodeEthereumAttributes_httpEndpoint,+ nodeEthereumAttributes_webSocketEndpoint,++ -- ** NodeFabricAttributes+ nodeFabricAttributes_peerEndpoint,+ nodeFabricAttributes_peerEventEndpoint,++ -- ** NodeFabricLogPublishingConfiguration+ nodeFabricLogPublishingConfiguration_chaincodeLogs,+ nodeFabricLogPublishingConfiguration_peerLogs,++ -- ** NodeFrameworkAttributes+ nodeFrameworkAttributes_ethereum,+ nodeFrameworkAttributes_fabric,++ -- ** NodeLogPublishingConfiguration+ nodeLogPublishingConfiguration_fabric,++ -- ** NodeSummary+ nodeSummary_arn,+ nodeSummary_availabilityZone,+ nodeSummary_creationDate,+ nodeSummary_id,+ nodeSummary_instanceType,+ nodeSummary_status,++ -- ** Proposal+ proposal_actions,+ proposal_arn,+ proposal_creationDate,+ proposal_description,+ proposal_expirationDate,+ proposal_networkId,+ proposal_noVoteCount,+ proposal_outstandingVoteCount,+ proposal_proposalId,+ proposal_proposedByMemberId,+ proposal_proposedByMemberName,+ proposal_status,+ proposal_tags,+ proposal_yesVoteCount,++ -- ** ProposalActions+ proposalActions_invitations,+ proposalActions_removals,++ -- ** ProposalSummary+ proposalSummary_arn,+ proposalSummary_creationDate,+ proposalSummary_description,+ proposalSummary_expirationDate,+ proposalSummary_proposalId,+ proposalSummary_proposedByMemberId,+ proposalSummary_proposedByMemberName,+ proposalSummary_status,++ -- ** RemoveAction+ removeAction_memberId,++ -- ** VoteSummary+ voteSummary_memberId,+ voteSummary_memberName,+ voteSummary_vote,++ -- ** VotingPolicy+ votingPolicy_approvalThresholdPolicy,+ )+where++import Amazonka.ManagedBlockChain.CreateAccessor+import Amazonka.ManagedBlockChain.CreateMember+import Amazonka.ManagedBlockChain.CreateNetwork+import Amazonka.ManagedBlockChain.CreateNode+import Amazonka.ManagedBlockChain.CreateProposal+import Amazonka.ManagedBlockChain.DeleteAccessor+import Amazonka.ManagedBlockChain.DeleteMember+import Amazonka.ManagedBlockChain.DeleteNode+import Amazonka.ManagedBlockChain.GetAccessor+import Amazonka.ManagedBlockChain.GetMember+import Amazonka.ManagedBlockChain.GetNetwork+import Amazonka.ManagedBlockChain.GetNode+import Amazonka.ManagedBlockChain.GetProposal+import Amazonka.ManagedBlockChain.ListAccessors+import Amazonka.ManagedBlockChain.ListInvitations+import Amazonka.ManagedBlockChain.ListMembers+import Amazonka.ManagedBlockChain.ListNetworks+import Amazonka.ManagedBlockChain.ListNodes+import Amazonka.ManagedBlockChain.ListProposalVotes+import Amazonka.ManagedBlockChain.ListProposals+import Amazonka.ManagedBlockChain.ListTagsForResource+import Amazonka.ManagedBlockChain.RejectInvitation+import Amazonka.ManagedBlockChain.TagResource+import Amazonka.ManagedBlockChain.Types.Accessor+import Amazonka.ManagedBlockChain.Types.AccessorSummary+import Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy+import Amazonka.ManagedBlockChain.Types.Invitation+import Amazonka.ManagedBlockChain.Types.InviteAction+import Amazonka.ManagedBlockChain.Types.LogConfiguration+import Amazonka.ManagedBlockChain.Types.LogConfigurations+import Amazonka.ManagedBlockChain.Types.Member+import Amazonka.ManagedBlockChain.Types.MemberConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFabricAttributes+import Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.MemberFrameworkConfiguration+import Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.MemberSummary+import Amazonka.ManagedBlockChain.Types.Network+import Amazonka.ManagedBlockChain.Types.NetworkEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFabricAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration+import Amazonka.ManagedBlockChain.Types.NetworkFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFrameworkConfiguration+import Amazonka.ManagedBlockChain.Types.NetworkSummary+import Amazonka.ManagedBlockChain.Types.Node+import Amazonka.ManagedBlockChain.Types.NodeConfiguration+import Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NodeFabricAttributes+import Amazonka.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.NodeFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.NodeSummary+import Amazonka.ManagedBlockChain.Types.Proposal+import Amazonka.ManagedBlockChain.Types.ProposalActions+import Amazonka.ManagedBlockChain.Types.ProposalSummary+import Amazonka.ManagedBlockChain.Types.RemoveAction+import Amazonka.ManagedBlockChain.Types.VoteSummary+import Amazonka.ManagedBlockChain.Types.VotingPolicy+import Amazonka.ManagedBlockChain.UntagResource+import Amazonka.ManagedBlockChain.UpdateMember+import Amazonka.ManagedBlockChain.UpdateNode+import Amazonka.ManagedBlockChain.VoteOnProposal
+ gen/Amazonka/ManagedBlockChain/ListAccessors.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListAccessors+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- Returns a list of the accessors and their properties. Accessor objects+-- are containers that have the information required for token based access+-- to your Ethereum nodes.+--+-- This operation returns paginated results.+module Amazonka.ManagedBlockChain.ListAccessors+ ( -- * Creating a Request+ ListAccessors (..),+ newListAccessors,++ -- * Request Lenses+ listAccessors_maxResults,+ listAccessors_nextToken,++ -- * Destructuring the Response+ ListAccessorsResponse (..),+ newListAccessorsResponse,++ -- * Response Lenses+ listAccessorsResponse_accessors,+ listAccessorsResponse_nextToken,+ listAccessorsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAccessors' smart constructor.+data ListAccessors = ListAccessors'+ { -- | The maximum number of accessors to list.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccessors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAccessors_maxResults' - The maximum number of accessors to list.+--+-- 'nextToken', 'listAccessors_nextToken' - The pagination token that indicates the next set of results to retrieve.+newListAccessors ::+ ListAccessors+newListAccessors =+ ListAccessors'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of accessors to list.+listAccessors_maxResults :: Lens.Lens' ListAccessors (Prelude.Maybe Prelude.Natural)+listAccessors_maxResults = Lens.lens (\ListAccessors' {maxResults} -> maxResults) (\s@ListAccessors' {} a -> s {maxResults = a} :: ListAccessors)++-- | The pagination token that indicates the next set of results to retrieve.+listAccessors_nextToken :: Lens.Lens' ListAccessors (Prelude.Maybe Prelude.Text)+listAccessors_nextToken = Lens.lens (\ListAccessors' {nextToken} -> nextToken) (\s@ListAccessors' {} a -> s {nextToken = a} :: ListAccessors)++instance Core.AWSPager ListAccessors where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAccessorsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listAccessorsResponse_accessors+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAccessors_nextToken+ Lens..~ rs+ Lens.^? listAccessorsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAccessors where+ type+ AWSResponse ListAccessors =+ ListAccessorsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAccessorsResponse'+ Prelude.<$> (x Data..?> "Accessors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAccessors where+ hashWithSalt _salt ListAccessors' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAccessors where+ rnf ListAccessors' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAccessors where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAccessors where+ toPath = Prelude.const "/accessors"++instance Data.ToQuery ListAccessors where+ toQuery ListAccessors' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAccessorsResponse' smart constructor.+data ListAccessorsResponse = ListAccessorsResponse'+ { -- | An array of AccessorSummary objects that contain configuration+ -- properties for each accessor.+ accessors :: Prelude.Maybe [AccessorSummary],+ -- | The pagination token that indicates the next set of results to retrieve.+ 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 'ListAccessorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessors', 'listAccessorsResponse_accessors' - An array of AccessorSummary objects that contain configuration+-- properties for each accessor.+--+-- 'nextToken', 'listAccessorsResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'httpStatus', 'listAccessorsResponse_httpStatus' - The response's http status code.+newListAccessorsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAccessorsResponse+newListAccessorsResponse pHttpStatus_ =+ ListAccessorsResponse'+ { accessors = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of AccessorSummary objects that contain configuration+-- properties for each accessor.+listAccessorsResponse_accessors :: Lens.Lens' ListAccessorsResponse (Prelude.Maybe [AccessorSummary])+listAccessorsResponse_accessors = Lens.lens (\ListAccessorsResponse' {accessors} -> accessors) (\s@ListAccessorsResponse' {} a -> s {accessors = a} :: ListAccessorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that indicates the next set of results to retrieve.+listAccessorsResponse_nextToken :: Lens.Lens' ListAccessorsResponse (Prelude.Maybe Prelude.Text)+listAccessorsResponse_nextToken = Lens.lens (\ListAccessorsResponse' {nextToken} -> nextToken) (\s@ListAccessorsResponse' {} a -> s {nextToken = a} :: ListAccessorsResponse)++-- | The response's http status code.+listAccessorsResponse_httpStatus :: Lens.Lens' ListAccessorsResponse Prelude.Int+listAccessorsResponse_httpStatus = Lens.lens (\ListAccessorsResponse' {httpStatus} -> httpStatus) (\s@ListAccessorsResponse' {} a -> s {httpStatus = a} :: ListAccessorsResponse)++instance Prelude.NFData ListAccessorsResponse where+ rnf ListAccessorsResponse' {..} =+ Prelude.rnf accessors+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListInvitations.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.ManagedBlockChain.ListInvitations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all invitations for the current Amazon Web Services+-- account.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.ListInvitations+ ( -- * Creating a Request+ ListInvitations (..),+ newListInvitations,++ -- * Request Lenses+ listInvitations_maxResults,+ listInvitations_nextToken,++ -- * Destructuring the Response+ ListInvitationsResponse (..),+ newListInvitationsResponse,++ -- * Response Lenses+ listInvitationsResponse_invitations,+ listInvitationsResponse_nextToken,+ listInvitationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListInvitations' smart constructor.+data ListInvitations = ListInvitations'+ { -- | The maximum number of invitations to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInvitations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listInvitations_maxResults' - The maximum number of invitations to return.+--+-- 'nextToken', 'listInvitations_nextToken' - The pagination token that indicates the next set of results to retrieve.+newListInvitations ::+ ListInvitations+newListInvitations =+ ListInvitations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of invitations to return.+listInvitations_maxResults :: Lens.Lens' ListInvitations (Prelude.Maybe Prelude.Natural)+listInvitations_maxResults = Lens.lens (\ListInvitations' {maxResults} -> maxResults) (\s@ListInvitations' {} a -> s {maxResults = a} :: ListInvitations)++-- | The pagination token that indicates the next set of results to retrieve.+listInvitations_nextToken :: Lens.Lens' ListInvitations (Prelude.Maybe Prelude.Text)+listInvitations_nextToken = Lens.lens (\ListInvitations' {nextToken} -> nextToken) (\s@ListInvitations' {} a -> s {nextToken = a} :: ListInvitations)++instance Core.AWSRequest ListInvitations where+ type+ AWSResponse ListInvitations =+ ListInvitationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListInvitationsResponse'+ Prelude.<$> (x Data..?> "Invitations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListInvitations where+ hashWithSalt _salt ListInvitations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListInvitations where+ rnf ListInvitations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListInvitations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListInvitations where+ toPath = Prelude.const "/invitations"++instance Data.ToQuery ListInvitations where+ toQuery ListInvitations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListInvitationsResponse' smart constructor.+data ListInvitationsResponse = ListInvitationsResponse'+ { -- | The invitations for the network.+ invitations :: Prelude.Maybe [Invitation],+ -- | The pagination token that indicates the next set of results to retrieve.+ 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 'ListInvitationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invitations', 'listInvitationsResponse_invitations' - The invitations for the network.+--+-- 'nextToken', 'listInvitationsResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'httpStatus', 'listInvitationsResponse_httpStatus' - The response's http status code.+newListInvitationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListInvitationsResponse+newListInvitationsResponse pHttpStatus_ =+ ListInvitationsResponse'+ { invitations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The invitations for the network.+listInvitationsResponse_invitations :: Lens.Lens' ListInvitationsResponse (Prelude.Maybe [Invitation])+listInvitationsResponse_invitations = Lens.lens (\ListInvitationsResponse' {invitations} -> invitations) (\s@ListInvitationsResponse' {} a -> s {invitations = a} :: ListInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that indicates the next set of results to retrieve.+listInvitationsResponse_nextToken :: Lens.Lens' ListInvitationsResponse (Prelude.Maybe Prelude.Text)+listInvitationsResponse_nextToken = Lens.lens (\ListInvitationsResponse' {nextToken} -> nextToken) (\s@ListInvitationsResponse' {} a -> s {nextToken = a} :: ListInvitationsResponse)++-- | The response's http status code.+listInvitationsResponse_httpStatus :: Lens.Lens' ListInvitationsResponse Prelude.Int+listInvitationsResponse_httpStatus = Lens.lens (\ListInvitationsResponse' {httpStatus} -> httpStatus) (\s@ListInvitationsResponse' {} a -> s {httpStatus = a} :: ListInvitationsResponse)++instance Prelude.NFData ListInvitationsResponse where+ rnf ListInvitationsResponse' {..} =+ Prelude.rnf invitations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListMembers.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of the members in a network and properties of their+-- configurations.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.ListMembers+ ( -- * Creating a Request+ ListMembers (..),+ newListMembers,++ -- * Request Lenses+ listMembers_isOwned,+ listMembers_maxResults,+ listMembers_name,+ listMembers_nextToken,+ listMembers_status,+ listMembers_networkId,++ -- * Destructuring the Response+ ListMembersResponse (..),+ newListMembersResponse,++ -- * Response Lenses+ listMembersResponse_members,+ listMembersResponse_nextToken,+ listMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMembers' smart constructor.+data ListMembers = ListMembers'+ { -- | An optional Boolean value. If provided, the request is limited either to+ -- members that the current Amazon Web Services account owns (@true@) or+ -- that other Amazon Web Services accountsn own (@false@). If omitted, all+ -- members are listed.+ isOwned :: Prelude.Maybe Prelude.Bool,+ -- | The maximum number of members to return in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The optional name of the member to list.+ name :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional status specifier. If provided, only members currently in+ -- this status are listed.+ status :: Prelude.Maybe MemberStatus,+ -- | The unique identifier of the network for which to list members.+ networkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isOwned', 'listMembers_isOwned' - An optional Boolean value. If provided, the request is limited either to+-- members that the current Amazon Web Services account owns (@true@) or+-- that other Amazon Web Services accountsn own (@false@). If omitted, all+-- members are listed.+--+-- 'maxResults', 'listMembers_maxResults' - The maximum number of members to return in the request.+--+-- 'name', 'listMembers_name' - The optional name of the member to list.+--+-- 'nextToken', 'listMembers_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'status', 'listMembers_status' - An optional status specifier. If provided, only members currently in+-- this status are listed.+--+-- 'networkId', 'listMembers_networkId' - The unique identifier of the network for which to list members.+newListMembers ::+ -- | 'networkId'+ Prelude.Text ->+ ListMembers+newListMembers pNetworkId_ =+ ListMembers'+ { isOwned = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ name = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ status = Prelude.Nothing,+ networkId = pNetworkId_+ }++-- | An optional Boolean value. If provided, the request is limited either to+-- members that the current Amazon Web Services account owns (@true@) or+-- that other Amazon Web Services accountsn own (@false@). If omitted, all+-- members are listed.+listMembers_isOwned :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Bool)+listMembers_isOwned = Lens.lens (\ListMembers' {isOwned} -> isOwned) (\s@ListMembers' {} a -> s {isOwned = a} :: ListMembers)++-- | The maximum number of members to return in the request.+listMembers_maxResults :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Natural)+listMembers_maxResults = Lens.lens (\ListMembers' {maxResults} -> maxResults) (\s@ListMembers' {} a -> s {maxResults = a} :: ListMembers)++-- | The optional name of the member to list.+listMembers_name :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Text)+listMembers_name = Lens.lens (\ListMembers' {name} -> name) (\s@ListMembers' {} a -> s {name = a} :: ListMembers)++-- | The pagination token that indicates the next set of results to retrieve.+listMembers_nextToken :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Text)+listMembers_nextToken = Lens.lens (\ListMembers' {nextToken} -> nextToken) (\s@ListMembers' {} a -> s {nextToken = a} :: ListMembers)++-- | An optional status specifier. If provided, only members currently in+-- this status are listed.+listMembers_status :: Lens.Lens' ListMembers (Prelude.Maybe MemberStatus)+listMembers_status = Lens.lens (\ListMembers' {status} -> status) (\s@ListMembers' {} a -> s {status = a} :: ListMembers)++-- | The unique identifier of the network for which to list members.+listMembers_networkId :: Lens.Lens' ListMembers Prelude.Text+listMembers_networkId = Lens.lens (\ListMembers' {networkId} -> networkId) (\s@ListMembers' {} a -> s {networkId = a} :: ListMembers)++instance Core.AWSRequest ListMembers where+ type AWSResponse ListMembers = ListMembersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListMembersResponse'+ Prelude.<$> (x Data..?> "Members" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListMembers where+ hashWithSalt _salt ListMembers' {..} =+ _salt+ `Prelude.hashWithSalt` isOwned+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` networkId++instance Prelude.NFData ListMembers where+ rnf ListMembers' {..} =+ Prelude.rnf isOwned+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf networkId++instance Data.ToHeaders ListMembers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListMembers where+ toPath ListMembers' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/members"]++instance Data.ToQuery ListMembers where+ toQuery ListMembers' {..} =+ Prelude.mconcat+ [ "isOwned" Data.=: isOwned,+ "maxResults" Data.=: maxResults,+ "name" Data.=: name,+ "nextToken" Data.=: nextToken,+ "status" Data.=: status+ ]++-- | /See:/ 'newListMembersResponse' smart constructor.+data ListMembersResponse = ListMembersResponse'+ { -- | An array of @MemberSummary@ objects. Each object contains details about+ -- a network member.+ members :: Prelude.Maybe [MemberSummary],+ -- | The pagination token that indicates the next set of results to retrieve.+ 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 'ListMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'members', 'listMembersResponse_members' - An array of @MemberSummary@ objects. Each object contains details about+-- a network member.+--+-- 'nextToken', 'listMembersResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'httpStatus', 'listMembersResponse_httpStatus' - The response's http status code.+newListMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListMembersResponse+newListMembersResponse pHttpStatus_ =+ ListMembersResponse'+ { members = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of @MemberSummary@ objects. Each object contains details about+-- a network member.+listMembersResponse_members :: Lens.Lens' ListMembersResponse (Prelude.Maybe [MemberSummary])+listMembersResponse_members = Lens.lens (\ListMembersResponse' {members} -> members) (\s@ListMembersResponse' {} a -> s {members = a} :: ListMembersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that indicates the next set of results to retrieve.+listMembersResponse_nextToken :: Lens.Lens' ListMembersResponse (Prelude.Maybe Prelude.Text)+listMembersResponse_nextToken = Lens.lens (\ListMembersResponse' {nextToken} -> nextToken) (\s@ListMembersResponse' {} a -> s {nextToken = a} :: ListMembersResponse)++-- | The response's http status code.+listMembersResponse_httpStatus :: Lens.Lens' ListMembersResponse Prelude.Int+listMembersResponse_httpStatus = Lens.lens (\ListMembersResponse' {httpStatus} -> httpStatus) (\s@ListMembersResponse' {} a -> s {httpStatus = a} :: ListMembersResponse)++instance Prelude.NFData ListMembersResponse where+ rnf ListMembersResponse' {..} =+ Prelude.rnf members+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListNetworks.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListNetworks+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the networks in which the current Amazon Web+-- Services account participates.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.ListNetworks+ ( -- * Creating a Request+ ListNetworks (..),+ newListNetworks,++ -- * Request Lenses+ listNetworks_framework,+ listNetworks_maxResults,+ listNetworks_name,+ listNetworks_nextToken,+ listNetworks_status,++ -- * Destructuring the Response+ ListNetworksResponse (..),+ newListNetworksResponse,++ -- * Response Lenses+ listNetworksResponse_networks,+ listNetworksResponse_nextToken,+ listNetworksResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNetworks' smart constructor.+data ListNetworks = ListNetworks'+ { -- | An optional framework specifier. If provided, only networks of this+ -- framework type are listed.+ framework :: Prelude.Maybe Framework,+ -- | The maximum number of networks to list.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The name of the network.+ name :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional status specifier. If provided, only networks currently in+ -- this status are listed.+ --+ -- Applies only to Hyperledger Fabric.+ status :: Prelude.Maybe NetworkStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'framework', 'listNetworks_framework' - An optional framework specifier. If provided, only networks of this+-- framework type are listed.+--+-- 'maxResults', 'listNetworks_maxResults' - The maximum number of networks to list.+--+-- 'name', 'listNetworks_name' - The name of the network.+--+-- 'nextToken', 'listNetworks_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'status', 'listNetworks_status' - An optional status specifier. If provided, only networks currently in+-- this status are listed.+--+-- Applies only to Hyperledger Fabric.+newListNetworks ::+ ListNetworks+newListNetworks =+ ListNetworks'+ { framework = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ name = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | An optional framework specifier. If provided, only networks of this+-- framework type are listed.+listNetworks_framework :: Lens.Lens' ListNetworks (Prelude.Maybe Framework)+listNetworks_framework = Lens.lens (\ListNetworks' {framework} -> framework) (\s@ListNetworks' {} a -> s {framework = a} :: ListNetworks)++-- | The maximum number of networks to list.+listNetworks_maxResults :: Lens.Lens' ListNetworks (Prelude.Maybe Prelude.Natural)+listNetworks_maxResults = Lens.lens (\ListNetworks' {maxResults} -> maxResults) (\s@ListNetworks' {} a -> s {maxResults = a} :: ListNetworks)++-- | The name of the network.+listNetworks_name :: Lens.Lens' ListNetworks (Prelude.Maybe Prelude.Text)+listNetworks_name = Lens.lens (\ListNetworks' {name} -> name) (\s@ListNetworks' {} a -> s {name = a} :: ListNetworks)++-- | The pagination token that indicates the next set of results to retrieve.+listNetworks_nextToken :: Lens.Lens' ListNetworks (Prelude.Maybe Prelude.Text)+listNetworks_nextToken = Lens.lens (\ListNetworks' {nextToken} -> nextToken) (\s@ListNetworks' {} a -> s {nextToken = a} :: ListNetworks)++-- | An optional status specifier. If provided, only networks currently in+-- this status are listed.+--+-- Applies only to Hyperledger Fabric.+listNetworks_status :: Lens.Lens' ListNetworks (Prelude.Maybe NetworkStatus)+listNetworks_status = Lens.lens (\ListNetworks' {status} -> status) (\s@ListNetworks' {} a -> s {status = a} :: ListNetworks)++instance Core.AWSRequest ListNetworks where+ type AWSResponse ListNetworks = ListNetworksResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListNetworksResponse'+ Prelude.<$> (x Data..?> "Networks" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListNetworks where+ hashWithSalt _salt ListNetworks' {..} =+ _salt+ `Prelude.hashWithSalt` framework+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` status++instance Prelude.NFData ListNetworks where+ rnf ListNetworks' {..} =+ Prelude.rnf framework+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListNetworks where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListNetworks where+ toPath = Prelude.const "/networks"++instance Data.ToQuery ListNetworks where+ toQuery ListNetworks' {..} =+ Prelude.mconcat+ [ "framework" Data.=: framework,+ "maxResults" Data.=: maxResults,+ "name" Data.=: name,+ "nextToken" Data.=: nextToken,+ "status" Data.=: status+ ]++-- | /See:/ 'newListNetworksResponse' smart constructor.+data ListNetworksResponse = ListNetworksResponse'+ { -- | An array of @NetworkSummary@ objects that contain configuration+ -- properties for each network.+ networks :: Prelude.Maybe [NetworkSummary],+ -- | The pagination token that indicates the next set of results to retrieve.+ 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 'ListNetworksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networks', 'listNetworksResponse_networks' - An array of @NetworkSummary@ objects that contain configuration+-- properties for each network.+--+-- 'nextToken', 'listNetworksResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'httpStatus', 'listNetworksResponse_httpStatus' - The response's http status code.+newListNetworksResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListNetworksResponse+newListNetworksResponse pHttpStatus_ =+ ListNetworksResponse'+ { networks = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of @NetworkSummary@ objects that contain configuration+-- properties for each network.+listNetworksResponse_networks :: Lens.Lens' ListNetworksResponse (Prelude.Maybe [NetworkSummary])+listNetworksResponse_networks = Lens.lens (\ListNetworksResponse' {networks} -> networks) (\s@ListNetworksResponse' {} a -> s {networks = a} :: ListNetworksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that indicates the next set of results to retrieve.+listNetworksResponse_nextToken :: Lens.Lens' ListNetworksResponse (Prelude.Maybe Prelude.Text)+listNetworksResponse_nextToken = Lens.lens (\ListNetworksResponse' {nextToken} -> nextToken) (\s@ListNetworksResponse' {} a -> s {nextToken = a} :: ListNetworksResponse)++-- | The response's http status code.+listNetworksResponse_httpStatus :: Lens.Lens' ListNetworksResponse Prelude.Int+listNetworksResponse_httpStatus = Lens.lens (\ListNetworksResponse' {httpStatus} -> httpStatus) (\s@ListNetworksResponse' {} a -> s {httpStatus = a} :: ListNetworksResponse)++instance Prelude.NFData ListNetworksResponse where+ rnf ListNetworksResponse' {..} =+ Prelude.rnf networks+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListNodes.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListNodes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the nodes within a network.+--+-- Applies to Hyperledger Fabric and Ethereum.+module Amazonka.ManagedBlockChain.ListNodes+ ( -- * Creating a Request+ ListNodes (..),+ newListNodes,++ -- * Request Lenses+ listNodes_maxResults,+ listNodes_memberId,+ listNodes_nextToken,+ listNodes_status,+ listNodes_networkId,++ -- * Destructuring the Response+ ListNodesResponse (..),+ newListNodesResponse,++ -- * Response Lenses+ listNodesResponse_nextToken,+ listNodesResponse_nodes,+ listNodesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNodes' smart constructor.+data ListNodes = ListNodes'+ { -- | The maximum number of nodes to list.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The unique identifier of the member who owns the nodes to list.+ --+ -- Applies only to Hyperledger Fabric and is required for Hyperledger+ -- Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional status specifier. If provided, only nodes currently in this+ -- status are listed.+ status :: Prelude.Maybe NodeStatus,+ -- | The unique identifier of the network for which to list nodes.+ networkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listNodes_maxResults' - The maximum number of nodes to list.+--+-- 'memberId', 'listNodes_memberId' - The unique identifier of the member who owns the nodes to list.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+--+-- 'nextToken', 'listNodes_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'status', 'listNodes_status' - An optional status specifier. If provided, only nodes currently in this+-- status are listed.+--+-- 'networkId', 'listNodes_networkId' - The unique identifier of the network for which to list nodes.+newListNodes ::+ -- | 'networkId'+ Prelude.Text ->+ ListNodes+newListNodes pNetworkId_ =+ ListNodes'+ { maxResults = Prelude.Nothing,+ memberId = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ status = Prelude.Nothing,+ networkId = pNetworkId_+ }++-- | The maximum number of nodes to list.+listNodes_maxResults :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Natural)+listNodes_maxResults = Lens.lens (\ListNodes' {maxResults} -> maxResults) (\s@ListNodes' {} a -> s {maxResults = a} :: ListNodes)++-- | The unique identifier of the member who owns the nodes to list.+--+-- Applies only to Hyperledger Fabric and is required for Hyperledger+-- Fabric.+listNodes_memberId :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_memberId = Lens.lens (\ListNodes' {memberId} -> memberId) (\s@ListNodes' {} a -> s {memberId = a} :: ListNodes)++-- | The pagination token that indicates the next set of results to retrieve.+listNodes_nextToken :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_nextToken = Lens.lens (\ListNodes' {nextToken} -> nextToken) (\s@ListNodes' {} a -> s {nextToken = a} :: ListNodes)++-- | An optional status specifier. If provided, only nodes currently in this+-- status are listed.+listNodes_status :: Lens.Lens' ListNodes (Prelude.Maybe NodeStatus)+listNodes_status = Lens.lens (\ListNodes' {status} -> status) (\s@ListNodes' {} a -> s {status = a} :: ListNodes)++-- | The unique identifier of the network for which to list nodes.+listNodes_networkId :: Lens.Lens' ListNodes Prelude.Text+listNodes_networkId = Lens.lens (\ListNodes' {networkId} -> networkId) (\s@ListNodes' {} a -> s {networkId = a} :: ListNodes)++instance Core.AWSRequest ListNodes where+ type AWSResponse ListNodes = ListNodesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListNodesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Nodes" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListNodes where+ hashWithSalt _salt ListNodes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` networkId++instance Prelude.NFData ListNodes where+ rnf ListNodes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf networkId++instance Data.ToHeaders ListNodes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListNodes where+ toPath ListNodes' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/nodes"]++instance Data.ToQuery ListNodes where+ toQuery ListNodes' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "memberId" Data.=: memberId,+ "nextToken" Data.=: nextToken,+ "status" Data.=: status+ ]++-- | /See:/ 'newListNodesResponse' smart constructor.+data ListNodesResponse = ListNodesResponse'+ { -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array of @NodeSummary@ objects that contain configuration properties+ -- for each node.+ nodes :: Prelude.Maybe [NodeSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listNodesResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'nodes', 'listNodesResponse_nodes' - An array of @NodeSummary@ objects that contain configuration properties+-- for each node.+--+-- 'httpStatus', 'listNodesResponse_httpStatus' - The response's http status code.+newListNodesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListNodesResponse+newListNodesResponse pHttpStatus_ =+ ListNodesResponse'+ { nextToken = Prelude.Nothing,+ nodes = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The pagination token that indicates the next set of results to retrieve.+listNodesResponse_nextToken :: Lens.Lens' ListNodesResponse (Prelude.Maybe Prelude.Text)+listNodesResponse_nextToken = Lens.lens (\ListNodesResponse' {nextToken} -> nextToken) (\s@ListNodesResponse' {} a -> s {nextToken = a} :: ListNodesResponse)++-- | An array of @NodeSummary@ objects that contain configuration properties+-- for each node.+listNodesResponse_nodes :: Lens.Lens' ListNodesResponse (Prelude.Maybe [NodeSummary])+listNodesResponse_nodes = Lens.lens (\ListNodesResponse' {nodes} -> nodes) (\s@ListNodesResponse' {} a -> s {nodes = a} :: ListNodesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listNodesResponse_httpStatus :: Lens.Lens' ListNodesResponse Prelude.Int+listNodesResponse_httpStatus = Lens.lens (\ListNodesResponse' {httpStatus} -> httpStatus) (\s@ListNodesResponse' {} a -> s {httpStatus = a} :: ListNodesResponse)++instance Prelude.NFData ListNodesResponse where+ rnf ListNodesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf nodes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListProposalVotes.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListProposalVotes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of votes for a specified proposal, including the value+-- of each vote and the unique identifier of the member that cast the vote.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.ListProposalVotes+ ( -- * Creating a Request+ ListProposalVotes (..),+ newListProposalVotes,++ -- * Request Lenses+ listProposalVotes_maxResults,+ listProposalVotes_nextToken,+ listProposalVotes_networkId,+ listProposalVotes_proposalId,++ -- * Destructuring the Response+ ListProposalVotesResponse (..),+ newListProposalVotesResponse,++ -- * Response Lenses+ listProposalVotesResponse_nextToken,+ listProposalVotesResponse_proposalVotes,+ listProposalVotesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProposalVotes' smart constructor.+data ListProposalVotes = ListProposalVotes'+ { -- | The maximum number of votes to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network.+ networkId :: Prelude.Text,+ -- | The unique identifier of the proposal.+ proposalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProposalVotes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listProposalVotes_maxResults' - The maximum number of votes to return.+--+-- 'nextToken', 'listProposalVotes_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'networkId', 'listProposalVotes_networkId' - The unique identifier of the network.+--+-- 'proposalId', 'listProposalVotes_proposalId' - The unique identifier of the proposal.+newListProposalVotes ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'proposalId'+ Prelude.Text ->+ ListProposalVotes+newListProposalVotes pNetworkId_ pProposalId_ =+ ListProposalVotes'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ networkId = pNetworkId_,+ proposalId = pProposalId_+ }++-- | The maximum number of votes to return.+listProposalVotes_maxResults :: Lens.Lens' ListProposalVotes (Prelude.Maybe Prelude.Natural)+listProposalVotes_maxResults = Lens.lens (\ListProposalVotes' {maxResults} -> maxResults) (\s@ListProposalVotes' {} a -> s {maxResults = a} :: ListProposalVotes)++-- | The pagination token that indicates the next set of results to retrieve.+listProposalVotes_nextToken :: Lens.Lens' ListProposalVotes (Prelude.Maybe Prelude.Text)+listProposalVotes_nextToken = Lens.lens (\ListProposalVotes' {nextToken} -> nextToken) (\s@ListProposalVotes' {} a -> s {nextToken = a} :: ListProposalVotes)++-- | The unique identifier of the network.+listProposalVotes_networkId :: Lens.Lens' ListProposalVotes Prelude.Text+listProposalVotes_networkId = Lens.lens (\ListProposalVotes' {networkId} -> networkId) (\s@ListProposalVotes' {} a -> s {networkId = a} :: ListProposalVotes)++-- | The unique identifier of the proposal.+listProposalVotes_proposalId :: Lens.Lens' ListProposalVotes Prelude.Text+listProposalVotes_proposalId = Lens.lens (\ListProposalVotes' {proposalId} -> proposalId) (\s@ListProposalVotes' {} a -> s {proposalId = a} :: ListProposalVotes)++instance Core.AWSRequest ListProposalVotes where+ type+ AWSResponse ListProposalVotes =+ ListProposalVotesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListProposalVotesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "ProposalVotes" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListProposalVotes where+ hashWithSalt _salt ListProposalVotes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` proposalId++instance Prelude.NFData ListProposalVotes where+ rnf ListProposalVotes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf proposalId++instance Data.ToHeaders ListProposalVotes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListProposalVotes where+ toPath ListProposalVotes' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/proposals/",+ Data.toBS proposalId,+ "/votes"+ ]++instance Data.ToQuery ListProposalVotes where+ toQuery ListProposalVotes' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListProposalVotesResponse' smart constructor.+data ListProposalVotesResponse = ListProposalVotesResponse'+ { -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list of votes.+ proposalVotes :: Prelude.Maybe [VoteSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProposalVotesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProposalVotesResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'proposalVotes', 'listProposalVotesResponse_proposalVotes' - The list of votes.+--+-- 'httpStatus', 'listProposalVotesResponse_httpStatus' - The response's http status code.+newListProposalVotesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListProposalVotesResponse+newListProposalVotesResponse pHttpStatus_ =+ ListProposalVotesResponse'+ { nextToken =+ Prelude.Nothing,+ proposalVotes = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The pagination token that indicates the next set of results to retrieve.+listProposalVotesResponse_nextToken :: Lens.Lens' ListProposalVotesResponse (Prelude.Maybe Prelude.Text)+listProposalVotesResponse_nextToken = Lens.lens (\ListProposalVotesResponse' {nextToken} -> nextToken) (\s@ListProposalVotesResponse' {} a -> s {nextToken = a} :: ListProposalVotesResponse)++-- | The list of votes.+listProposalVotesResponse_proposalVotes :: Lens.Lens' ListProposalVotesResponse (Prelude.Maybe [VoteSummary])+listProposalVotesResponse_proposalVotes = Lens.lens (\ListProposalVotesResponse' {proposalVotes} -> proposalVotes) (\s@ListProposalVotesResponse' {} a -> s {proposalVotes = a} :: ListProposalVotesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listProposalVotesResponse_httpStatus :: Lens.Lens' ListProposalVotesResponse Prelude.Int+listProposalVotesResponse_httpStatus = Lens.lens (\ListProposalVotesResponse' {httpStatus} -> httpStatus) (\s@ListProposalVotesResponse' {} a -> s {httpStatus = a} :: ListProposalVotesResponse)++instance Prelude.NFData ListProposalVotesResponse where+ rnf ListProposalVotesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf proposalVotes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListProposals.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListProposals+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of proposals for the network.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.ListProposals+ ( -- * Creating a Request+ ListProposals (..),+ newListProposals,++ -- * Request Lenses+ listProposals_maxResults,+ listProposals_nextToken,+ listProposals_networkId,++ -- * Destructuring the Response+ ListProposalsResponse (..),+ newListProposalsResponse,++ -- * Response Lenses+ listProposalsResponse_nextToken,+ listProposalsResponse_proposals,+ listProposalsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProposals' smart constructor.+data ListProposals = ListProposals'+ { -- | The maximum number of proposals to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network.+ networkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProposals' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listProposals_maxResults' - The maximum number of proposals to return.+--+-- 'nextToken', 'listProposals_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'networkId', 'listProposals_networkId' - The unique identifier of the network.+newListProposals ::+ -- | 'networkId'+ Prelude.Text ->+ ListProposals+newListProposals pNetworkId_ =+ ListProposals'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ networkId = pNetworkId_+ }++-- | The maximum number of proposals to return.+listProposals_maxResults :: Lens.Lens' ListProposals (Prelude.Maybe Prelude.Natural)+listProposals_maxResults = Lens.lens (\ListProposals' {maxResults} -> maxResults) (\s@ListProposals' {} a -> s {maxResults = a} :: ListProposals)++-- | The pagination token that indicates the next set of results to retrieve.+listProposals_nextToken :: Lens.Lens' ListProposals (Prelude.Maybe Prelude.Text)+listProposals_nextToken = Lens.lens (\ListProposals' {nextToken} -> nextToken) (\s@ListProposals' {} a -> s {nextToken = a} :: ListProposals)++-- | The unique identifier of the network.+listProposals_networkId :: Lens.Lens' ListProposals Prelude.Text+listProposals_networkId = Lens.lens (\ListProposals' {networkId} -> networkId) (\s@ListProposals' {} a -> s {networkId = a} :: ListProposals)++instance Core.AWSRequest ListProposals where+ type+ AWSResponse ListProposals =+ ListProposalsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListProposalsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Proposals" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListProposals where+ hashWithSalt _salt ListProposals' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` networkId++instance Prelude.NFData ListProposals where+ rnf ListProposals' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf networkId++instance Data.ToHeaders ListProposals where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListProposals where+ toPath ListProposals' {..} =+ Prelude.mconcat+ ["/networks/", Data.toBS networkId, "/proposals"]++instance Data.ToQuery ListProposals where+ toQuery ListProposals' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListProposalsResponse' smart constructor.+data ListProposalsResponse = ListProposalsResponse'+ { -- | The pagination token that indicates the next set of results to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The summary of each proposal made on the network.+ proposals :: Prelude.Maybe [ProposalSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProposalsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProposalsResponse_nextToken' - The pagination token that indicates the next set of results to retrieve.+--+-- 'proposals', 'listProposalsResponse_proposals' - The summary of each proposal made on the network.+--+-- 'httpStatus', 'listProposalsResponse_httpStatus' - The response's http status code.+newListProposalsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListProposalsResponse+newListProposalsResponse pHttpStatus_ =+ ListProposalsResponse'+ { nextToken = Prelude.Nothing,+ proposals = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The pagination token that indicates the next set of results to retrieve.+listProposalsResponse_nextToken :: Lens.Lens' ListProposalsResponse (Prelude.Maybe Prelude.Text)+listProposalsResponse_nextToken = Lens.lens (\ListProposalsResponse' {nextToken} -> nextToken) (\s@ListProposalsResponse' {} a -> s {nextToken = a} :: ListProposalsResponse)++-- | The summary of each proposal made on the network.+listProposalsResponse_proposals :: Lens.Lens' ListProposalsResponse (Prelude.Maybe [ProposalSummary])+listProposalsResponse_proposals = Lens.lens (\ListProposalsResponse' {proposals} -> proposals) (\s@ListProposalsResponse' {} a -> s {proposals = a} :: ListProposalsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listProposalsResponse_httpStatus :: Lens.Lens' ListProposalsResponse Prelude.Int+listProposalsResponse_httpStatus = Lens.lens (\ListProposalsResponse' {httpStatus} -> httpStatus) (\s@ListProposalsResponse' {} a -> s {httpStatus = a} :: ListProposalsResponse)++instance Prelude.NFData ListProposalsResponse where+ rnf ListProposalsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf proposals+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/ListTagsForResource.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of tags for the specified resource. Each tag consists of+-- a key and optional value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+module Amazonka.ManagedBlockChain.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the resource. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+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 assigned to 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 assigned to 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 assigned to 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/ManagedBlockChain/RejectInvitation.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.RejectInvitation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Rejects an invitation to join a network. This action can be called by a+-- principal in an Amazon Web Services account that has received an+-- invitation to create a member and join a network.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.RejectInvitation+ ( -- * Creating a Request+ RejectInvitation (..),+ newRejectInvitation,++ -- * Request Lenses+ rejectInvitation_invitationId,++ -- * Destructuring the Response+ RejectInvitationResponse (..),+ newRejectInvitationResponse,++ -- * Response Lenses+ rejectInvitationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRejectInvitation' smart constructor.+data RejectInvitation = RejectInvitation'+ { -- | The unique identifier of the invitation to reject.+ invitationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RejectInvitation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invitationId', 'rejectInvitation_invitationId' - The unique identifier of the invitation to reject.+newRejectInvitation ::+ -- | 'invitationId'+ Prelude.Text ->+ RejectInvitation+newRejectInvitation pInvitationId_ =+ RejectInvitation' {invitationId = pInvitationId_}++-- | The unique identifier of the invitation to reject.+rejectInvitation_invitationId :: Lens.Lens' RejectInvitation Prelude.Text+rejectInvitation_invitationId = Lens.lens (\RejectInvitation' {invitationId} -> invitationId) (\s@RejectInvitation' {} a -> s {invitationId = a} :: RejectInvitation)++instance Core.AWSRequest RejectInvitation where+ type+ AWSResponse RejectInvitation =+ RejectInvitationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ RejectInvitationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RejectInvitation where+ hashWithSalt _salt RejectInvitation' {..} =+ _salt `Prelude.hashWithSalt` invitationId++instance Prelude.NFData RejectInvitation where+ rnf RejectInvitation' {..} = Prelude.rnf invitationId++instance Data.ToHeaders RejectInvitation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RejectInvitation where+ toPath RejectInvitation' {..} =+ Prelude.mconcat+ ["/invitations/", Data.toBS invitationId]++instance Data.ToQuery RejectInvitation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRejectInvitationResponse' smart constructor.+data RejectInvitationResponse = RejectInvitationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RejectInvitationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'rejectInvitationResponse_httpStatus' - The response's http status code.+newRejectInvitationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RejectInvitationResponse+newRejectInvitationResponse pHttpStatus_ =+ RejectInvitationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+rejectInvitationResponse_httpStatus :: Lens.Lens' RejectInvitationResponse Prelude.Int+rejectInvitationResponse_httpStatus = Lens.lens (\RejectInvitationResponse' {httpStatus} -> httpStatus) (\s@RejectInvitationResponse' {} a -> s {httpStatus = a} :: RejectInvitationResponse)++instance Prelude.NFData RejectInvitationResponse where+ rnf RejectInvitationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/TagResource.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or overwrites the specified tags for the specified Amazon Managed+-- Blockchain resource. Each tag consists of a key and optional value.+--+-- When you specify a tag key that already exists, the tag value is+-- overwritten with the new value. Use @UntagResource@ to remove tag keys.+--+-- A resource can have up to 50 tags. If you try to create more than 50+-- tags for a resource, your request fails and returns an error.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+module Amazonka.ManagedBlockChain.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the resource. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ resourceArn :: Prelude.Text,+ -- | The tags to assign to the specified resource. Tag values can be empty,+ -- for example, @\"MyTagKey\" : \"\"@. You can specify multiple key-value+ -- pairs in a single request, with an overall maximum of 50 tags added to+ -- each resource.+ 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. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'tags', 'tagResource_tags' - The tags to assign to the specified resource. Tag values can be empty,+-- for example, @\"MyTagKey\" : \"\"@. You can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to assign to the specified resource. Tag values can be empty,+-- for example, @\"MyTagKey\" : \"\"@. You can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+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/ManagedBlockChain/Types.hs view
@@ -0,0 +1,570 @@+{-# 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.ManagedBlockChain.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.ManagedBlockChain.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _IllegalActionException,+ _InternalServiceErrorException,+ _InvalidRequestException,+ _ResourceAlreadyExistsException,+ _ResourceLimitExceededException,+ _ResourceNotFoundException,+ _ResourceNotReadyException,+ _ThrottlingException,+ _TooManyTagsException,++ -- * AccessorStatus+ AccessorStatus (..),++ -- * AccessorType+ AccessorType (..),++ -- * Edition+ Edition (..),++ -- * Framework+ Framework (..),++ -- * InvitationStatus+ InvitationStatus (..),++ -- * MemberStatus+ MemberStatus (..),++ -- * NetworkStatus+ NetworkStatus (..),++ -- * NodeStatus+ NodeStatus (..),++ -- * ProposalStatus+ ProposalStatus (..),++ -- * StateDBType+ StateDBType (..),++ -- * ThresholdComparator+ ThresholdComparator (..),++ -- * VoteValue+ VoteValue (..),++ -- * Accessor+ Accessor (..),+ newAccessor,+ accessor_arn,+ accessor_billingToken,+ accessor_creationDate,+ accessor_id,+ accessor_status,+ accessor_type,++ -- * AccessorSummary+ AccessorSummary (..),+ newAccessorSummary,+ accessorSummary_arn,+ accessorSummary_creationDate,+ accessorSummary_id,+ accessorSummary_status,+ accessorSummary_type,++ -- * ApprovalThresholdPolicy+ ApprovalThresholdPolicy (..),+ newApprovalThresholdPolicy,+ approvalThresholdPolicy_proposalDurationInHours,+ approvalThresholdPolicy_thresholdComparator,+ approvalThresholdPolicy_thresholdPercentage,++ -- * Invitation+ Invitation (..),+ newInvitation,+ invitation_arn,+ invitation_creationDate,+ invitation_expirationDate,+ invitation_invitationId,+ invitation_networkSummary,+ invitation_status,++ -- * InviteAction+ InviteAction (..),+ newInviteAction,+ inviteAction_principal,++ -- * LogConfiguration+ LogConfiguration (..),+ newLogConfiguration,+ logConfiguration_enabled,++ -- * LogConfigurations+ LogConfigurations (..),+ newLogConfigurations,+ logConfigurations_cloudwatch,++ -- * Member+ Member (..),+ newMember,+ member_arn,+ member_creationDate,+ member_description,+ member_frameworkAttributes,+ member_id,+ member_kmsKeyArn,+ member_logPublishingConfiguration,+ member_name,+ member_networkId,+ member_status,+ member_tags,++ -- * MemberConfiguration+ MemberConfiguration (..),+ newMemberConfiguration,+ memberConfiguration_description,+ memberConfiguration_kmsKeyArn,+ memberConfiguration_logPublishingConfiguration,+ memberConfiguration_tags,+ memberConfiguration_name,+ memberConfiguration_frameworkConfiguration,++ -- * MemberFabricAttributes+ MemberFabricAttributes (..),+ newMemberFabricAttributes,+ memberFabricAttributes_adminUsername,+ memberFabricAttributes_caEndpoint,++ -- * MemberFabricConfiguration+ MemberFabricConfiguration (..),+ newMemberFabricConfiguration,+ memberFabricConfiguration_adminUsername,+ memberFabricConfiguration_adminPassword,++ -- * MemberFabricLogPublishingConfiguration+ MemberFabricLogPublishingConfiguration (..),+ newMemberFabricLogPublishingConfiguration,+ memberFabricLogPublishingConfiguration_caLogs,++ -- * MemberFrameworkAttributes+ MemberFrameworkAttributes (..),+ newMemberFrameworkAttributes,+ memberFrameworkAttributes_fabric,++ -- * MemberFrameworkConfiguration+ MemberFrameworkConfiguration (..),+ newMemberFrameworkConfiguration,+ memberFrameworkConfiguration_fabric,++ -- * MemberLogPublishingConfiguration+ MemberLogPublishingConfiguration (..),+ newMemberLogPublishingConfiguration,+ memberLogPublishingConfiguration_fabric,++ -- * MemberSummary+ MemberSummary (..),+ newMemberSummary,+ memberSummary_arn,+ memberSummary_creationDate,+ memberSummary_description,+ memberSummary_id,+ memberSummary_isOwned,+ memberSummary_name,+ memberSummary_status,++ -- * Network+ Network (..),+ newNetwork,+ network_arn,+ network_creationDate,+ network_description,+ network_framework,+ network_frameworkAttributes,+ network_frameworkVersion,+ network_id,+ network_name,+ network_status,+ network_tags,+ network_votingPolicy,+ network_vpcEndpointServiceName,++ -- * NetworkEthereumAttributes+ NetworkEthereumAttributes (..),+ newNetworkEthereumAttributes,+ networkEthereumAttributes_chainId,++ -- * NetworkFabricAttributes+ NetworkFabricAttributes (..),+ newNetworkFabricAttributes,+ networkFabricAttributes_edition,+ networkFabricAttributes_orderingServiceEndpoint,++ -- * NetworkFabricConfiguration+ NetworkFabricConfiguration (..),+ newNetworkFabricConfiguration,+ networkFabricConfiguration_edition,++ -- * NetworkFrameworkAttributes+ NetworkFrameworkAttributes (..),+ newNetworkFrameworkAttributes,+ networkFrameworkAttributes_ethereum,+ networkFrameworkAttributes_fabric,++ -- * NetworkFrameworkConfiguration+ NetworkFrameworkConfiguration (..),+ newNetworkFrameworkConfiguration,+ networkFrameworkConfiguration_fabric,++ -- * NetworkSummary+ NetworkSummary (..),+ newNetworkSummary,+ networkSummary_arn,+ networkSummary_creationDate,+ networkSummary_description,+ networkSummary_framework,+ networkSummary_frameworkVersion,+ networkSummary_id,+ networkSummary_name,+ networkSummary_status,++ -- * Node+ Node (..),+ newNode,+ node_arn,+ node_availabilityZone,+ node_creationDate,+ node_frameworkAttributes,+ node_id,+ node_instanceType,+ node_kmsKeyArn,+ node_logPublishingConfiguration,+ node_memberId,+ node_networkId,+ node_stateDB,+ node_status,+ node_tags,++ -- * NodeConfiguration+ NodeConfiguration (..),+ newNodeConfiguration,+ nodeConfiguration_availabilityZone,+ nodeConfiguration_logPublishingConfiguration,+ nodeConfiguration_stateDB,+ nodeConfiguration_instanceType,++ -- * NodeEthereumAttributes+ NodeEthereumAttributes (..),+ newNodeEthereumAttributes,+ nodeEthereumAttributes_httpEndpoint,+ nodeEthereumAttributes_webSocketEndpoint,++ -- * NodeFabricAttributes+ NodeFabricAttributes (..),+ newNodeFabricAttributes,+ nodeFabricAttributes_peerEndpoint,+ nodeFabricAttributes_peerEventEndpoint,++ -- * NodeFabricLogPublishingConfiguration+ NodeFabricLogPublishingConfiguration (..),+ newNodeFabricLogPublishingConfiguration,+ nodeFabricLogPublishingConfiguration_chaincodeLogs,+ nodeFabricLogPublishingConfiguration_peerLogs,++ -- * NodeFrameworkAttributes+ NodeFrameworkAttributes (..),+ newNodeFrameworkAttributes,+ nodeFrameworkAttributes_ethereum,+ nodeFrameworkAttributes_fabric,++ -- * NodeLogPublishingConfiguration+ NodeLogPublishingConfiguration (..),+ newNodeLogPublishingConfiguration,+ nodeLogPublishingConfiguration_fabric,++ -- * NodeSummary+ NodeSummary (..),+ newNodeSummary,+ nodeSummary_arn,+ nodeSummary_availabilityZone,+ nodeSummary_creationDate,+ nodeSummary_id,+ nodeSummary_instanceType,+ nodeSummary_status,++ -- * Proposal+ Proposal (..),+ newProposal,+ proposal_actions,+ proposal_arn,+ proposal_creationDate,+ proposal_description,+ proposal_expirationDate,+ proposal_networkId,+ proposal_noVoteCount,+ proposal_outstandingVoteCount,+ proposal_proposalId,+ proposal_proposedByMemberId,+ proposal_proposedByMemberName,+ proposal_status,+ proposal_tags,+ proposal_yesVoteCount,++ -- * ProposalActions+ ProposalActions (..),+ newProposalActions,+ proposalActions_invitations,+ proposalActions_removals,++ -- * ProposalSummary+ ProposalSummary (..),+ newProposalSummary,+ proposalSummary_arn,+ proposalSummary_creationDate,+ proposalSummary_description,+ proposalSummary_expirationDate,+ proposalSummary_proposalId,+ proposalSummary_proposedByMemberId,+ proposalSummary_proposedByMemberName,+ proposalSummary_status,++ -- * RemoveAction+ RemoveAction (..),+ newRemoveAction,+ removeAction_memberId,++ -- * VoteSummary+ VoteSummary (..),+ newVoteSummary,+ voteSummary_memberId,+ voteSummary_memberName,+ voteSummary_vote,++ -- * VotingPolicy+ VotingPolicy (..),+ newVotingPolicy,+ votingPolicy_approvalThresholdPolicy,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.ManagedBlockChain.Types.Accessor+import Amazonka.ManagedBlockChain.Types.AccessorStatus+import Amazonka.ManagedBlockChain.Types.AccessorSummary+import Amazonka.ManagedBlockChain.Types.AccessorType+import Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy+import Amazonka.ManagedBlockChain.Types.Edition+import Amazonka.ManagedBlockChain.Types.Framework+import Amazonka.ManagedBlockChain.Types.Invitation+import Amazonka.ManagedBlockChain.Types.InvitationStatus+import Amazonka.ManagedBlockChain.Types.InviteAction+import Amazonka.ManagedBlockChain.Types.LogConfiguration+import Amazonka.ManagedBlockChain.Types.LogConfigurations+import Amazonka.ManagedBlockChain.Types.Member+import Amazonka.ManagedBlockChain.Types.MemberConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFabricAttributes+import Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.MemberFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.MemberFrameworkConfiguration+import Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.MemberStatus+import Amazonka.ManagedBlockChain.Types.MemberSummary+import Amazonka.ManagedBlockChain.Types.Network+import Amazonka.ManagedBlockChain.Types.NetworkEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFabricAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration+import Amazonka.ManagedBlockChain.Types.NetworkFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFrameworkConfiguration+import Amazonka.ManagedBlockChain.Types.NetworkStatus+import Amazonka.ManagedBlockChain.Types.NetworkSummary+import Amazonka.ManagedBlockChain.Types.Node+import Amazonka.ManagedBlockChain.Types.NodeConfiguration+import Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NodeFabricAttributes+import Amazonka.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.NodeFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.NodeStatus+import Amazonka.ManagedBlockChain.Types.NodeSummary+import Amazonka.ManagedBlockChain.Types.Proposal+import Amazonka.ManagedBlockChain.Types.ProposalActions+import Amazonka.ManagedBlockChain.Types.ProposalStatus+import Amazonka.ManagedBlockChain.Types.ProposalSummary+import Amazonka.ManagedBlockChain.Types.RemoveAction+import Amazonka.ManagedBlockChain.Types.StateDBType+import Amazonka.ManagedBlockChain.Types.ThresholdComparator+import Amazonka.ManagedBlockChain.Types.VoteSummary+import Amazonka.ManagedBlockChain.Types.VoteValue+import Amazonka.ManagedBlockChain.Types.VotingPolicy+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-09-24@ of the Amazon Managed Blockchain SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "ManagedBlockChain",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "managedblockchain",+ Core.signingName = "managedblockchain",+ Core.version = "2018-09-24",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "ManagedBlockChain",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You don\'t have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++_IllegalActionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_IllegalActionException =+ Core._MatchServiceError+ defaultService+ "IllegalActionException"+ Prelude.. Core.hasStatus 400++-- | The request processing has failed because of an unknown error, exception+-- or failure.+_InternalServiceErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServiceErrorException"+ Prelude.. Core.hasStatus 500++-- | The action or operation requested is invalid. Verify that the action is+-- typed correctly.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+ Core._MatchServiceError+ defaultService+ "InvalidRequestException"+ Prelude.. Core.hasStatus 400++-- | A resource request is issued for a resource that already exists.+_ResourceAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceAlreadyExistsException =+ Core._MatchServiceError+ defaultService+ "ResourceAlreadyExistsException"+ Prelude.. Core.hasStatus 409++-- | The maximum number of resources of that type already exist. Ensure the+-- resources requested are within the boundaries of the service edition and+-- your account limits.+_ResourceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLimitExceededException =+ Core._MatchServiceError+ defaultService+ "ResourceLimitExceededException"+ Prelude.. Core.hasStatus 429++-- | A requested resource doesn\'t exist. It may have been deleted or+-- referenced incorrectly.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The requested resource exists but isn\'t in a status that can complete+-- the operation.+_ResourceNotReadyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotReadyException =+ Core._MatchServiceError+ defaultService+ "ResourceNotReadyException"+ Prelude.. Core.hasStatus 409++-- | The request or operation couldn\'t be performed because a service is+-- throttling requests. The most common source of throttling errors is+-- creating resources that exceed your service limit for this resource+-- type. Request a limit increase or delete unused resources if possible.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+ Core._MatchServiceError+ defaultService+ "TooManyTagsException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/ManagedBlockChain/Types/Accessor.hs view
@@ -0,0 +1,163 @@+{-# 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.ManagedBlockChain.Types.Accessor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Accessor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.AccessorStatus+import Amazonka.ManagedBlockChain.Types.AccessorType+import qualified Amazonka.Prelude as Prelude++-- | The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- The properties of the Accessor.+--+-- /See:/ 'newAccessor' smart constructor.+data Accessor = Accessor'+ { -- | The Amazon Resource Name (ARN) of the accessor. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The billing token is a property of the accessor. Use this token to make+ -- Ethereum API calls to your Ethereum node. The billing token is used to+ -- track your accessor object for billing Ethereum API requests made to+ -- your Ethereum nodes.+ billingToken :: Prelude.Maybe Prelude.Text,+ -- | The creation date and time of the accessor.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier of the accessor.+ id :: Prelude.Maybe Prelude.Text,+ -- | The current status of the accessor.+ status :: Prelude.Maybe AccessorStatus,+ -- | The type of the accessor.+ --+ -- Currently accessor type is restricted to @BILLING_TOKEN@.+ type' :: Prelude.Maybe AccessorType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Accessor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'accessor_arn' - The Amazon Resource Name (ARN) of the accessor. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'billingToken', 'accessor_billingToken' - The billing token is a property of the accessor. Use this token to make+-- Ethereum API calls to your Ethereum node. The billing token is used to+-- track your accessor object for billing Ethereum API requests made to+-- your Ethereum nodes.+--+-- 'creationDate', 'accessor_creationDate' - The creation date and time of the accessor.+--+-- 'id', 'accessor_id' - The unique identifier of the accessor.+--+-- 'status', 'accessor_status' - The current status of the accessor.+--+-- 'type'', 'accessor_type' - The type of the accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+newAccessor ::+ Accessor+newAccessor =+ Accessor'+ { arn = Prelude.Nothing,+ billingToken = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ id = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the accessor. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+accessor_arn :: Lens.Lens' Accessor (Prelude.Maybe Prelude.Text)+accessor_arn = Lens.lens (\Accessor' {arn} -> arn) (\s@Accessor' {} a -> s {arn = a} :: Accessor)++-- | The billing token is a property of the accessor. Use this token to make+-- Ethereum API calls to your Ethereum node. The billing token is used to+-- track your accessor object for billing Ethereum API requests made to+-- your Ethereum nodes.+accessor_billingToken :: Lens.Lens' Accessor (Prelude.Maybe Prelude.Text)+accessor_billingToken = Lens.lens (\Accessor' {billingToken} -> billingToken) (\s@Accessor' {} a -> s {billingToken = a} :: Accessor)++-- | The creation date and time of the accessor.+accessor_creationDate :: Lens.Lens' Accessor (Prelude.Maybe Prelude.UTCTime)+accessor_creationDate = Lens.lens (\Accessor' {creationDate} -> creationDate) (\s@Accessor' {} a -> s {creationDate = a} :: Accessor) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the accessor.+accessor_id :: Lens.Lens' Accessor (Prelude.Maybe Prelude.Text)+accessor_id = Lens.lens (\Accessor' {id} -> id) (\s@Accessor' {} a -> s {id = a} :: Accessor)++-- | The current status of the accessor.+accessor_status :: Lens.Lens' Accessor (Prelude.Maybe AccessorStatus)+accessor_status = Lens.lens (\Accessor' {status} -> status) (\s@Accessor' {} a -> s {status = a} :: Accessor)++-- | The type of the accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+accessor_type :: Lens.Lens' Accessor (Prelude.Maybe AccessorType)+accessor_type = Lens.lens (\Accessor' {type'} -> type') (\s@Accessor' {} a -> s {type' = a} :: Accessor)++instance Data.FromJSON Accessor where+ parseJSON =+ Data.withObject+ "Accessor"+ ( \x ->+ Accessor'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "BillingToken")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Type")+ )++instance Prelude.Hashable Accessor where+ hashWithSalt _salt Accessor' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` billingToken+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Accessor where+ rnf Accessor' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf billingToken+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ManagedBlockChain/Types/AccessorStatus.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.ManagedBlockChain.Types.AccessorStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.AccessorStatus+ ( AccessorStatus+ ( ..,+ AccessorStatus_AVAILABLE,+ AccessorStatus_DELETED,+ AccessorStatus_PENDING_DELETION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccessorStatus = AccessorStatus'+ { fromAccessorStatus ::+ 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 AccessorStatus_AVAILABLE :: AccessorStatus+pattern AccessorStatus_AVAILABLE = AccessorStatus' "AVAILABLE"++pattern AccessorStatus_DELETED :: AccessorStatus+pattern AccessorStatus_DELETED = AccessorStatus' "DELETED"++pattern AccessorStatus_PENDING_DELETION :: AccessorStatus+pattern AccessorStatus_PENDING_DELETION = AccessorStatus' "PENDING_DELETION"++{-# COMPLETE+ AccessorStatus_AVAILABLE,+ AccessorStatus_DELETED,+ AccessorStatus_PENDING_DELETION,+ AccessorStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/AccessorSummary.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.AccessorSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.AccessorSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.AccessorStatus+import Amazonka.ManagedBlockChain.Types.AccessorType+import qualified Amazonka.Prelude as Prelude++-- | The token based access feature is in preview release for Ethereum on+-- Amazon Managed Blockchain and is subject to change. We recommend that+-- you use this feature only with test scenarios, and not in production+-- environments.+--+-- A summary of accessor properties.+--+-- /See:/ 'newAccessorSummary' smart constructor.+data AccessorSummary = AccessorSummary'+ { -- | The Amazon Resource Name (ARN) of the accessor. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The creation date and time of the accessor.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier of the accessor.+ id :: Prelude.Maybe Prelude.Text,+ -- | The current status of the accessor.+ status :: Prelude.Maybe AccessorStatus,+ -- | The type of the accessor.+ --+ -- Currently accessor type is restricted to @BILLING_TOKEN@.+ type' :: Prelude.Maybe AccessorType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessorSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'accessorSummary_arn' - The Amazon Resource Name (ARN) of the accessor. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'accessorSummary_creationDate' - The creation date and time of the accessor.+--+-- 'id', 'accessorSummary_id' - The unique identifier of the accessor.+--+-- 'status', 'accessorSummary_status' - The current status of the accessor.+--+-- 'type'', 'accessorSummary_type' - The type of the accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+newAccessorSummary ::+ AccessorSummary+newAccessorSummary =+ AccessorSummary'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ id = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the accessor. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+accessorSummary_arn :: Lens.Lens' AccessorSummary (Prelude.Maybe Prelude.Text)+accessorSummary_arn = Lens.lens (\AccessorSummary' {arn} -> arn) (\s@AccessorSummary' {} a -> s {arn = a} :: AccessorSummary)++-- | The creation date and time of the accessor.+accessorSummary_creationDate :: Lens.Lens' AccessorSummary (Prelude.Maybe Prelude.UTCTime)+accessorSummary_creationDate = Lens.lens (\AccessorSummary' {creationDate} -> creationDate) (\s@AccessorSummary' {} a -> s {creationDate = a} :: AccessorSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the accessor.+accessorSummary_id :: Lens.Lens' AccessorSummary (Prelude.Maybe Prelude.Text)+accessorSummary_id = Lens.lens (\AccessorSummary' {id} -> id) (\s@AccessorSummary' {} a -> s {id = a} :: AccessorSummary)++-- | The current status of the accessor.+accessorSummary_status :: Lens.Lens' AccessorSummary (Prelude.Maybe AccessorStatus)+accessorSummary_status = Lens.lens (\AccessorSummary' {status} -> status) (\s@AccessorSummary' {} a -> s {status = a} :: AccessorSummary)++-- | The type of the accessor.+--+-- Currently accessor type is restricted to @BILLING_TOKEN@.+accessorSummary_type :: Lens.Lens' AccessorSummary (Prelude.Maybe AccessorType)+accessorSummary_type = Lens.lens (\AccessorSummary' {type'} -> type') (\s@AccessorSummary' {} a -> s {type' = a} :: AccessorSummary)++instance Data.FromJSON AccessorSummary where+ parseJSON =+ Data.withObject+ "AccessorSummary"+ ( \x ->+ AccessorSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Type")+ )++instance Prelude.Hashable AccessorSummary where+ hashWithSalt _salt AccessorSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AccessorSummary where+ rnf AccessorSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ManagedBlockChain/Types/AccessorType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.AccessorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.AccessorType+ ( AccessorType+ ( ..,+ AccessorType_BILLING_TOKEN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccessorType = AccessorType'+ { fromAccessorType ::+ 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 AccessorType_BILLING_TOKEN :: AccessorType+pattern AccessorType_BILLING_TOKEN = AccessorType' "BILLING_TOKEN"++{-# COMPLETE+ AccessorType_BILLING_TOKEN,+ AccessorType'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/ApprovalThresholdPolicy.hs view
@@ -0,0 +1,153 @@+{-# 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.ManagedBlockChain.Types.ApprovalThresholdPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.ThresholdComparator+import qualified Amazonka.Prelude as Prelude++-- | A policy type that defines the voting rules for the network. The rules+-- decide if a proposal is approved. Approval may be based on criteria such+-- as the percentage of @YES@ votes and the duration of the proposal. The+-- policy applies to all proposals and is specified when the network is+-- created.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newApprovalThresholdPolicy' smart constructor.+data ApprovalThresholdPolicy = ApprovalThresholdPolicy'+ { -- | The duration from the time that a proposal is created until it expires.+ -- If members cast neither the required number of @YES@ votes to approve+ -- the proposal nor the number of @NO@ votes required to reject it before+ -- the duration expires, the proposal is @EXPIRED@ and @ProposalActions@+ -- aren\'t carried out.+ proposalDurationInHours :: Prelude.Maybe Prelude.Natural,+ -- | Determines whether the vote percentage must be greater than the+ -- @ThresholdPercentage@ or must be greater than or equal to the+ -- @ThreholdPercentage@ to be approved.+ thresholdComparator :: Prelude.Maybe ThresholdComparator,+ -- | The percentage of votes among all members that must be @YES@ for a+ -- proposal to be approved. For example, a @ThresholdPercentage@ value of+ -- @50@ indicates 50%. The @ThresholdComparator@ determines the precise+ -- comparison. If a @ThresholdPercentage@ value of @50@ is specified on a+ -- network with 10 members, along with a @ThresholdComparator@ value of+ -- @GREATER_THAN@, this indicates that 6 @YES@ votes are required for the+ -- proposal to be approved.+ thresholdPercentage :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApprovalThresholdPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'proposalDurationInHours', 'approvalThresholdPolicy_proposalDurationInHours' - The duration from the time that a proposal is created until it expires.+-- If members cast neither the required number of @YES@ votes to approve+-- the proposal nor the number of @NO@ votes required to reject it before+-- the duration expires, the proposal is @EXPIRED@ and @ProposalActions@+-- aren\'t carried out.+--+-- 'thresholdComparator', 'approvalThresholdPolicy_thresholdComparator' - Determines whether the vote percentage must be greater than the+-- @ThresholdPercentage@ or must be greater than or equal to the+-- @ThreholdPercentage@ to be approved.+--+-- 'thresholdPercentage', 'approvalThresholdPolicy_thresholdPercentage' - The percentage of votes among all members that must be @YES@ for a+-- proposal to be approved. For example, a @ThresholdPercentage@ value of+-- @50@ indicates 50%. The @ThresholdComparator@ determines the precise+-- comparison. If a @ThresholdPercentage@ value of @50@ is specified on a+-- network with 10 members, along with a @ThresholdComparator@ value of+-- @GREATER_THAN@, this indicates that 6 @YES@ votes are required for the+-- proposal to be approved.+newApprovalThresholdPolicy ::+ ApprovalThresholdPolicy+newApprovalThresholdPolicy =+ ApprovalThresholdPolicy'+ { proposalDurationInHours =+ Prelude.Nothing,+ thresholdComparator = Prelude.Nothing,+ thresholdPercentage = Prelude.Nothing+ }++-- | The duration from the time that a proposal is created until it expires.+-- If members cast neither the required number of @YES@ votes to approve+-- the proposal nor the number of @NO@ votes required to reject it before+-- the duration expires, the proposal is @EXPIRED@ and @ProposalActions@+-- aren\'t carried out.+approvalThresholdPolicy_proposalDurationInHours :: Lens.Lens' ApprovalThresholdPolicy (Prelude.Maybe Prelude.Natural)+approvalThresholdPolicy_proposalDurationInHours = Lens.lens (\ApprovalThresholdPolicy' {proposalDurationInHours} -> proposalDurationInHours) (\s@ApprovalThresholdPolicy' {} a -> s {proposalDurationInHours = a} :: ApprovalThresholdPolicy)++-- | Determines whether the vote percentage must be greater than the+-- @ThresholdPercentage@ or must be greater than or equal to the+-- @ThreholdPercentage@ to be approved.+approvalThresholdPolicy_thresholdComparator :: Lens.Lens' ApprovalThresholdPolicy (Prelude.Maybe ThresholdComparator)+approvalThresholdPolicy_thresholdComparator = Lens.lens (\ApprovalThresholdPolicy' {thresholdComparator} -> thresholdComparator) (\s@ApprovalThresholdPolicy' {} a -> s {thresholdComparator = a} :: ApprovalThresholdPolicy)++-- | The percentage of votes among all members that must be @YES@ for a+-- proposal to be approved. For example, a @ThresholdPercentage@ value of+-- @50@ indicates 50%. The @ThresholdComparator@ determines the precise+-- comparison. If a @ThresholdPercentage@ value of @50@ is specified on a+-- network with 10 members, along with a @ThresholdComparator@ value of+-- @GREATER_THAN@, this indicates that 6 @YES@ votes are required for the+-- proposal to be approved.+approvalThresholdPolicy_thresholdPercentage :: Lens.Lens' ApprovalThresholdPolicy (Prelude.Maybe Prelude.Natural)+approvalThresholdPolicy_thresholdPercentage = Lens.lens (\ApprovalThresholdPolicy' {thresholdPercentage} -> thresholdPercentage) (\s@ApprovalThresholdPolicy' {} a -> s {thresholdPercentage = a} :: ApprovalThresholdPolicy)++instance Data.FromJSON ApprovalThresholdPolicy where+ parseJSON =+ Data.withObject+ "ApprovalThresholdPolicy"+ ( \x ->+ ApprovalThresholdPolicy'+ Prelude.<$> (x Data..:? "ProposalDurationInHours")+ Prelude.<*> (x Data..:? "ThresholdComparator")+ Prelude.<*> (x Data..:? "ThresholdPercentage")+ )++instance Prelude.Hashable ApprovalThresholdPolicy where+ hashWithSalt _salt ApprovalThresholdPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` proposalDurationInHours+ `Prelude.hashWithSalt` thresholdComparator+ `Prelude.hashWithSalt` thresholdPercentage++instance Prelude.NFData ApprovalThresholdPolicy where+ rnf ApprovalThresholdPolicy' {..} =+ Prelude.rnf proposalDurationInHours+ `Prelude.seq` Prelude.rnf thresholdComparator+ `Prelude.seq` Prelude.rnf thresholdPercentage++instance Data.ToJSON ApprovalThresholdPolicy where+ toJSON ApprovalThresholdPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ProposalDurationInHours" Data..=)+ Prelude.<$> proposalDurationInHours,+ ("ThresholdComparator" Data..=)+ Prelude.<$> thresholdComparator,+ ("ThresholdPercentage" Data..=)+ Prelude.<$> thresholdPercentage+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/Edition.hs view
@@ -0,0 +1,68 @@+{-# 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.ManagedBlockChain.Types.Edition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Edition+ ( Edition+ ( ..,+ Edition_STANDARD,+ Edition_STARTER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Edition = Edition' {fromEdition :: 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 Edition_STANDARD :: Edition+pattern Edition_STANDARD = Edition' "STANDARD"++pattern Edition_STARTER :: Edition+pattern Edition_STARTER = Edition' "STARTER"++{-# COMPLETE+ Edition_STANDARD,+ Edition_STARTER,+ Edition'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/Framework.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.ManagedBlockChain.Types.Framework+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Framework+ ( Framework+ ( ..,+ Framework_ETHEREUM,+ Framework_HYPERLEDGER_FABRIC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Framework = Framework'+ { fromFramework ::+ 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 Framework_ETHEREUM :: Framework+pattern Framework_ETHEREUM = Framework' "ETHEREUM"++pattern Framework_HYPERLEDGER_FABRIC :: Framework+pattern Framework_HYPERLEDGER_FABRIC = Framework' "HYPERLEDGER_FABRIC"++{-# COMPLETE+ Framework_ETHEREUM,+ Framework_HYPERLEDGER_FABRIC,+ Framework'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/Invitation.hs view
@@ -0,0 +1,199 @@+{-# 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.ManagedBlockChain.Types.Invitation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Invitation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.InvitationStatus+import Amazonka.ManagedBlockChain.Types.NetworkSummary+import qualified Amazonka.Prelude as Prelude++-- | An invitation to an Amazon Web Services account to create a member and+-- join the network.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newInvitation' smart constructor.+data Invitation = Invitation'+ { -- | The Amazon Resource Name (ARN) of the invitation. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the invitation was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The date and time that the invitation expires. This is the+ -- @CreationDate@ plus the @ProposalDurationInHours@ that is specified in+ -- the @ProposalThresholdPolicy@. After this date and time, the invitee can+ -- no longer create a member and join the network using this+ -- @InvitationId@.+ expirationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier for the invitation.+ invitationId :: Prelude.Maybe Prelude.Text,+ networkSummary :: Prelude.Maybe NetworkSummary,+ -- | The status of the invitation:+ --+ -- - @PENDING@ - The invitee hasn\'t created a member to join the+ -- network, and the invitation hasn\'t yet expired.+ --+ -- - @ACCEPTING@ - The invitee has begun creating a member, and creation+ -- hasn\'t yet completed.+ --+ -- - @ACCEPTED@ - The invitee created a member and joined the network+ -- using the @InvitationID@.+ --+ -- - @REJECTED@ - The invitee rejected the invitation.+ --+ -- - @EXPIRED@ - The invitee neither created a member nor rejected the+ -- invitation before the @ExpirationDate@.+ status :: Prelude.Maybe InvitationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Invitation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'invitation_arn' - The Amazon Resource Name (ARN) of the invitation. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'invitation_creationDate' - The date and time that the invitation was created.+--+-- 'expirationDate', 'invitation_expirationDate' - The date and time that the invitation expires. This is the+-- @CreationDate@ plus the @ProposalDurationInHours@ that is specified in+-- the @ProposalThresholdPolicy@. After this date and time, the invitee can+-- no longer create a member and join the network using this+-- @InvitationId@.+--+-- 'invitationId', 'invitation_invitationId' - The unique identifier for the invitation.+--+-- 'networkSummary', 'invitation_networkSummary' - Undocumented member.+--+-- 'status', 'invitation_status' - The status of the invitation:+--+-- - @PENDING@ - The invitee hasn\'t created a member to join the+-- network, and the invitation hasn\'t yet expired.+--+-- - @ACCEPTING@ - The invitee has begun creating a member, and creation+-- hasn\'t yet completed.+--+-- - @ACCEPTED@ - The invitee created a member and joined the network+-- using the @InvitationID@.+--+-- - @REJECTED@ - The invitee rejected the invitation.+--+-- - @EXPIRED@ - The invitee neither created a member nor rejected the+-- invitation before the @ExpirationDate@.+newInvitation ::+ Invitation+newInvitation =+ Invitation'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ expirationDate = Prelude.Nothing,+ invitationId = Prelude.Nothing,+ networkSummary = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the invitation. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+invitation_arn :: Lens.Lens' Invitation (Prelude.Maybe Prelude.Text)+invitation_arn = Lens.lens (\Invitation' {arn} -> arn) (\s@Invitation' {} a -> s {arn = a} :: Invitation)++-- | The date and time that the invitation was created.+invitation_creationDate :: Lens.Lens' Invitation (Prelude.Maybe Prelude.UTCTime)+invitation_creationDate = Lens.lens (\Invitation' {creationDate} -> creationDate) (\s@Invitation' {} a -> s {creationDate = a} :: Invitation) Prelude.. Lens.mapping Data._Time++-- | The date and time that the invitation expires. This is the+-- @CreationDate@ plus the @ProposalDurationInHours@ that is specified in+-- the @ProposalThresholdPolicy@. After this date and time, the invitee can+-- no longer create a member and join the network using this+-- @InvitationId@.+invitation_expirationDate :: Lens.Lens' Invitation (Prelude.Maybe Prelude.UTCTime)+invitation_expirationDate = Lens.lens (\Invitation' {expirationDate} -> expirationDate) (\s@Invitation' {} a -> s {expirationDate = a} :: Invitation) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the invitation.+invitation_invitationId :: Lens.Lens' Invitation (Prelude.Maybe Prelude.Text)+invitation_invitationId = Lens.lens (\Invitation' {invitationId} -> invitationId) (\s@Invitation' {} a -> s {invitationId = a} :: Invitation)++-- | Undocumented member.+invitation_networkSummary :: Lens.Lens' Invitation (Prelude.Maybe NetworkSummary)+invitation_networkSummary = Lens.lens (\Invitation' {networkSummary} -> networkSummary) (\s@Invitation' {} a -> s {networkSummary = a} :: Invitation)++-- | The status of the invitation:+--+-- - @PENDING@ - The invitee hasn\'t created a member to join the+-- network, and the invitation hasn\'t yet expired.+--+-- - @ACCEPTING@ - The invitee has begun creating a member, and creation+-- hasn\'t yet completed.+--+-- - @ACCEPTED@ - The invitee created a member and joined the network+-- using the @InvitationID@.+--+-- - @REJECTED@ - The invitee rejected the invitation.+--+-- - @EXPIRED@ - The invitee neither created a member nor rejected the+-- invitation before the @ExpirationDate@.+invitation_status :: Lens.Lens' Invitation (Prelude.Maybe InvitationStatus)+invitation_status = Lens.lens (\Invitation' {status} -> status) (\s@Invitation' {} a -> s {status = a} :: Invitation)++instance Data.FromJSON Invitation where+ parseJSON =+ Data.withObject+ "Invitation"+ ( \x ->+ Invitation'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "ExpirationDate")+ Prelude.<*> (x Data..:? "InvitationId")+ Prelude.<*> (x Data..:? "NetworkSummary")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable Invitation where+ hashWithSalt _salt Invitation' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` expirationDate+ `Prelude.hashWithSalt` invitationId+ `Prelude.hashWithSalt` networkSummary+ `Prelude.hashWithSalt` status++instance Prelude.NFData Invitation where+ rnf Invitation' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf expirationDate+ `Prelude.seq` Prelude.rnf invitationId+ `Prelude.seq` Prelude.rnf networkSummary+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ManagedBlockChain/Types/InvitationStatus.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.ManagedBlockChain.Types.InvitationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.InvitationStatus+ ( InvitationStatus+ ( ..,+ InvitationStatus_ACCEPTED,+ InvitationStatus_ACCEPTING,+ InvitationStatus_EXPIRED,+ InvitationStatus_PENDING,+ InvitationStatus_REJECTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InvitationStatus = InvitationStatus'+ { fromInvitationStatus ::+ 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 InvitationStatus_ACCEPTED :: InvitationStatus+pattern InvitationStatus_ACCEPTED = InvitationStatus' "ACCEPTED"++pattern InvitationStatus_ACCEPTING :: InvitationStatus+pattern InvitationStatus_ACCEPTING = InvitationStatus' "ACCEPTING"++pattern InvitationStatus_EXPIRED :: InvitationStatus+pattern InvitationStatus_EXPIRED = InvitationStatus' "EXPIRED"++pattern InvitationStatus_PENDING :: InvitationStatus+pattern InvitationStatus_PENDING = InvitationStatus' "PENDING"++pattern InvitationStatus_REJECTED :: InvitationStatus+pattern InvitationStatus_REJECTED = InvitationStatus' "REJECTED"++{-# COMPLETE+ InvitationStatus_ACCEPTED,+ InvitationStatus_ACCEPTING,+ InvitationStatus_EXPIRED,+ InvitationStatus_PENDING,+ InvitationStatus_REJECTED,+ InvitationStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/InviteAction.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.InviteAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.InviteAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An action to invite a specific Amazon Web Services account to create a+-- member and join the network. The @InviteAction@ is carried out when a+-- @Proposal@ is @APPROVED@.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newInviteAction' smart constructor.+data InviteAction = InviteAction'+ { -- | The Amazon Web Services account ID to invite.+ principal :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InviteAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'principal', 'inviteAction_principal' - The Amazon Web Services account ID to invite.+newInviteAction ::+ -- | 'principal'+ Prelude.Text ->+ InviteAction+newInviteAction pPrincipal_ =+ InviteAction' {principal = pPrincipal_}++-- | The Amazon Web Services account ID to invite.+inviteAction_principal :: Lens.Lens' InviteAction Prelude.Text+inviteAction_principal = Lens.lens (\InviteAction' {principal} -> principal) (\s@InviteAction' {} a -> s {principal = a} :: InviteAction)++instance Data.FromJSON InviteAction where+ parseJSON =+ Data.withObject+ "InviteAction"+ ( \x ->+ InviteAction' Prelude.<$> (x Data..: "Principal")+ )++instance Prelude.Hashable InviteAction where+ hashWithSalt _salt InviteAction' {..} =+ _salt `Prelude.hashWithSalt` principal++instance Prelude.NFData InviteAction where+ rnf InviteAction' {..} = Prelude.rnf principal++instance Data.ToJSON InviteAction where+ toJSON InviteAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Principal" Data..= principal)]+ )
+ gen/Amazonka/ManagedBlockChain/Types/LogConfiguration.hs view
@@ -0,0 +1,74 @@+{-# 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.ManagedBlockChain.Types.LogConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.LogConfiguration 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 configuration for logging events.+--+-- /See:/ 'newLogConfiguration' smart constructor.+data LogConfiguration = LogConfiguration'+ { -- | Indicates whether logging is enabled.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'logConfiguration_enabled' - Indicates whether logging is enabled.+newLogConfiguration ::+ LogConfiguration+newLogConfiguration =+ LogConfiguration' {enabled = Prelude.Nothing}++-- | Indicates whether logging is enabled.+logConfiguration_enabled :: Lens.Lens' LogConfiguration (Prelude.Maybe Prelude.Bool)+logConfiguration_enabled = Lens.lens (\LogConfiguration' {enabled} -> enabled) (\s@LogConfiguration' {} a -> s {enabled = a} :: LogConfiguration)++instance Data.FromJSON LogConfiguration where+ parseJSON =+ Data.withObject+ "LogConfiguration"+ ( \x ->+ LogConfiguration' Prelude.<$> (x Data..:? "Enabled")+ )++instance Prelude.Hashable LogConfiguration where+ hashWithSalt _salt LogConfiguration' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData LogConfiguration where+ rnf LogConfiguration' {..} = Prelude.rnf enabled++instance Data.ToJSON LogConfiguration where+ toJSON LogConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/ManagedBlockChain/Types/LogConfigurations.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.LogConfigurations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.LogConfigurations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.LogConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A collection of log configurations.+--+-- /See:/ 'newLogConfigurations' smart constructor.+data LogConfigurations = LogConfigurations'+ { -- | Parameters for publishing logs to Amazon CloudWatch Logs.+ cloudwatch :: Prelude.Maybe LogConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudwatch', 'logConfigurations_cloudwatch' - Parameters for publishing logs to Amazon CloudWatch Logs.+newLogConfigurations ::+ LogConfigurations+newLogConfigurations =+ LogConfigurations' {cloudwatch = Prelude.Nothing}++-- | Parameters for publishing logs to Amazon CloudWatch Logs.+logConfigurations_cloudwatch :: Lens.Lens' LogConfigurations (Prelude.Maybe LogConfiguration)+logConfigurations_cloudwatch = Lens.lens (\LogConfigurations' {cloudwatch} -> cloudwatch) (\s@LogConfigurations' {} a -> s {cloudwatch = a} :: LogConfigurations)++instance Data.FromJSON LogConfigurations where+ parseJSON =+ Data.withObject+ "LogConfigurations"+ ( \x ->+ LogConfigurations'+ Prelude.<$> (x Data..:? "Cloudwatch")+ )++instance Prelude.Hashable LogConfigurations where+ hashWithSalt _salt LogConfigurations' {..} =+ _salt `Prelude.hashWithSalt` cloudwatch++instance Prelude.NFData LogConfigurations where+ rnf LogConfigurations' {..} = Prelude.rnf cloudwatch++instance Data.ToJSON LogConfigurations where+ toJSON LogConfigurations' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Cloudwatch" Data..=) Prelude.<$> cloudwatch]+ )
+ gen/Amazonka/ManagedBlockChain/Types/Member.hs view
@@ -0,0 +1,338 @@+{-# 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.ManagedBlockChain.Types.Member+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Member where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.MemberStatus+import qualified Amazonka.Prelude as Prelude++-- | Member configuration properties.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newMember' smart constructor.+data Member = Member'+ { -- | The Amazon Resource Name (ARN) of the member. For more information about+ -- ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the member was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | An optional description for the member.+ description :: Prelude.Maybe Prelude.Text,+ -- | Attributes relevant to a member for the blockchain framework that the+ -- Managed Blockchain network uses.+ frameworkAttributes :: Prelude.Maybe MemberFrameworkAttributes,+ -- | The unique identifier of the member.+ id :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the customer managed key in Key+ -- Management Service (KMS) that the member uses for encryption at rest. If+ -- the value of this parameter is @\"AWS Owned KMS Key\"@, the member uses+ -- an Amazon Web Services owned KMS key for encryption. This parameter is+ -- inherited by the nodes that this member owns.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | Configuration properties for logging events associated with a member.+ logPublishingConfiguration :: Prelude.Maybe MemberLogPublishingConfiguration,+ -- | The name of the member.+ name :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network to which the member belongs.+ networkId :: Prelude.Maybe Prelude.Text,+ -- | The status of a member.+ --+ -- - @CREATING@ - The Amazon Web Services account is in the process of+ -- creating a member.+ --+ -- - @AVAILABLE@ - The member has been created and can participate in the+ -- network.+ --+ -- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+ -- create a member and creation failed.+ --+ -- - @UPDATING@ - The member is in the process of being updated.+ --+ -- - @DELETING@ - The member and all associated resources are in the+ -- process of being deleted. Either the Amazon Web Services account+ -- that owns the member deleted it, or the member is being deleted as+ -- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+ --+ -- - @DELETED@ - The member can no longer participate on the network and+ -- all associated resources are deleted. Either the Amazon Web Services+ -- account that owns the member deleted it, or the member is being+ -- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+ -- member.+ --+ -- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+ -- function as expected because it cannot access the specified customer+ -- managed key in KMS for encryption at rest. Either the KMS key was+ -- disabled or deleted, or the grants on the key were revoked.+ --+ -- The effect of disabling or deleting a key or of revoking a grant+ -- isn\'t immediate. It might take some time for the member resource to+ -- discover that the key is inaccessible. When a resource is in this+ -- state, we recommend deleting and recreating the resource.+ status :: Prelude.Maybe MemberStatus,+ -- | Tags assigned to the member. Tags consist of a key and optional value.+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Member' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'member_arn' - The Amazon Resource Name (ARN) of the member. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'member_creationDate' - The date and time that the member was created.+--+-- 'description', 'member_description' - An optional description for the member.+--+-- 'frameworkAttributes', 'member_frameworkAttributes' - Attributes relevant to a member for the blockchain framework that the+-- Managed Blockchain network uses.+--+-- 'id', 'member_id' - The unique identifier of the member.+--+-- 'kmsKeyArn', 'member_kmsKeyArn' - The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) that the member uses for encryption at rest. If+-- the value of this parameter is @\"AWS Owned KMS Key\"@, the member uses+-- an Amazon Web Services owned KMS key for encryption. This parameter is+-- inherited by the nodes that this member owns.+--+-- For more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'logPublishingConfiguration', 'member_logPublishingConfiguration' - Configuration properties for logging events associated with a member.+--+-- 'name', 'member_name' - The name of the member.+--+-- 'networkId', 'member_networkId' - The unique identifier of the network to which the member belongs.+--+-- 'status', 'member_status' - The status of a member.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a member.+--+-- - @AVAILABLE@ - The member has been created and can participate in the+-- network.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a member and creation failed.+--+-- - @UPDATING@ - The member is in the process of being updated.+--+-- - @DELETING@ - The member and all associated resources are in the+-- process of being deleted. Either the Amazon Web Services account+-- that owns the member deleted it, or the member is being deleted as+-- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+--+-- - @DELETED@ - The member can no longer participate on the network and+-- all associated resources are deleted. Either the Amazon Web Services+-- account that owns the member deleted it, or the member is being+-- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+-- member.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in KMS for encryption at rest. Either the KMS key was+-- disabled or deleted, or the grants on the key were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the member resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+--+-- 'tags', 'member_tags' - Tags assigned to the member. Tags consist of a key and optional value.+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+newMember ::+ Member+newMember =+ Member'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ frameworkAttributes = Prelude.Nothing,+ id = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ logPublishingConfiguration = Prelude.Nothing,+ name = Prelude.Nothing,+ networkId = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the member. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+member_arn :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_arn = Lens.lens (\Member' {arn} -> arn) (\s@Member' {} a -> s {arn = a} :: Member)++-- | The date and time that the member was created.+member_creationDate :: Lens.Lens' Member (Prelude.Maybe Prelude.UTCTime)+member_creationDate = Lens.lens (\Member' {creationDate} -> creationDate) (\s@Member' {} a -> s {creationDate = a} :: Member) Prelude.. Lens.mapping Data._Time++-- | An optional description for the member.+member_description :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_description = Lens.lens (\Member' {description} -> description) (\s@Member' {} a -> s {description = a} :: Member)++-- | Attributes relevant to a member for the blockchain framework that the+-- Managed Blockchain network uses.+member_frameworkAttributes :: Lens.Lens' Member (Prelude.Maybe MemberFrameworkAttributes)+member_frameworkAttributes = Lens.lens (\Member' {frameworkAttributes} -> frameworkAttributes) (\s@Member' {} a -> s {frameworkAttributes = a} :: Member)++-- | The unique identifier of the member.+member_id :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_id = Lens.lens (\Member' {id} -> id) (\s@Member' {} a -> s {id = a} :: Member)++-- | The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) that the member uses for encryption at rest. If+-- the value of this parameter is @\"AWS Owned KMS Key\"@, the member uses+-- an Amazon Web Services owned KMS key for encryption. This parameter is+-- inherited by the nodes that this member owns.+--+-- For more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+member_kmsKeyArn :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_kmsKeyArn = Lens.lens (\Member' {kmsKeyArn} -> kmsKeyArn) (\s@Member' {} a -> s {kmsKeyArn = a} :: Member)++-- | Configuration properties for logging events associated with a member.+member_logPublishingConfiguration :: Lens.Lens' Member (Prelude.Maybe MemberLogPublishingConfiguration)+member_logPublishingConfiguration = Lens.lens (\Member' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@Member' {} a -> s {logPublishingConfiguration = a} :: Member)++-- | The name of the member.+member_name :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_name = Lens.lens (\Member' {name} -> name) (\s@Member' {} a -> s {name = a} :: Member)++-- | The unique identifier of the network to which the member belongs.+member_networkId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_networkId = Lens.lens (\Member' {networkId} -> networkId) (\s@Member' {} a -> s {networkId = a} :: Member)++-- | The status of a member.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a member.+--+-- - @AVAILABLE@ - The member has been created and can participate in the+-- network.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a member and creation failed.+--+-- - @UPDATING@ - The member is in the process of being updated.+--+-- - @DELETING@ - The member and all associated resources are in the+-- process of being deleted. Either the Amazon Web Services account+-- that owns the member deleted it, or the member is being deleted as+-- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+--+-- - @DELETED@ - The member can no longer participate on the network and+-- all associated resources are deleted. Either the Amazon Web Services+-- account that owns the member deleted it, or the member is being+-- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+-- member.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in KMS for encryption at rest. Either the KMS key was+-- disabled or deleted, or the grants on the key were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the member resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+member_status :: Lens.Lens' Member (Prelude.Maybe MemberStatus)+member_status = Lens.lens (\Member' {status} -> status) (\s@Member' {} a -> s {status = a} :: Member)++-- | Tags assigned to the member. Tags consist of a key and optional value.+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+member_tags :: Lens.Lens' Member (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+member_tags = Lens.lens (\Member' {tags} -> tags) (\s@Member' {} a -> s {tags = a} :: Member) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Member where+ parseJSON =+ Data.withObject+ "Member"+ ( \x ->+ Member'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "FrameworkAttributes")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "KmsKeyArn")+ Prelude.<*> (x Data..:? "LogPublishingConfiguration")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "NetworkId")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Member where+ hashWithSalt _salt Member' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` frameworkAttributes+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags++instance Prelude.NFData Member where+ rnf Member' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf frameworkAttributes+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/ManagedBlockChain/Types/MemberConfiguration.hs view
@@ -0,0 +1,235 @@+{-# 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.ManagedBlockChain.Types.MemberConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberFrameworkConfiguration+import Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties of the member.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newMemberConfiguration' smart constructor.+data MemberConfiguration = MemberConfiguration'+ { -- | An optional description of the member.+ description :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the customer managed key in Key+ -- Management Service (KMS) to use for encryption at rest in the member.+ -- This parameter is inherited by any nodes that this member creates. For+ -- more information, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ --+ -- Use one of the following options to specify this parameter:+ --+ -- - __Undefined or empty string__ - By default, use an KMS key that is+ -- owned and managed by Amazon Web Services on your behalf.+ --+ -- - __A valid symmetric customer managed KMS key__ - Use the specified+ -- KMS key in your account that you create, own, and manage.+ --+ -- Amazon Managed Blockchain doesn\'t support asymmetric keys. For more+ -- information, see+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+ -- in the /Key Management Service Developer Guide/.+ --+ -- The following is an example of a KMS key ARN:+ -- @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | Configuration properties for logging events associated with a member of+ -- a Managed Blockchain network.+ logPublishingConfiguration :: Prelude.Maybe MemberLogPublishingConfiguration,+ -- | Tags assigned to the member. Tags consist of a key and optional value.+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ --+ -- When specifying tags during creation, you can specify multiple key-value+ -- pairs in a single request, with an overall maximum of 50 tags added to+ -- each resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the member.+ name :: Prelude.Text,+ -- | Configuration properties of the blockchain framework relevant to the+ -- member.+ frameworkConfiguration :: MemberFrameworkConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'memberConfiguration_description' - An optional description of the member.+--+-- 'kmsKeyArn', 'memberConfiguration_kmsKeyArn' - The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) to use for encryption at rest in the member.+-- This parameter is inherited by any nodes that this member creates. For+-- more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- Use one of the following options to specify this parameter:+--+-- - __Undefined or empty string__ - By default, use an KMS key that is+-- owned and managed by Amazon Web Services on your behalf.+--+-- - __A valid symmetric customer managed KMS key__ - Use the specified+-- KMS key in your account that you create, own, and manage.+--+-- Amazon Managed Blockchain doesn\'t support asymmetric keys. For more+-- information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Key Management Service Developer Guide/.+--+-- The following is an example of a KMS key ARN:+-- @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- 'logPublishingConfiguration', 'memberConfiguration_logPublishingConfiguration' - Configuration properties for logging events associated with a member of+-- a Managed Blockchain network.+--+-- 'tags', 'memberConfiguration_tags' - Tags assigned to the member. Tags consist of a key and optional value.+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+--+-- 'name', 'memberConfiguration_name' - The name of the member.+--+-- 'frameworkConfiguration', 'memberConfiguration_frameworkConfiguration' - Configuration properties of the blockchain framework relevant to the+-- member.+newMemberConfiguration ::+ -- | 'name'+ Prelude.Text ->+ -- | 'frameworkConfiguration'+ MemberFrameworkConfiguration ->+ MemberConfiguration+newMemberConfiguration+ pName_+ pFrameworkConfiguration_ =+ MemberConfiguration'+ { description = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ logPublishingConfiguration = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ frameworkConfiguration = pFrameworkConfiguration_+ }++-- | An optional description of the member.+memberConfiguration_description :: Lens.Lens' MemberConfiguration (Prelude.Maybe Prelude.Text)+memberConfiguration_description = Lens.lens (\MemberConfiguration' {description} -> description) (\s@MemberConfiguration' {} a -> s {description = a} :: MemberConfiguration)++-- | The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) to use for encryption at rest in the member.+-- This parameter is inherited by any nodes that this member creates. For+-- more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- Use one of the following options to specify this parameter:+--+-- - __Undefined or empty string__ - By default, use an KMS key that is+-- owned and managed by Amazon Web Services on your behalf.+--+-- - __A valid symmetric customer managed KMS key__ - Use the specified+-- KMS key in your account that you create, own, and manage.+--+-- Amazon Managed Blockchain doesn\'t support asymmetric keys. For more+-- information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Key Management Service Developer Guide/.+--+-- The following is an example of a KMS key ARN:+-- @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+memberConfiguration_kmsKeyArn :: Lens.Lens' MemberConfiguration (Prelude.Maybe Prelude.Text)+memberConfiguration_kmsKeyArn = Lens.lens (\MemberConfiguration' {kmsKeyArn} -> kmsKeyArn) (\s@MemberConfiguration' {} a -> s {kmsKeyArn = a} :: MemberConfiguration)++-- | Configuration properties for logging events associated with a member of+-- a Managed Blockchain network.+memberConfiguration_logPublishingConfiguration :: Lens.Lens' MemberConfiguration (Prelude.Maybe MemberLogPublishingConfiguration)+memberConfiguration_logPublishingConfiguration = Lens.lens (\MemberConfiguration' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@MemberConfiguration' {} a -> s {logPublishingConfiguration = a} :: MemberConfiguration)++-- | Tags assigned to the member. Tags consist of a key and optional value.+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- When specifying tags during creation, you can specify multiple key-value+-- pairs in a single request, with an overall maximum of 50 tags added to+-- each resource.+memberConfiguration_tags :: Lens.Lens' MemberConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+memberConfiguration_tags = Lens.lens (\MemberConfiguration' {tags} -> tags) (\s@MemberConfiguration' {} a -> s {tags = a} :: MemberConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The name of the member.+memberConfiguration_name :: Lens.Lens' MemberConfiguration Prelude.Text+memberConfiguration_name = Lens.lens (\MemberConfiguration' {name} -> name) (\s@MemberConfiguration' {} a -> s {name = a} :: MemberConfiguration)++-- | Configuration properties of the blockchain framework relevant to the+-- member.+memberConfiguration_frameworkConfiguration :: Lens.Lens' MemberConfiguration MemberFrameworkConfiguration+memberConfiguration_frameworkConfiguration = Lens.lens (\MemberConfiguration' {frameworkConfiguration} -> frameworkConfiguration) (\s@MemberConfiguration' {} a -> s {frameworkConfiguration = a} :: MemberConfiguration)++instance Prelude.Hashable MemberConfiguration where+ hashWithSalt _salt MemberConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` frameworkConfiguration++instance Prelude.NFData MemberConfiguration where+ rnf MemberConfiguration' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf frameworkConfiguration++instance Data.ToJSON MemberConfiguration where+ toJSON MemberConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("KmsKeyArn" Data..=) Prelude.<$> kmsKeyArn,+ ("LogPublishingConfiguration" Data..=)+ Prelude.<$> logPublishingConfiguration,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ( "FrameworkConfiguration"+ Data..= frameworkConfiguration+ )+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/MemberFabricAttributes.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.ManagedBlockChain.Types.MemberFabricAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberFabricAttributes 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++-- | Attributes of Hyperledger Fabric for a member in a Managed Blockchain+-- network using the Hyperledger Fabric framework.+--+-- /See:/ 'newMemberFabricAttributes' smart constructor.+data MemberFabricAttributes = MemberFabricAttributes'+ { -- | The user name for the initial administrator user for the member.+ adminUsername :: Prelude.Maybe Prelude.Text,+ -- | The endpoint used to access the member\'s certificate authority.+ caEndpoint :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberFabricAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminUsername', 'memberFabricAttributes_adminUsername' - The user name for the initial administrator user for the member.+--+-- 'caEndpoint', 'memberFabricAttributes_caEndpoint' - The endpoint used to access the member\'s certificate authority.+newMemberFabricAttributes ::+ MemberFabricAttributes+newMemberFabricAttributes =+ MemberFabricAttributes'+ { adminUsername =+ Prelude.Nothing,+ caEndpoint = Prelude.Nothing+ }++-- | The user name for the initial administrator user for the member.+memberFabricAttributes_adminUsername :: Lens.Lens' MemberFabricAttributes (Prelude.Maybe Prelude.Text)+memberFabricAttributes_adminUsername = Lens.lens (\MemberFabricAttributes' {adminUsername} -> adminUsername) (\s@MemberFabricAttributes' {} a -> s {adminUsername = a} :: MemberFabricAttributes)++-- | The endpoint used to access the member\'s certificate authority.+memberFabricAttributes_caEndpoint :: Lens.Lens' MemberFabricAttributes (Prelude.Maybe Prelude.Text)+memberFabricAttributes_caEndpoint = Lens.lens (\MemberFabricAttributes' {caEndpoint} -> caEndpoint) (\s@MemberFabricAttributes' {} a -> s {caEndpoint = a} :: MemberFabricAttributes)++instance Data.FromJSON MemberFabricAttributes where+ parseJSON =+ Data.withObject+ "MemberFabricAttributes"+ ( \x ->+ MemberFabricAttributes'+ Prelude.<$> (x Data..:? "AdminUsername")+ Prelude.<*> (x Data..:? "CaEndpoint")+ )++instance Prelude.Hashable MemberFabricAttributes where+ hashWithSalt _salt MemberFabricAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` adminUsername+ `Prelude.hashWithSalt` caEndpoint++instance Prelude.NFData MemberFabricAttributes where+ rnf MemberFabricAttributes' {..} =+ Prelude.rnf adminUsername+ `Prelude.seq` Prelude.rnf caEndpoint
+ gen/Amazonka/ManagedBlockChain/Types/MemberFabricConfiguration.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration 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++-- | Configuration properties for Hyperledger Fabric for a member in a+-- Managed Blockchain network using the Hyperledger Fabric framework.+--+-- /See:/ 'newMemberFabricConfiguration' smart constructor.+data MemberFabricConfiguration = MemberFabricConfiguration'+ { -- | The user name for the member\'s initial administrative user.+ adminUsername :: Prelude.Text,+ -- | The password for the member\'s initial administrative user. The+ -- @AdminPassword@ must be at least eight characters long and no more than+ -- 32 characters. It must contain at least one uppercase letter, one+ -- lowercase letter, and one digit. It cannot have a single quotation mark+ -- (‘), a double quotation marks (“), a forward slash(\/), a backward+ -- slash(\\), \@, or a space.+ adminPassword :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberFabricConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adminUsername', 'memberFabricConfiguration_adminUsername' - The user name for the member\'s initial administrative user.+--+-- 'adminPassword', 'memberFabricConfiguration_adminPassword' - The password for the member\'s initial administrative user. The+-- @AdminPassword@ must be at least eight characters long and no more than+-- 32 characters. It must contain at least one uppercase letter, one+-- lowercase letter, and one digit. It cannot have a single quotation mark+-- (‘), a double quotation marks (“), a forward slash(\/), a backward+-- slash(\\), \@, or a space.+newMemberFabricConfiguration ::+ -- | 'adminUsername'+ Prelude.Text ->+ -- | 'adminPassword'+ Prelude.Text ->+ MemberFabricConfiguration+newMemberFabricConfiguration+ pAdminUsername_+ pAdminPassword_ =+ MemberFabricConfiguration'+ { adminUsername =+ pAdminUsername_,+ adminPassword =+ Data._Sensitive Lens.# pAdminPassword_+ }++-- | The user name for the member\'s initial administrative user.+memberFabricConfiguration_adminUsername :: Lens.Lens' MemberFabricConfiguration Prelude.Text+memberFabricConfiguration_adminUsername = Lens.lens (\MemberFabricConfiguration' {adminUsername} -> adminUsername) (\s@MemberFabricConfiguration' {} a -> s {adminUsername = a} :: MemberFabricConfiguration)++-- | The password for the member\'s initial administrative user. The+-- @AdminPassword@ must be at least eight characters long and no more than+-- 32 characters. It must contain at least one uppercase letter, one+-- lowercase letter, and one digit. It cannot have a single quotation mark+-- (‘), a double quotation marks (“), a forward slash(\/), a backward+-- slash(\\), \@, or a space.+memberFabricConfiguration_adminPassword :: Lens.Lens' MemberFabricConfiguration Prelude.Text+memberFabricConfiguration_adminPassword = Lens.lens (\MemberFabricConfiguration' {adminPassword} -> adminPassword) (\s@MemberFabricConfiguration' {} a -> s {adminPassword = a} :: MemberFabricConfiguration) Prelude.. Data._Sensitive++instance Prelude.Hashable MemberFabricConfiguration where+ hashWithSalt _salt MemberFabricConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` adminUsername+ `Prelude.hashWithSalt` adminPassword++instance Prelude.NFData MemberFabricConfiguration where+ rnf MemberFabricConfiguration' {..} =+ Prelude.rnf adminUsername+ `Prelude.seq` Prelude.rnf adminPassword++instance Data.ToJSON MemberFabricConfiguration where+ toJSON MemberFabricConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AdminUsername" Data..= adminUsername),+ Prelude.Just+ ("AdminPassword" Data..= adminPassword)+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/MemberFabricLogPublishingConfiguration.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.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.LogConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties for logging events associated with a member of+-- a Managed Blockchain network using the Hyperledger Fabric framework.+--+-- /See:/ 'newMemberFabricLogPublishingConfiguration' smart constructor.+data MemberFabricLogPublishingConfiguration = MemberFabricLogPublishingConfiguration'+ { -- | Configuration properties for logging events associated with a member\'s+ -- Certificate Authority (CA). CA logs help you determine when a member in+ -- your account joins the network, or when new peers register with a member+ -- CA.+ caLogs :: Prelude.Maybe LogConfigurations+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberFabricLogPublishingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'caLogs', 'memberFabricLogPublishingConfiguration_caLogs' - Configuration properties for logging events associated with a member\'s+-- Certificate Authority (CA). CA logs help you determine when a member in+-- your account joins the network, or when new peers register with a member+-- CA.+newMemberFabricLogPublishingConfiguration ::+ MemberFabricLogPublishingConfiguration+newMemberFabricLogPublishingConfiguration =+ MemberFabricLogPublishingConfiguration'+ { caLogs =+ Prelude.Nothing+ }++-- | Configuration properties for logging events associated with a member\'s+-- Certificate Authority (CA). CA logs help you determine when a member in+-- your account joins the network, or when new peers register with a member+-- CA.+memberFabricLogPublishingConfiguration_caLogs :: Lens.Lens' MemberFabricLogPublishingConfiguration (Prelude.Maybe LogConfigurations)+memberFabricLogPublishingConfiguration_caLogs = Lens.lens (\MemberFabricLogPublishingConfiguration' {caLogs} -> caLogs) (\s@MemberFabricLogPublishingConfiguration' {} a -> s {caLogs = a} :: MemberFabricLogPublishingConfiguration)++instance+ Data.FromJSON+ MemberFabricLogPublishingConfiguration+ where+ parseJSON =+ Data.withObject+ "MemberFabricLogPublishingConfiguration"+ ( \x ->+ MemberFabricLogPublishingConfiguration'+ Prelude.<$> (x Data..:? "CaLogs")+ )++instance+ Prelude.Hashable+ MemberFabricLogPublishingConfiguration+ where+ hashWithSalt+ _salt+ MemberFabricLogPublishingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` caLogs++instance+ Prelude.NFData+ MemberFabricLogPublishingConfiguration+ where+ rnf MemberFabricLogPublishingConfiguration' {..} =+ Prelude.rnf caLogs++instance+ Data.ToJSON+ MemberFabricLogPublishingConfiguration+ where+ toJSON MemberFabricLogPublishingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("CaLogs" Data..=) Prelude.<$> caLogs]+ )
+ gen/Amazonka/ManagedBlockChain/Types/MemberFrameworkAttributes.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.ManagedBlockChain.Types.MemberFrameworkAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberFrameworkAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberFabricAttributes+import qualified Amazonka.Prelude as Prelude++-- | Attributes relevant to a member for the blockchain framework that the+-- Managed Blockchain network uses.+--+-- /See:/ 'newMemberFrameworkAttributes' smart constructor.+data MemberFrameworkAttributes = MemberFrameworkAttributes'+ { -- | Attributes of Hyperledger Fabric relevant to a member on a Managed+ -- Blockchain network that uses Hyperledger Fabric.+ fabric :: Prelude.Maybe MemberFabricAttributes+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberFrameworkAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fabric', 'memberFrameworkAttributes_fabric' - Attributes of Hyperledger Fabric relevant to a member on a Managed+-- Blockchain network that uses Hyperledger Fabric.+newMemberFrameworkAttributes ::+ MemberFrameworkAttributes+newMemberFrameworkAttributes =+ MemberFrameworkAttributes'+ { fabric =+ Prelude.Nothing+ }++-- | Attributes of Hyperledger Fabric relevant to a member on a Managed+-- Blockchain network that uses Hyperledger Fabric.+memberFrameworkAttributes_fabric :: Lens.Lens' MemberFrameworkAttributes (Prelude.Maybe MemberFabricAttributes)+memberFrameworkAttributes_fabric = Lens.lens (\MemberFrameworkAttributes' {fabric} -> fabric) (\s@MemberFrameworkAttributes' {} a -> s {fabric = a} :: MemberFrameworkAttributes)++instance Data.FromJSON MemberFrameworkAttributes where+ parseJSON =+ Data.withObject+ "MemberFrameworkAttributes"+ ( \x ->+ MemberFrameworkAttributes'+ Prelude.<$> (x Data..:? "Fabric")+ )++instance Prelude.Hashable MemberFrameworkAttributes where+ hashWithSalt _salt MemberFrameworkAttributes' {..} =+ _salt `Prelude.hashWithSalt` fabric++instance Prelude.NFData MemberFrameworkAttributes where+ rnf MemberFrameworkAttributes' {..} =+ Prelude.rnf fabric
+ gen/Amazonka/ManagedBlockChain/Types/MemberFrameworkConfiguration.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.ManagedBlockChain.Types.MemberFrameworkConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberFrameworkConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberFabricConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties relevant to a member for the blockchain+-- framework that the Managed Blockchain network uses.+--+-- /See:/ 'newMemberFrameworkConfiguration' smart constructor.+data MemberFrameworkConfiguration = MemberFrameworkConfiguration'+ { -- | Attributes of Hyperledger Fabric for a member on a Managed Blockchain+ -- network that uses Hyperledger Fabric.+ fabric :: Prelude.Maybe MemberFabricConfiguration+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberFrameworkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fabric', 'memberFrameworkConfiguration_fabric' - Attributes of Hyperledger Fabric for a member on a Managed Blockchain+-- network that uses Hyperledger Fabric.+newMemberFrameworkConfiguration ::+ MemberFrameworkConfiguration+newMemberFrameworkConfiguration =+ MemberFrameworkConfiguration'+ { fabric =+ Prelude.Nothing+ }++-- | Attributes of Hyperledger Fabric for a member on a Managed Blockchain+-- network that uses Hyperledger Fabric.+memberFrameworkConfiguration_fabric :: Lens.Lens' MemberFrameworkConfiguration (Prelude.Maybe MemberFabricConfiguration)+memberFrameworkConfiguration_fabric = Lens.lens (\MemberFrameworkConfiguration' {fabric} -> fabric) (\s@MemberFrameworkConfiguration' {} a -> s {fabric = a} :: MemberFrameworkConfiguration)++instance+ Prelude.Hashable+ MemberFrameworkConfiguration+ where+ hashWithSalt _salt MemberFrameworkConfiguration' {..} =+ _salt `Prelude.hashWithSalt` fabric++instance Prelude.NFData MemberFrameworkConfiguration where+ rnf MemberFrameworkConfiguration' {..} =+ Prelude.rnf fabric++instance Data.ToJSON MemberFrameworkConfiguration where+ toJSON MemberFrameworkConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Fabric" Data..=) Prelude.<$> fabric]+ )
+ gen/Amazonka/ManagedBlockChain/Types/MemberLogPublishingConfiguration.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberLogPublishingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberFabricLogPublishingConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties for logging events associated with a member of+-- a Managed Blockchain network.+--+-- /See:/ 'newMemberLogPublishingConfiguration' smart constructor.+data MemberLogPublishingConfiguration = MemberLogPublishingConfiguration'+ { -- | Configuration properties for logging events associated with a member of+ -- a Managed Blockchain network using the Hyperledger Fabric framework.+ fabric :: Prelude.Maybe MemberFabricLogPublishingConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberLogPublishingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fabric', 'memberLogPublishingConfiguration_fabric' - Configuration properties for logging events associated with a member of+-- a Managed Blockchain network using the Hyperledger Fabric framework.+newMemberLogPublishingConfiguration ::+ MemberLogPublishingConfiguration+newMemberLogPublishingConfiguration =+ MemberLogPublishingConfiguration'+ { fabric =+ Prelude.Nothing+ }++-- | Configuration properties for logging events associated with a member of+-- a Managed Blockchain network using the Hyperledger Fabric framework.+memberLogPublishingConfiguration_fabric :: Lens.Lens' MemberLogPublishingConfiguration (Prelude.Maybe MemberFabricLogPublishingConfiguration)+memberLogPublishingConfiguration_fabric = Lens.lens (\MemberLogPublishingConfiguration' {fabric} -> fabric) (\s@MemberLogPublishingConfiguration' {} a -> s {fabric = a} :: MemberLogPublishingConfiguration)++instance+ Data.FromJSON+ MemberLogPublishingConfiguration+ where+ parseJSON =+ Data.withObject+ "MemberLogPublishingConfiguration"+ ( \x ->+ MemberLogPublishingConfiguration'+ Prelude.<$> (x Data..:? "Fabric")+ )++instance+ Prelude.Hashable+ MemberLogPublishingConfiguration+ where+ hashWithSalt+ _salt+ MemberLogPublishingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` fabric++instance+ Prelude.NFData+ MemberLogPublishingConfiguration+ where+ rnf MemberLogPublishingConfiguration' {..} =+ Prelude.rnf fabric++instance Data.ToJSON MemberLogPublishingConfiguration where+ toJSON MemberLogPublishingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Fabric" Data..=) Prelude.<$> fabric]+ )
+ gen/Amazonka/ManagedBlockChain/Types/MemberStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.MemberStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberStatus+ ( MemberStatus+ ( ..,+ MemberStatus_AVAILABLE,+ MemberStatus_CREATE_FAILED,+ MemberStatus_CREATING,+ MemberStatus_DELETED,+ MemberStatus_DELETING,+ MemberStatus_INACCESSIBLE_ENCRYPTION_KEY,+ MemberStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MemberStatus = MemberStatus'+ { fromMemberStatus ::+ 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 MemberStatus_AVAILABLE :: MemberStatus+pattern MemberStatus_AVAILABLE = MemberStatus' "AVAILABLE"++pattern MemberStatus_CREATE_FAILED :: MemberStatus+pattern MemberStatus_CREATE_FAILED = MemberStatus' "CREATE_FAILED"++pattern MemberStatus_CREATING :: MemberStatus+pattern MemberStatus_CREATING = MemberStatus' "CREATING"++pattern MemberStatus_DELETED :: MemberStatus+pattern MemberStatus_DELETED = MemberStatus' "DELETED"++pattern MemberStatus_DELETING :: MemberStatus+pattern MemberStatus_DELETING = MemberStatus' "DELETING"++pattern MemberStatus_INACCESSIBLE_ENCRYPTION_KEY :: MemberStatus+pattern MemberStatus_INACCESSIBLE_ENCRYPTION_KEY = MemberStatus' "INACCESSIBLE_ENCRYPTION_KEY"++pattern MemberStatus_UPDATING :: MemberStatus+pattern MemberStatus_UPDATING = MemberStatus' "UPDATING"++{-# COMPLETE+ MemberStatus_AVAILABLE,+ MemberStatus_CREATE_FAILED,+ MemberStatus_CREATING,+ MemberStatus_DELETED,+ MemberStatus_DELETING,+ MemberStatus_INACCESSIBLE_ENCRYPTION_KEY,+ MemberStatus_UPDATING,+ MemberStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/MemberSummary.hs view
@@ -0,0 +1,258 @@+{-# 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.ManagedBlockChain.Types.MemberSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.MemberSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.MemberStatus+import qualified Amazonka.Prelude as Prelude++-- | A summary of configuration properties for a member.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newMemberSummary' smart constructor.+data MemberSummary = MemberSummary'+ { -- | The Amazon Resource Name (ARN) of the member. For more information about+ -- ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the member was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | An optional description of the member.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the member.+ id :: Prelude.Maybe Prelude.Text,+ -- | An indicator of whether the member is owned by your Amazon Web Services+ -- account or a different Amazon Web Services account.+ isOwned :: Prelude.Maybe Prelude.Bool,+ -- | The name of the member.+ name :: Prelude.Maybe Prelude.Text,+ -- | The status of the member.+ --+ -- - @CREATING@ - The Amazon Web Services account is in the process of+ -- creating a member.+ --+ -- - @AVAILABLE@ - The member has been created and can participate in the+ -- network.+ --+ -- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+ -- create a member and creation failed.+ --+ -- - @UPDATING@ - The member is in the process of being updated.+ --+ -- - @DELETING@ - The member and all associated resources are in the+ -- process of being deleted. Either the Amazon Web Services account+ -- that owns the member deleted it, or the member is being deleted as+ -- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+ --+ -- - @DELETED@ - The member can no longer participate on the network and+ -- all associated resources are deleted. Either the Amazon Web Services+ -- account that owns the member deleted it, or the member is being+ -- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+ -- member.+ --+ -- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+ -- function as expected because it cannot access the specified customer+ -- managed key in Key Management Service (KMS) for encryption at rest.+ -- Either the KMS key was disabled or deleted, or the grants on the key+ -- were revoked.+ --+ -- The effect of disabling or deleting a key or of revoking a grant+ -- isn\'t immediate. It might take some time for the member resource to+ -- discover that the key is inaccessible. When a resource is in this+ -- state, we recommend deleting and recreating the resource.+ status :: Prelude.Maybe MemberStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'memberSummary_arn' - The Amazon Resource Name (ARN) of the member. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'memberSummary_creationDate' - The date and time that the member was created.+--+-- 'description', 'memberSummary_description' - An optional description of the member.+--+-- 'id', 'memberSummary_id' - The unique identifier of the member.+--+-- 'isOwned', 'memberSummary_isOwned' - An indicator of whether the member is owned by your Amazon Web Services+-- account or a different Amazon Web Services account.+--+-- 'name', 'memberSummary_name' - The name of the member.+--+-- 'status', 'memberSummary_status' - The status of the member.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a member.+--+-- - @AVAILABLE@ - The member has been created and can participate in the+-- network.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a member and creation failed.+--+-- - @UPDATING@ - The member is in the process of being updated.+--+-- - @DELETING@ - The member and all associated resources are in the+-- process of being deleted. Either the Amazon Web Services account+-- that owns the member deleted it, or the member is being deleted as+-- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+--+-- - @DELETED@ - The member can no longer participate on the network and+-- all associated resources are deleted. Either the Amazon Web Services+-- account that owns the member deleted it, or the member is being+-- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+-- member.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in Key Management Service (KMS) for encryption at rest.+-- Either the KMS key was disabled or deleted, or the grants on the key+-- were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the member resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+newMemberSummary ::+ MemberSummary+newMemberSummary =+ MemberSummary'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ isOwned = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the member. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+memberSummary_arn :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.Text)+memberSummary_arn = Lens.lens (\MemberSummary' {arn} -> arn) (\s@MemberSummary' {} a -> s {arn = a} :: MemberSummary)++-- | The date and time that the member was created.+memberSummary_creationDate :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.UTCTime)+memberSummary_creationDate = Lens.lens (\MemberSummary' {creationDate} -> creationDate) (\s@MemberSummary' {} a -> s {creationDate = a} :: MemberSummary) Prelude.. Lens.mapping Data._Time++-- | An optional description of the member.+memberSummary_description :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.Text)+memberSummary_description = Lens.lens (\MemberSummary' {description} -> description) (\s@MemberSummary' {} a -> s {description = a} :: MemberSummary)++-- | The unique identifier of the member.+memberSummary_id :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.Text)+memberSummary_id = Lens.lens (\MemberSummary' {id} -> id) (\s@MemberSummary' {} a -> s {id = a} :: MemberSummary)++-- | An indicator of whether the member is owned by your Amazon Web Services+-- account or a different Amazon Web Services account.+memberSummary_isOwned :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.Bool)+memberSummary_isOwned = Lens.lens (\MemberSummary' {isOwned} -> isOwned) (\s@MemberSummary' {} a -> s {isOwned = a} :: MemberSummary)++-- | The name of the member.+memberSummary_name :: Lens.Lens' MemberSummary (Prelude.Maybe Prelude.Text)+memberSummary_name = Lens.lens (\MemberSummary' {name} -> name) (\s@MemberSummary' {} a -> s {name = a} :: MemberSummary)++-- | The status of the member.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a member.+--+-- - @AVAILABLE@ - The member has been created and can participate in the+-- network.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a member and creation failed.+--+-- - @UPDATING@ - The member is in the process of being updated.+--+-- - @DELETING@ - The member and all associated resources are in the+-- process of being deleted. Either the Amazon Web Services account+-- that owns the member deleted it, or the member is being deleted as+-- the result of an @APPROVED@ @PROPOSAL@ to remove the member.+--+-- - @DELETED@ - The member can no longer participate on the network and+-- all associated resources are deleted. Either the Amazon Web Services+-- account that owns the member deleted it, or the member is being+-- deleted as the result of an @APPROVED@ @PROPOSAL@ to remove the+-- member.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The member is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in Key Management Service (KMS) for encryption at rest.+-- Either the KMS key was disabled or deleted, or the grants on the key+-- were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the member resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+memberSummary_status :: Lens.Lens' MemberSummary (Prelude.Maybe MemberStatus)+memberSummary_status = Lens.lens (\MemberSummary' {status} -> status) (\s@MemberSummary' {} a -> s {status = a} :: MemberSummary)++instance Data.FromJSON MemberSummary where+ parseJSON =+ Data.withObject+ "MemberSummary"+ ( \x ->+ MemberSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "IsOwned")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable MemberSummary where+ hashWithSalt _salt MemberSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` isOwned+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData MemberSummary where+ rnf MemberSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf isOwned+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ManagedBlockChain/Types/Network.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.Network+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Network where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.Framework+import Amazonka.ManagedBlockChain.Types.NetworkFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NetworkStatus+import Amazonka.ManagedBlockChain.Types.VotingPolicy+import qualified Amazonka.Prelude as Prelude++-- | Network configuration properties.+--+-- /See:/ 'newNetwork' smart constructor.+data Network = Network'+ { -- | The Amazon Resource Name (ARN) of the network. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the network was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | Attributes of the blockchain framework for the network.+ description :: Prelude.Maybe Prelude.Text,+ -- | The blockchain framework that the network uses.+ framework :: Prelude.Maybe Framework,+ -- | Attributes of the blockchain framework that the network uses.+ frameworkAttributes :: Prelude.Maybe NetworkFrameworkAttributes,+ -- | The version of the blockchain framework that the network uses.+ frameworkVersion :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the network.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the network.+ status :: Prelude.Maybe NetworkStatus,+ -- | Tags assigned to the network. Each tag consists of a key and optional+ -- value.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The voting rules for the network to decide if a proposal is accepted.+ votingPolicy :: Prelude.Maybe VotingPolicy,+ -- | The VPC endpoint service name of the VPC endpoint service of the+ -- network. Members use the VPC endpoint service name to create a VPC+ -- endpoint to access network resources.+ vpcEndpointServiceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Network' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'network_arn' - The Amazon Resource Name (ARN) of the network. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'network_creationDate' - The date and time that the network was created.+--+-- 'description', 'network_description' - Attributes of the blockchain framework for the network.+--+-- 'framework', 'network_framework' - The blockchain framework that the network uses.+--+-- 'frameworkAttributes', 'network_frameworkAttributes' - Attributes of the blockchain framework that the network uses.+--+-- 'frameworkVersion', 'network_frameworkVersion' - The version of the blockchain framework that the network uses.+--+-- 'id', 'network_id' - The unique identifier of the network.+--+-- 'name', 'network_name' - The name of the network.+--+-- 'status', 'network_status' - The current status of the network.+--+-- 'tags', 'network_tags' - Tags assigned to the network. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'votingPolicy', 'network_votingPolicy' - The voting rules for the network to decide if a proposal is accepted.+--+-- 'vpcEndpointServiceName', 'network_vpcEndpointServiceName' - The VPC endpoint service name of the VPC endpoint service of the+-- network. Members use the VPC endpoint service name to create a VPC+-- endpoint to access network resources.+newNetwork ::+ Network+newNetwork =+ Network'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ framework = Prelude.Nothing,+ frameworkAttributes = Prelude.Nothing,+ frameworkVersion = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ votingPolicy = Prelude.Nothing,+ vpcEndpointServiceName = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the network. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+network_arn :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_arn = Lens.lens (\Network' {arn} -> arn) (\s@Network' {} a -> s {arn = a} :: Network)++-- | The date and time that the network was created.+network_creationDate :: Lens.Lens' Network (Prelude.Maybe Prelude.UTCTime)+network_creationDate = Lens.lens (\Network' {creationDate} -> creationDate) (\s@Network' {} a -> s {creationDate = a} :: Network) Prelude.. Lens.mapping Data._Time++-- | Attributes of the blockchain framework for the network.+network_description :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_description = Lens.lens (\Network' {description} -> description) (\s@Network' {} a -> s {description = a} :: Network)++-- | The blockchain framework that the network uses.+network_framework :: Lens.Lens' Network (Prelude.Maybe Framework)+network_framework = Lens.lens (\Network' {framework} -> framework) (\s@Network' {} a -> s {framework = a} :: Network)++-- | Attributes of the blockchain framework that the network uses.+network_frameworkAttributes :: Lens.Lens' Network (Prelude.Maybe NetworkFrameworkAttributes)+network_frameworkAttributes = Lens.lens (\Network' {frameworkAttributes} -> frameworkAttributes) (\s@Network' {} a -> s {frameworkAttributes = a} :: Network)++-- | The version of the blockchain framework that the network uses.+network_frameworkVersion :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_frameworkVersion = Lens.lens (\Network' {frameworkVersion} -> frameworkVersion) (\s@Network' {} a -> s {frameworkVersion = a} :: Network)++-- | The unique identifier of the network.+network_id :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_id = Lens.lens (\Network' {id} -> id) (\s@Network' {} a -> s {id = a} :: Network)++-- | The name of the network.+network_name :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_name = Lens.lens (\Network' {name} -> name) (\s@Network' {} a -> s {name = a} :: Network)++-- | The current status of the network.+network_status :: Lens.Lens' Network (Prelude.Maybe NetworkStatus)+network_status = Lens.lens (\Network' {status} -> status) (\s@Network' {} a -> s {status = a} :: Network)++-- | Tags assigned to the network. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+network_tags :: Lens.Lens' Network (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+network_tags = Lens.lens (\Network' {tags} -> tags) (\s@Network' {} a -> s {tags = a} :: Network) Prelude.. Lens.mapping Lens.coerced++-- | The voting rules for the network to decide if a proposal is accepted.+network_votingPolicy :: Lens.Lens' Network (Prelude.Maybe VotingPolicy)+network_votingPolicy = Lens.lens (\Network' {votingPolicy} -> votingPolicy) (\s@Network' {} a -> s {votingPolicy = a} :: Network)++-- | The VPC endpoint service name of the VPC endpoint service of the+-- network. Members use the VPC endpoint service name to create a VPC+-- endpoint to access network resources.+network_vpcEndpointServiceName :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_vpcEndpointServiceName = Lens.lens (\Network' {vpcEndpointServiceName} -> vpcEndpointServiceName) (\s@Network' {} a -> s {vpcEndpointServiceName = a} :: Network)++instance Data.FromJSON Network where+ parseJSON =+ Data.withObject+ "Network"+ ( \x ->+ Network'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Framework")+ Prelude.<*> (x Data..:? "FrameworkAttributes")+ Prelude.<*> (x Data..:? "FrameworkVersion")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "VotingPolicy")+ Prelude.<*> (x Data..:? "VpcEndpointServiceName")+ )++instance Prelude.Hashable Network where+ hashWithSalt _salt Network' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` framework+ `Prelude.hashWithSalt` frameworkAttributes+ `Prelude.hashWithSalt` frameworkVersion+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` votingPolicy+ `Prelude.hashWithSalt` vpcEndpointServiceName++instance Prelude.NFData Network where+ rnf Network' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf framework+ `Prelude.seq` Prelude.rnf frameworkAttributes+ `Prelude.seq` Prelude.rnf frameworkVersion+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf votingPolicy+ `Prelude.seq` Prelude.rnf vpcEndpointServiceName
+ gen/Amazonka/ManagedBlockChain/Types/NetworkEthereumAttributes.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.ManagedBlockChain.Types.NetworkEthereumAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkEthereumAttributes 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++-- | Attributes of Ethereum for a network.+--+-- /See:/ 'newNetworkEthereumAttributes' smart constructor.+data NetworkEthereumAttributes = NetworkEthereumAttributes'+ { -- | The Ethereum @CHAIN_ID@ associated with the Ethereum network. Chain IDs+ -- are as follows:+ --+ -- - mainnet = @1@+ --+ -- - goerli = @5@+ --+ -- - rinkeby = @4@+ --+ -- - ropsten = @3@+ chainId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkEthereumAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chainId', 'networkEthereumAttributes_chainId' - The Ethereum @CHAIN_ID@ associated with the Ethereum network. Chain IDs+-- are as follows:+--+-- - mainnet = @1@+--+-- - goerli = @5@+--+-- - rinkeby = @4@+--+-- - ropsten = @3@+newNetworkEthereumAttributes ::+ NetworkEthereumAttributes+newNetworkEthereumAttributes =+ NetworkEthereumAttributes'+ { chainId =+ Prelude.Nothing+ }++-- | The Ethereum @CHAIN_ID@ associated with the Ethereum network. Chain IDs+-- are as follows:+--+-- - mainnet = @1@+--+-- - goerli = @5@+--+-- - rinkeby = @4@+--+-- - ropsten = @3@+networkEthereumAttributes_chainId :: Lens.Lens' NetworkEthereumAttributes (Prelude.Maybe Prelude.Text)+networkEthereumAttributes_chainId = Lens.lens (\NetworkEthereumAttributes' {chainId} -> chainId) (\s@NetworkEthereumAttributes' {} a -> s {chainId = a} :: NetworkEthereumAttributes)++instance Data.FromJSON NetworkEthereumAttributes where+ parseJSON =+ Data.withObject+ "NetworkEthereumAttributes"+ ( \x ->+ NetworkEthereumAttributes'+ Prelude.<$> (x Data..:? "ChainId")+ )++instance Prelude.Hashable NetworkEthereumAttributes where+ hashWithSalt _salt NetworkEthereumAttributes' {..} =+ _salt `Prelude.hashWithSalt` chainId++instance Prelude.NFData NetworkEthereumAttributes where+ rnf NetworkEthereumAttributes' {..} =+ Prelude.rnf chainId
+ gen/Amazonka/ManagedBlockChain/Types/NetworkFabricAttributes.hs view
@@ -0,0 +1,91 @@+{-# 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.ManagedBlockChain.Types.NetworkFabricAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkFabricAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.Edition+import qualified Amazonka.Prelude as Prelude++-- | Attributes of Hyperledger Fabric for a network.+--+-- /See:/ 'newNetworkFabricAttributes' smart constructor.+data NetworkFabricAttributes = NetworkFabricAttributes'+ { -- | The edition of Amazon Managed Blockchain that Hyperledger Fabric uses.+ -- For more information, see+ -- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+ edition :: Prelude.Maybe Edition,+ -- | The endpoint of the ordering service for the network.+ orderingServiceEndpoint :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFabricAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'edition', 'networkFabricAttributes_edition' - The edition of Amazon Managed Blockchain that Hyperledger Fabric uses.+-- For more information, see+-- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+--+-- 'orderingServiceEndpoint', 'networkFabricAttributes_orderingServiceEndpoint' - The endpoint of the ordering service for the network.+newNetworkFabricAttributes ::+ NetworkFabricAttributes+newNetworkFabricAttributes =+ NetworkFabricAttributes'+ { edition = Prelude.Nothing,+ orderingServiceEndpoint = Prelude.Nothing+ }++-- | The edition of Amazon Managed Blockchain that Hyperledger Fabric uses.+-- For more information, see+-- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+networkFabricAttributes_edition :: Lens.Lens' NetworkFabricAttributes (Prelude.Maybe Edition)+networkFabricAttributes_edition = Lens.lens (\NetworkFabricAttributes' {edition} -> edition) (\s@NetworkFabricAttributes' {} a -> s {edition = a} :: NetworkFabricAttributes)++-- | The endpoint of the ordering service for the network.+networkFabricAttributes_orderingServiceEndpoint :: Lens.Lens' NetworkFabricAttributes (Prelude.Maybe Prelude.Text)+networkFabricAttributes_orderingServiceEndpoint = Lens.lens (\NetworkFabricAttributes' {orderingServiceEndpoint} -> orderingServiceEndpoint) (\s@NetworkFabricAttributes' {} a -> s {orderingServiceEndpoint = a} :: NetworkFabricAttributes)++instance Data.FromJSON NetworkFabricAttributes where+ parseJSON =+ Data.withObject+ "NetworkFabricAttributes"+ ( \x ->+ NetworkFabricAttributes'+ Prelude.<$> (x Data..:? "Edition")+ Prelude.<*> (x Data..:? "OrderingServiceEndpoint")+ )++instance Prelude.Hashable NetworkFabricAttributes where+ hashWithSalt _salt NetworkFabricAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` edition+ `Prelude.hashWithSalt` orderingServiceEndpoint++instance Prelude.NFData NetworkFabricAttributes where+ rnf NetworkFabricAttributes' {..} =+ Prelude.rnf edition+ `Prelude.seq` Prelude.rnf orderingServiceEndpoint
+ gen/Amazonka/ManagedBlockChain/Types/NetworkFabricConfiguration.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.Edition+import qualified Amazonka.Prelude as Prelude++-- | Hyperledger Fabric configuration properties for the network.+--+-- /See:/ 'newNetworkFabricConfiguration' smart constructor.+data NetworkFabricConfiguration = NetworkFabricConfiguration'+ { -- | The edition of Amazon Managed Blockchain that the network uses. For more+ -- information, see+ -- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+ edition :: Edition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFabricConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'edition', 'networkFabricConfiguration_edition' - The edition of Amazon Managed Blockchain that the network uses. For more+-- information, see+-- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+newNetworkFabricConfiguration ::+ -- | 'edition'+ Edition ->+ NetworkFabricConfiguration+newNetworkFabricConfiguration pEdition_ =+ NetworkFabricConfiguration' {edition = pEdition_}++-- | The edition of Amazon Managed Blockchain that the network uses. For more+-- information, see+-- <http://aws.amazon.com/managed-blockchain/pricing/ Amazon Managed Blockchain Pricing>.+networkFabricConfiguration_edition :: Lens.Lens' NetworkFabricConfiguration Edition+networkFabricConfiguration_edition = Lens.lens (\NetworkFabricConfiguration' {edition} -> edition) (\s@NetworkFabricConfiguration' {} a -> s {edition = a} :: NetworkFabricConfiguration)++instance Prelude.Hashable NetworkFabricConfiguration where+ hashWithSalt _salt NetworkFabricConfiguration' {..} =+ _salt `Prelude.hashWithSalt` edition++instance Prelude.NFData NetworkFabricConfiguration where+ rnf NetworkFabricConfiguration' {..} =+ Prelude.rnf edition++instance Data.ToJSON NetworkFabricConfiguration where+ toJSON NetworkFabricConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Edition" Data..= edition)]+ )
+ gen/Amazonka/ManagedBlockChain/Types/NetworkFrameworkAttributes.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.ManagedBlockChain.Types.NetworkFrameworkAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkFrameworkAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NetworkEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NetworkFabricAttributes+import qualified Amazonka.Prelude as Prelude++-- | Attributes relevant to the network for the blockchain framework that the+-- network uses.+--+-- /See:/ 'newNetworkFrameworkAttributes' smart constructor.+data NetworkFrameworkAttributes = NetworkFrameworkAttributes'+ { -- | Attributes of an Ethereum network for Managed Blockchain resources+ -- participating in an Ethereum network.+ ethereum :: Prelude.Maybe NetworkEthereumAttributes,+ -- | Attributes of Hyperledger Fabric for a Managed Blockchain network that+ -- uses Hyperledger Fabric.+ fabric :: Prelude.Maybe NetworkFabricAttributes+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFrameworkAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ethereum', 'networkFrameworkAttributes_ethereum' - Attributes of an Ethereum network for Managed Blockchain resources+-- participating in an Ethereum network.+--+-- 'fabric', 'networkFrameworkAttributes_fabric' - Attributes of Hyperledger Fabric for a Managed Blockchain network that+-- uses Hyperledger Fabric.+newNetworkFrameworkAttributes ::+ NetworkFrameworkAttributes+newNetworkFrameworkAttributes =+ NetworkFrameworkAttributes'+ { ethereum =+ Prelude.Nothing,+ fabric = Prelude.Nothing+ }++-- | Attributes of an Ethereum network for Managed Blockchain resources+-- participating in an Ethereum network.+networkFrameworkAttributes_ethereum :: Lens.Lens' NetworkFrameworkAttributes (Prelude.Maybe NetworkEthereumAttributes)+networkFrameworkAttributes_ethereum = Lens.lens (\NetworkFrameworkAttributes' {ethereum} -> ethereum) (\s@NetworkFrameworkAttributes' {} a -> s {ethereum = a} :: NetworkFrameworkAttributes)++-- | Attributes of Hyperledger Fabric for a Managed Blockchain network that+-- uses Hyperledger Fabric.+networkFrameworkAttributes_fabric :: Lens.Lens' NetworkFrameworkAttributes (Prelude.Maybe NetworkFabricAttributes)+networkFrameworkAttributes_fabric = Lens.lens (\NetworkFrameworkAttributes' {fabric} -> fabric) (\s@NetworkFrameworkAttributes' {} a -> s {fabric = a} :: NetworkFrameworkAttributes)++instance Data.FromJSON NetworkFrameworkAttributes where+ parseJSON =+ Data.withObject+ "NetworkFrameworkAttributes"+ ( \x ->+ NetworkFrameworkAttributes'+ Prelude.<$> (x Data..:? "Ethereum")+ Prelude.<*> (x Data..:? "Fabric")+ )++instance Prelude.Hashable NetworkFrameworkAttributes where+ hashWithSalt _salt NetworkFrameworkAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` ethereum+ `Prelude.hashWithSalt` fabric++instance Prelude.NFData NetworkFrameworkAttributes where+ rnf NetworkFrameworkAttributes' {..} =+ Prelude.rnf ethereum+ `Prelude.seq` Prelude.rnf fabric
+ gen/Amazonka/ManagedBlockChain/Types/NetworkFrameworkConfiguration.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.ManagedBlockChain.Types.NetworkFrameworkConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkFrameworkConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NetworkFabricConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties relevant to the network for the blockchain+-- framework that the network uses.+--+-- /See:/ 'newNetworkFrameworkConfiguration' smart constructor.+data NetworkFrameworkConfiguration = NetworkFrameworkConfiguration'+ { -- | Hyperledger Fabric configuration properties for a Managed Blockchain+ -- network that uses Hyperledger Fabric.+ fabric :: Prelude.Maybe NetworkFabricConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFrameworkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fabric', 'networkFrameworkConfiguration_fabric' - Hyperledger Fabric configuration properties for a Managed Blockchain+-- network that uses Hyperledger Fabric.+newNetworkFrameworkConfiguration ::+ NetworkFrameworkConfiguration+newNetworkFrameworkConfiguration =+ NetworkFrameworkConfiguration'+ { fabric =+ Prelude.Nothing+ }++-- | Hyperledger Fabric configuration properties for a Managed Blockchain+-- network that uses Hyperledger Fabric.+networkFrameworkConfiguration_fabric :: Lens.Lens' NetworkFrameworkConfiguration (Prelude.Maybe NetworkFabricConfiguration)+networkFrameworkConfiguration_fabric = Lens.lens (\NetworkFrameworkConfiguration' {fabric} -> fabric) (\s@NetworkFrameworkConfiguration' {} a -> s {fabric = a} :: NetworkFrameworkConfiguration)++instance+ Prelude.Hashable+ NetworkFrameworkConfiguration+ where+ hashWithSalt _salt NetworkFrameworkConfiguration' {..} =+ _salt `Prelude.hashWithSalt` fabric++instance Prelude.NFData NetworkFrameworkConfiguration where+ rnf NetworkFrameworkConfiguration' {..} =+ Prelude.rnf fabric++instance Data.ToJSON NetworkFrameworkConfiguration where+ toJSON NetworkFrameworkConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Fabric" Data..=) Prelude.<$> fabric]+ )
+ gen/Amazonka/ManagedBlockChain/Types/NetworkStatus.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.ManagedBlockChain.Types.NetworkStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkStatus+ ( NetworkStatus+ ( ..,+ NetworkStatus_AVAILABLE,+ NetworkStatus_CREATE_FAILED,+ NetworkStatus_CREATING,+ NetworkStatus_DELETED,+ NetworkStatus_DELETING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkStatus = NetworkStatus'+ { fromNetworkStatus ::+ 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 NetworkStatus_AVAILABLE :: NetworkStatus+pattern NetworkStatus_AVAILABLE = NetworkStatus' "AVAILABLE"++pattern NetworkStatus_CREATE_FAILED :: NetworkStatus+pattern NetworkStatus_CREATE_FAILED = NetworkStatus' "CREATE_FAILED"++pattern NetworkStatus_CREATING :: NetworkStatus+pattern NetworkStatus_CREATING = NetworkStatus' "CREATING"++pattern NetworkStatus_DELETED :: NetworkStatus+pattern NetworkStatus_DELETED = NetworkStatus' "DELETED"++pattern NetworkStatus_DELETING :: NetworkStatus+pattern NetworkStatus_DELETING = NetworkStatus' "DELETING"++{-# COMPLETE+ NetworkStatus_AVAILABLE,+ NetworkStatus_CREATE_FAILED,+ NetworkStatus_CREATING,+ NetworkStatus_DELETED,+ NetworkStatus_DELETING,+ NetworkStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/NetworkSummary.hs view
@@ -0,0 +1,167 @@+{-# 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.ManagedBlockChain.Types.NetworkSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NetworkSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.Framework+import Amazonka.ManagedBlockChain.Types.NetworkStatus+import qualified Amazonka.Prelude as Prelude++-- | A summary of network configuration properties.+--+-- /See:/ 'newNetworkSummary' smart constructor.+data NetworkSummary = NetworkSummary'+ { -- | The Amazon Resource Name (ARN) of the network. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the network was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | An optional description of the network.+ description :: Prelude.Maybe Prelude.Text,+ -- | The blockchain framework that the network uses.+ framework :: Prelude.Maybe Framework,+ -- | The version of the blockchain framework that the network uses.+ frameworkVersion :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the network.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the network.+ status :: Prelude.Maybe NetworkStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'networkSummary_arn' - The Amazon Resource Name (ARN) of the network. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'networkSummary_creationDate' - The date and time that the network was created.+--+-- 'description', 'networkSummary_description' - An optional description of the network.+--+-- 'framework', 'networkSummary_framework' - The blockchain framework that the network uses.+--+-- 'frameworkVersion', 'networkSummary_frameworkVersion' - The version of the blockchain framework that the network uses.+--+-- 'id', 'networkSummary_id' - The unique identifier of the network.+--+-- 'name', 'networkSummary_name' - The name of the network.+--+-- 'status', 'networkSummary_status' - The current status of the network.+newNetworkSummary ::+ NetworkSummary+newNetworkSummary =+ NetworkSummary'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ framework = Prelude.Nothing,+ frameworkVersion = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the network. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+networkSummary_arn :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.Text)+networkSummary_arn = Lens.lens (\NetworkSummary' {arn} -> arn) (\s@NetworkSummary' {} a -> s {arn = a} :: NetworkSummary)++-- | The date and time that the network was created.+networkSummary_creationDate :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.UTCTime)+networkSummary_creationDate = Lens.lens (\NetworkSummary' {creationDate} -> creationDate) (\s@NetworkSummary' {} a -> s {creationDate = a} :: NetworkSummary) Prelude.. Lens.mapping Data._Time++-- | An optional description of the network.+networkSummary_description :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.Text)+networkSummary_description = Lens.lens (\NetworkSummary' {description} -> description) (\s@NetworkSummary' {} a -> s {description = a} :: NetworkSummary)++-- | The blockchain framework that the network uses.+networkSummary_framework :: Lens.Lens' NetworkSummary (Prelude.Maybe Framework)+networkSummary_framework = Lens.lens (\NetworkSummary' {framework} -> framework) (\s@NetworkSummary' {} a -> s {framework = a} :: NetworkSummary)++-- | The version of the blockchain framework that the network uses.+networkSummary_frameworkVersion :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.Text)+networkSummary_frameworkVersion = Lens.lens (\NetworkSummary' {frameworkVersion} -> frameworkVersion) (\s@NetworkSummary' {} a -> s {frameworkVersion = a} :: NetworkSummary)++-- | The unique identifier of the network.+networkSummary_id :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.Text)+networkSummary_id = Lens.lens (\NetworkSummary' {id} -> id) (\s@NetworkSummary' {} a -> s {id = a} :: NetworkSummary)++-- | The name of the network.+networkSummary_name :: Lens.Lens' NetworkSummary (Prelude.Maybe Prelude.Text)+networkSummary_name = Lens.lens (\NetworkSummary' {name} -> name) (\s@NetworkSummary' {} a -> s {name = a} :: NetworkSummary)++-- | The current status of the network.+networkSummary_status :: Lens.Lens' NetworkSummary (Prelude.Maybe NetworkStatus)+networkSummary_status = Lens.lens (\NetworkSummary' {status} -> status) (\s@NetworkSummary' {} a -> s {status = a} :: NetworkSummary)++instance Data.FromJSON NetworkSummary where+ parseJSON =+ Data.withObject+ "NetworkSummary"+ ( \x ->+ NetworkSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Framework")+ Prelude.<*> (x Data..:? "FrameworkVersion")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable NetworkSummary where+ hashWithSalt _salt NetworkSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` framework+ `Prelude.hashWithSalt` frameworkVersion+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData NetworkSummary where+ rnf NetworkSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf framework+ `Prelude.seq` Prelude.rnf frameworkVersion+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ManagedBlockChain/Types/Node.hs view
@@ -0,0 +1,400 @@+{-# 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.ManagedBlockChain.Types.Node+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Node where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NodeFrameworkAttributes+import Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.NodeStatus+import Amazonka.ManagedBlockChain.Types.StateDBType+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties of a node.+--+-- /See:/ 'newNode' smart constructor.+data Node = Node'+ { -- | The Amazon Resource Name (ARN) of the node. For more information about+ -- ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Availability Zone in which the node exists. Required for Ethereum+ -- nodes.+ availabilityZone :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the node was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | Attributes of the blockchain framework being used.+ frameworkAttributes :: Prelude.Maybe NodeFrameworkAttributes,+ -- | The unique identifier of the node.+ id :: Prelude.Maybe Prelude.Text,+ -- | The instance type of the node.+ instanceType :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the customer managed key in Key+ -- Management Service (KMS) that the node uses for encryption at rest. If+ -- the value of this parameter is @\"AWS Owned KMS Key\"@, the node uses an+ -- Amazon Web Services owned KMS key for encryption. The node inherits this+ -- parameter from the member that it belongs to.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ --+ -- Applies only to Hyperledger Fabric.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | Configuration properties for logging events associated with a peer node+ -- on a Hyperledger Fabric network on Managed Blockchain.+ logPublishingConfiguration :: Prelude.Maybe NodeLogPublishingConfiguration,+ -- | The unique identifier of the member to which the node belongs.+ --+ -- Applies only to Hyperledger Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network that the node is on.+ networkId :: Prelude.Maybe Prelude.Text,+ -- | The state database that the node uses. Values are @LevelDB@ or+ -- @CouchDB@.+ --+ -- Applies only to Hyperledger Fabric.+ stateDB :: Prelude.Maybe StateDBType,+ -- | The status of the node.+ --+ -- - @CREATING@ - The Amazon Web Services account is in the process of+ -- creating a node.+ --+ -- - @AVAILABLE@ - The node has been created and can participate in the+ -- network.+ --+ -- - @UNHEALTHY@ - The node is impaired and might not function as+ -- expected. Amazon Managed Blockchain automatically finds nodes in+ -- this state and tries to recover them. If a node is recoverable, it+ -- returns to @AVAILABLE@. Otherwise, it moves to @FAILED@ status.+ --+ -- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+ -- create a node and creation failed.+ --+ -- - @UPDATING@ - The node is in the process of being updated.+ --+ -- - @DELETING@ - The node is in the process of being deleted.+ --+ -- - @DELETED@ - The node can no longer participate on the network.+ --+ -- - @FAILED@ - The node is no longer functional, cannot be recovered,+ -- and must be deleted.+ --+ -- - @INACCESSIBLE_ENCRYPTION_KEY@ - The node is impaired and might not+ -- function as expected because it cannot access the specified customer+ -- managed key in KMS for encryption at rest. Either the KMS key was+ -- disabled or deleted, or the grants on the key were revoked.+ --+ -- The effect of disabling or deleting a key or of revoking a grant+ -- isn\'t immediate. It might take some time for the node resource to+ -- discover that the key is inaccessible. When a resource is in this+ -- state, we recommend deleting and recreating the resource.+ status :: Prelude.Maybe NodeStatus,+ -- | Tags assigned to the node. Each tag consists of a key and optional+ -- value.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Node' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'node_arn' - The Amazon Resource Name (ARN) of the node. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'availabilityZone', 'node_availabilityZone' - The Availability Zone in which the node exists. Required for Ethereum+-- nodes.+--+-- 'creationDate', 'node_creationDate' - The date and time that the node was created.+--+-- 'frameworkAttributes', 'node_frameworkAttributes' - Attributes of the blockchain framework being used.+--+-- 'id', 'node_id' - The unique identifier of the node.+--+-- 'instanceType', 'node_instanceType' - The instance type of the node.+--+-- 'kmsKeyArn', 'node_kmsKeyArn' - The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) that the node uses for encryption at rest. If+-- the value of this parameter is @\"AWS Owned KMS Key\"@, the node uses an+-- Amazon Web Services owned KMS key for encryption. The node inherits this+-- parameter from the member that it belongs to.+--+-- For more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- Applies only to Hyperledger Fabric.+--+-- 'logPublishingConfiguration', 'node_logPublishingConfiguration' - Configuration properties for logging events associated with a peer node+-- on a Hyperledger Fabric network on Managed Blockchain.+--+-- 'memberId', 'node_memberId' - The unique identifier of the member to which the node belongs.+--+-- Applies only to Hyperledger Fabric.+--+-- 'networkId', 'node_networkId' - The unique identifier of the network that the node is on.+--+-- 'stateDB', 'node_stateDB' - The state database that the node uses. Values are @LevelDB@ or+-- @CouchDB@.+--+-- Applies only to Hyperledger Fabric.+--+-- 'status', 'node_status' - The status of the node.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a node.+--+-- - @AVAILABLE@ - The node has been created and can participate in the+-- network.+--+-- - @UNHEALTHY@ - The node is impaired and might not function as+-- expected. Amazon Managed Blockchain automatically finds nodes in+-- this state and tries to recover them. If a node is recoverable, it+-- returns to @AVAILABLE@. Otherwise, it moves to @FAILED@ status.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a node and creation failed.+--+-- - @UPDATING@ - The node is in the process of being updated.+--+-- - @DELETING@ - The node is in the process of being deleted.+--+-- - @DELETED@ - The node can no longer participate on the network.+--+-- - @FAILED@ - The node is no longer functional, cannot be recovered,+-- and must be deleted.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The node is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in KMS for encryption at rest. Either the KMS key was+-- disabled or deleted, or the grants on the key were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the node resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+--+-- 'tags', 'node_tags' - Tags assigned to the node. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+newNode ::+ Node+newNode =+ Node'+ { arn = Prelude.Nothing,+ availabilityZone = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ frameworkAttributes = Prelude.Nothing,+ id = Prelude.Nothing,+ instanceType = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ logPublishingConfiguration = Prelude.Nothing,+ memberId = Prelude.Nothing,+ networkId = Prelude.Nothing,+ stateDB = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the node. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+node_arn :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_arn = Lens.lens (\Node' {arn} -> arn) (\s@Node' {} a -> s {arn = a} :: Node)++-- | The Availability Zone in which the node exists. Required for Ethereum+-- nodes.+node_availabilityZone :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_availabilityZone = Lens.lens (\Node' {availabilityZone} -> availabilityZone) (\s@Node' {} a -> s {availabilityZone = a} :: Node)++-- | The date and time that the node was created.+node_creationDate :: Lens.Lens' Node (Prelude.Maybe Prelude.UTCTime)+node_creationDate = Lens.lens (\Node' {creationDate} -> creationDate) (\s@Node' {} a -> s {creationDate = a} :: Node) Prelude.. Lens.mapping Data._Time++-- | Attributes of the blockchain framework being used.+node_frameworkAttributes :: Lens.Lens' Node (Prelude.Maybe NodeFrameworkAttributes)+node_frameworkAttributes = Lens.lens (\Node' {frameworkAttributes} -> frameworkAttributes) (\s@Node' {} a -> s {frameworkAttributes = a} :: Node)++-- | The unique identifier of the node.+node_id :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_id = Lens.lens (\Node' {id} -> id) (\s@Node' {} a -> s {id = a} :: Node)++-- | The instance type of the node.+node_instanceType :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_instanceType = Lens.lens (\Node' {instanceType} -> instanceType) (\s@Node' {} a -> s {instanceType = a} :: Node)++-- | The Amazon Resource Name (ARN) of the customer managed key in Key+-- Management Service (KMS) that the node uses for encryption at rest. If+-- the value of this parameter is @\"AWS Owned KMS Key\"@, the node uses an+-- Amazon Web Services owned KMS key for encryption. The node inherits this+-- parameter from the member that it belongs to.+--+-- For more information, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-encryption-at-rest.html Encryption at Rest>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- Applies only to Hyperledger Fabric.+node_kmsKeyArn :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_kmsKeyArn = Lens.lens (\Node' {kmsKeyArn} -> kmsKeyArn) (\s@Node' {} a -> s {kmsKeyArn = a} :: Node)++-- | Configuration properties for logging events associated with a peer node+-- on a Hyperledger Fabric network on Managed Blockchain.+node_logPublishingConfiguration :: Lens.Lens' Node (Prelude.Maybe NodeLogPublishingConfiguration)+node_logPublishingConfiguration = Lens.lens (\Node' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@Node' {} a -> s {logPublishingConfiguration = a} :: Node)++-- | The unique identifier of the member to which the node belongs.+--+-- Applies only to Hyperledger Fabric.+node_memberId :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_memberId = Lens.lens (\Node' {memberId} -> memberId) (\s@Node' {} a -> s {memberId = a} :: Node)++-- | The unique identifier of the network that the node is on.+node_networkId :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_networkId = Lens.lens (\Node' {networkId} -> networkId) (\s@Node' {} a -> s {networkId = a} :: Node)++-- | The state database that the node uses. Values are @LevelDB@ or+-- @CouchDB@.+--+-- Applies only to Hyperledger Fabric.+node_stateDB :: Lens.Lens' Node (Prelude.Maybe StateDBType)+node_stateDB = Lens.lens (\Node' {stateDB} -> stateDB) (\s@Node' {} a -> s {stateDB = a} :: Node)++-- | The status of the node.+--+-- - @CREATING@ - The Amazon Web Services account is in the process of+-- creating a node.+--+-- - @AVAILABLE@ - The node has been created and can participate in the+-- network.+--+-- - @UNHEALTHY@ - The node is impaired and might not function as+-- expected. Amazon Managed Blockchain automatically finds nodes in+-- this state and tries to recover them. If a node is recoverable, it+-- returns to @AVAILABLE@. Otherwise, it moves to @FAILED@ status.+--+-- - @CREATE_FAILED@ - The Amazon Web Services account attempted to+-- create a node and creation failed.+--+-- - @UPDATING@ - The node is in the process of being updated.+--+-- - @DELETING@ - The node is in the process of being deleted.+--+-- - @DELETED@ - The node can no longer participate on the network.+--+-- - @FAILED@ - The node is no longer functional, cannot be recovered,+-- and must be deleted.+--+-- - @INACCESSIBLE_ENCRYPTION_KEY@ - The node is impaired and might not+-- function as expected because it cannot access the specified customer+-- managed key in KMS for encryption at rest. Either the KMS key was+-- disabled or deleted, or the grants on the key were revoked.+--+-- The effect of disabling or deleting a key or of revoking a grant+-- isn\'t immediate. It might take some time for the node resource to+-- discover that the key is inaccessible. When a resource is in this+-- state, we recommend deleting and recreating the resource.+node_status :: Lens.Lens' Node (Prelude.Maybe NodeStatus)+node_status = Lens.lens (\Node' {status} -> status) (\s@Node' {} a -> s {status = a} :: Node)++-- | Tags assigned to the node. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+node_tags :: Lens.Lens' Node (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+node_tags = Lens.lens (\Node' {tags} -> tags) (\s@Node' {} a -> s {tags = a} :: Node) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Node where+ parseJSON =+ Data.withObject+ "Node"+ ( \x ->+ Node'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "AvailabilityZone")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "FrameworkAttributes")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "InstanceType")+ Prelude.<*> (x Data..:? "KmsKeyArn")+ Prelude.<*> (x Data..:? "LogPublishingConfiguration")+ Prelude.<*> (x Data..:? "MemberId")+ Prelude.<*> (x Data..:? "NetworkId")+ Prelude.<*> (x Data..:? "StateDB")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Node where+ hashWithSalt _salt Node' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` frameworkAttributes+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` instanceType+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` stateDB+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags++instance Prelude.NFData Node where+ rnf Node' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf frameworkAttributes+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf instanceType+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf stateDB+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/ManagedBlockChain/Types/NodeConfiguration.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NodeConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+import Amazonka.ManagedBlockChain.Types.StateDBType+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties of a node.+--+-- /See:/ 'newNodeConfiguration' smart constructor.+data NodeConfiguration = NodeConfiguration'+ { -- | The Availability Zone in which the node exists. Required for Ethereum+ -- nodes.+ availabilityZone :: Prelude.Maybe Prelude.Text,+ -- | Configuration properties for logging events associated with a peer node+ -- on a Hyperledger Fabric network on Managed Blockchain.+ logPublishingConfiguration :: Prelude.Maybe NodeLogPublishingConfiguration,+ -- | The state database that the node uses. Values are @LevelDB@ or+ -- @CouchDB@. When using an Amazon Managed Blockchain network with+ -- Hyperledger Fabric version 1.4 or later, the default is @CouchDB@.+ --+ -- Applies only to Hyperledger Fabric.+ stateDB :: Prelude.Maybe StateDBType,+ -- | The Amazon Managed Blockchain instance type for the node.+ instanceType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'nodeConfiguration_availabilityZone' - The Availability Zone in which the node exists. Required for Ethereum+-- nodes.+--+-- 'logPublishingConfiguration', 'nodeConfiguration_logPublishingConfiguration' - Configuration properties for logging events associated with a peer node+-- on a Hyperledger Fabric network on Managed Blockchain.+--+-- 'stateDB', 'nodeConfiguration_stateDB' - The state database that the node uses. Values are @LevelDB@ or+-- @CouchDB@. When using an Amazon Managed Blockchain network with+-- Hyperledger Fabric version 1.4 or later, the default is @CouchDB@.+--+-- Applies only to Hyperledger Fabric.+--+-- 'instanceType', 'nodeConfiguration_instanceType' - The Amazon Managed Blockchain instance type for the node.+newNodeConfiguration ::+ -- | 'instanceType'+ Prelude.Text ->+ NodeConfiguration+newNodeConfiguration pInstanceType_ =+ NodeConfiguration'+ { availabilityZone =+ Prelude.Nothing,+ logPublishingConfiguration = Prelude.Nothing,+ stateDB = Prelude.Nothing,+ instanceType = pInstanceType_+ }++-- | The Availability Zone in which the node exists. Required for Ethereum+-- nodes.+nodeConfiguration_availabilityZone :: Lens.Lens' NodeConfiguration (Prelude.Maybe Prelude.Text)+nodeConfiguration_availabilityZone = Lens.lens (\NodeConfiguration' {availabilityZone} -> availabilityZone) (\s@NodeConfiguration' {} a -> s {availabilityZone = a} :: NodeConfiguration)++-- | Configuration properties for logging events associated with a peer node+-- on a Hyperledger Fabric network on Managed Blockchain.+nodeConfiguration_logPublishingConfiguration :: Lens.Lens' NodeConfiguration (Prelude.Maybe NodeLogPublishingConfiguration)+nodeConfiguration_logPublishingConfiguration = Lens.lens (\NodeConfiguration' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@NodeConfiguration' {} a -> s {logPublishingConfiguration = a} :: NodeConfiguration)++-- | The state database that the node uses. Values are @LevelDB@ or+-- @CouchDB@. When using an Amazon Managed Blockchain network with+-- Hyperledger Fabric version 1.4 or later, the default is @CouchDB@.+--+-- Applies only to Hyperledger Fabric.+nodeConfiguration_stateDB :: Lens.Lens' NodeConfiguration (Prelude.Maybe StateDBType)+nodeConfiguration_stateDB = Lens.lens (\NodeConfiguration' {stateDB} -> stateDB) (\s@NodeConfiguration' {} a -> s {stateDB = a} :: NodeConfiguration)++-- | The Amazon Managed Blockchain instance type for the node.+nodeConfiguration_instanceType :: Lens.Lens' NodeConfiguration Prelude.Text+nodeConfiguration_instanceType = Lens.lens (\NodeConfiguration' {instanceType} -> instanceType) (\s@NodeConfiguration' {} a -> s {instanceType = a} :: NodeConfiguration)++instance Prelude.Hashable NodeConfiguration where+ hashWithSalt _salt NodeConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` stateDB+ `Prelude.hashWithSalt` instanceType++instance Prelude.NFData NodeConfiguration where+ rnf NodeConfiguration' {..} =+ Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf stateDB+ `Prelude.seq` Prelude.rnf instanceType++instance Data.ToJSON NodeConfiguration where+ toJSON NodeConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AvailabilityZone" Data..=)+ Prelude.<$> availabilityZone,+ ("LogPublishingConfiguration" Data..=)+ Prelude.<$> logPublishingConfiguration,+ ("StateDB" Data..=) Prelude.<$> stateDB,+ Prelude.Just ("InstanceType" Data..= instanceType)+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/NodeEthereumAttributes.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes 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++-- | Attributes of an Ethereum node.+--+-- /See:/ 'newNodeEthereumAttributes' smart constructor.+data NodeEthereumAttributes = NodeEthereumAttributes'+ { -- | The endpoint on which the Ethereum node listens to run Ethereum API+ -- methods over HTTP connections from a client. Use this endpoint in client+ -- code for smart contracts when using an HTTP connection. Connections to+ -- this endpoint are authenticated using+ -- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+ httpEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC+ -- methods over WebSocket connections from a client. Use this endpoint in+ -- client code for smart contracts when using a WebSocket connection.+ -- Connections to this endpoint are authenticated using+ -- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+ webSocketEndpoint :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeEthereumAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpEndpoint', 'nodeEthereumAttributes_httpEndpoint' - The endpoint on which the Ethereum node listens to run Ethereum API+-- methods over HTTP connections from a client. Use this endpoint in client+-- code for smart contracts when using an HTTP connection. Connections to+-- this endpoint are authenticated using+-- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+--+-- 'webSocketEndpoint', 'nodeEthereumAttributes_webSocketEndpoint' - The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC+-- methods over WebSocket connections from a client. Use this endpoint in+-- client code for smart contracts when using a WebSocket connection.+-- Connections to this endpoint are authenticated using+-- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+newNodeEthereumAttributes ::+ NodeEthereumAttributes+newNodeEthereumAttributes =+ NodeEthereumAttributes'+ { httpEndpoint =+ Prelude.Nothing,+ webSocketEndpoint = Prelude.Nothing+ }++-- | The endpoint on which the Ethereum node listens to run Ethereum API+-- methods over HTTP connections from a client. Use this endpoint in client+-- code for smart contracts when using an HTTP connection. Connections to+-- this endpoint are authenticated using+-- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+nodeEthereumAttributes_httpEndpoint :: Lens.Lens' NodeEthereumAttributes (Prelude.Maybe Prelude.Text)+nodeEthereumAttributes_httpEndpoint = Lens.lens (\NodeEthereumAttributes' {httpEndpoint} -> httpEndpoint) (\s@NodeEthereumAttributes' {} a -> s {httpEndpoint = a} :: NodeEthereumAttributes)++-- | The endpoint on which the Ethereum node listens to run Ethereum JSON-RPC+-- methods over WebSocket connections from a client. Use this endpoint in+-- client code for smart contracts when using a WebSocket connection.+-- Connections to this endpoint are authenticated using+-- <https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Signature Version 4>.+nodeEthereumAttributes_webSocketEndpoint :: Lens.Lens' NodeEthereumAttributes (Prelude.Maybe Prelude.Text)+nodeEthereumAttributes_webSocketEndpoint = Lens.lens (\NodeEthereumAttributes' {webSocketEndpoint} -> webSocketEndpoint) (\s@NodeEthereumAttributes' {} a -> s {webSocketEndpoint = a} :: NodeEthereumAttributes)++instance Data.FromJSON NodeEthereumAttributes where+ parseJSON =+ Data.withObject+ "NodeEthereumAttributes"+ ( \x ->+ NodeEthereumAttributes'+ Prelude.<$> (x Data..:? "HttpEndpoint")+ Prelude.<*> (x Data..:? "WebSocketEndpoint")+ )++instance Prelude.Hashable NodeEthereumAttributes where+ hashWithSalt _salt NodeEthereumAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` httpEndpoint+ `Prelude.hashWithSalt` webSocketEndpoint++instance Prelude.NFData NodeEthereumAttributes where+ rnf NodeEthereumAttributes' {..} =+ Prelude.rnf httpEndpoint+ `Prelude.seq` Prelude.rnf webSocketEndpoint
+ gen/Amazonka/ManagedBlockChain/Types/NodeFabricAttributes.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NodeFabricAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeFabricAttributes 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++-- | Attributes of Hyperledger Fabric for a peer node on a Hyperledger Fabric+-- network on Managed Blockchain.+--+-- /See:/ 'newNodeFabricAttributes' smart constructor.+data NodeFabricAttributes = NodeFabricAttributes'+ { -- | The endpoint that identifies the peer node for all services except peer+ -- channel-based event services.+ peerEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The endpoint that identifies the peer node for peer channel-based event+ -- services.+ peerEventEndpoint :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeFabricAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peerEndpoint', 'nodeFabricAttributes_peerEndpoint' - The endpoint that identifies the peer node for all services except peer+-- channel-based event services.+--+-- 'peerEventEndpoint', 'nodeFabricAttributes_peerEventEndpoint' - The endpoint that identifies the peer node for peer channel-based event+-- services.+newNodeFabricAttributes ::+ NodeFabricAttributes+newNodeFabricAttributes =+ NodeFabricAttributes'+ { peerEndpoint =+ Prelude.Nothing,+ peerEventEndpoint = Prelude.Nothing+ }++-- | The endpoint that identifies the peer node for all services except peer+-- channel-based event services.+nodeFabricAttributes_peerEndpoint :: Lens.Lens' NodeFabricAttributes (Prelude.Maybe Prelude.Text)+nodeFabricAttributes_peerEndpoint = Lens.lens (\NodeFabricAttributes' {peerEndpoint} -> peerEndpoint) (\s@NodeFabricAttributes' {} a -> s {peerEndpoint = a} :: NodeFabricAttributes)++-- | The endpoint that identifies the peer node for peer channel-based event+-- services.+nodeFabricAttributes_peerEventEndpoint :: Lens.Lens' NodeFabricAttributes (Prelude.Maybe Prelude.Text)+nodeFabricAttributes_peerEventEndpoint = Lens.lens (\NodeFabricAttributes' {peerEventEndpoint} -> peerEventEndpoint) (\s@NodeFabricAttributes' {} a -> s {peerEventEndpoint = a} :: NodeFabricAttributes)++instance Data.FromJSON NodeFabricAttributes where+ parseJSON =+ Data.withObject+ "NodeFabricAttributes"+ ( \x ->+ NodeFabricAttributes'+ Prelude.<$> (x Data..:? "PeerEndpoint")+ Prelude.<*> (x Data..:? "PeerEventEndpoint")+ )++instance Prelude.Hashable NodeFabricAttributes where+ hashWithSalt _salt NodeFabricAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` peerEndpoint+ `Prelude.hashWithSalt` peerEventEndpoint++instance Prelude.NFData NodeFabricAttributes where+ rnf NodeFabricAttributes' {..} =+ Prelude.rnf peerEndpoint+ `Prelude.seq` Prelude.rnf peerEventEndpoint
+ gen/Amazonka/ManagedBlockChain/Types/NodeFabricLogPublishingConfiguration.hs view
@@ -0,0 +1,131 @@+{-# 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.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.LogConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties for logging events associated with a peer node+-- owned by a member in a Managed Blockchain network.+--+-- /See:/ 'newNodeFabricLogPublishingConfiguration' smart constructor.+data NodeFabricLogPublishingConfiguration = NodeFabricLogPublishingConfiguration'+ { -- | Configuration properties for logging events associated with chaincode+ -- execution on a peer node. Chaincode logs contain the results of+ -- instantiating, invoking, and querying the chaincode. A peer can run+ -- multiple instances of chaincode. When enabled, a log stream is created+ -- for all chaincodes, with an individual log stream for each chaincode.+ chaincodeLogs :: Prelude.Maybe LogConfigurations,+ -- | Configuration properties for a peer node log. Peer node logs contain+ -- messages generated when your client submits transaction proposals to+ -- peer nodes, requests to join channels, enrolls an admin peer, and lists+ -- the chaincode instances on a peer node.+ peerLogs :: Prelude.Maybe LogConfigurations+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeFabricLogPublishingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chaincodeLogs', 'nodeFabricLogPublishingConfiguration_chaincodeLogs' - Configuration properties for logging events associated with chaincode+-- execution on a peer node. Chaincode logs contain the results of+-- instantiating, invoking, and querying the chaincode. A peer can run+-- multiple instances of chaincode. When enabled, a log stream is created+-- for all chaincodes, with an individual log stream for each chaincode.+--+-- 'peerLogs', 'nodeFabricLogPublishingConfiguration_peerLogs' - Configuration properties for a peer node log. Peer node logs contain+-- messages generated when your client submits transaction proposals to+-- peer nodes, requests to join channels, enrolls an admin peer, and lists+-- the chaincode instances on a peer node.+newNodeFabricLogPublishingConfiguration ::+ NodeFabricLogPublishingConfiguration+newNodeFabricLogPublishingConfiguration =+ NodeFabricLogPublishingConfiguration'+ { chaincodeLogs =+ Prelude.Nothing,+ peerLogs = Prelude.Nothing+ }++-- | Configuration properties for logging events associated with chaincode+-- execution on a peer node. Chaincode logs contain the results of+-- instantiating, invoking, and querying the chaincode. A peer can run+-- multiple instances of chaincode. When enabled, a log stream is created+-- for all chaincodes, with an individual log stream for each chaincode.+nodeFabricLogPublishingConfiguration_chaincodeLogs :: Lens.Lens' NodeFabricLogPublishingConfiguration (Prelude.Maybe LogConfigurations)+nodeFabricLogPublishingConfiguration_chaincodeLogs = Lens.lens (\NodeFabricLogPublishingConfiguration' {chaincodeLogs} -> chaincodeLogs) (\s@NodeFabricLogPublishingConfiguration' {} a -> s {chaincodeLogs = a} :: NodeFabricLogPublishingConfiguration)++-- | Configuration properties for a peer node log. Peer node logs contain+-- messages generated when your client submits transaction proposals to+-- peer nodes, requests to join channels, enrolls an admin peer, and lists+-- the chaincode instances on a peer node.+nodeFabricLogPublishingConfiguration_peerLogs :: Lens.Lens' NodeFabricLogPublishingConfiguration (Prelude.Maybe LogConfigurations)+nodeFabricLogPublishingConfiguration_peerLogs = Lens.lens (\NodeFabricLogPublishingConfiguration' {peerLogs} -> peerLogs) (\s@NodeFabricLogPublishingConfiguration' {} a -> s {peerLogs = a} :: NodeFabricLogPublishingConfiguration)++instance+ Data.FromJSON+ NodeFabricLogPublishingConfiguration+ where+ parseJSON =+ Data.withObject+ "NodeFabricLogPublishingConfiguration"+ ( \x ->+ NodeFabricLogPublishingConfiguration'+ Prelude.<$> (x Data..:? "ChaincodeLogs")+ Prelude.<*> (x Data..:? "PeerLogs")+ )++instance+ Prelude.Hashable+ NodeFabricLogPublishingConfiguration+ where+ hashWithSalt+ _salt+ NodeFabricLogPublishingConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` chaincodeLogs+ `Prelude.hashWithSalt` peerLogs++instance+ Prelude.NFData+ NodeFabricLogPublishingConfiguration+ where+ rnf NodeFabricLogPublishingConfiguration' {..} =+ Prelude.rnf chaincodeLogs+ `Prelude.seq` Prelude.rnf peerLogs++instance+ Data.ToJSON+ NodeFabricLogPublishingConfiguration+ where+ toJSON NodeFabricLogPublishingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ChaincodeLogs" Data..=) Prelude.<$> chaincodeLogs,+ ("PeerLogs" Data..=) Prelude.<$> peerLogs+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/NodeFrameworkAttributes.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.ManagedBlockChain.Types.NodeFrameworkAttributes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeFrameworkAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NodeEthereumAttributes+import Amazonka.ManagedBlockChain.Types.NodeFabricAttributes+import qualified Amazonka.Prelude as Prelude++-- | Attributes relevant to a node on a Managed Blockchain network for the+-- blockchain framework that the network uses.+--+-- /See:/ 'newNodeFrameworkAttributes' smart constructor.+data NodeFrameworkAttributes = NodeFrameworkAttributes'+ { -- | Attributes of Ethereum for a node on a Managed Blockchain network that+ -- uses Ethereum.+ ethereum :: Prelude.Maybe NodeEthereumAttributes,+ -- | Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain+ -- network that uses Hyperledger Fabric.+ fabric :: Prelude.Maybe NodeFabricAttributes+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeFrameworkAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ethereum', 'nodeFrameworkAttributes_ethereum' - Attributes of Ethereum for a node on a Managed Blockchain network that+-- uses Ethereum.+--+-- 'fabric', 'nodeFrameworkAttributes_fabric' - Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain+-- network that uses Hyperledger Fabric.+newNodeFrameworkAttributes ::+ NodeFrameworkAttributes+newNodeFrameworkAttributes =+ NodeFrameworkAttributes'+ { ethereum =+ Prelude.Nothing,+ fabric = Prelude.Nothing+ }++-- | Attributes of Ethereum for a node on a Managed Blockchain network that+-- uses Ethereum.+nodeFrameworkAttributes_ethereum :: Lens.Lens' NodeFrameworkAttributes (Prelude.Maybe NodeEthereumAttributes)+nodeFrameworkAttributes_ethereum = Lens.lens (\NodeFrameworkAttributes' {ethereum} -> ethereum) (\s@NodeFrameworkAttributes' {} a -> s {ethereum = a} :: NodeFrameworkAttributes)++-- | Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain+-- network that uses Hyperledger Fabric.+nodeFrameworkAttributes_fabric :: Lens.Lens' NodeFrameworkAttributes (Prelude.Maybe NodeFabricAttributes)+nodeFrameworkAttributes_fabric = Lens.lens (\NodeFrameworkAttributes' {fabric} -> fabric) (\s@NodeFrameworkAttributes' {} a -> s {fabric = a} :: NodeFrameworkAttributes)++instance Data.FromJSON NodeFrameworkAttributes where+ parseJSON =+ Data.withObject+ "NodeFrameworkAttributes"+ ( \x ->+ NodeFrameworkAttributes'+ Prelude.<$> (x Data..:? "Ethereum")+ Prelude.<*> (x Data..:? "Fabric")+ )++instance Prelude.Hashable NodeFrameworkAttributes where+ hashWithSalt _salt NodeFrameworkAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` ethereum+ `Prelude.hashWithSalt` fabric++instance Prelude.NFData NodeFrameworkAttributes where+ rnf NodeFrameworkAttributes' {..} =+ Prelude.rnf ethereum+ `Prelude.seq` Prelude.rnf fabric
+ gen/Amazonka/ManagedBlockChain/Types/NodeLogPublishingConfiguration.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeLogPublishingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NodeFabricLogPublishingConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration properties for logging events associated with a peer node+-- on a Hyperledger Fabric network on Managed Blockchain.+--+-- /See:/ 'newNodeLogPublishingConfiguration' smart constructor.+data NodeLogPublishingConfiguration = NodeLogPublishingConfiguration'+ { -- | Configuration properties for logging events associated with a node that+ -- is owned by a member of a Managed Blockchain network using the+ -- Hyperledger Fabric framework.+ fabric :: Prelude.Maybe NodeFabricLogPublishingConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeLogPublishingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fabric', 'nodeLogPublishingConfiguration_fabric' - Configuration properties for logging events associated with a node that+-- is owned by a member of a Managed Blockchain network using the+-- Hyperledger Fabric framework.+newNodeLogPublishingConfiguration ::+ NodeLogPublishingConfiguration+newNodeLogPublishingConfiguration =+ NodeLogPublishingConfiguration'+ { fabric =+ Prelude.Nothing+ }++-- | Configuration properties for logging events associated with a node that+-- is owned by a member of a Managed Blockchain network using the+-- Hyperledger Fabric framework.+nodeLogPublishingConfiguration_fabric :: Lens.Lens' NodeLogPublishingConfiguration (Prelude.Maybe NodeFabricLogPublishingConfiguration)+nodeLogPublishingConfiguration_fabric = Lens.lens (\NodeLogPublishingConfiguration' {fabric} -> fabric) (\s@NodeLogPublishingConfiguration' {} a -> s {fabric = a} :: NodeLogPublishingConfiguration)++instance Data.FromJSON NodeLogPublishingConfiguration where+ parseJSON =+ Data.withObject+ "NodeLogPublishingConfiguration"+ ( \x ->+ NodeLogPublishingConfiguration'+ Prelude.<$> (x Data..:? "Fabric")+ )++instance+ Prelude.Hashable+ NodeLogPublishingConfiguration+ where+ hashWithSalt+ _salt+ NodeLogPublishingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` fabric++instance+ Prelude.NFData+ NodeLogPublishingConfiguration+ where+ rnf NodeLogPublishingConfiguration' {..} =+ Prelude.rnf fabric++instance Data.ToJSON NodeLogPublishingConfiguration where+ toJSON NodeLogPublishingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Fabric" Data..=) Prelude.<$> fabric]+ )
+ gen/Amazonka/ManagedBlockChain/Types/NodeStatus.hs view
@@ -0,0 +1,106 @@+{-# 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.ManagedBlockChain.Types.NodeStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeStatus+ ( NodeStatus+ ( ..,+ NodeStatus_AVAILABLE,+ NodeStatus_CREATE_FAILED,+ NodeStatus_CREATING,+ NodeStatus_DELETED,+ NodeStatus_DELETING,+ NodeStatus_FAILED,+ NodeStatus_INACCESSIBLE_ENCRYPTION_KEY,+ NodeStatus_UNHEALTHY,+ NodeStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeStatus = NodeStatus'+ { fromNodeStatus ::+ 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 NodeStatus_AVAILABLE :: NodeStatus+pattern NodeStatus_AVAILABLE = NodeStatus' "AVAILABLE"++pattern NodeStatus_CREATE_FAILED :: NodeStatus+pattern NodeStatus_CREATE_FAILED = NodeStatus' "CREATE_FAILED"++pattern NodeStatus_CREATING :: NodeStatus+pattern NodeStatus_CREATING = NodeStatus' "CREATING"++pattern NodeStatus_DELETED :: NodeStatus+pattern NodeStatus_DELETED = NodeStatus' "DELETED"++pattern NodeStatus_DELETING :: NodeStatus+pattern NodeStatus_DELETING = NodeStatus' "DELETING"++pattern NodeStatus_FAILED :: NodeStatus+pattern NodeStatus_FAILED = NodeStatus' "FAILED"++pattern NodeStatus_INACCESSIBLE_ENCRYPTION_KEY :: NodeStatus+pattern NodeStatus_INACCESSIBLE_ENCRYPTION_KEY = NodeStatus' "INACCESSIBLE_ENCRYPTION_KEY"++pattern NodeStatus_UNHEALTHY :: NodeStatus+pattern NodeStatus_UNHEALTHY = NodeStatus' "UNHEALTHY"++pattern NodeStatus_UPDATING :: NodeStatus+pattern NodeStatus_UPDATING = NodeStatus' "UPDATING"++{-# COMPLETE+ NodeStatus_AVAILABLE,+ NodeStatus_CREATE_FAILED,+ NodeStatus_CREATING,+ NodeStatus_DELETED,+ NodeStatus_DELETING,+ NodeStatus_FAILED,+ NodeStatus_INACCESSIBLE_ENCRYPTION_KEY,+ NodeStatus_UNHEALTHY,+ NodeStatus_UPDATING,+ NodeStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/NodeSummary.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.NodeSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.NodeSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.NodeStatus+import qualified Amazonka.Prelude as Prelude++-- | A summary of configuration properties for a node.+--+-- /See:/ 'newNodeSummary' smart constructor.+data NodeSummary = NodeSummary'+ { -- | The Amazon Resource Name (ARN) of the node. For more information about+ -- ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Availability Zone in which the node exists.+ availabilityZone :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the node was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier of the node.+ id :: Prelude.Maybe Prelude.Text,+ -- | The EC2 instance type for the node.+ instanceType :: Prelude.Maybe Prelude.Text,+ -- | The status of the node.+ status :: Prelude.Maybe NodeStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'nodeSummary_arn' - The Amazon Resource Name (ARN) of the node. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'availabilityZone', 'nodeSummary_availabilityZone' - The Availability Zone in which the node exists.+--+-- 'creationDate', 'nodeSummary_creationDate' - The date and time that the node was created.+--+-- 'id', 'nodeSummary_id' - The unique identifier of the node.+--+-- 'instanceType', 'nodeSummary_instanceType' - The EC2 instance type for the node.+--+-- 'status', 'nodeSummary_status' - The status of the node.+newNodeSummary ::+ NodeSummary+newNodeSummary =+ NodeSummary'+ { arn = Prelude.Nothing,+ availabilityZone = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ id = Prelude.Nothing,+ instanceType = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the node. For more information about+-- ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+nodeSummary_arn :: Lens.Lens' NodeSummary (Prelude.Maybe Prelude.Text)+nodeSummary_arn = Lens.lens (\NodeSummary' {arn} -> arn) (\s@NodeSummary' {} a -> s {arn = a} :: NodeSummary)++-- | The Availability Zone in which the node exists.+nodeSummary_availabilityZone :: Lens.Lens' NodeSummary (Prelude.Maybe Prelude.Text)+nodeSummary_availabilityZone = Lens.lens (\NodeSummary' {availabilityZone} -> availabilityZone) (\s@NodeSummary' {} a -> s {availabilityZone = a} :: NodeSummary)++-- | The date and time that the node was created.+nodeSummary_creationDate :: Lens.Lens' NodeSummary (Prelude.Maybe Prelude.UTCTime)+nodeSummary_creationDate = Lens.lens (\NodeSummary' {creationDate} -> creationDate) (\s@NodeSummary' {} a -> s {creationDate = a} :: NodeSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the node.+nodeSummary_id :: Lens.Lens' NodeSummary (Prelude.Maybe Prelude.Text)+nodeSummary_id = Lens.lens (\NodeSummary' {id} -> id) (\s@NodeSummary' {} a -> s {id = a} :: NodeSummary)++-- | The EC2 instance type for the node.+nodeSummary_instanceType :: Lens.Lens' NodeSummary (Prelude.Maybe Prelude.Text)+nodeSummary_instanceType = Lens.lens (\NodeSummary' {instanceType} -> instanceType) (\s@NodeSummary' {} a -> s {instanceType = a} :: NodeSummary)++-- | The status of the node.+nodeSummary_status :: Lens.Lens' NodeSummary (Prelude.Maybe NodeStatus)+nodeSummary_status = Lens.lens (\NodeSummary' {status} -> status) (\s@NodeSummary' {} a -> s {status = a} :: NodeSummary)++instance Data.FromJSON NodeSummary where+ parseJSON =+ Data.withObject+ "NodeSummary"+ ( \x ->+ NodeSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "AvailabilityZone")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "InstanceType")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable NodeSummary where+ hashWithSalt _salt NodeSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` instanceType+ `Prelude.hashWithSalt` status++instance Prelude.NFData NodeSummary where+ rnf NodeSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf instanceType+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ManagedBlockChain/Types/Proposal.hs view
@@ -0,0 +1,337 @@+{-# 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.ManagedBlockChain.Types.Proposal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.Proposal where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.ProposalActions+import Amazonka.ManagedBlockChain.Types.ProposalStatus+import qualified Amazonka.Prelude as Prelude++-- | Properties of a proposal on a Managed Blockchain network.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newProposal' smart constructor.+data Proposal = Proposal'+ { -- | The actions to perform on the network if the proposal is @APPROVED@.+ actions :: Prelude.Maybe ProposalActions,+ -- | The Amazon Resource Name (ARN) of the proposal. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the proposal was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The description of the proposal.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the proposal expires. This is the @CreationDate@+ -- plus the @ProposalDurationInHours@ that is specified in the+ -- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+ -- cast enough votes to determine the outcome according to the voting+ -- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+ expirationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier of the network for which the proposal is made.+ networkId :: Prelude.Maybe Prelude.Text,+ -- | The current total of @NO@ votes cast on the proposal by members.+ noVoteCount :: Prelude.Maybe Prelude.Int,+ -- | The number of votes remaining to be cast on the proposal by members. In+ -- other words, the number of members minus the sum of @YES@ votes and @NO@+ -- votes.+ outstandingVoteCount :: Prelude.Maybe Prelude.Int,+ -- | The unique identifier of the proposal.+ proposalId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the member that created the proposal.+ proposedByMemberId :: Prelude.Maybe Prelude.Text,+ -- | The name of the member that created the proposal.+ proposedByMemberName :: Prelude.Maybe Prelude.Text,+ -- | The status of the proposal. Values are as follows:+ --+ -- - @IN_PROGRESS@ - The proposal is active and open for member voting.+ --+ -- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+ -- among members according to the @VotingPolicy@ specified for the+ -- @Network@. The specified proposal actions are carried out.+ --+ -- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+ -- among members according to the @VotingPolicy@ specified for the+ -- @Network@. The specified @ProposalActions@ aren\'t carried out.+ --+ -- - @EXPIRED@ - Members didn\'t cast the number of votes required to+ -- determine the proposal outcome before the proposal expired. The+ -- specified @ProposalActions@ aren\'t carried out.+ --+ -- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+ -- a proposal that was approved couldn\'t be completed because of an+ -- error. The @ACTION_FAILED@ status occurs even if only one+ -- ProposalAction fails and other actions are successful.+ status :: Prelude.Maybe ProposalStatus,+ -- | Tags assigned to the proposal. Each tag consists of a key and optional+ -- value.+ --+ -- For more information about tags, see+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+ -- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+ -- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The current total of @YES@ votes cast on the proposal by members.+ yesVoteCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Proposal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'proposal_actions' - The actions to perform on the network if the proposal is @APPROVED@.+--+-- 'arn', 'proposal_arn' - The Amazon Resource Name (ARN) of the proposal. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'proposal_creationDate' - The date and time that the proposal was created.+--+-- 'description', 'proposal_description' - The description of the proposal.+--+-- 'expirationDate', 'proposal_expirationDate' - The date and time that the proposal expires. This is the @CreationDate@+-- plus the @ProposalDurationInHours@ that is specified in the+-- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+-- cast enough votes to determine the outcome according to the voting+-- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+--+-- 'networkId', 'proposal_networkId' - The unique identifier of the network for which the proposal is made.+--+-- 'noVoteCount', 'proposal_noVoteCount' - The current total of @NO@ votes cast on the proposal by members.+--+-- 'outstandingVoteCount', 'proposal_outstandingVoteCount' - The number of votes remaining to be cast on the proposal by members. In+-- other words, the number of members minus the sum of @YES@ votes and @NO@+-- votes.+--+-- 'proposalId', 'proposal_proposalId' - The unique identifier of the proposal.+--+-- 'proposedByMemberId', 'proposal_proposedByMemberId' - The unique identifier of the member that created the proposal.+--+-- 'proposedByMemberName', 'proposal_proposedByMemberName' - The name of the member that created the proposal.+--+-- 'status', 'proposal_status' - The status of the proposal. Values are as follows:+--+-- - @IN_PROGRESS@ - The proposal is active and open for member voting.+--+-- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified proposal actions are carried out.+--+-- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified @ProposalActions@ aren\'t carried out.+--+-- - @EXPIRED@ - Members didn\'t cast the number of votes required to+-- determine the proposal outcome before the proposal expired. The+-- specified @ProposalActions@ aren\'t carried out.+--+-- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+-- a proposal that was approved couldn\'t be completed because of an+-- error. The @ACTION_FAILED@ status occurs even if only one+-- ProposalAction fails and other actions are successful.+--+-- 'tags', 'proposal_tags' - Tags assigned to the proposal. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+--+-- 'yesVoteCount', 'proposal_yesVoteCount' - The current total of @YES@ votes cast on the proposal by members.+newProposal ::+ Proposal+newProposal =+ Proposal'+ { actions = Prelude.Nothing,+ arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ expirationDate = Prelude.Nothing,+ networkId = Prelude.Nothing,+ noVoteCount = Prelude.Nothing,+ outstandingVoteCount = Prelude.Nothing,+ proposalId = Prelude.Nothing,+ proposedByMemberId = Prelude.Nothing,+ proposedByMemberName = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ yesVoteCount = Prelude.Nothing+ }++-- | The actions to perform on the network if the proposal is @APPROVED@.+proposal_actions :: Lens.Lens' Proposal (Prelude.Maybe ProposalActions)+proposal_actions = Lens.lens (\Proposal' {actions} -> actions) (\s@Proposal' {} a -> s {actions = a} :: Proposal)++-- | The Amazon Resource Name (ARN) of the proposal. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+proposal_arn :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_arn = Lens.lens (\Proposal' {arn} -> arn) (\s@Proposal' {} a -> s {arn = a} :: Proposal)++-- | The date and time that the proposal was created.+proposal_creationDate :: Lens.Lens' Proposal (Prelude.Maybe Prelude.UTCTime)+proposal_creationDate = Lens.lens (\Proposal' {creationDate} -> creationDate) (\s@Proposal' {} a -> s {creationDate = a} :: Proposal) Prelude.. Lens.mapping Data._Time++-- | The description of the proposal.+proposal_description :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_description = Lens.lens (\Proposal' {description} -> description) (\s@Proposal' {} a -> s {description = a} :: Proposal)++-- | The date and time that the proposal expires. This is the @CreationDate@+-- plus the @ProposalDurationInHours@ that is specified in the+-- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+-- cast enough votes to determine the outcome according to the voting+-- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+proposal_expirationDate :: Lens.Lens' Proposal (Prelude.Maybe Prelude.UTCTime)+proposal_expirationDate = Lens.lens (\Proposal' {expirationDate} -> expirationDate) (\s@Proposal' {} a -> s {expirationDate = a} :: Proposal) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the network for which the proposal is made.+proposal_networkId :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_networkId = Lens.lens (\Proposal' {networkId} -> networkId) (\s@Proposal' {} a -> s {networkId = a} :: Proposal)++-- | The current total of @NO@ votes cast on the proposal by members.+proposal_noVoteCount :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Int)+proposal_noVoteCount = Lens.lens (\Proposal' {noVoteCount} -> noVoteCount) (\s@Proposal' {} a -> s {noVoteCount = a} :: Proposal)++-- | The number of votes remaining to be cast on the proposal by members. In+-- other words, the number of members minus the sum of @YES@ votes and @NO@+-- votes.+proposal_outstandingVoteCount :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Int)+proposal_outstandingVoteCount = Lens.lens (\Proposal' {outstandingVoteCount} -> outstandingVoteCount) (\s@Proposal' {} a -> s {outstandingVoteCount = a} :: Proposal)++-- | The unique identifier of the proposal.+proposal_proposalId :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_proposalId = Lens.lens (\Proposal' {proposalId} -> proposalId) (\s@Proposal' {} a -> s {proposalId = a} :: Proposal)++-- | The unique identifier of the member that created the proposal.+proposal_proposedByMemberId :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_proposedByMemberId = Lens.lens (\Proposal' {proposedByMemberId} -> proposedByMemberId) (\s@Proposal' {} a -> s {proposedByMemberId = a} :: Proposal)++-- | The name of the member that created the proposal.+proposal_proposedByMemberName :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Text)+proposal_proposedByMemberName = Lens.lens (\Proposal' {proposedByMemberName} -> proposedByMemberName) (\s@Proposal' {} a -> s {proposedByMemberName = a} :: Proposal)++-- | The status of the proposal. Values are as follows:+--+-- - @IN_PROGRESS@ - The proposal is active and open for member voting.+--+-- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified proposal actions are carried out.+--+-- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified @ProposalActions@ aren\'t carried out.+--+-- - @EXPIRED@ - Members didn\'t cast the number of votes required to+-- determine the proposal outcome before the proposal expired. The+-- specified @ProposalActions@ aren\'t carried out.+--+-- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+-- a proposal that was approved couldn\'t be completed because of an+-- error. The @ACTION_FAILED@ status occurs even if only one+-- ProposalAction fails and other actions are successful.+proposal_status :: Lens.Lens' Proposal (Prelude.Maybe ProposalStatus)+proposal_status = Lens.lens (\Proposal' {status} -> status) (\s@Proposal' {} a -> s {status = a} :: Proposal)++-- | Tags assigned to the proposal. Each tag consists of a key and optional+-- value.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+proposal_tags :: Lens.Lens' Proposal (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+proposal_tags = Lens.lens (\Proposal' {tags} -> tags) (\s@Proposal' {} a -> s {tags = a} :: Proposal) Prelude.. Lens.mapping Lens.coerced++-- | The current total of @YES@ votes cast on the proposal by members.+proposal_yesVoteCount :: Lens.Lens' Proposal (Prelude.Maybe Prelude.Int)+proposal_yesVoteCount = Lens.lens (\Proposal' {yesVoteCount} -> yesVoteCount) (\s@Proposal' {} a -> s {yesVoteCount = a} :: Proposal)++instance Data.FromJSON Proposal where+ parseJSON =+ Data.withObject+ "Proposal"+ ( \x ->+ Proposal'+ Prelude.<$> (x Data..:? "Actions")+ Prelude.<*> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "ExpirationDate")+ Prelude.<*> (x Data..:? "NetworkId")+ Prelude.<*> (x Data..:? "NoVoteCount")+ Prelude.<*> (x Data..:? "OutstandingVoteCount")+ Prelude.<*> (x Data..:? "ProposalId")+ Prelude.<*> (x Data..:? "ProposedByMemberId")+ Prelude.<*> (x Data..:? "ProposedByMemberName")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "YesVoteCount")+ )++instance Prelude.Hashable Proposal where+ hashWithSalt _salt Proposal' {..} =+ _salt+ `Prelude.hashWithSalt` actions+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` expirationDate+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` noVoteCount+ `Prelude.hashWithSalt` outstandingVoteCount+ `Prelude.hashWithSalt` proposalId+ `Prelude.hashWithSalt` proposedByMemberId+ `Prelude.hashWithSalt` proposedByMemberName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` yesVoteCount++instance Prelude.NFData Proposal where+ rnf Proposal' {..} =+ Prelude.rnf actions+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf expirationDate+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf noVoteCount+ `Prelude.seq` Prelude.rnf outstandingVoteCount+ `Prelude.seq` Prelude.rnf proposalId+ `Prelude.seq` Prelude.rnf proposedByMemberId+ `Prelude.seq` Prelude.rnf proposedByMemberName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf yesVoteCount
+ gen/Amazonka/ManagedBlockChain/Types/ProposalActions.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.ProposalActions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.ProposalActions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.InviteAction+import Amazonka.ManagedBlockChain.Types.RemoveAction+import qualified Amazonka.Prelude as Prelude++-- | The actions to carry out if a proposal is @APPROVED@.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newProposalActions' smart constructor.+data ProposalActions = ProposalActions'+ { -- | The actions to perform for an @APPROVED@ proposal to invite an Amazon+ -- Web Services account to create a member and join the network.+ invitations :: Prelude.Maybe [InviteAction],+ -- | The actions to perform for an @APPROVED@ proposal to remove a member+ -- from the network, which deletes the member and all associated member+ -- resources from the network.+ removals :: Prelude.Maybe [RemoveAction]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProposalActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invitations', 'proposalActions_invitations' - The actions to perform for an @APPROVED@ proposal to invite an Amazon+-- Web Services account to create a member and join the network.+--+-- 'removals', 'proposalActions_removals' - The actions to perform for an @APPROVED@ proposal to remove a member+-- from the network, which deletes the member and all associated member+-- resources from the network.+newProposalActions ::+ ProposalActions+newProposalActions =+ ProposalActions'+ { invitations = Prelude.Nothing,+ removals = Prelude.Nothing+ }++-- | The actions to perform for an @APPROVED@ proposal to invite an Amazon+-- Web Services account to create a member and join the network.+proposalActions_invitations :: Lens.Lens' ProposalActions (Prelude.Maybe [InviteAction])+proposalActions_invitations = Lens.lens (\ProposalActions' {invitations} -> invitations) (\s@ProposalActions' {} a -> s {invitations = a} :: ProposalActions) Prelude.. Lens.mapping Lens.coerced++-- | The actions to perform for an @APPROVED@ proposal to remove a member+-- from the network, which deletes the member and all associated member+-- resources from the network.+proposalActions_removals :: Lens.Lens' ProposalActions (Prelude.Maybe [RemoveAction])+proposalActions_removals = Lens.lens (\ProposalActions' {removals} -> removals) (\s@ProposalActions' {} a -> s {removals = a} :: ProposalActions) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ProposalActions where+ parseJSON =+ Data.withObject+ "ProposalActions"+ ( \x ->+ ProposalActions'+ Prelude.<$> (x Data..:? "Invitations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Removals" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable ProposalActions where+ hashWithSalt _salt ProposalActions' {..} =+ _salt+ `Prelude.hashWithSalt` invitations+ `Prelude.hashWithSalt` removals++instance Prelude.NFData ProposalActions where+ rnf ProposalActions' {..} =+ Prelude.rnf invitations+ `Prelude.seq` Prelude.rnf removals++instance Data.ToJSON ProposalActions where+ toJSON ProposalActions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Invitations" Data..=) Prelude.<$> invitations,+ ("Removals" Data..=) Prelude.<$> removals+ ]+ )
+ gen/Amazonka/ManagedBlockChain/Types/ProposalStatus.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.ManagedBlockChain.Types.ProposalStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.ProposalStatus+ ( ProposalStatus+ ( ..,+ ProposalStatus_ACTION_FAILED,+ ProposalStatus_APPROVED,+ ProposalStatus_EXPIRED,+ ProposalStatus_IN_PROGRESS,+ ProposalStatus_REJECTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ProposalStatus = ProposalStatus'+ { fromProposalStatus ::+ 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 ProposalStatus_ACTION_FAILED :: ProposalStatus+pattern ProposalStatus_ACTION_FAILED = ProposalStatus' "ACTION_FAILED"++pattern ProposalStatus_APPROVED :: ProposalStatus+pattern ProposalStatus_APPROVED = ProposalStatus' "APPROVED"++pattern ProposalStatus_EXPIRED :: ProposalStatus+pattern ProposalStatus_EXPIRED = ProposalStatus' "EXPIRED"++pattern ProposalStatus_IN_PROGRESS :: ProposalStatus+pattern ProposalStatus_IN_PROGRESS = ProposalStatus' "IN_PROGRESS"++pattern ProposalStatus_REJECTED :: ProposalStatus+pattern ProposalStatus_REJECTED = ProposalStatus' "REJECTED"++{-# COMPLETE+ ProposalStatus_ACTION_FAILED,+ ProposalStatus_APPROVED,+ ProposalStatus_EXPIRED,+ ProposalStatus_IN_PROGRESS,+ ProposalStatus_REJECTED,+ ProposalStatus'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/ProposalSummary.hs view
@@ -0,0 +1,234 @@+{-# 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.ManagedBlockChain.Types.ProposalSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.ProposalSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.ProposalStatus+import qualified Amazonka.Prelude as Prelude++-- | Properties of a proposal.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newProposalSummary' smart constructor.+data ProposalSummary = ProposalSummary'+ { -- | The Amazon Resource Name (ARN) of the proposal. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the proposal was created.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | The description of the proposal.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the proposal expires. This is the @CreationDate@+ -- plus the @ProposalDurationInHours@ that is specified in the+ -- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+ -- cast enough votes to determine the outcome according to the voting+ -- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+ expirationDate :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier of the proposal.+ proposalId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the member that created the proposal.+ proposedByMemberId :: Prelude.Maybe Prelude.Text,+ -- | The name of the member that created the proposal.+ proposedByMemberName :: Prelude.Maybe Prelude.Text,+ -- | The status of the proposal. Values are as follows:+ --+ -- - @IN_PROGRESS@ - The proposal is active and open for member voting.+ --+ -- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+ -- among members according to the @VotingPolicy@ specified for the+ -- @Network@. The specified proposal actions are carried out.+ --+ -- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+ -- among members according to the @VotingPolicy@ specified for the+ -- @Network@. The specified @ProposalActions@ aren\'t carried out.+ --+ -- - @EXPIRED@ - Members didn\'t cast the number of votes required to+ -- determine the proposal outcome before the proposal expired. The+ -- specified @ProposalActions@ aren\'t carried out.+ --+ -- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+ -- a proposal that was approved couldn\'t be completed because of an+ -- error.+ status :: Prelude.Maybe ProposalStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProposalSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'proposalSummary_arn' - The Amazon Resource Name (ARN) of the proposal. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationDate', 'proposalSummary_creationDate' - The date and time that the proposal was created.+--+-- 'description', 'proposalSummary_description' - The description of the proposal.+--+-- 'expirationDate', 'proposalSummary_expirationDate' - The date and time that the proposal expires. This is the @CreationDate@+-- plus the @ProposalDurationInHours@ that is specified in the+-- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+-- cast enough votes to determine the outcome according to the voting+-- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+--+-- 'proposalId', 'proposalSummary_proposalId' - The unique identifier of the proposal.+--+-- 'proposedByMemberId', 'proposalSummary_proposedByMemberId' - The unique identifier of the member that created the proposal.+--+-- 'proposedByMemberName', 'proposalSummary_proposedByMemberName' - The name of the member that created the proposal.+--+-- 'status', 'proposalSummary_status' - The status of the proposal. Values are as follows:+--+-- - @IN_PROGRESS@ - The proposal is active and open for member voting.+--+-- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified proposal actions are carried out.+--+-- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified @ProposalActions@ aren\'t carried out.+--+-- - @EXPIRED@ - Members didn\'t cast the number of votes required to+-- determine the proposal outcome before the proposal expired. The+-- specified @ProposalActions@ aren\'t carried out.+--+-- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+-- a proposal that was approved couldn\'t be completed because of an+-- error.+newProposalSummary ::+ ProposalSummary+newProposalSummary =+ ProposalSummary'+ { arn = Prelude.Nothing,+ creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ expirationDate = Prelude.Nothing,+ proposalId = Prelude.Nothing,+ proposedByMemberId = Prelude.Nothing,+ proposedByMemberName = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the proposal. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+proposalSummary_arn :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.Text)+proposalSummary_arn = Lens.lens (\ProposalSummary' {arn} -> arn) (\s@ProposalSummary' {} a -> s {arn = a} :: ProposalSummary)++-- | The date and time that the proposal was created.+proposalSummary_creationDate :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.UTCTime)+proposalSummary_creationDate = Lens.lens (\ProposalSummary' {creationDate} -> creationDate) (\s@ProposalSummary' {} a -> s {creationDate = a} :: ProposalSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the proposal.+proposalSummary_description :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.Text)+proposalSummary_description = Lens.lens (\ProposalSummary' {description} -> description) (\s@ProposalSummary' {} a -> s {description = a} :: ProposalSummary)++-- | The date and time that the proposal expires. This is the @CreationDate@+-- plus the @ProposalDurationInHours@ that is specified in the+-- @ProposalThresholdPolicy@. After this date and time, if members haven\'t+-- cast enough votes to determine the outcome according to the voting+-- policy, the proposal is @EXPIRED@ and @Actions@ aren\'t carried out.+proposalSummary_expirationDate :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.UTCTime)+proposalSummary_expirationDate = Lens.lens (\ProposalSummary' {expirationDate} -> expirationDate) (\s@ProposalSummary' {} a -> s {expirationDate = a} :: ProposalSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the proposal.+proposalSummary_proposalId :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.Text)+proposalSummary_proposalId = Lens.lens (\ProposalSummary' {proposalId} -> proposalId) (\s@ProposalSummary' {} a -> s {proposalId = a} :: ProposalSummary)++-- | The unique identifier of the member that created the proposal.+proposalSummary_proposedByMemberId :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.Text)+proposalSummary_proposedByMemberId = Lens.lens (\ProposalSummary' {proposedByMemberId} -> proposedByMemberId) (\s@ProposalSummary' {} a -> s {proposedByMemberId = a} :: ProposalSummary)++-- | The name of the member that created the proposal.+proposalSummary_proposedByMemberName :: Lens.Lens' ProposalSummary (Prelude.Maybe Prelude.Text)+proposalSummary_proposedByMemberName = Lens.lens (\ProposalSummary' {proposedByMemberName} -> proposedByMemberName) (\s@ProposalSummary' {} a -> s {proposedByMemberName = a} :: ProposalSummary)++-- | The status of the proposal. Values are as follows:+--+-- - @IN_PROGRESS@ - The proposal is active and open for member voting.+--+-- - @APPROVED@ - The proposal was approved with sufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified proposal actions are carried out.+--+-- - @REJECTED@ - The proposal was rejected with insufficient @YES@ votes+-- among members according to the @VotingPolicy@ specified for the+-- @Network@. The specified @ProposalActions@ aren\'t carried out.+--+-- - @EXPIRED@ - Members didn\'t cast the number of votes required to+-- determine the proposal outcome before the proposal expired. The+-- specified @ProposalActions@ aren\'t carried out.+--+-- - @ACTION_FAILED@ - One or more of the specified @ProposalActions@ in+-- a proposal that was approved couldn\'t be completed because of an+-- error.+proposalSummary_status :: Lens.Lens' ProposalSummary (Prelude.Maybe ProposalStatus)+proposalSummary_status = Lens.lens (\ProposalSummary' {status} -> status) (\s@ProposalSummary' {} a -> s {status = a} :: ProposalSummary)++instance Data.FromJSON ProposalSummary where+ parseJSON =+ Data.withObject+ "ProposalSummary"+ ( \x ->+ ProposalSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationDate")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "ExpirationDate")+ Prelude.<*> (x Data..:? "ProposalId")+ Prelude.<*> (x Data..:? "ProposedByMemberId")+ Prelude.<*> (x Data..:? "ProposedByMemberName")+ Prelude.<*> (x Data..:? "Status")+ )++instance Prelude.Hashable ProposalSummary where+ hashWithSalt _salt ProposalSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` expirationDate+ `Prelude.hashWithSalt` proposalId+ `Prelude.hashWithSalt` proposedByMemberId+ `Prelude.hashWithSalt` proposedByMemberName+ `Prelude.hashWithSalt` status++instance Prelude.NFData ProposalSummary where+ rnf ProposalSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf expirationDate+ `Prelude.seq` Prelude.rnf proposalId+ `Prelude.seq` Prelude.rnf proposedByMemberId+ `Prelude.seq` Prelude.rnf proposedByMemberName+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ManagedBlockChain/Types/RemoveAction.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.Types.RemoveAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.RemoveAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An action to remove a member from a Managed Blockchain network as the+-- result of a removal proposal that is @APPROVED@. The member and all+-- associated resources are deleted from the network.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newRemoveAction' smart constructor.+data RemoveAction = RemoveAction'+ { -- | The unique identifier of the member to remove.+ memberId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'removeAction_memberId' - The unique identifier of the member to remove.+newRemoveAction ::+ -- | 'memberId'+ Prelude.Text ->+ RemoveAction+newRemoveAction pMemberId_ =+ RemoveAction' {memberId = pMemberId_}++-- | The unique identifier of the member to remove.+removeAction_memberId :: Lens.Lens' RemoveAction Prelude.Text+removeAction_memberId = Lens.lens (\RemoveAction' {memberId} -> memberId) (\s@RemoveAction' {} a -> s {memberId = a} :: RemoveAction)++instance Data.FromJSON RemoveAction where+ parseJSON =+ Data.withObject+ "RemoveAction"+ ( \x ->+ RemoveAction' Prelude.<$> (x Data..: "MemberId")+ )++instance Prelude.Hashable RemoveAction where+ hashWithSalt _salt RemoveAction' {..} =+ _salt `Prelude.hashWithSalt` memberId++instance Prelude.NFData RemoveAction where+ rnf RemoveAction' {..} = Prelude.rnf memberId++instance Data.ToJSON RemoveAction where+ toJSON RemoveAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("MemberId" Data..= memberId)]+ )
+ gen/Amazonka/ManagedBlockChain/Types/StateDBType.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.ManagedBlockChain.Types.StateDBType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.StateDBType+ ( StateDBType+ ( ..,+ StateDBType_CouchDB,+ StateDBType_LevelDB+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StateDBType = StateDBType'+ { fromStateDBType ::+ 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 StateDBType_CouchDB :: StateDBType+pattern StateDBType_CouchDB = StateDBType' "CouchDB"++pattern StateDBType_LevelDB :: StateDBType+pattern StateDBType_LevelDB = StateDBType' "LevelDB"++{-# COMPLETE+ StateDBType_CouchDB,+ StateDBType_LevelDB,+ StateDBType'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/ThresholdComparator.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.ManagedBlockChain.Types.ThresholdComparator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.ThresholdComparator+ ( ThresholdComparator+ ( ..,+ ThresholdComparator_GREATER_THAN,+ ThresholdComparator_GREATER_THAN_OR_EQUAL_TO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ThresholdComparator = ThresholdComparator'+ { fromThresholdComparator ::+ 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 ThresholdComparator_GREATER_THAN :: ThresholdComparator+pattern ThresholdComparator_GREATER_THAN = ThresholdComparator' "GREATER_THAN"++pattern ThresholdComparator_GREATER_THAN_OR_EQUAL_TO :: ThresholdComparator+pattern ThresholdComparator_GREATER_THAN_OR_EQUAL_TO = ThresholdComparator' "GREATER_THAN_OR_EQUAL_TO"++{-# COMPLETE+ ThresholdComparator_GREATER_THAN,+ ThresholdComparator_GREATER_THAN_OR_EQUAL_TO,+ ThresholdComparator'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/VoteSummary.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.ManagedBlockChain.Types.VoteSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.VoteSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.VoteValue+import qualified Amazonka.Prelude as Prelude++-- | Properties of an individual vote that a member cast for a proposal.+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newVoteSummary' smart constructor.+data VoteSummary = VoteSummary'+ { -- | The unique identifier of the member that cast the vote.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The name of the member that cast the vote.+ memberName :: Prelude.Maybe Prelude.Text,+ -- | The vote value, either @YES@ or @NO@.+ vote :: Prelude.Maybe VoteValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoteSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'voteSummary_memberId' - The unique identifier of the member that cast the vote.+--+-- 'memberName', 'voteSummary_memberName' - The name of the member that cast the vote.+--+-- 'vote', 'voteSummary_vote' - The vote value, either @YES@ or @NO@.+newVoteSummary ::+ VoteSummary+newVoteSummary =+ VoteSummary'+ { memberId = Prelude.Nothing,+ memberName = Prelude.Nothing,+ vote = Prelude.Nothing+ }++-- | The unique identifier of the member that cast the vote.+voteSummary_memberId :: Lens.Lens' VoteSummary (Prelude.Maybe Prelude.Text)+voteSummary_memberId = Lens.lens (\VoteSummary' {memberId} -> memberId) (\s@VoteSummary' {} a -> s {memberId = a} :: VoteSummary)++-- | The name of the member that cast the vote.+voteSummary_memberName :: Lens.Lens' VoteSummary (Prelude.Maybe Prelude.Text)+voteSummary_memberName = Lens.lens (\VoteSummary' {memberName} -> memberName) (\s@VoteSummary' {} a -> s {memberName = a} :: VoteSummary)++-- | The vote value, either @YES@ or @NO@.+voteSummary_vote :: Lens.Lens' VoteSummary (Prelude.Maybe VoteValue)+voteSummary_vote = Lens.lens (\VoteSummary' {vote} -> vote) (\s@VoteSummary' {} a -> s {vote = a} :: VoteSummary)++instance Data.FromJSON VoteSummary where+ parseJSON =+ Data.withObject+ "VoteSummary"+ ( \x ->+ VoteSummary'+ Prelude.<$> (x Data..:? "MemberId")+ Prelude.<*> (x Data..:? "MemberName")+ Prelude.<*> (x Data..:? "Vote")+ )++instance Prelude.Hashable VoteSummary where+ hashWithSalt _salt VoteSummary' {..} =+ _salt+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` memberName+ `Prelude.hashWithSalt` vote++instance Prelude.NFData VoteSummary where+ rnf VoteSummary' {..} =+ Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf memberName+ `Prelude.seq` Prelude.rnf vote
+ gen/Amazonka/ManagedBlockChain/Types/VoteValue.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.ManagedBlockChain.Types.VoteValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.VoteValue+ ( VoteValue+ ( ..,+ VoteValue_NO,+ VoteValue_YES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VoteValue = VoteValue'+ { fromVoteValue ::+ 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 VoteValue_NO :: VoteValue+pattern VoteValue_NO = VoteValue' "NO"++pattern VoteValue_YES :: VoteValue+pattern VoteValue_YES = VoteValue' "YES"++{-# COMPLETE+ VoteValue_NO,+ VoteValue_YES,+ VoteValue'+ #-}
+ gen/Amazonka/ManagedBlockChain/Types/VotingPolicy.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.ManagedBlockChain.Types.VotingPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ManagedBlockChain.Types.VotingPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types.ApprovalThresholdPolicy+import qualified Amazonka.Prelude as Prelude++-- | The voting rules for the network to decide if a proposal is accepted+--+-- Applies only to Hyperledger Fabric.+--+-- /See:/ 'newVotingPolicy' smart constructor.+data VotingPolicy = VotingPolicy'+ { -- | Defines the rules for the network for voting on proposals, such as the+ -- percentage of @YES@ votes required for the proposal to be approved and+ -- the duration of the proposal. The policy applies to all proposals and is+ -- specified when the network is created.+ approvalThresholdPolicy :: Prelude.Maybe ApprovalThresholdPolicy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VotingPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'approvalThresholdPolicy', 'votingPolicy_approvalThresholdPolicy' - Defines the rules for the network for voting on proposals, such as the+-- percentage of @YES@ votes required for the proposal to be approved and+-- the duration of the proposal. The policy applies to all proposals and is+-- specified when the network is created.+newVotingPolicy ::+ VotingPolicy+newVotingPolicy =+ VotingPolicy'+ { approvalThresholdPolicy =+ Prelude.Nothing+ }++-- | Defines the rules for the network for voting on proposals, such as the+-- percentage of @YES@ votes required for the proposal to be approved and+-- the duration of the proposal. The policy applies to all proposals and is+-- specified when the network is created.+votingPolicy_approvalThresholdPolicy :: Lens.Lens' VotingPolicy (Prelude.Maybe ApprovalThresholdPolicy)+votingPolicy_approvalThresholdPolicy = Lens.lens (\VotingPolicy' {approvalThresholdPolicy} -> approvalThresholdPolicy) (\s@VotingPolicy' {} a -> s {approvalThresholdPolicy = a} :: VotingPolicy)++instance Data.FromJSON VotingPolicy where+ parseJSON =+ Data.withObject+ "VotingPolicy"+ ( \x ->+ VotingPolicy'+ Prelude.<$> (x Data..:? "ApprovalThresholdPolicy")+ )++instance Prelude.Hashable VotingPolicy where+ hashWithSalt _salt VotingPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` approvalThresholdPolicy++instance Prelude.NFData VotingPolicy where+ rnf VotingPolicy' {..} =+ Prelude.rnf approvalThresholdPolicy++instance Data.ToJSON VotingPolicy where+ toJSON VotingPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ApprovalThresholdPolicy" Data..=)+ Prelude.<$> approvalThresholdPolicy+ ]+ )
+ gen/Amazonka/ManagedBlockChain/UntagResource.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified tags from the Amazon Managed Blockchain resource.+--+-- For more information about tags, see+-- <https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Ethereum Developer Guide/, or+-- <https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html Tagging Resources>+-- in the /Amazon Managed Blockchain Hyperledger Fabric Developer Guide/.+module Amazonka.ManagedBlockChain.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the resource. For more information+ -- about ARNs and their format, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /Amazon Web Services General Reference/.+ resourceArn :: Prelude.Text,+ -- | The tag keys.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs and their format, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath 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/ManagedBlockChain/UpdateMember.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.UpdateMember+-- 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 a member configuration with new parameters.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.UpdateMember+ ( -- * Creating a Request+ UpdateMember (..),+ newUpdateMember,++ -- * Request Lenses+ updateMember_logPublishingConfiguration,+ updateMember_networkId,+ updateMember_memberId,++ -- * Destructuring the Response+ UpdateMemberResponse (..),+ newUpdateMemberResponse,++ -- * Response Lenses+ updateMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMember' smart constructor.+data UpdateMember = UpdateMember'+ { -- | Configuration properties for publishing to Amazon CloudWatch Logs.+ logPublishingConfiguration :: Prelude.Maybe MemberLogPublishingConfiguration,+ -- | The unique identifier of the Managed Blockchain network to which the+ -- member belongs.+ networkId :: Prelude.Text,+ -- | The unique identifier of the member.+ memberId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logPublishingConfiguration', 'updateMember_logPublishingConfiguration' - Configuration properties for publishing to Amazon CloudWatch Logs.+--+-- 'networkId', 'updateMember_networkId' - The unique identifier of the Managed Blockchain network to which the+-- member belongs.+--+-- 'memberId', 'updateMember_memberId' - The unique identifier of the member.+newUpdateMember ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'memberId'+ Prelude.Text ->+ UpdateMember+newUpdateMember pNetworkId_ pMemberId_ =+ UpdateMember'+ { logPublishingConfiguration =+ Prelude.Nothing,+ networkId = pNetworkId_,+ memberId = pMemberId_+ }++-- | Configuration properties for publishing to Amazon CloudWatch Logs.+updateMember_logPublishingConfiguration :: Lens.Lens' UpdateMember (Prelude.Maybe MemberLogPublishingConfiguration)+updateMember_logPublishingConfiguration = Lens.lens (\UpdateMember' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@UpdateMember' {} a -> s {logPublishingConfiguration = a} :: UpdateMember)++-- | The unique identifier of the Managed Blockchain network to which the+-- member belongs.+updateMember_networkId :: Lens.Lens' UpdateMember Prelude.Text+updateMember_networkId = Lens.lens (\UpdateMember' {networkId} -> networkId) (\s@UpdateMember' {} a -> s {networkId = a} :: UpdateMember)++-- | The unique identifier of the member.+updateMember_memberId :: Lens.Lens' UpdateMember Prelude.Text+updateMember_memberId = Lens.lens (\UpdateMember' {memberId} -> memberId) (\s@UpdateMember' {} a -> s {memberId = a} :: UpdateMember)++instance Core.AWSRequest UpdateMember where+ type AWSResponse UpdateMember = UpdateMemberResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateMember where+ hashWithSalt _salt UpdateMember' {..} =+ _salt+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData UpdateMember where+ rnf UpdateMember' {..} =+ Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders UpdateMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMember where+ toJSON UpdateMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("LogPublishingConfiguration" Data..=)+ Prelude.<$> logPublishingConfiguration+ ]+ )++instance Data.ToPath UpdateMember where+ toPath UpdateMember' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/members/",+ Data.toBS memberId+ ]++instance Data.ToQuery UpdateMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMemberResponse' smart constructor.+data UpdateMemberResponse = UpdateMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateMemberResponse_httpStatus' - The response's http status code.+newUpdateMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateMemberResponse+newUpdateMemberResponse pHttpStatus_ =+ UpdateMemberResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateMemberResponse_httpStatus :: Lens.Lens' UpdateMemberResponse Prelude.Int+updateMemberResponse_httpStatus = Lens.lens (\UpdateMemberResponse' {httpStatus} -> httpStatus) (\s@UpdateMemberResponse' {} a -> s {httpStatus = a} :: UpdateMemberResponse)++instance Prelude.NFData UpdateMemberResponse where+ rnf UpdateMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/UpdateNode.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.UpdateNode+-- 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 a node configuration with new parameters.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.UpdateNode+ ( -- * Creating a Request+ UpdateNode (..),+ newUpdateNode,++ -- * Request Lenses+ updateNode_logPublishingConfiguration,+ updateNode_memberId,+ updateNode_networkId,+ updateNode_nodeId,++ -- * Destructuring the Response+ UpdateNodeResponse (..),+ newUpdateNodeResponse,++ -- * Response Lenses+ updateNodeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateNode' smart constructor.+data UpdateNode = UpdateNode'+ { -- | Configuration properties for publishing to Amazon CloudWatch Logs.+ logPublishingConfiguration :: Prelude.Maybe NodeLogPublishingConfiguration,+ -- | The unique identifier of the member that owns the node.+ --+ -- Applies only to Hyperledger Fabric.+ memberId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the network that the node is on.+ networkId :: Prelude.Text,+ -- | The unique identifier of the node.+ nodeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logPublishingConfiguration', 'updateNode_logPublishingConfiguration' - Configuration properties for publishing to Amazon CloudWatch Logs.+--+-- 'memberId', 'updateNode_memberId' - The unique identifier of the member that owns the node.+--+-- Applies only to Hyperledger Fabric.+--+-- 'networkId', 'updateNode_networkId' - The unique identifier of the network that the node is on.+--+-- 'nodeId', 'updateNode_nodeId' - The unique identifier of the node.+newUpdateNode ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'nodeId'+ Prelude.Text ->+ UpdateNode+newUpdateNode pNetworkId_ pNodeId_ =+ UpdateNode'+ { logPublishingConfiguration =+ Prelude.Nothing,+ memberId = Prelude.Nothing,+ networkId = pNetworkId_,+ nodeId = pNodeId_+ }++-- | Configuration properties for publishing to Amazon CloudWatch Logs.+updateNode_logPublishingConfiguration :: Lens.Lens' UpdateNode (Prelude.Maybe NodeLogPublishingConfiguration)+updateNode_logPublishingConfiguration = Lens.lens (\UpdateNode' {logPublishingConfiguration} -> logPublishingConfiguration) (\s@UpdateNode' {} a -> s {logPublishingConfiguration = a} :: UpdateNode)++-- | The unique identifier of the member that owns the node.+--+-- Applies only to Hyperledger Fabric.+updateNode_memberId :: Lens.Lens' UpdateNode (Prelude.Maybe Prelude.Text)+updateNode_memberId = Lens.lens (\UpdateNode' {memberId} -> memberId) (\s@UpdateNode' {} a -> s {memberId = a} :: UpdateNode)++-- | The unique identifier of the network that the node is on.+updateNode_networkId :: Lens.Lens' UpdateNode Prelude.Text+updateNode_networkId = Lens.lens (\UpdateNode' {networkId} -> networkId) (\s@UpdateNode' {} a -> s {networkId = a} :: UpdateNode)++-- | The unique identifier of the node.+updateNode_nodeId :: Lens.Lens' UpdateNode Prelude.Text+updateNode_nodeId = Lens.lens (\UpdateNode' {nodeId} -> nodeId) (\s@UpdateNode' {} a -> s {nodeId = a} :: UpdateNode)++instance Core.AWSRequest UpdateNode where+ type AWSResponse UpdateNode = UpdateNodeResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateNodeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateNode where+ hashWithSalt _salt UpdateNode' {..} =+ _salt+ `Prelude.hashWithSalt` logPublishingConfiguration+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` nodeId++instance Prelude.NFData UpdateNode where+ rnf UpdateNode' {..} =+ Prelude.rnf logPublishingConfiguration+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf nodeId++instance Data.ToHeaders UpdateNode where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateNode where+ toJSON UpdateNode' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("LogPublishingConfiguration" Data..=)+ Prelude.<$> logPublishingConfiguration,+ ("MemberId" Data..=) Prelude.<$> memberId+ ]+ )++instance Data.ToPath UpdateNode where+ toPath UpdateNode' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/nodes/",+ Data.toBS nodeId+ ]++instance Data.ToQuery UpdateNode where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateNodeResponse' smart constructor.+data UpdateNodeResponse = UpdateNodeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNodeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateNodeResponse_httpStatus' - The response's http status code.+newUpdateNodeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateNodeResponse+newUpdateNodeResponse pHttpStatus_ =+ UpdateNodeResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateNodeResponse_httpStatus :: Lens.Lens' UpdateNodeResponse Prelude.Int+updateNodeResponse_httpStatus = Lens.lens (\UpdateNodeResponse' {httpStatus} -> httpStatus) (\s@UpdateNodeResponse' {} a -> s {httpStatus = a} :: UpdateNodeResponse)++instance Prelude.NFData UpdateNodeResponse where+ rnf UpdateNodeResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/VoteOnProposal.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.ManagedBlockChain.VoteOnProposal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Casts a vote for a specified @ProposalId@ on behalf of a member. The+-- member to vote as, specified by @VoterMemberId@, must be in the same+-- Amazon Web Services account as the principal that calls the action.+--+-- Applies only to Hyperledger Fabric.+module Amazonka.ManagedBlockChain.VoteOnProposal+ ( -- * Creating a Request+ VoteOnProposal (..),+ newVoteOnProposal,++ -- * Request Lenses+ voteOnProposal_networkId,+ voteOnProposal_proposalId,+ voteOnProposal_voterMemberId,+ voteOnProposal_vote,++ -- * Destructuring the Response+ VoteOnProposalResponse (..),+ newVoteOnProposalResponse,++ -- * Response Lenses+ voteOnProposalResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newVoteOnProposal' smart constructor.+data VoteOnProposal = VoteOnProposal'+ { -- | The unique identifier of the network.+ networkId :: Prelude.Text,+ -- | The unique identifier of the proposal.+ proposalId :: Prelude.Text,+ -- | The unique identifier of the member casting the vote.+ voterMemberId :: Prelude.Text,+ -- | The value of the vote.+ vote :: VoteValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoteOnProposal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkId', 'voteOnProposal_networkId' - The unique identifier of the network.+--+-- 'proposalId', 'voteOnProposal_proposalId' - The unique identifier of the proposal.+--+-- 'voterMemberId', 'voteOnProposal_voterMemberId' - The unique identifier of the member casting the vote.+--+-- 'vote', 'voteOnProposal_vote' - The value of the vote.+newVoteOnProposal ::+ -- | 'networkId'+ Prelude.Text ->+ -- | 'proposalId'+ Prelude.Text ->+ -- | 'voterMemberId'+ Prelude.Text ->+ -- | 'vote'+ VoteValue ->+ VoteOnProposal+newVoteOnProposal+ pNetworkId_+ pProposalId_+ pVoterMemberId_+ pVote_ =+ VoteOnProposal'+ { networkId = pNetworkId_,+ proposalId = pProposalId_,+ voterMemberId = pVoterMemberId_,+ vote = pVote_+ }++-- | The unique identifier of the network.+voteOnProposal_networkId :: Lens.Lens' VoteOnProposal Prelude.Text+voteOnProposal_networkId = Lens.lens (\VoteOnProposal' {networkId} -> networkId) (\s@VoteOnProposal' {} a -> s {networkId = a} :: VoteOnProposal)++-- | The unique identifier of the proposal.+voteOnProposal_proposalId :: Lens.Lens' VoteOnProposal Prelude.Text+voteOnProposal_proposalId = Lens.lens (\VoteOnProposal' {proposalId} -> proposalId) (\s@VoteOnProposal' {} a -> s {proposalId = a} :: VoteOnProposal)++-- | The unique identifier of the member casting the vote.+voteOnProposal_voterMemberId :: Lens.Lens' VoteOnProposal Prelude.Text+voteOnProposal_voterMemberId = Lens.lens (\VoteOnProposal' {voterMemberId} -> voterMemberId) (\s@VoteOnProposal' {} a -> s {voterMemberId = a} :: VoteOnProposal)++-- | The value of the vote.+voteOnProposal_vote :: Lens.Lens' VoteOnProposal VoteValue+voteOnProposal_vote = Lens.lens (\VoteOnProposal' {vote} -> vote) (\s@VoteOnProposal' {} a -> s {vote = a} :: VoteOnProposal)++instance Core.AWSRequest VoteOnProposal where+ type+ AWSResponse VoteOnProposal =+ VoteOnProposalResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ VoteOnProposalResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable VoteOnProposal where+ hashWithSalt _salt VoteOnProposal' {..} =+ _salt+ `Prelude.hashWithSalt` networkId+ `Prelude.hashWithSalt` proposalId+ `Prelude.hashWithSalt` voterMemberId+ `Prelude.hashWithSalt` vote++instance Prelude.NFData VoteOnProposal where+ rnf VoteOnProposal' {..} =+ Prelude.rnf networkId+ `Prelude.seq` Prelude.rnf proposalId+ `Prelude.seq` Prelude.rnf voterMemberId+ `Prelude.seq` Prelude.rnf vote++instance Data.ToHeaders VoteOnProposal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON VoteOnProposal where+ toJSON VoteOnProposal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("VoterMemberId" Data..= voterMemberId),+ Prelude.Just ("Vote" Data..= vote)+ ]+ )++instance Data.ToPath VoteOnProposal where+ toPath VoteOnProposal' {..} =+ Prelude.mconcat+ [ "/networks/",+ Data.toBS networkId,+ "/proposals/",+ Data.toBS proposalId,+ "/votes"+ ]++instance Data.ToQuery VoteOnProposal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newVoteOnProposalResponse' smart constructor.+data VoteOnProposalResponse = VoteOnProposalResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VoteOnProposalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'voteOnProposalResponse_httpStatus' - The response's http status code.+newVoteOnProposalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ VoteOnProposalResponse+newVoteOnProposalResponse pHttpStatus_ =+ VoteOnProposalResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+voteOnProposalResponse_httpStatus :: Lens.Lens' VoteOnProposalResponse Prelude.Int+voteOnProposalResponse_httpStatus = Lens.lens (\VoteOnProposalResponse' {httpStatus} -> httpStatus) (\s@VoteOnProposalResponse' {} a -> s {httpStatus = a} :: VoteOnProposalResponse)++instance Prelude.NFData VoteOnProposalResponse where+ rnf VoteOnProposalResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/ManagedBlockChain/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.ManagedBlockChain.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.ManagedBlockChain.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.ManagedBlockChain.Lens+import Amazonka.ManagedBlockChain.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.ManagedBlockChain+import Test.Amazonka.ManagedBlockChain.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "ManagedBlockChain"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/ManagedBlockChain.hs view
@@ -0,0 +1,578 @@+{-# 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.ManagedBlockChain+-- Copyright : (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.ManagedBlockChain where++import Amazonka.ManagedBlockChain+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.ManagedBlockChain.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCreateAccessor $+-- newCreateAccessor+--+-- , requestCreateMember $+-- newCreateMember+--+-- , requestCreateNetwork $+-- newCreateNetwork+--+-- , requestCreateNode $+-- newCreateNode+--+-- , requestCreateProposal $+-- newCreateProposal+--+-- , requestDeleteAccessor $+-- newDeleteAccessor+--+-- , requestDeleteMember $+-- newDeleteMember+--+-- , requestDeleteNode $+-- newDeleteNode+--+-- , requestGetAccessor $+-- newGetAccessor+--+-- , requestGetMember $+-- newGetMember+--+-- , requestGetNetwork $+-- newGetNetwork+--+-- , requestGetNode $+-- newGetNode+--+-- , requestGetProposal $+-- newGetProposal+--+-- , requestListAccessors $+-- newListAccessors+--+-- , requestListInvitations $+-- newListInvitations+--+-- , requestListMembers $+-- newListMembers+--+-- , requestListNetworks $+-- newListNetworks+--+-- , requestListNodes $+-- newListNodes+--+-- , requestListProposalVotes $+-- newListProposalVotes+--+-- , requestListProposals $+-- newListProposals+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestRejectInvitation $+-- newRejectInvitation+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateMember $+-- newUpdateMember+--+-- , requestUpdateNode $+-- newUpdateNode+--+-- , requestVoteOnProposal $+-- newVoteOnProposal+--+-- ]++-- , testGroup "response"+-- [ responseCreateAccessor $+-- newCreateAccessorResponse+--+-- , responseCreateMember $+-- newCreateMemberResponse+--+-- , responseCreateNetwork $+-- newCreateNetworkResponse+--+-- , responseCreateNode $+-- newCreateNodeResponse+--+-- , responseCreateProposal $+-- newCreateProposalResponse+--+-- , responseDeleteAccessor $+-- newDeleteAccessorResponse+--+-- , responseDeleteMember $+-- newDeleteMemberResponse+--+-- , responseDeleteNode $+-- newDeleteNodeResponse+--+-- , responseGetAccessor $+-- newGetAccessorResponse+--+-- , responseGetMember $+-- newGetMemberResponse+--+-- , responseGetNetwork $+-- newGetNetworkResponse+--+-- , responseGetNode $+-- newGetNodeResponse+--+-- , responseGetProposal $+-- newGetProposalResponse+--+-- , responseListAccessors $+-- newListAccessorsResponse+--+-- , responseListInvitations $+-- newListInvitationsResponse+--+-- , responseListMembers $+-- newListMembersResponse+--+-- , responseListNetworks $+-- newListNetworksResponse+--+-- , responseListNodes $+-- newListNodesResponse+--+-- , responseListProposalVotes $+-- newListProposalVotesResponse+--+-- , responseListProposals $+-- newListProposalsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseRejectInvitation $+-- newRejectInvitationResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateMember $+-- newUpdateMemberResponse+--+-- , responseUpdateNode $+-- newUpdateNodeResponse+--+-- , responseVoteOnProposal $+-- newVoteOnProposalResponse+--+-- ]+-- ]++-- Requests++requestCreateAccessor :: CreateAccessor -> TestTree+requestCreateAccessor =+ req+ "CreateAccessor"+ "fixture/CreateAccessor.yaml"++requestCreateMember :: CreateMember -> TestTree+requestCreateMember =+ req+ "CreateMember"+ "fixture/CreateMember.yaml"++requestCreateNetwork :: CreateNetwork -> TestTree+requestCreateNetwork =+ req+ "CreateNetwork"+ "fixture/CreateNetwork.yaml"++requestCreateNode :: CreateNode -> TestTree+requestCreateNode =+ req+ "CreateNode"+ "fixture/CreateNode.yaml"++requestCreateProposal :: CreateProposal -> TestTree+requestCreateProposal =+ req+ "CreateProposal"+ "fixture/CreateProposal.yaml"++requestDeleteAccessor :: DeleteAccessor -> TestTree+requestDeleteAccessor =+ req+ "DeleteAccessor"+ "fixture/DeleteAccessor.yaml"++requestDeleteMember :: DeleteMember -> TestTree+requestDeleteMember =+ req+ "DeleteMember"+ "fixture/DeleteMember.yaml"++requestDeleteNode :: DeleteNode -> TestTree+requestDeleteNode =+ req+ "DeleteNode"+ "fixture/DeleteNode.yaml"++requestGetAccessor :: GetAccessor -> TestTree+requestGetAccessor =+ req+ "GetAccessor"+ "fixture/GetAccessor.yaml"++requestGetMember :: GetMember -> TestTree+requestGetMember =+ req+ "GetMember"+ "fixture/GetMember.yaml"++requestGetNetwork :: GetNetwork -> TestTree+requestGetNetwork =+ req+ "GetNetwork"+ "fixture/GetNetwork.yaml"++requestGetNode :: GetNode -> TestTree+requestGetNode =+ req+ "GetNode"+ "fixture/GetNode.yaml"++requestGetProposal :: GetProposal -> TestTree+requestGetProposal =+ req+ "GetProposal"+ "fixture/GetProposal.yaml"++requestListAccessors :: ListAccessors -> TestTree+requestListAccessors =+ req+ "ListAccessors"+ "fixture/ListAccessors.yaml"++requestListInvitations :: ListInvitations -> TestTree+requestListInvitations =+ req+ "ListInvitations"+ "fixture/ListInvitations.yaml"++requestListMembers :: ListMembers -> TestTree+requestListMembers =+ req+ "ListMembers"+ "fixture/ListMembers.yaml"++requestListNetworks :: ListNetworks -> TestTree+requestListNetworks =+ req+ "ListNetworks"+ "fixture/ListNetworks.yaml"++requestListNodes :: ListNodes -> TestTree+requestListNodes =+ req+ "ListNodes"+ "fixture/ListNodes.yaml"++requestListProposalVotes :: ListProposalVotes -> TestTree+requestListProposalVotes =+ req+ "ListProposalVotes"+ "fixture/ListProposalVotes.yaml"++requestListProposals :: ListProposals -> TestTree+requestListProposals =+ req+ "ListProposals"+ "fixture/ListProposals.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestRejectInvitation :: RejectInvitation -> TestTree+requestRejectInvitation =+ req+ "RejectInvitation"+ "fixture/RejectInvitation.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateMember :: UpdateMember -> TestTree+requestUpdateMember =+ req+ "UpdateMember"+ "fixture/UpdateMember.yaml"++requestUpdateNode :: UpdateNode -> TestTree+requestUpdateNode =+ req+ "UpdateNode"+ "fixture/UpdateNode.yaml"++requestVoteOnProposal :: VoteOnProposal -> TestTree+requestVoteOnProposal =+ req+ "VoteOnProposal"+ "fixture/VoteOnProposal.yaml"++-- Responses++responseCreateAccessor :: CreateAccessorResponse -> TestTree+responseCreateAccessor =+ res+ "CreateAccessorResponse"+ "fixture/CreateAccessorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAccessor)++responseCreateMember :: CreateMemberResponse -> TestTree+responseCreateMember =+ res+ "CreateMemberResponse"+ "fixture/CreateMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateMember)++responseCreateNetwork :: CreateNetworkResponse -> TestTree+responseCreateNetwork =+ res+ "CreateNetworkResponse"+ "fixture/CreateNetworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateNetwork)++responseCreateNode :: CreateNodeResponse -> TestTree+responseCreateNode =+ res+ "CreateNodeResponse"+ "fixture/CreateNodeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateNode)++responseCreateProposal :: CreateProposalResponse -> TestTree+responseCreateProposal =+ res+ "CreateProposalResponse"+ "fixture/CreateProposalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateProposal)++responseDeleteAccessor :: DeleteAccessorResponse -> TestTree+responseDeleteAccessor =+ res+ "DeleteAccessorResponse"+ "fixture/DeleteAccessorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAccessor)++responseDeleteMember :: DeleteMemberResponse -> TestTree+responseDeleteMember =+ res+ "DeleteMemberResponse"+ "fixture/DeleteMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteMember)++responseDeleteNode :: DeleteNodeResponse -> TestTree+responseDeleteNode =+ res+ "DeleteNodeResponse"+ "fixture/DeleteNodeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteNode)++responseGetAccessor :: GetAccessorResponse -> TestTree+responseGetAccessor =+ res+ "GetAccessorResponse"+ "fixture/GetAccessorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAccessor)++responseGetMember :: GetMemberResponse -> TestTree+responseGetMember =+ res+ "GetMemberResponse"+ "fixture/GetMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMember)++responseGetNetwork :: GetNetworkResponse -> TestTree+responseGetNetwork =+ res+ "GetNetworkResponse"+ "fixture/GetNetworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetNetwork)++responseGetNode :: GetNodeResponse -> TestTree+responseGetNode =+ res+ "GetNodeResponse"+ "fixture/GetNodeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetNode)++responseGetProposal :: GetProposalResponse -> TestTree+responseGetProposal =+ res+ "GetProposalResponse"+ "fixture/GetProposalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetProposal)++responseListAccessors :: ListAccessorsResponse -> TestTree+responseListAccessors =+ res+ "ListAccessorsResponse"+ "fixture/ListAccessorsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAccessors)++responseListInvitations :: ListInvitationsResponse -> TestTree+responseListInvitations =+ res+ "ListInvitationsResponse"+ "fixture/ListInvitationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListInvitations)++responseListMembers :: ListMembersResponse -> TestTree+responseListMembers =+ res+ "ListMembersResponse"+ "fixture/ListMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListMembers)++responseListNetworks :: ListNetworksResponse -> TestTree+responseListNetworks =+ res+ "ListNetworksResponse"+ "fixture/ListNetworksResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListNetworks)++responseListNodes :: ListNodesResponse -> TestTree+responseListNodes =+ res+ "ListNodesResponse"+ "fixture/ListNodesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListNodes)++responseListProposalVotes :: ListProposalVotesResponse -> TestTree+responseListProposalVotes =+ res+ "ListProposalVotesResponse"+ "fixture/ListProposalVotesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListProposalVotes)++responseListProposals :: ListProposalsResponse -> TestTree+responseListProposals =+ res+ "ListProposalsResponse"+ "fixture/ListProposalsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListProposals)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseRejectInvitation :: RejectInvitationResponse -> TestTree+responseRejectInvitation =+ res+ "RejectInvitationResponse"+ "fixture/RejectInvitationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RejectInvitation)++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)++responseUpdateMember :: UpdateMemberResponse -> TestTree+responseUpdateMember =+ res+ "UpdateMemberResponse"+ "fixture/UpdateMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMember)++responseUpdateNode :: UpdateNodeResponse -> TestTree+responseUpdateNode =+ res+ "UpdateNodeResponse"+ "fixture/UpdateNodeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateNode)++responseVoteOnProposal :: VoteOnProposalResponse -> TestTree+responseVoteOnProposal =+ res+ "VoteOnProposalResponse"+ "fixture/VoteOnProposalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy VoteOnProposal)
+ test/Test/Amazonka/ManagedBlockChain.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.ManagedBlockChain+-- Copyright : (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.ManagedBlockChain+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ManagedBlockChain/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.ManagedBlockChain.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.ManagedBlockChain.Internal where