amazonka-kafka (empty) → 2.0
raw patch · 183 files changed
+18405/−0 lines, 183 filesdep +amazonka-coredep +amazonka-kafkadep +amazonka-test
Dependencies added: amazonka-core, amazonka-kafka, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-kafka.cabal +182/−0
- fixture/BatchAssociateScramSecret.yaml +10/−0
- fixture/BatchAssociateScramSecretResponse.proto +0/−0
- fixture/BatchDisassociateScramSecret.yaml +10/−0
- fixture/BatchDisassociateScramSecretResponse.proto +0/−0
- fixture/CreateCluster.yaml +10/−0
- fixture/CreateClusterResponse.proto +0/−0
- fixture/CreateClusterV2.yaml +10/−0
- fixture/CreateClusterV2Response.proto +0/−0
- fixture/CreateConfiguration.yaml +10/−0
- fixture/CreateConfigurationResponse.proto +0/−0
- fixture/DeleteCluster.yaml +10/−0
- fixture/DeleteClusterResponse.proto +0/−0
- fixture/DeleteConfiguration.yaml +10/−0
- fixture/DeleteConfigurationResponse.proto +0/−0
- fixture/DescribeCluster.yaml +10/−0
- fixture/DescribeClusterOperation.yaml +10/−0
- fixture/DescribeClusterOperationResponse.proto +0/−0
- fixture/DescribeClusterResponse.proto +0/−0
- fixture/DescribeClusterV2.yaml +10/−0
- fixture/DescribeClusterV2Response.proto +0/−0
- fixture/DescribeConfiguration.yaml +10/−0
- fixture/DescribeConfigurationResponse.proto +0/−0
- fixture/DescribeConfigurationRevision.yaml +10/−0
- fixture/DescribeConfigurationRevisionResponse.proto +0/−0
- fixture/GetBootstrapBrokers.yaml +10/−0
- fixture/GetBootstrapBrokersResponse.proto +0/−0
- fixture/GetCompatibleKafkaVersions.yaml +10/−0
- fixture/GetCompatibleKafkaVersionsResponse.proto +0/−0
- fixture/ListClusterOperations.yaml +10/−0
- fixture/ListClusterOperationsResponse.proto +0/−0
- fixture/ListClusters.yaml +10/−0
- fixture/ListClustersResponse.proto +0/−0
- fixture/ListClustersV2.yaml +10/−0
- fixture/ListClustersV2Response.proto +0/−0
- fixture/ListConfigurationRevisions.yaml +10/−0
- fixture/ListConfigurationRevisionsResponse.proto +0/−0
- fixture/ListConfigurations.yaml +10/−0
- fixture/ListConfigurationsResponse.proto +0/−0
- fixture/ListKafkaVersions.yaml +10/−0
- fixture/ListKafkaVersionsResponse.proto +0/−0
- fixture/ListNodes.yaml +10/−0
- fixture/ListNodesResponse.proto +0/−0
- fixture/ListScramSecrets.yaml +10/−0
- fixture/ListScramSecretsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/RebootBroker.yaml +10/−0
- fixture/RebootBrokerResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateBrokerCount.yaml +10/−0
- fixture/UpdateBrokerCountResponse.proto +0/−0
- fixture/UpdateBrokerStorage.yaml +10/−0
- fixture/UpdateBrokerStorageResponse.proto +0/−0
- fixture/UpdateBrokerType.yaml +10/−0
- fixture/UpdateBrokerTypeResponse.proto +0/−0
- fixture/UpdateClusterConfiguration.yaml +10/−0
- fixture/UpdateClusterConfigurationResponse.proto +0/−0
- fixture/UpdateClusterKafkaVersion.yaml +10/−0
- fixture/UpdateClusterKafkaVersionResponse.proto +0/−0
- fixture/UpdateConfiguration.yaml +10/−0
- fixture/UpdateConfigurationResponse.proto +0/−0
- fixture/UpdateConnectivity.yaml +10/−0
- fixture/UpdateConnectivityResponse.proto +0/−0
- fixture/UpdateMonitoring.yaml +10/−0
- fixture/UpdateMonitoringResponse.proto +0/−0
- fixture/UpdateSecurity.yaml +10/−0
- fixture/UpdateSecurityResponse.proto +0/−0
- fixture/UpdateStorage.yaml +10/−0
- fixture/UpdateStorageResponse.proto +0/−0
- gen/Amazonka/Kafka.hs +580/−0
- gen/Amazonka/Kafka/BatchAssociateScramSecret.hs +209/−0
- gen/Amazonka/Kafka/BatchDisassociateScramSecret.hs +212/−0
- gen/Amazonka/Kafka/CreateCluster.hs +365/−0
- gen/Amazonka/Kafka/CreateClusterV2.hs +250/−0
- gen/Amazonka/Kafka/CreateConfiguration.hs +282/−0
- gen/Amazonka/Kafka/DeleteCluster.hs +193/−0
- gen/Amazonka/Kafka/DeleteConfiguration.hs +179/−0
- gen/Amazonka/Kafka/DescribeCluster.hs +160/−0
- gen/Amazonka/Kafka/DescribeClusterOperation.hs +169/−0
- gen/Amazonka/Kafka/DescribeClusterV2.hs +160/−0
- gen/Amazonka/Kafka/DescribeConfiguration.hs +240/−0
- gen/Amazonka/Kafka/DescribeConfigurationRevision.hs +258/−0
- gen/Amazonka/Kafka/GetBootstrapBrokers.hs +250/−0
- gen/Amazonka/Kafka/GetCompatibleKafkaVersions.hs +167/−0
- gen/Amazonka/Kafka/Lens.hs +687/−0
- gen/Amazonka/Kafka/ListClusterOperations.hs +250/−0
- gen/Amazonka/Kafka/ListClusters.hs +243/−0
- gen/Amazonka/Kafka/ListClustersV2.hs +259/−0
- gen/Amazonka/Kafka/ListConfigurationRevisions.hs +243/−0
- gen/Amazonka/Kafka/ListConfigurations.hs +229/−0
- gen/Amazonka/Kafka/ListKafkaVersions.hs +218/−0
- gen/Amazonka/Kafka/ListNodes.hs +239/−0
- gen/Amazonka/Kafka/ListScramSecrets.hs +231/−0
- gen/Amazonka/Kafka/ListTagsForResource.hs +163/−0
- gen/Amazonka/Kafka/RebootBroker.hs +199/−0
- gen/Amazonka/Kafka/TagResource.hs +146/−0
- gen/Amazonka/Kafka/Types.hs +655/−0
- gen/Amazonka/Kafka/Types/BrokerAZDistribution.hs +74/−0
- gen/Amazonka/Kafka/Types/BrokerEBSVolumeInfo.hs +114/−0
- gen/Amazonka/Kafka/Types/BrokerLogs.hs +105/−0
- gen/Amazonka/Kafka/Types/BrokerNodeGroupInfo.hs +206/−0
- gen/Amazonka/Kafka/Types/BrokerNodeInfo.hs +136/−0
- gen/Amazonka/Kafka/Types/BrokerSoftwareInfo.hs +103/−0
- gen/Amazonka/Kafka/Types/ClientAuthentication.hs +110/−0
- gen/Amazonka/Kafka/Types/ClientBroker.hs +77/−0
- gen/Amazonka/Kafka/Types/CloudWatchLogs.hs +91/−0
- gen/Amazonka/Kafka/Types/Cluster.hs +203/−0
- gen/Amazonka/Kafka/Types/ClusterInfo.hs +318/−0
- gen/Amazonka/Kafka/Types/ClusterOperationInfo.hs +196/−0
- gen/Amazonka/Kafka/Types/ClusterOperationStep.hs +85/−0
- gen/Amazonka/Kafka/Types/ClusterOperationStepInfo.hs +72/−0
- gen/Amazonka/Kafka/Types/ClusterState.hs +102/−0
- gen/Amazonka/Kafka/Types/ClusterType.hs +72/−0
- gen/Amazonka/Kafka/Types/CompatibleKafkaVersion.hs +89/−0
- gen/Amazonka/Kafka/Types/Configuration.hs +176/−0
- gen/Amazonka/Kafka/Types/ConfigurationInfo.hs +96/−0
- gen/Amazonka/Kafka/Types/ConfigurationRevision.hs +101/−0
- gen/Amazonka/Kafka/Types/ConfigurationState.hs +77/−0
- gen/Amazonka/Kafka/Types/ConnectivityInfo.hs +76/−0
- gen/Amazonka/Kafka/Types/EBSStorageInfo.hs +100/−0
- gen/Amazonka/Kafka/Types/EncryptionAtRest.hs +86/−0
- gen/Amazonka/Kafka/Types/EncryptionInTransit.hs +140/−0
- gen/Amazonka/Kafka/Types/EncryptionInfo.hs +99/−0
- gen/Amazonka/Kafka/Types/EnhancedMonitoring.hs +86/−0
- gen/Amazonka/Kafka/Types/ErrorInfo.hs +84/−0
- gen/Amazonka/Kafka/Types/Firehose.hs +92/−0
- gen/Amazonka/Kafka/Types/Iam.hs +71/−0
- gen/Amazonka/Kafka/Types/JmxExporter.hs +70/−0
- gen/Amazonka/Kafka/Types/JmxExporterInfo.hs +83/−0
- gen/Amazonka/Kafka/Types/KafkaVersion.hs +81/−0
- gen/Amazonka/Kafka/Types/KafkaVersionStatus.hs +71/−0
- gen/Amazonka/Kafka/Types/LoggingInfo.hs +74/−0
- gen/Amazonka/Kafka/Types/MutableClusterInfo.hs +230/−0
- gen/Amazonka/Kafka/Types/NodeExporter.hs +70/−0
- gen/Amazonka/Kafka/Types/NodeExporterInfo.hs +83/−0
- gen/Amazonka/Kafka/Types/NodeInfo.hs +135/−0
- gen/Amazonka/Kafka/Types/NodeType.hs +67/−0
- gen/Amazonka/Kafka/Types/OpenMonitoring.hs +70/−0
- gen/Amazonka/Kafka/Types/OpenMonitoringInfo.hs +78/−0
- gen/Amazonka/Kafka/Types/Prometheus.hs +86/−0
- gen/Amazonka/Kafka/Types/PrometheusInfo.hs +95/−0
- gen/Amazonka/Kafka/Types/Provisioned.hs +216/−0
- gen/Amazonka/Kafka/Types/ProvisionedRequest.hs +213/−0
- gen/Amazonka/Kafka/Types/ProvisionedThroughput.hs +98/−0
- gen/Amazonka/Kafka/Types/PublicAccess.hs +77/−0
- gen/Amazonka/Kafka/Types/S3.hs +103/−0
- gen/Amazonka/Kafka/Types/Sasl.hs +94/−0
- gen/Amazonka/Kafka/Types/Scram.hs +71/−0
- gen/Amazonka/Kafka/Types/Serverless.hs +86/−0
- gen/Amazonka/Kafka/Types/ServerlessClientAuthentication.hs +88/−0
- gen/Amazonka/Kafka/Types/ServerlessRequest.hs +87/−0
- gen/Amazonka/Kafka/Types/ServerlessSasl.hs +73/−0
- gen/Amazonka/Kafka/Types/StateInfo.hs +79/−0
- gen/Amazonka/Kafka/Types/StorageInfo.hs +78/−0
- gen/Amazonka/Kafka/Types/StorageMode.hs +72/−0
- gen/Amazonka/Kafka/Types/Tls.hs +97/−0
- gen/Amazonka/Kafka/Types/Unauthenticated.hs +75/−0
- gen/Amazonka/Kafka/Types/UnprocessedScramSecret.hs +97/−0
- gen/Amazonka/Kafka/Types/VpcConfig.hs +97/−0
- gen/Amazonka/Kafka/Types/ZookeeperNodeInfo.hs +120/−0
- gen/Amazonka/Kafka/UntagResource.hs +187/−0
- gen/Amazonka/Kafka/UpdateBrokerCount.hs +229/−0
- gen/Amazonka/Kafka/UpdateBrokerStorage.hs +223/−0
- gen/Amazonka/Kafka/UpdateBrokerType.hs +226/−0
- gen/Amazonka/Kafka/UpdateClusterConfiguration.hs +228/−0
- gen/Amazonka/Kafka/UpdateClusterKafkaVersion.hs +238/−0
- gen/Amazonka/Kafka/UpdateConfiguration.hs +228/−0
- gen/Amazonka/Kafka/UpdateConnectivity.hs +231/−0
- gen/Amazonka/Kafka/UpdateMonitoring.hs +259/−0
- gen/Amazonka/Kafka/UpdateSecurity.hs +237/−0
- gen/Amazonka/Kafka/UpdateStorage.hs +246/−0
- gen/Amazonka/Kafka/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/Kafka.hs +758/−0
- test/Test/Amazonka/Kafka.hs +20/−0
- test/Test/Amazonka/Kafka/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 Streaming for Kafka SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-11-14@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-kafka)+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.Kafka](http://hackage.haskell.org/package/amazonka-kafka/docs/Amazonka-Kafka.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-kafka` 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-kafka.cabal view
@@ -0,0 +1,182 @@+cabal-version: 2.2+name: amazonka-kafka+version: 2.0+synopsis: Amazon Managed Streaming for Kafka 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-11-14@ 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.Kafka.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.Kafka" 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-kafka++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.Kafka+ Amazonka.Kafka.BatchAssociateScramSecret+ Amazonka.Kafka.BatchDisassociateScramSecret+ Amazonka.Kafka.CreateCluster+ Amazonka.Kafka.CreateClusterV2+ Amazonka.Kafka.CreateConfiguration+ Amazonka.Kafka.DeleteCluster+ Amazonka.Kafka.DeleteConfiguration+ Amazonka.Kafka.DescribeCluster+ Amazonka.Kafka.DescribeClusterOperation+ Amazonka.Kafka.DescribeClusterV2+ Amazonka.Kafka.DescribeConfiguration+ Amazonka.Kafka.DescribeConfigurationRevision+ Amazonka.Kafka.GetBootstrapBrokers+ Amazonka.Kafka.GetCompatibleKafkaVersions+ Amazonka.Kafka.Lens+ Amazonka.Kafka.ListClusterOperations+ Amazonka.Kafka.ListClusters+ Amazonka.Kafka.ListClustersV2+ Amazonka.Kafka.ListConfigurationRevisions+ Amazonka.Kafka.ListConfigurations+ Amazonka.Kafka.ListKafkaVersions+ Amazonka.Kafka.ListNodes+ Amazonka.Kafka.ListScramSecrets+ Amazonka.Kafka.ListTagsForResource+ Amazonka.Kafka.RebootBroker+ Amazonka.Kafka.TagResource+ Amazonka.Kafka.Types+ Amazonka.Kafka.Types.BrokerAZDistribution+ Amazonka.Kafka.Types.BrokerEBSVolumeInfo+ Amazonka.Kafka.Types.BrokerLogs+ Amazonka.Kafka.Types.BrokerNodeGroupInfo+ Amazonka.Kafka.Types.BrokerNodeInfo+ Amazonka.Kafka.Types.BrokerSoftwareInfo+ Amazonka.Kafka.Types.ClientAuthentication+ Amazonka.Kafka.Types.ClientBroker+ Amazonka.Kafka.Types.CloudWatchLogs+ Amazonka.Kafka.Types.Cluster+ Amazonka.Kafka.Types.ClusterInfo+ Amazonka.Kafka.Types.ClusterOperationInfo+ Amazonka.Kafka.Types.ClusterOperationStep+ Amazonka.Kafka.Types.ClusterOperationStepInfo+ Amazonka.Kafka.Types.ClusterState+ Amazonka.Kafka.Types.ClusterType+ Amazonka.Kafka.Types.CompatibleKafkaVersion+ Amazonka.Kafka.Types.Configuration+ Amazonka.Kafka.Types.ConfigurationInfo+ Amazonka.Kafka.Types.ConfigurationRevision+ Amazonka.Kafka.Types.ConfigurationState+ Amazonka.Kafka.Types.ConnectivityInfo+ Amazonka.Kafka.Types.EBSStorageInfo+ Amazonka.Kafka.Types.EncryptionAtRest+ Amazonka.Kafka.Types.EncryptionInfo+ Amazonka.Kafka.Types.EncryptionInTransit+ Amazonka.Kafka.Types.EnhancedMonitoring+ Amazonka.Kafka.Types.ErrorInfo+ Amazonka.Kafka.Types.Firehose+ Amazonka.Kafka.Types.Iam+ Amazonka.Kafka.Types.JmxExporter+ Amazonka.Kafka.Types.JmxExporterInfo+ Amazonka.Kafka.Types.KafkaVersion+ Amazonka.Kafka.Types.KafkaVersionStatus+ Amazonka.Kafka.Types.LoggingInfo+ Amazonka.Kafka.Types.MutableClusterInfo+ Amazonka.Kafka.Types.NodeExporter+ Amazonka.Kafka.Types.NodeExporterInfo+ Amazonka.Kafka.Types.NodeInfo+ Amazonka.Kafka.Types.NodeType+ Amazonka.Kafka.Types.OpenMonitoring+ Amazonka.Kafka.Types.OpenMonitoringInfo+ Amazonka.Kafka.Types.Prometheus+ Amazonka.Kafka.Types.PrometheusInfo+ Amazonka.Kafka.Types.Provisioned+ Amazonka.Kafka.Types.ProvisionedRequest+ Amazonka.Kafka.Types.ProvisionedThroughput+ Amazonka.Kafka.Types.PublicAccess+ Amazonka.Kafka.Types.S3+ Amazonka.Kafka.Types.Sasl+ Amazonka.Kafka.Types.Scram+ Amazonka.Kafka.Types.Serverless+ Amazonka.Kafka.Types.ServerlessClientAuthentication+ Amazonka.Kafka.Types.ServerlessRequest+ Amazonka.Kafka.Types.ServerlessSasl+ Amazonka.Kafka.Types.StateInfo+ Amazonka.Kafka.Types.StorageInfo+ Amazonka.Kafka.Types.StorageMode+ Amazonka.Kafka.Types.Tls+ Amazonka.Kafka.Types.Unauthenticated+ Amazonka.Kafka.Types.UnprocessedScramSecret+ Amazonka.Kafka.Types.VpcConfig+ Amazonka.Kafka.Types.ZookeeperNodeInfo+ Amazonka.Kafka.UntagResource+ Amazonka.Kafka.UpdateBrokerCount+ Amazonka.Kafka.UpdateBrokerStorage+ Amazonka.Kafka.UpdateBrokerType+ Amazonka.Kafka.UpdateClusterConfiguration+ Amazonka.Kafka.UpdateClusterKafkaVersion+ Amazonka.Kafka.UpdateConfiguration+ Amazonka.Kafka.UpdateConnectivity+ Amazonka.Kafka.UpdateMonitoring+ Amazonka.Kafka.UpdateSecurity+ Amazonka.Kafka.UpdateStorage+ Amazonka.Kafka.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-kafka-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.Kafka+ Test.Amazonka.Kafka+ Test.Amazonka.Kafka.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-kafka+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/BatchAssociateScramSecret.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchAssociateScramSecretResponse.proto view
+ fixture/BatchDisassociateScramSecret.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchDisassociateScramSecretResponse.proto view
+ fixture/CreateCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateClusterResponse.proto view
+ fixture/CreateClusterV2.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateClusterV2Response.proto view
+ fixture/CreateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateConfigurationResponse.proto view
+ fixture/DeleteCluster.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteClusterResponse.proto view
+ fixture/DeleteConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteConfigurationResponse.proto view
+ fixture/DescribeCluster.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeClusterOperation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeClusterOperationResponse.proto view
+ fixture/DescribeClusterResponse.proto view
+ fixture/DescribeClusterV2.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeClusterV2Response.proto view
+ fixture/DescribeConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeConfigurationResponse.proto view
+ fixture/DescribeConfigurationRevision.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeConfigurationRevisionResponse.proto view
+ fixture/GetBootstrapBrokers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetBootstrapBrokersResponse.proto view
+ fixture/GetCompatibleKafkaVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetCompatibleKafkaVersionsResponse.proto view
+ fixture/ListClusterOperations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListClusterOperationsResponse.proto view
+ fixture/ListClusters.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListClustersResponse.proto view
+ fixture/ListClustersV2.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListClustersV2Response.proto view
+ fixture/ListConfigurationRevisions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListConfigurationRevisionsResponse.proto view
+ fixture/ListConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListConfigurationsResponse.proto view
+ fixture/ListKafkaVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListKafkaVersionsResponse.proto view
+ fixture/ListNodes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-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/ListScramSecrets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListScramSecretsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-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/RebootBroker.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/RebootBrokerResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-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/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-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/UpdateBrokerCount.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateBrokerCountResponse.proto view
+ fixture/UpdateBrokerStorage.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateBrokerStorageResponse.proto view
+ fixture/UpdateBrokerType.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateBrokerTypeResponse.proto view
+ fixture/UpdateClusterConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateClusterConfigurationResponse.proto view
+ fixture/UpdateClusterKafkaVersion.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateClusterKafkaVersionResponse.proto view
+ fixture/UpdateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateConfigurationResponse.proto view
+ fixture/UpdateConnectivity.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateConnectivityResponse.proto view
+ fixture/UpdateMonitoring.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateMonitoringResponse.proto view
+ fixture/UpdateSecurity.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateSecurityResponse.proto view
+ fixture/UpdateStorage.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafka/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: kafka.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateStorageResponse.proto view
+ gen/Amazonka/Kafka.hs view
@@ -0,0 +1,580 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.Kafka+-- 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-11-14@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The operations for managing an Amazon MSK cluster.+module Amazonka.Kafka+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** BadRequestException+ _BadRequestException,++ -- ** ConflictException+ _ConflictException,++ -- ** ForbiddenException+ _ForbiddenException,++ -- ** InternalServerErrorException+ _InternalServerErrorException,++ -- ** NotFoundException+ _NotFoundException,++ -- ** ServiceUnavailableException+ _ServiceUnavailableException,++ -- ** TooManyRequestsException+ _TooManyRequestsException,++ -- ** UnauthorizedException+ _UnauthorizedException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** BatchAssociateScramSecret+ BatchAssociateScramSecret (BatchAssociateScramSecret'),+ newBatchAssociateScramSecret,+ BatchAssociateScramSecretResponse (BatchAssociateScramSecretResponse'),+ newBatchAssociateScramSecretResponse,++ -- ** BatchDisassociateScramSecret+ BatchDisassociateScramSecret (BatchDisassociateScramSecret'),+ newBatchDisassociateScramSecret,+ BatchDisassociateScramSecretResponse (BatchDisassociateScramSecretResponse'),+ newBatchDisassociateScramSecretResponse,++ -- ** CreateCluster+ CreateCluster (CreateCluster'),+ newCreateCluster,+ CreateClusterResponse (CreateClusterResponse'),+ newCreateClusterResponse,++ -- ** CreateClusterV2+ CreateClusterV2 (CreateClusterV2'),+ newCreateClusterV2,+ CreateClusterV2Response (CreateClusterV2Response'),+ newCreateClusterV2Response,++ -- ** CreateConfiguration+ CreateConfiguration (CreateConfiguration'),+ newCreateConfiguration,+ CreateConfigurationResponse (CreateConfigurationResponse'),+ newCreateConfigurationResponse,++ -- ** DeleteCluster+ DeleteCluster (DeleteCluster'),+ newDeleteCluster,+ DeleteClusterResponse (DeleteClusterResponse'),+ newDeleteClusterResponse,++ -- ** DeleteConfiguration+ DeleteConfiguration (DeleteConfiguration'),+ newDeleteConfiguration,+ DeleteConfigurationResponse (DeleteConfigurationResponse'),+ newDeleteConfigurationResponse,++ -- ** DescribeCluster+ DescribeCluster (DescribeCluster'),+ newDescribeCluster,+ DescribeClusterResponse (DescribeClusterResponse'),+ newDescribeClusterResponse,++ -- ** DescribeClusterOperation+ DescribeClusterOperation (DescribeClusterOperation'),+ newDescribeClusterOperation,+ DescribeClusterOperationResponse (DescribeClusterOperationResponse'),+ newDescribeClusterOperationResponse,++ -- ** DescribeClusterV2+ DescribeClusterV2 (DescribeClusterV2'),+ newDescribeClusterV2,+ DescribeClusterV2Response (DescribeClusterV2Response'),+ newDescribeClusterV2Response,++ -- ** DescribeConfiguration+ DescribeConfiguration (DescribeConfiguration'),+ newDescribeConfiguration,+ DescribeConfigurationResponse (DescribeConfigurationResponse'),+ newDescribeConfigurationResponse,++ -- ** DescribeConfigurationRevision+ DescribeConfigurationRevision (DescribeConfigurationRevision'),+ newDescribeConfigurationRevision,+ DescribeConfigurationRevisionResponse (DescribeConfigurationRevisionResponse'),+ newDescribeConfigurationRevisionResponse,++ -- ** GetBootstrapBrokers+ GetBootstrapBrokers (GetBootstrapBrokers'),+ newGetBootstrapBrokers,+ GetBootstrapBrokersResponse (GetBootstrapBrokersResponse'),+ newGetBootstrapBrokersResponse,++ -- ** GetCompatibleKafkaVersions+ GetCompatibleKafkaVersions (GetCompatibleKafkaVersions'),+ newGetCompatibleKafkaVersions,+ GetCompatibleKafkaVersionsResponse (GetCompatibleKafkaVersionsResponse'),+ newGetCompatibleKafkaVersionsResponse,++ -- ** ListClusterOperations (Paginated)+ ListClusterOperations (ListClusterOperations'),+ newListClusterOperations,+ ListClusterOperationsResponse (ListClusterOperationsResponse'),+ newListClusterOperationsResponse,++ -- ** ListClusters (Paginated)+ ListClusters (ListClusters'),+ newListClusters,+ ListClustersResponse (ListClustersResponse'),+ newListClustersResponse,++ -- ** ListClustersV2 (Paginated)+ ListClustersV2 (ListClustersV2'),+ newListClustersV2,+ ListClustersV2Response (ListClustersV2Response'),+ newListClustersV2Response,++ -- ** ListConfigurationRevisions (Paginated)+ ListConfigurationRevisions (ListConfigurationRevisions'),+ newListConfigurationRevisions,+ ListConfigurationRevisionsResponse (ListConfigurationRevisionsResponse'),+ newListConfigurationRevisionsResponse,++ -- ** ListConfigurations (Paginated)+ ListConfigurations (ListConfigurations'),+ newListConfigurations,+ ListConfigurationsResponse (ListConfigurationsResponse'),+ newListConfigurationsResponse,++ -- ** ListKafkaVersions (Paginated)+ ListKafkaVersions (ListKafkaVersions'),+ newListKafkaVersions,+ ListKafkaVersionsResponse (ListKafkaVersionsResponse'),+ newListKafkaVersionsResponse,++ -- ** ListNodes (Paginated)+ ListNodes (ListNodes'),+ newListNodes,+ ListNodesResponse (ListNodesResponse'),+ newListNodesResponse,++ -- ** ListScramSecrets (Paginated)+ ListScramSecrets (ListScramSecrets'),+ newListScramSecrets,+ ListScramSecretsResponse (ListScramSecretsResponse'),+ newListScramSecretsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** RebootBroker+ RebootBroker (RebootBroker'),+ newRebootBroker,+ RebootBrokerResponse (RebootBrokerResponse'),+ newRebootBrokerResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateBrokerCount+ UpdateBrokerCount (UpdateBrokerCount'),+ newUpdateBrokerCount,+ UpdateBrokerCountResponse (UpdateBrokerCountResponse'),+ newUpdateBrokerCountResponse,++ -- ** UpdateBrokerStorage+ UpdateBrokerStorage (UpdateBrokerStorage'),+ newUpdateBrokerStorage,+ UpdateBrokerStorageResponse (UpdateBrokerStorageResponse'),+ newUpdateBrokerStorageResponse,++ -- ** UpdateBrokerType+ UpdateBrokerType (UpdateBrokerType'),+ newUpdateBrokerType,+ UpdateBrokerTypeResponse (UpdateBrokerTypeResponse'),+ newUpdateBrokerTypeResponse,++ -- ** UpdateClusterConfiguration+ UpdateClusterConfiguration (UpdateClusterConfiguration'),+ newUpdateClusterConfiguration,+ UpdateClusterConfigurationResponse (UpdateClusterConfigurationResponse'),+ newUpdateClusterConfigurationResponse,++ -- ** UpdateClusterKafkaVersion+ UpdateClusterKafkaVersion (UpdateClusterKafkaVersion'),+ newUpdateClusterKafkaVersion,+ UpdateClusterKafkaVersionResponse (UpdateClusterKafkaVersionResponse'),+ newUpdateClusterKafkaVersionResponse,++ -- ** UpdateConfiguration+ UpdateConfiguration (UpdateConfiguration'),+ newUpdateConfiguration,+ UpdateConfigurationResponse (UpdateConfigurationResponse'),+ newUpdateConfigurationResponse,++ -- ** UpdateConnectivity+ UpdateConnectivity (UpdateConnectivity'),+ newUpdateConnectivity,+ UpdateConnectivityResponse (UpdateConnectivityResponse'),+ newUpdateConnectivityResponse,++ -- ** UpdateMonitoring+ UpdateMonitoring (UpdateMonitoring'),+ newUpdateMonitoring,+ UpdateMonitoringResponse (UpdateMonitoringResponse'),+ newUpdateMonitoringResponse,++ -- ** UpdateSecurity+ UpdateSecurity (UpdateSecurity'),+ newUpdateSecurity,+ UpdateSecurityResponse (UpdateSecurityResponse'),+ newUpdateSecurityResponse,++ -- ** UpdateStorage+ UpdateStorage (UpdateStorage'),+ newUpdateStorage,+ UpdateStorageResponse (UpdateStorageResponse'),+ newUpdateStorageResponse,++ -- * Types++ -- ** BrokerAZDistribution+ BrokerAZDistribution (..),++ -- ** ClientBroker+ ClientBroker (..),++ -- ** ClusterState+ ClusterState (..),++ -- ** ClusterType+ ClusterType (..),++ -- ** ConfigurationState+ ConfigurationState (..),++ -- ** EnhancedMonitoring+ EnhancedMonitoring (..),++ -- ** KafkaVersionStatus+ KafkaVersionStatus (..),++ -- ** NodeType+ NodeType (..),++ -- ** StorageMode+ StorageMode (..),++ -- ** BrokerEBSVolumeInfo+ BrokerEBSVolumeInfo (BrokerEBSVolumeInfo'),+ newBrokerEBSVolumeInfo,++ -- ** BrokerLogs+ BrokerLogs (BrokerLogs'),+ newBrokerLogs,++ -- ** BrokerNodeGroupInfo+ BrokerNodeGroupInfo (BrokerNodeGroupInfo'),+ newBrokerNodeGroupInfo,++ -- ** BrokerNodeInfo+ BrokerNodeInfo (BrokerNodeInfo'),+ newBrokerNodeInfo,++ -- ** BrokerSoftwareInfo+ BrokerSoftwareInfo (BrokerSoftwareInfo'),+ newBrokerSoftwareInfo,++ -- ** ClientAuthentication+ ClientAuthentication (ClientAuthentication'),+ newClientAuthentication,++ -- ** CloudWatchLogs+ CloudWatchLogs (CloudWatchLogs'),+ newCloudWatchLogs,++ -- ** Cluster+ Cluster (Cluster'),+ newCluster,++ -- ** ClusterInfo+ ClusterInfo (ClusterInfo'),+ newClusterInfo,++ -- ** ClusterOperationInfo+ ClusterOperationInfo (ClusterOperationInfo'),+ newClusterOperationInfo,++ -- ** ClusterOperationStep+ ClusterOperationStep (ClusterOperationStep'),+ newClusterOperationStep,++ -- ** ClusterOperationStepInfo+ ClusterOperationStepInfo (ClusterOperationStepInfo'),+ newClusterOperationStepInfo,++ -- ** CompatibleKafkaVersion+ CompatibleKafkaVersion (CompatibleKafkaVersion'),+ newCompatibleKafkaVersion,++ -- ** Configuration+ Configuration (Configuration'),+ newConfiguration,++ -- ** ConfigurationInfo+ ConfigurationInfo (ConfigurationInfo'),+ newConfigurationInfo,++ -- ** ConfigurationRevision+ ConfigurationRevision (ConfigurationRevision'),+ newConfigurationRevision,++ -- ** ConnectivityInfo+ ConnectivityInfo (ConnectivityInfo'),+ newConnectivityInfo,++ -- ** EBSStorageInfo+ EBSStorageInfo (EBSStorageInfo'),+ newEBSStorageInfo,++ -- ** EncryptionAtRest+ EncryptionAtRest (EncryptionAtRest'),+ newEncryptionAtRest,++ -- ** EncryptionInTransit+ EncryptionInTransit (EncryptionInTransit'),+ newEncryptionInTransit,++ -- ** EncryptionInfo+ EncryptionInfo (EncryptionInfo'),+ newEncryptionInfo,++ -- ** ErrorInfo+ ErrorInfo (ErrorInfo'),+ newErrorInfo,++ -- ** Firehose+ Firehose (Firehose'),+ newFirehose,++ -- ** Iam+ Iam (Iam'),+ newIam,++ -- ** JmxExporter+ JmxExporter (JmxExporter'),+ newJmxExporter,++ -- ** JmxExporterInfo+ JmxExporterInfo (JmxExporterInfo'),+ newJmxExporterInfo,++ -- ** KafkaVersion+ KafkaVersion (KafkaVersion'),+ newKafkaVersion,++ -- ** LoggingInfo+ LoggingInfo (LoggingInfo'),+ newLoggingInfo,++ -- ** MutableClusterInfo+ MutableClusterInfo (MutableClusterInfo'),+ newMutableClusterInfo,++ -- ** NodeExporter+ NodeExporter (NodeExporter'),+ newNodeExporter,++ -- ** NodeExporterInfo+ NodeExporterInfo (NodeExporterInfo'),+ newNodeExporterInfo,++ -- ** NodeInfo+ NodeInfo (NodeInfo'),+ newNodeInfo,++ -- ** OpenMonitoring+ OpenMonitoring (OpenMonitoring'),+ newOpenMonitoring,++ -- ** OpenMonitoringInfo+ OpenMonitoringInfo (OpenMonitoringInfo'),+ newOpenMonitoringInfo,++ -- ** Prometheus+ Prometheus (Prometheus'),+ newPrometheus,++ -- ** PrometheusInfo+ PrometheusInfo (PrometheusInfo'),+ newPrometheusInfo,++ -- ** Provisioned+ Provisioned (Provisioned'),+ newProvisioned,++ -- ** ProvisionedRequest+ ProvisionedRequest (ProvisionedRequest'),+ newProvisionedRequest,++ -- ** ProvisionedThroughput+ ProvisionedThroughput (ProvisionedThroughput'),+ newProvisionedThroughput,++ -- ** PublicAccess+ PublicAccess (PublicAccess'),+ newPublicAccess,++ -- ** S3+ S3 (S3'),+ newS3,++ -- ** Sasl+ Sasl (Sasl'),+ newSasl,++ -- ** Scram+ Scram (Scram'),+ newScram,++ -- ** Serverless+ Serverless (Serverless'),+ newServerless,++ -- ** ServerlessClientAuthentication+ ServerlessClientAuthentication (ServerlessClientAuthentication'),+ newServerlessClientAuthentication,++ -- ** ServerlessRequest+ ServerlessRequest (ServerlessRequest'),+ newServerlessRequest,++ -- ** ServerlessSasl+ ServerlessSasl (ServerlessSasl'),+ newServerlessSasl,++ -- ** StateInfo+ StateInfo (StateInfo'),+ newStateInfo,++ -- ** StorageInfo+ StorageInfo (StorageInfo'),+ newStorageInfo,++ -- ** Tls+ Tls (Tls'),+ newTls,++ -- ** Unauthenticated+ Unauthenticated (Unauthenticated'),+ newUnauthenticated,++ -- ** UnprocessedScramSecret+ UnprocessedScramSecret (UnprocessedScramSecret'),+ newUnprocessedScramSecret,++ -- ** VpcConfig+ VpcConfig (VpcConfig'),+ newVpcConfig,++ -- ** ZookeeperNodeInfo+ ZookeeperNodeInfo (ZookeeperNodeInfo'),+ newZookeeperNodeInfo,+ )+where++import Amazonka.Kafka.BatchAssociateScramSecret+import Amazonka.Kafka.BatchDisassociateScramSecret+import Amazonka.Kafka.CreateCluster+import Amazonka.Kafka.CreateClusterV2+import Amazonka.Kafka.CreateConfiguration+import Amazonka.Kafka.DeleteCluster+import Amazonka.Kafka.DeleteConfiguration+import Amazonka.Kafka.DescribeCluster+import Amazonka.Kafka.DescribeClusterOperation+import Amazonka.Kafka.DescribeClusterV2+import Amazonka.Kafka.DescribeConfiguration+import Amazonka.Kafka.DescribeConfigurationRevision+import Amazonka.Kafka.GetBootstrapBrokers+import Amazonka.Kafka.GetCompatibleKafkaVersions+import Amazonka.Kafka.Lens+import Amazonka.Kafka.ListClusterOperations+import Amazonka.Kafka.ListClusters+import Amazonka.Kafka.ListClustersV2+import Amazonka.Kafka.ListConfigurationRevisions+import Amazonka.Kafka.ListConfigurations+import Amazonka.Kafka.ListKafkaVersions+import Amazonka.Kafka.ListNodes+import Amazonka.Kafka.ListScramSecrets+import Amazonka.Kafka.ListTagsForResource+import Amazonka.Kafka.RebootBroker+import Amazonka.Kafka.TagResource+import Amazonka.Kafka.Types+import Amazonka.Kafka.UntagResource+import Amazonka.Kafka.UpdateBrokerCount+import Amazonka.Kafka.UpdateBrokerStorage+import Amazonka.Kafka.UpdateBrokerType+import Amazonka.Kafka.UpdateClusterConfiguration+import Amazonka.Kafka.UpdateClusterKafkaVersion+import Amazonka.Kafka.UpdateConfiguration+import Amazonka.Kafka.UpdateConnectivity+import Amazonka.Kafka.UpdateMonitoring+import Amazonka.Kafka.UpdateSecurity+import Amazonka.Kafka.UpdateStorage+import Amazonka.Kafka.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 'Kafka'.++-- $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/Kafka/BatchAssociateScramSecret.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.BatchAssociateScramSecret+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates one or more Scram Secrets with an Amazon MSK cluster.+module Amazonka.Kafka.BatchAssociateScramSecret+ ( -- * Creating a Request+ BatchAssociateScramSecret (..),+ newBatchAssociateScramSecret,++ -- * Request Lenses+ batchAssociateScramSecret_clusterArn,+ batchAssociateScramSecret_secretArnList,++ -- * Destructuring the Response+ BatchAssociateScramSecretResponse (..),+ newBatchAssociateScramSecretResponse,++ -- * Response Lenses+ batchAssociateScramSecretResponse_clusterArn,+ batchAssociateScramSecretResponse_unprocessedScramSecrets,+ batchAssociateScramSecretResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Associates sasl scram secrets to cluster.+--+-- /See:/ 'newBatchAssociateScramSecret' smart constructor.+data BatchAssociateScramSecret = BatchAssociateScramSecret'+ { -- | The Amazon Resource Name (ARN) of the cluster to be updated.+ clusterArn :: Prelude.Text,+ -- | List of AWS Secrets Manager secret ARNs.+ secretArnList :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateScramSecret' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'batchAssociateScramSecret_clusterArn' - The Amazon Resource Name (ARN) of the cluster to be updated.+--+-- 'secretArnList', 'batchAssociateScramSecret_secretArnList' - List of AWS Secrets Manager secret ARNs.+newBatchAssociateScramSecret ::+ -- | 'clusterArn'+ Prelude.Text ->+ BatchAssociateScramSecret+newBatchAssociateScramSecret pClusterArn_ =+ BatchAssociateScramSecret'+ { clusterArn =+ pClusterArn_,+ secretArnList = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the cluster to be updated.+batchAssociateScramSecret_clusterArn :: Lens.Lens' BatchAssociateScramSecret Prelude.Text+batchAssociateScramSecret_clusterArn = Lens.lens (\BatchAssociateScramSecret' {clusterArn} -> clusterArn) (\s@BatchAssociateScramSecret' {} a -> s {clusterArn = a} :: BatchAssociateScramSecret)++-- | List of AWS Secrets Manager secret ARNs.+batchAssociateScramSecret_secretArnList :: Lens.Lens' BatchAssociateScramSecret [Prelude.Text]+batchAssociateScramSecret_secretArnList = Lens.lens (\BatchAssociateScramSecret' {secretArnList} -> secretArnList) (\s@BatchAssociateScramSecret' {} a -> s {secretArnList = a} :: BatchAssociateScramSecret) Prelude.. Lens.coerced++instance Core.AWSRequest BatchAssociateScramSecret where+ type+ AWSResponse BatchAssociateScramSecret =+ BatchAssociateScramSecretResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchAssociateScramSecretResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> ( x+ Data..?> "unprocessedScramSecrets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchAssociateScramSecret where+ hashWithSalt _salt BatchAssociateScramSecret' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` secretArnList++instance Prelude.NFData BatchAssociateScramSecret where+ rnf BatchAssociateScramSecret' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf secretArnList++instance Data.ToHeaders BatchAssociateScramSecret where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchAssociateScramSecret where+ toJSON BatchAssociateScramSecret' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("secretArnList" Data..= secretArnList)+ ]+ )++instance Data.ToPath BatchAssociateScramSecret where+ toPath BatchAssociateScramSecret' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/scram-secrets"+ ]++instance Data.ToQuery BatchAssociateScramSecret where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchAssociateScramSecretResponse' smart constructor.+data BatchAssociateScramSecretResponse = BatchAssociateScramSecretResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | List of errors when associating secrets to cluster.+ unprocessedScramSecrets :: Prelude.Maybe [UnprocessedScramSecret],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateScramSecretResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'batchAssociateScramSecretResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'unprocessedScramSecrets', 'batchAssociateScramSecretResponse_unprocessedScramSecrets' - List of errors when associating secrets to cluster.+--+-- 'httpStatus', 'batchAssociateScramSecretResponse_httpStatus' - The response's http status code.+newBatchAssociateScramSecretResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchAssociateScramSecretResponse+newBatchAssociateScramSecretResponse pHttpStatus_ =+ BatchAssociateScramSecretResponse'+ { clusterArn =+ Prelude.Nothing,+ unprocessedScramSecrets =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+batchAssociateScramSecretResponse_clusterArn :: Lens.Lens' BatchAssociateScramSecretResponse (Prelude.Maybe Prelude.Text)+batchAssociateScramSecretResponse_clusterArn = Lens.lens (\BatchAssociateScramSecretResponse' {clusterArn} -> clusterArn) (\s@BatchAssociateScramSecretResponse' {} a -> s {clusterArn = a} :: BatchAssociateScramSecretResponse)++-- | List of errors when associating secrets to cluster.+batchAssociateScramSecretResponse_unprocessedScramSecrets :: Lens.Lens' BatchAssociateScramSecretResponse (Prelude.Maybe [UnprocessedScramSecret])+batchAssociateScramSecretResponse_unprocessedScramSecrets = Lens.lens (\BatchAssociateScramSecretResponse' {unprocessedScramSecrets} -> unprocessedScramSecrets) (\s@BatchAssociateScramSecretResponse' {} a -> s {unprocessedScramSecrets = a} :: BatchAssociateScramSecretResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchAssociateScramSecretResponse_httpStatus :: Lens.Lens' BatchAssociateScramSecretResponse Prelude.Int+batchAssociateScramSecretResponse_httpStatus = Lens.lens (\BatchAssociateScramSecretResponse' {httpStatus} -> httpStatus) (\s@BatchAssociateScramSecretResponse' {} a -> s {httpStatus = a} :: BatchAssociateScramSecretResponse)++instance+ Prelude.NFData+ BatchAssociateScramSecretResponse+ where+ rnf BatchAssociateScramSecretResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf unprocessedScramSecrets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/BatchDisassociateScramSecret.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.BatchDisassociateScramSecret+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates one or more Scram Secrets from an Amazon MSK cluster.+module Amazonka.Kafka.BatchDisassociateScramSecret+ ( -- * Creating a Request+ BatchDisassociateScramSecret (..),+ newBatchDisassociateScramSecret,++ -- * Request Lenses+ batchDisassociateScramSecret_clusterArn,+ batchDisassociateScramSecret_secretArnList,++ -- * Destructuring the Response+ BatchDisassociateScramSecretResponse (..),+ newBatchDisassociateScramSecretResponse,++ -- * Response Lenses+ batchDisassociateScramSecretResponse_clusterArn,+ batchDisassociateScramSecretResponse_unprocessedScramSecrets,+ batchDisassociateScramSecretResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Disassociates sasl scram secrets to cluster.+--+-- /See:/ 'newBatchDisassociateScramSecret' smart constructor.+data BatchDisassociateScramSecret = BatchDisassociateScramSecret'+ { -- | The Amazon Resource Name (ARN) of the cluster to be updated.+ clusterArn :: Prelude.Text,+ -- | List of AWS Secrets Manager secret ARNs.+ secretArnList :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateScramSecret' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'batchDisassociateScramSecret_clusterArn' - The Amazon Resource Name (ARN) of the cluster to be updated.+--+-- 'secretArnList', 'batchDisassociateScramSecret_secretArnList' - List of AWS Secrets Manager secret ARNs.+newBatchDisassociateScramSecret ::+ -- | 'clusterArn'+ Prelude.Text ->+ BatchDisassociateScramSecret+newBatchDisassociateScramSecret pClusterArn_ =+ BatchDisassociateScramSecret'+ { clusterArn =+ pClusterArn_,+ secretArnList = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the cluster to be updated.+batchDisassociateScramSecret_clusterArn :: Lens.Lens' BatchDisassociateScramSecret Prelude.Text+batchDisassociateScramSecret_clusterArn = Lens.lens (\BatchDisassociateScramSecret' {clusterArn} -> clusterArn) (\s@BatchDisassociateScramSecret' {} a -> s {clusterArn = a} :: BatchDisassociateScramSecret)++-- | List of AWS Secrets Manager secret ARNs.+batchDisassociateScramSecret_secretArnList :: Lens.Lens' BatchDisassociateScramSecret [Prelude.Text]+batchDisassociateScramSecret_secretArnList = Lens.lens (\BatchDisassociateScramSecret' {secretArnList} -> secretArnList) (\s@BatchDisassociateScramSecret' {} a -> s {secretArnList = a} :: BatchDisassociateScramSecret) Prelude.. Lens.coerced++instance Core.AWSRequest BatchDisassociateScramSecret where+ type+ AWSResponse BatchDisassociateScramSecret =+ BatchDisassociateScramSecretResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDisassociateScramSecretResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> ( x+ Data..?> "unprocessedScramSecrets"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchDisassociateScramSecret+ where+ hashWithSalt _salt BatchDisassociateScramSecret' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` secretArnList++instance Prelude.NFData BatchDisassociateScramSecret where+ rnf BatchDisassociateScramSecret' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf secretArnList++instance Data.ToHeaders BatchDisassociateScramSecret where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchDisassociateScramSecret where+ toJSON BatchDisassociateScramSecret' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("secretArnList" Data..= secretArnList)+ ]+ )++instance Data.ToPath BatchDisassociateScramSecret where+ toPath BatchDisassociateScramSecret' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/scram-secrets"+ ]++instance Data.ToQuery BatchDisassociateScramSecret where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDisassociateScramSecretResponse' smart constructor.+data BatchDisassociateScramSecretResponse = BatchDisassociateScramSecretResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | List of errors when disassociating secrets to cluster.+ unprocessedScramSecrets :: Prelude.Maybe [UnprocessedScramSecret],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateScramSecretResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'batchDisassociateScramSecretResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'unprocessedScramSecrets', 'batchDisassociateScramSecretResponse_unprocessedScramSecrets' - List of errors when disassociating secrets to cluster.+--+-- 'httpStatus', 'batchDisassociateScramSecretResponse_httpStatus' - The response's http status code.+newBatchDisassociateScramSecretResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDisassociateScramSecretResponse+newBatchDisassociateScramSecretResponse pHttpStatus_ =+ BatchDisassociateScramSecretResponse'+ { clusterArn =+ Prelude.Nothing,+ unprocessedScramSecrets =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+batchDisassociateScramSecretResponse_clusterArn :: Lens.Lens' BatchDisassociateScramSecretResponse (Prelude.Maybe Prelude.Text)+batchDisassociateScramSecretResponse_clusterArn = Lens.lens (\BatchDisassociateScramSecretResponse' {clusterArn} -> clusterArn) (\s@BatchDisassociateScramSecretResponse' {} a -> s {clusterArn = a} :: BatchDisassociateScramSecretResponse)++-- | List of errors when disassociating secrets to cluster.+batchDisassociateScramSecretResponse_unprocessedScramSecrets :: Lens.Lens' BatchDisassociateScramSecretResponse (Prelude.Maybe [UnprocessedScramSecret])+batchDisassociateScramSecretResponse_unprocessedScramSecrets = Lens.lens (\BatchDisassociateScramSecretResponse' {unprocessedScramSecrets} -> unprocessedScramSecrets) (\s@BatchDisassociateScramSecretResponse' {} a -> s {unprocessedScramSecrets = a} :: BatchDisassociateScramSecretResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDisassociateScramSecretResponse_httpStatus :: Lens.Lens' BatchDisassociateScramSecretResponse Prelude.Int+batchDisassociateScramSecretResponse_httpStatus = Lens.lens (\BatchDisassociateScramSecretResponse' {httpStatus} -> httpStatus) (\s@BatchDisassociateScramSecretResponse' {} a -> s {httpStatus = a} :: BatchDisassociateScramSecretResponse)++instance+ Prelude.NFData+ BatchDisassociateScramSecretResponse+ where+ rnf BatchDisassociateScramSecretResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf unprocessedScramSecrets+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/CreateCluster.hs view
@@ -0,0 +1,365 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.CreateCluster+-- 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 MSK cluster.+module Amazonka.Kafka.CreateCluster+ ( -- * Creating a Request+ CreateCluster (..),+ newCreateCluster,++ -- * Request Lenses+ createCluster_clientAuthentication,+ createCluster_configurationInfo,+ createCluster_encryptionInfo,+ createCluster_enhancedMonitoring,+ createCluster_loggingInfo,+ createCluster_openMonitoring,+ createCluster_storageMode,+ createCluster_tags,+ createCluster_brokerNodeGroupInfo,+ createCluster_kafkaVersion,+ createCluster_numberOfBrokerNodes,+ createCluster_clusterName,++ -- * Destructuring the Response+ CreateClusterResponse (..),+ newCreateClusterResponse,++ -- * Response Lenses+ createClusterResponse_clusterArn,+ createClusterResponse_clusterName,+ createClusterResponse_state,+ createClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCluster' smart constructor.+data CreateCluster = CreateCluster'+ { -- | Includes all client authentication related information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | Represents the configuration that you want MSK to use for the brokers in+ -- a cluster.+ configurationInfo :: Prelude.Maybe ConfigurationInfo,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | Specifies the level of monitoring for the MSK cluster. The possible+ -- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+ -- PER_TOPIC_PER_PARTITION.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The settings for open monitoring.+ openMonitoring :: Prelude.Maybe OpenMonitoringInfo,+ -- | This controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode,+ -- | Create tags when creating the cluster.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Information about the broker nodes in the cluster.+ brokerNodeGroupInfo :: BrokerNodeGroupInfo,+ -- | The version of Apache Kafka.+ kafkaVersion :: Prelude.Text,+ -- | The number of broker nodes in the cluster.+ numberOfBrokerNodes :: Prelude.Natural,+ -- | The name of the cluster.+ clusterName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'createCluster_clientAuthentication' - Includes all client authentication related information.+--+-- 'configurationInfo', 'createCluster_configurationInfo' - Represents the configuration that you want MSK to use for the brokers in+-- a cluster.+--+-- 'encryptionInfo', 'createCluster_encryptionInfo' - Includes all encryption-related information.+--+-- 'enhancedMonitoring', 'createCluster_enhancedMonitoring' - Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+--+-- 'loggingInfo', 'createCluster_loggingInfo' - Undocumented member.+--+-- 'openMonitoring', 'createCluster_openMonitoring' - The settings for open monitoring.+--+-- 'storageMode', 'createCluster_storageMode' - This controls storage mode for supported storage tiers.+--+-- 'tags', 'createCluster_tags' - Create tags when creating the cluster.+--+-- 'brokerNodeGroupInfo', 'createCluster_brokerNodeGroupInfo' - Information about the broker nodes in the cluster.+--+-- 'kafkaVersion', 'createCluster_kafkaVersion' - The version of Apache Kafka.+--+-- 'numberOfBrokerNodes', 'createCluster_numberOfBrokerNodes' - The number of broker nodes in the cluster.+--+-- 'clusterName', 'createCluster_clusterName' - The name of the cluster.+newCreateCluster ::+ -- | 'brokerNodeGroupInfo'+ BrokerNodeGroupInfo ->+ -- | 'kafkaVersion'+ Prelude.Text ->+ -- | 'numberOfBrokerNodes'+ Prelude.Natural ->+ -- | 'clusterName'+ Prelude.Text ->+ CreateCluster+newCreateCluster+ pBrokerNodeGroupInfo_+ pKafkaVersion_+ pNumberOfBrokerNodes_+ pClusterName_ =+ CreateCluster'+ { clientAuthentication =+ Prelude.Nothing,+ configurationInfo = Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ enhancedMonitoring = Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ storageMode = Prelude.Nothing,+ tags = Prelude.Nothing,+ brokerNodeGroupInfo = pBrokerNodeGroupInfo_,+ kafkaVersion = pKafkaVersion_,+ numberOfBrokerNodes = pNumberOfBrokerNodes_,+ clusterName = pClusterName_+ }++-- | Includes all client authentication related information.+createCluster_clientAuthentication :: Lens.Lens' CreateCluster (Prelude.Maybe ClientAuthentication)+createCluster_clientAuthentication = Lens.lens (\CreateCluster' {clientAuthentication} -> clientAuthentication) (\s@CreateCluster' {} a -> s {clientAuthentication = a} :: CreateCluster)++-- | Represents the configuration that you want MSK to use for the brokers in+-- a cluster.+createCluster_configurationInfo :: Lens.Lens' CreateCluster (Prelude.Maybe ConfigurationInfo)+createCluster_configurationInfo = Lens.lens (\CreateCluster' {configurationInfo} -> configurationInfo) (\s@CreateCluster' {} a -> s {configurationInfo = a} :: CreateCluster)++-- | Includes all encryption-related information.+createCluster_encryptionInfo :: Lens.Lens' CreateCluster (Prelude.Maybe EncryptionInfo)+createCluster_encryptionInfo = Lens.lens (\CreateCluster' {encryptionInfo} -> encryptionInfo) (\s@CreateCluster' {} a -> s {encryptionInfo = a} :: CreateCluster)++-- | Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+createCluster_enhancedMonitoring :: Lens.Lens' CreateCluster (Prelude.Maybe EnhancedMonitoring)+createCluster_enhancedMonitoring = Lens.lens (\CreateCluster' {enhancedMonitoring} -> enhancedMonitoring) (\s@CreateCluster' {} a -> s {enhancedMonitoring = a} :: CreateCluster)++-- | Undocumented member.+createCluster_loggingInfo :: Lens.Lens' CreateCluster (Prelude.Maybe LoggingInfo)+createCluster_loggingInfo = Lens.lens (\CreateCluster' {loggingInfo} -> loggingInfo) (\s@CreateCluster' {} a -> s {loggingInfo = a} :: CreateCluster)++-- | The settings for open monitoring.+createCluster_openMonitoring :: Lens.Lens' CreateCluster (Prelude.Maybe OpenMonitoringInfo)+createCluster_openMonitoring = Lens.lens (\CreateCluster' {openMonitoring} -> openMonitoring) (\s@CreateCluster' {} a -> s {openMonitoring = a} :: CreateCluster)++-- | This controls storage mode for supported storage tiers.+createCluster_storageMode :: Lens.Lens' CreateCluster (Prelude.Maybe StorageMode)+createCluster_storageMode = Lens.lens (\CreateCluster' {storageMode} -> storageMode) (\s@CreateCluster' {} a -> s {storageMode = a} :: CreateCluster)++-- | Create tags when creating the cluster.+createCluster_tags :: Lens.Lens' CreateCluster (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createCluster_tags = Lens.lens (\CreateCluster' {tags} -> tags) (\s@CreateCluster' {} a -> s {tags = a} :: CreateCluster) Prelude.. Lens.mapping Lens.coerced++-- | Information about the broker nodes in the cluster.+createCluster_brokerNodeGroupInfo :: Lens.Lens' CreateCluster BrokerNodeGroupInfo+createCluster_brokerNodeGroupInfo = Lens.lens (\CreateCluster' {brokerNodeGroupInfo} -> brokerNodeGroupInfo) (\s@CreateCluster' {} a -> s {brokerNodeGroupInfo = a} :: CreateCluster)++-- | The version of Apache Kafka.+createCluster_kafkaVersion :: Lens.Lens' CreateCluster Prelude.Text+createCluster_kafkaVersion = Lens.lens (\CreateCluster' {kafkaVersion} -> kafkaVersion) (\s@CreateCluster' {} a -> s {kafkaVersion = a} :: CreateCluster)++-- | The number of broker nodes in the cluster.+createCluster_numberOfBrokerNodes :: Lens.Lens' CreateCluster Prelude.Natural+createCluster_numberOfBrokerNodes = Lens.lens (\CreateCluster' {numberOfBrokerNodes} -> numberOfBrokerNodes) (\s@CreateCluster' {} a -> s {numberOfBrokerNodes = a} :: CreateCluster)++-- | The name of the cluster.+createCluster_clusterName :: Lens.Lens' CreateCluster Prelude.Text+createCluster_clusterName = Lens.lens (\CreateCluster' {clusterName} -> clusterName) (\s@CreateCluster' {} a -> s {clusterName = a} :: CreateCluster)++instance Core.AWSRequest CreateCluster where+ type+ AWSResponse CreateCluster =+ CreateClusterResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateClusterResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterName")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateCluster where+ hashWithSalt _salt CreateCluster' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` configurationInfo+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` storageMode+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` brokerNodeGroupInfo+ `Prelude.hashWithSalt` kafkaVersion+ `Prelude.hashWithSalt` numberOfBrokerNodes+ `Prelude.hashWithSalt` clusterName++instance Prelude.NFData CreateCluster where+ rnf CreateCluster' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf configurationInfo+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf storageMode+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf brokerNodeGroupInfo+ `Prelude.seq` Prelude.rnf kafkaVersion+ `Prelude.seq` Prelude.rnf numberOfBrokerNodes+ `Prelude.seq` Prelude.rnf clusterName++instance Data.ToHeaders CreateCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateCluster where+ toJSON CreateCluster' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientAuthentication" Data..=)+ Prelude.<$> clientAuthentication,+ ("configurationInfo" Data..=)+ Prelude.<$> configurationInfo,+ ("encryptionInfo" Data..=)+ Prelude.<$> encryptionInfo,+ ("enhancedMonitoring" Data..=)+ Prelude.<$> enhancedMonitoring,+ ("loggingInfo" Data..=) Prelude.<$> loggingInfo,+ ("openMonitoring" Data..=)+ Prelude.<$> openMonitoring,+ ("storageMode" Data..=) Prelude.<$> storageMode,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("brokerNodeGroupInfo" Data..= brokerNodeGroupInfo),+ Prelude.Just ("kafkaVersion" Data..= kafkaVersion),+ Prelude.Just+ ("numberOfBrokerNodes" Data..= numberOfBrokerNodes),+ Prelude.Just ("clusterName" Data..= clusterName)+ ]+ )++instance Data.ToPath CreateCluster where+ toPath = Prelude.const "/v1/clusters"++instance Data.ToQuery CreateCluster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateClusterResponse' smart constructor.+data CreateClusterResponse = CreateClusterResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the MSK cluster.+ clusterName :: Prelude.Maybe Prelude.Text,+ -- | The state of the cluster. The possible states are ACTIVE, CREATING,+ -- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+ state :: Prelude.Maybe ClusterState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'createClusterResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterName', 'createClusterResponse_clusterName' - The name of the MSK cluster.+--+-- 'state', 'createClusterResponse_state' - The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+--+-- 'httpStatus', 'createClusterResponse_httpStatus' - The response's http status code.+newCreateClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateClusterResponse+newCreateClusterResponse pHttpStatus_ =+ CreateClusterResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterName = Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+createClusterResponse_clusterArn :: Lens.Lens' CreateClusterResponse (Prelude.Maybe Prelude.Text)+createClusterResponse_clusterArn = Lens.lens (\CreateClusterResponse' {clusterArn} -> clusterArn) (\s@CreateClusterResponse' {} a -> s {clusterArn = a} :: CreateClusterResponse)++-- | The name of the MSK cluster.+createClusterResponse_clusterName :: Lens.Lens' CreateClusterResponse (Prelude.Maybe Prelude.Text)+createClusterResponse_clusterName = Lens.lens (\CreateClusterResponse' {clusterName} -> clusterName) (\s@CreateClusterResponse' {} a -> s {clusterName = a} :: CreateClusterResponse)++-- | The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+createClusterResponse_state :: Lens.Lens' CreateClusterResponse (Prelude.Maybe ClusterState)+createClusterResponse_state = Lens.lens (\CreateClusterResponse' {state} -> state) (\s@CreateClusterResponse' {} a -> s {state = a} :: CreateClusterResponse)++-- | The response's http status code.+createClusterResponse_httpStatus :: Lens.Lens' CreateClusterResponse Prelude.Int+createClusterResponse_httpStatus = Lens.lens (\CreateClusterResponse' {httpStatus} -> httpStatus) (\s@CreateClusterResponse' {} a -> s {httpStatus = a} :: CreateClusterResponse)++instance Prelude.NFData CreateClusterResponse where+ rnf CreateClusterResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterName+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/CreateClusterV2.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.CreateClusterV2+-- 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 MSK cluster.+module Amazonka.Kafka.CreateClusterV2+ ( -- * Creating a Request+ CreateClusterV2 (..),+ newCreateClusterV2,++ -- * Request Lenses+ createClusterV2_provisioned,+ createClusterV2_serverless,+ createClusterV2_tags,+ createClusterV2_clusterName,++ -- * Destructuring the Response+ CreateClusterV2Response (..),+ newCreateClusterV2Response,++ -- * Response Lenses+ createClusterV2Response_clusterArn,+ createClusterV2Response_clusterName,+ createClusterV2Response_clusterType,+ createClusterV2Response_state,+ createClusterV2Response_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateClusterV2' smart constructor.+data CreateClusterV2 = CreateClusterV2'+ { -- | Information about the provisioned cluster.+ provisioned :: Prelude.Maybe ProvisionedRequest,+ -- | Information about the serverless cluster.+ serverless :: Prelude.Maybe ServerlessRequest,+ -- | A map of tags that you want the cluster to have.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the cluster.+ clusterName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateClusterV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'provisioned', 'createClusterV2_provisioned' - Information about the provisioned cluster.+--+-- 'serverless', 'createClusterV2_serverless' - Information about the serverless cluster.+--+-- 'tags', 'createClusterV2_tags' - A map of tags that you want the cluster to have.+--+-- 'clusterName', 'createClusterV2_clusterName' - The name of the cluster.+newCreateClusterV2 ::+ -- | 'clusterName'+ Prelude.Text ->+ CreateClusterV2+newCreateClusterV2 pClusterName_ =+ CreateClusterV2'+ { provisioned = Prelude.Nothing,+ serverless = Prelude.Nothing,+ tags = Prelude.Nothing,+ clusterName = pClusterName_+ }++-- | Information about the provisioned cluster.+createClusterV2_provisioned :: Lens.Lens' CreateClusterV2 (Prelude.Maybe ProvisionedRequest)+createClusterV2_provisioned = Lens.lens (\CreateClusterV2' {provisioned} -> provisioned) (\s@CreateClusterV2' {} a -> s {provisioned = a} :: CreateClusterV2)++-- | Information about the serverless cluster.+createClusterV2_serverless :: Lens.Lens' CreateClusterV2 (Prelude.Maybe ServerlessRequest)+createClusterV2_serverless = Lens.lens (\CreateClusterV2' {serverless} -> serverless) (\s@CreateClusterV2' {} a -> s {serverless = a} :: CreateClusterV2)++-- | A map of tags that you want the cluster to have.+createClusterV2_tags :: Lens.Lens' CreateClusterV2 (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createClusterV2_tags = Lens.lens (\CreateClusterV2' {tags} -> tags) (\s@CreateClusterV2' {} a -> s {tags = a} :: CreateClusterV2) Prelude.. Lens.mapping Lens.coerced++-- | The name of the cluster.+createClusterV2_clusterName :: Lens.Lens' CreateClusterV2 Prelude.Text+createClusterV2_clusterName = Lens.lens (\CreateClusterV2' {clusterName} -> clusterName) (\s@CreateClusterV2' {} a -> s {clusterName = a} :: CreateClusterV2)++instance Core.AWSRequest CreateClusterV2 where+ type+ AWSResponse CreateClusterV2 =+ CreateClusterV2Response+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateClusterV2Response'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterName")+ Prelude.<*> (x Data..?> "clusterType")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateClusterV2 where+ hashWithSalt _salt CreateClusterV2' {..} =+ _salt+ `Prelude.hashWithSalt` provisioned+ `Prelude.hashWithSalt` serverless+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` clusterName++instance Prelude.NFData CreateClusterV2 where+ rnf CreateClusterV2' {..} =+ Prelude.rnf provisioned+ `Prelude.seq` Prelude.rnf serverless+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf clusterName++instance Data.ToHeaders CreateClusterV2 where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateClusterV2 where+ toJSON CreateClusterV2' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("provisioned" Data..=) Prelude.<$> provisioned,+ ("serverless" Data..=) Prelude.<$> serverless,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("clusterName" Data..= clusterName)+ ]+ )++instance Data.ToPath CreateClusterV2 where+ toPath = Prelude.const "/api/v2/clusters"++instance Data.ToQuery CreateClusterV2 where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateClusterV2Response' smart constructor.+data CreateClusterV2Response = CreateClusterV2Response'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the MSK cluster.+ clusterName :: Prelude.Maybe Prelude.Text,+ -- | The type of the cluster. The possible states are PROVISIONED or+ -- SERVERLESS.+ clusterType :: Prelude.Maybe ClusterType,+ -- | The state of the cluster. The possible states are ACTIVE, CREATING,+ -- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+ state :: Prelude.Maybe ClusterState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateClusterV2Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'createClusterV2Response_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterName', 'createClusterV2Response_clusterName' - The name of the MSK cluster.+--+-- 'clusterType', 'createClusterV2Response_clusterType' - The type of the cluster. The possible states are PROVISIONED or+-- SERVERLESS.+--+-- 'state', 'createClusterV2Response_state' - The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+--+-- 'httpStatus', 'createClusterV2Response_httpStatus' - The response's http status code.+newCreateClusterV2Response ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateClusterV2Response+newCreateClusterV2Response pHttpStatus_ =+ CreateClusterV2Response'+ { clusterArn =+ Prelude.Nothing,+ clusterName = Prelude.Nothing,+ clusterType = Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+createClusterV2Response_clusterArn :: Lens.Lens' CreateClusterV2Response (Prelude.Maybe Prelude.Text)+createClusterV2Response_clusterArn = Lens.lens (\CreateClusterV2Response' {clusterArn} -> clusterArn) (\s@CreateClusterV2Response' {} a -> s {clusterArn = a} :: CreateClusterV2Response)++-- | The name of the MSK cluster.+createClusterV2Response_clusterName :: Lens.Lens' CreateClusterV2Response (Prelude.Maybe Prelude.Text)+createClusterV2Response_clusterName = Lens.lens (\CreateClusterV2Response' {clusterName} -> clusterName) (\s@CreateClusterV2Response' {} a -> s {clusterName = a} :: CreateClusterV2Response)++-- | The type of the cluster. The possible states are PROVISIONED or+-- SERVERLESS.+createClusterV2Response_clusterType :: Lens.Lens' CreateClusterV2Response (Prelude.Maybe ClusterType)+createClusterV2Response_clusterType = Lens.lens (\CreateClusterV2Response' {clusterType} -> clusterType) (\s@CreateClusterV2Response' {} a -> s {clusterType = a} :: CreateClusterV2Response)++-- | The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+createClusterV2Response_state :: Lens.Lens' CreateClusterV2Response (Prelude.Maybe ClusterState)+createClusterV2Response_state = Lens.lens (\CreateClusterV2Response' {state} -> state) (\s@CreateClusterV2Response' {} a -> s {state = a} :: CreateClusterV2Response)++-- | The response's http status code.+createClusterV2Response_httpStatus :: Lens.Lens' CreateClusterV2Response Prelude.Int+createClusterV2Response_httpStatus = Lens.lens (\CreateClusterV2Response' {httpStatus} -> httpStatus) (\s@CreateClusterV2Response' {} a -> s {httpStatus = a} :: CreateClusterV2Response)++instance Prelude.NFData CreateClusterV2Response where+ rnf CreateClusterV2Response' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterName+ `Prelude.seq` Prelude.rnf clusterType+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/CreateConfiguration.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.CreateConfiguration+-- 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 MSK configuration.+module Amazonka.Kafka.CreateConfiguration+ ( -- * Creating a Request+ CreateConfiguration (..),+ newCreateConfiguration,++ -- * Request Lenses+ createConfiguration_description,+ createConfiguration_kafkaVersions,+ createConfiguration_serverProperties,+ createConfiguration_name,++ -- * Destructuring the Response+ CreateConfigurationResponse (..),+ newCreateConfigurationResponse,++ -- * Response Lenses+ createConfigurationResponse_arn,+ createConfigurationResponse_creationTime,+ createConfigurationResponse_latestRevision,+ createConfigurationResponse_name,+ createConfigurationResponse_state,+ createConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConfiguration' smart constructor.+data CreateConfiguration = CreateConfiguration'+ { -- | The description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The versions of Apache Kafka with which you can use this MSK+ -- configuration.+ kafkaVersions :: Prelude.Maybe [Prelude.Text],+ -- | Contents of the server.properties file. When using the API, you must+ -- ensure that the contents of the file are base64 encoded. When using the+ -- AWS Management Console, the SDK, or the AWS CLI, the contents of+ -- server.properties can be in plaintext.+ serverProperties :: Data.Base64,+ -- | The name of the configuration.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConfiguration_description' - The description of the configuration.+--+-- 'kafkaVersions', 'createConfiguration_kafkaVersions' - The versions of Apache Kafka with which you can use this MSK+-- configuration.+--+-- 'serverProperties', 'createConfiguration_serverProperties' - Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'name', 'createConfiguration_name' - The name of the configuration.+newCreateConfiguration ::+ -- | 'serverProperties'+ Prelude.ByteString ->+ -- | 'name'+ Prelude.Text ->+ CreateConfiguration+newCreateConfiguration pServerProperties_ pName_ =+ CreateConfiguration'+ { description = Prelude.Nothing,+ kafkaVersions = Prelude.Nothing,+ serverProperties =+ Data._Base64 Lens.# pServerProperties_,+ name = pName_+ }++-- | The description of the configuration.+createConfiguration_description :: Lens.Lens' CreateConfiguration (Prelude.Maybe Prelude.Text)+createConfiguration_description = Lens.lens (\CreateConfiguration' {description} -> description) (\s@CreateConfiguration' {} a -> s {description = a} :: CreateConfiguration)++-- | The versions of Apache Kafka with which you can use this MSK+-- configuration.+createConfiguration_kafkaVersions :: Lens.Lens' CreateConfiguration (Prelude.Maybe [Prelude.Text])+createConfiguration_kafkaVersions = Lens.lens (\CreateConfiguration' {kafkaVersions} -> kafkaVersions) (\s@CreateConfiguration' {} a -> s {kafkaVersions = a} :: CreateConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createConfiguration_serverProperties :: Lens.Lens' CreateConfiguration Prelude.ByteString+createConfiguration_serverProperties = Lens.lens (\CreateConfiguration' {serverProperties} -> serverProperties) (\s@CreateConfiguration' {} a -> s {serverProperties = a} :: CreateConfiguration) Prelude.. Data._Base64++-- | The name of the configuration.+createConfiguration_name :: Lens.Lens' CreateConfiguration Prelude.Text+createConfiguration_name = Lens.lens (\CreateConfiguration' {name} -> name) (\s@CreateConfiguration' {} a -> s {name = a} :: CreateConfiguration)++instance Core.AWSRequest CreateConfiguration where+ type+ AWSResponse CreateConfiguration =+ CreateConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateConfigurationResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "latestRevision")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateConfiguration where+ hashWithSalt _salt CreateConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` kafkaVersions+ `Prelude.hashWithSalt` serverProperties+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateConfiguration where+ rnf CreateConfiguration' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf kafkaVersions+ `Prelude.seq` Prelude.rnf serverProperties+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateConfiguration where+ toJSON CreateConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("kafkaVersions" Data..=) Prelude.<$> kafkaVersions,+ Prelude.Just+ ("serverProperties" Data..= serverProperties),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateConfiguration where+ toPath = Prelude.const "/v1/configurations"++instance Data.ToQuery CreateConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConfigurationResponse' smart constructor.+data CreateConfigurationResponse = CreateConfigurationResponse'+ { -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the configuration was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | Latest revision of the configuration.+ latestRevision :: Prelude.Maybe ConfigurationRevision,+ -- | The name of the configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of the configuration. The possible states are ACTIVE,+ -- DELETING, and DELETE_FAILED.+ state :: Prelude.Maybe ConfigurationState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConfigurationResponse_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'creationTime', 'createConfigurationResponse_creationTime' - The time when the configuration was created.+--+-- 'latestRevision', 'createConfigurationResponse_latestRevision' - Latest revision of the configuration.+--+-- 'name', 'createConfigurationResponse_name' - The name of the configuration.+--+-- 'state', 'createConfigurationResponse_state' - The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+--+-- 'httpStatus', 'createConfigurationResponse_httpStatus' - The response's http status code.+newCreateConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateConfigurationResponse+newCreateConfigurationResponse pHttpStatus_ =+ CreateConfigurationResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ latestRevision = Prelude.Nothing,+ name = Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the configuration.+createConfigurationResponse_arn :: Lens.Lens' CreateConfigurationResponse (Prelude.Maybe Prelude.Text)+createConfigurationResponse_arn = Lens.lens (\CreateConfigurationResponse' {arn} -> arn) (\s@CreateConfigurationResponse' {} a -> s {arn = a} :: CreateConfigurationResponse)++-- | The time when the configuration was created.+createConfigurationResponse_creationTime :: Lens.Lens' CreateConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+createConfigurationResponse_creationTime = Lens.lens (\CreateConfigurationResponse' {creationTime} -> creationTime) (\s@CreateConfigurationResponse' {} a -> s {creationTime = a} :: CreateConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | Latest revision of the configuration.+createConfigurationResponse_latestRevision :: Lens.Lens' CreateConfigurationResponse (Prelude.Maybe ConfigurationRevision)+createConfigurationResponse_latestRevision = Lens.lens (\CreateConfigurationResponse' {latestRevision} -> latestRevision) (\s@CreateConfigurationResponse' {} a -> s {latestRevision = a} :: CreateConfigurationResponse)++-- | The name of the configuration.+createConfigurationResponse_name :: Lens.Lens' CreateConfigurationResponse (Prelude.Maybe Prelude.Text)+createConfigurationResponse_name = Lens.lens (\CreateConfigurationResponse' {name} -> name) (\s@CreateConfigurationResponse' {} a -> s {name = a} :: CreateConfigurationResponse)++-- | The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+createConfigurationResponse_state :: Lens.Lens' CreateConfigurationResponse (Prelude.Maybe ConfigurationState)+createConfigurationResponse_state = Lens.lens (\CreateConfigurationResponse' {state} -> state) (\s@CreateConfigurationResponse' {} a -> s {state = a} :: CreateConfigurationResponse)++-- | The response's http status code.+createConfigurationResponse_httpStatus :: Lens.Lens' CreateConfigurationResponse Prelude.Int+createConfigurationResponse_httpStatus = Lens.lens (\CreateConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateConfigurationResponse' {} a -> s {httpStatus = a} :: CreateConfigurationResponse)++instance Prelude.NFData CreateConfigurationResponse where+ rnf CreateConfigurationResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf latestRevision+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DeleteCluster.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DeleteCluster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in+-- the request.+module Amazonka.Kafka.DeleteCluster+ ( -- * Creating a Request+ DeleteCluster (..),+ newDeleteCluster,++ -- * Request Lenses+ deleteCluster_currentVersion,+ deleteCluster_clusterArn,++ -- * Destructuring the Response+ DeleteClusterResponse (..),+ newDeleteClusterResponse,++ -- * Response Lenses+ deleteClusterResponse_clusterArn,+ deleteClusterResponse_state,+ deleteClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCluster' smart constructor.+data DeleteCluster = DeleteCluster'+ { -- | The current version of the MSK cluster.+ currentVersion :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentVersion', 'deleteCluster_currentVersion' - The current version of the MSK cluster.+--+-- 'clusterArn', 'deleteCluster_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newDeleteCluster ::+ -- | 'clusterArn'+ Prelude.Text ->+ DeleteCluster+newDeleteCluster pClusterArn_ =+ DeleteCluster'+ { currentVersion = Prelude.Nothing,+ clusterArn = pClusterArn_+ }++-- | The current version of the MSK cluster.+deleteCluster_currentVersion :: Lens.Lens' DeleteCluster (Prelude.Maybe Prelude.Text)+deleteCluster_currentVersion = Lens.lens (\DeleteCluster' {currentVersion} -> currentVersion) (\s@DeleteCluster' {} a -> s {currentVersion = a} :: DeleteCluster)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+deleteCluster_clusterArn :: Lens.Lens' DeleteCluster Prelude.Text+deleteCluster_clusterArn = Lens.lens (\DeleteCluster' {clusterArn} -> clusterArn) (\s@DeleteCluster' {} a -> s {clusterArn = a} :: DeleteCluster)++instance Core.AWSRequest DeleteCluster where+ type+ AWSResponse DeleteCluster =+ DeleteClusterResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteClusterResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteCluster where+ hashWithSalt _salt DeleteCluster' {..} =+ _salt+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData DeleteCluster where+ rnf DeleteCluster' {..} =+ Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf clusterArn++instance Data.ToHeaders DeleteCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteCluster where+ toPath DeleteCluster' {..} =+ Prelude.mconcat+ ["/v1/clusters/", Data.toBS clusterArn]++instance Data.ToQuery DeleteCluster where+ toQuery DeleteCluster' {..} =+ Prelude.mconcat+ ["currentVersion" Data.=: currentVersion]++-- | /See:/ 'newDeleteClusterResponse' smart constructor.+data DeleteClusterResponse = DeleteClusterResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The state of the cluster. The possible states are ACTIVE, CREATING,+ -- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+ state :: Prelude.Maybe ClusterState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'deleteClusterResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'state', 'deleteClusterResponse_state' - The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+--+-- 'httpStatus', 'deleteClusterResponse_httpStatus' - The response's http status code.+newDeleteClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteClusterResponse+newDeleteClusterResponse pHttpStatus_ =+ DeleteClusterResponse'+ { clusterArn =+ Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+deleteClusterResponse_clusterArn :: Lens.Lens' DeleteClusterResponse (Prelude.Maybe Prelude.Text)+deleteClusterResponse_clusterArn = Lens.lens (\DeleteClusterResponse' {clusterArn} -> clusterArn) (\s@DeleteClusterResponse' {} a -> s {clusterArn = a} :: DeleteClusterResponse)++-- | The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+deleteClusterResponse_state :: Lens.Lens' DeleteClusterResponse (Prelude.Maybe ClusterState)+deleteClusterResponse_state = Lens.lens (\DeleteClusterResponse' {state} -> state) (\s@DeleteClusterResponse' {} a -> s {state = a} :: DeleteClusterResponse)++-- | The response's http status code.+deleteClusterResponse_httpStatus :: Lens.Lens' DeleteClusterResponse Prelude.Int+deleteClusterResponse_httpStatus = Lens.lens (\DeleteClusterResponse' {httpStatus} -> httpStatus) (\s@DeleteClusterResponse' {} a -> s {httpStatus = a} :: DeleteClusterResponse)++instance Prelude.NFData DeleteClusterResponse where+ rnf DeleteClusterResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DeleteConfiguration.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DeleteConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an MSK Configuration.+module Amazonka.Kafka.DeleteConfiguration+ ( -- * Creating a Request+ DeleteConfiguration (..),+ newDeleteConfiguration,++ -- * Request Lenses+ deleteConfiguration_arn,++ -- * Destructuring the Response+ DeleteConfigurationResponse (..),+ newDeleteConfigurationResponse,++ -- * Response Lenses+ deleteConfigurationResponse_arn,+ deleteConfigurationResponse_state,+ deleteConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteConfiguration' smart constructor.+data DeleteConfiguration = DeleteConfiguration'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+ -- configuration.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConfiguration_arn' - The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration.+newDeleteConfiguration ::+ -- | 'arn'+ Prelude.Text ->+ DeleteConfiguration+newDeleteConfiguration pArn_ =+ DeleteConfiguration' {arn = pArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration.+deleteConfiguration_arn :: Lens.Lens' DeleteConfiguration Prelude.Text+deleteConfiguration_arn = Lens.lens (\DeleteConfiguration' {arn} -> arn) (\s@DeleteConfiguration' {} a -> s {arn = a} :: DeleteConfiguration)++instance Core.AWSRequest DeleteConfiguration where+ type+ AWSResponse DeleteConfiguration =+ DeleteConfigurationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteConfigurationResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteConfiguration where+ hashWithSalt _salt DeleteConfiguration' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteConfiguration where+ rnf DeleteConfiguration' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteConfiguration where+ toPath DeleteConfiguration' {..} =+ Prelude.mconcat+ ["/v1/configurations/", Data.toBS arn]++instance Data.ToQuery DeleteConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConfigurationResponse' smart constructor.+data DeleteConfigurationResponse = DeleteConfigurationResponse'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+ -- configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The state of the configuration. The possible states are ACTIVE,+ -- DELETING, and DELETE_FAILED.+ state :: Prelude.Maybe ConfigurationState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConfigurationResponse_arn' - The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration.+--+-- 'state', 'deleteConfigurationResponse_state' - The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+--+-- 'httpStatus', 'deleteConfigurationResponse_httpStatus' - The response's http status code.+newDeleteConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteConfigurationResponse+newDeleteConfigurationResponse pHttpStatus_ =+ DeleteConfigurationResponse'+ { arn = Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration.+deleteConfigurationResponse_arn :: Lens.Lens' DeleteConfigurationResponse (Prelude.Maybe Prelude.Text)+deleteConfigurationResponse_arn = Lens.lens (\DeleteConfigurationResponse' {arn} -> arn) (\s@DeleteConfigurationResponse' {} a -> s {arn = a} :: DeleteConfigurationResponse)++-- | The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+deleteConfigurationResponse_state :: Lens.Lens' DeleteConfigurationResponse (Prelude.Maybe ConfigurationState)+deleteConfigurationResponse_state = Lens.lens (\DeleteConfigurationResponse' {state} -> state) (\s@DeleteConfigurationResponse' {} a -> s {state = a} :: DeleteConfigurationResponse)++-- | The response's http status code.+deleteConfigurationResponse_httpStatus :: Lens.Lens' DeleteConfigurationResponse Prelude.Int+deleteConfigurationResponse_httpStatus = Lens.lens (\DeleteConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteConfigurationResponse)++instance Prelude.NFData DeleteConfigurationResponse where+ rnf DeleteConfigurationResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DescribeCluster.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DescribeCluster+-- 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 description of the MSK cluster whose Amazon Resource Name+-- (ARN) is specified in the request.+module Amazonka.Kafka.DescribeCluster+ ( -- * Creating a Request+ DescribeCluster (..),+ newDescribeCluster,++ -- * Request Lenses+ describeCluster_clusterArn,++ -- * Destructuring the Response+ DescribeClusterResponse (..),+ newDescribeClusterResponse,++ -- * Response Lenses+ describeClusterResponse_clusterInfo,+ describeClusterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeCluster' smart constructor.+data DescribeCluster = DescribeCluster'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'describeCluster_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newDescribeCluster ::+ -- | 'clusterArn'+ Prelude.Text ->+ DescribeCluster+newDescribeCluster pClusterArn_ =+ DescribeCluster' {clusterArn = pClusterArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+describeCluster_clusterArn :: Lens.Lens' DescribeCluster Prelude.Text+describeCluster_clusterArn = Lens.lens (\DescribeCluster' {clusterArn} -> clusterArn) (\s@DescribeCluster' {} a -> s {clusterArn = a} :: DescribeCluster)++instance Core.AWSRequest DescribeCluster where+ type+ AWSResponse DescribeCluster =+ DescribeClusterResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeClusterResponse'+ Prelude.<$> (x Data..?> "clusterInfo")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeCluster where+ hashWithSalt _salt DescribeCluster' {..} =+ _salt `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData DescribeCluster where+ rnf DescribeCluster' {..} = Prelude.rnf clusterArn++instance Data.ToHeaders DescribeCluster where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeCluster where+ toPath DescribeCluster' {..} =+ Prelude.mconcat+ ["/v1/clusters/", Data.toBS clusterArn]++instance Data.ToQuery DescribeCluster where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeClusterResponse' smart constructor.+data DescribeClusterResponse = DescribeClusterResponse'+ { -- | The cluster information.+ clusterInfo :: Prelude.Maybe ClusterInfo,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClusterResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterInfo', 'describeClusterResponse_clusterInfo' - The cluster information.+--+-- 'httpStatus', 'describeClusterResponse_httpStatus' - The response's http status code.+newDescribeClusterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeClusterResponse+newDescribeClusterResponse pHttpStatus_ =+ DescribeClusterResponse'+ { clusterInfo =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The cluster information.+describeClusterResponse_clusterInfo :: Lens.Lens' DescribeClusterResponse (Prelude.Maybe ClusterInfo)+describeClusterResponse_clusterInfo = Lens.lens (\DescribeClusterResponse' {clusterInfo} -> clusterInfo) (\s@DescribeClusterResponse' {} a -> s {clusterInfo = a} :: DescribeClusterResponse)++-- | The response's http status code.+describeClusterResponse_httpStatus :: Lens.Lens' DescribeClusterResponse Prelude.Int+describeClusterResponse_httpStatus = Lens.lens (\DescribeClusterResponse' {httpStatus} -> httpStatus) (\s@DescribeClusterResponse' {} a -> s {httpStatus = a} :: DescribeClusterResponse)++instance Prelude.NFData DescribeClusterResponse where+ rnf DescribeClusterResponse' {..} =+ Prelude.rnf clusterInfo+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DescribeClusterOperation.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DescribeClusterOperation+-- 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 description of the cluster operation specified by the ARN.+module Amazonka.Kafka.DescribeClusterOperation+ ( -- * Creating a Request+ DescribeClusterOperation (..),+ newDescribeClusterOperation,++ -- * Request Lenses+ describeClusterOperation_clusterOperationArn,++ -- * Destructuring the Response+ DescribeClusterOperationResponse (..),+ newDescribeClusterOperationResponse,++ -- * Response Lenses+ describeClusterOperationResponse_clusterOperationInfo,+ describeClusterOperationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeClusterOperation' smart constructor.+data DescribeClusterOperation = DescribeClusterOperation'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster+ -- operation.+ clusterOperationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClusterOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterOperationArn', 'describeClusterOperation_clusterOperationArn' - The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster+-- operation.+newDescribeClusterOperation ::+ -- | 'clusterOperationArn'+ Prelude.Text ->+ DescribeClusterOperation+newDescribeClusterOperation pClusterOperationArn_ =+ DescribeClusterOperation'+ { clusterOperationArn =+ pClusterOperationArn_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster+-- operation.+describeClusterOperation_clusterOperationArn :: Lens.Lens' DescribeClusterOperation Prelude.Text+describeClusterOperation_clusterOperationArn = Lens.lens (\DescribeClusterOperation' {clusterOperationArn} -> clusterOperationArn) (\s@DescribeClusterOperation' {} a -> s {clusterOperationArn = a} :: DescribeClusterOperation)++instance Core.AWSRequest DescribeClusterOperation where+ type+ AWSResponse DescribeClusterOperation =+ DescribeClusterOperationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeClusterOperationResponse'+ Prelude.<$> (x Data..?> "clusterOperationInfo")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeClusterOperation where+ hashWithSalt _salt DescribeClusterOperation' {..} =+ _salt `Prelude.hashWithSalt` clusterOperationArn++instance Prelude.NFData DescribeClusterOperation where+ rnf DescribeClusterOperation' {..} =+ Prelude.rnf clusterOperationArn++instance Data.ToHeaders DescribeClusterOperation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeClusterOperation where+ toPath DescribeClusterOperation' {..} =+ Prelude.mconcat+ ["/v1/operations/", Data.toBS clusterOperationArn]++instance Data.ToQuery DescribeClusterOperation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeClusterOperationResponse' smart constructor.+data DescribeClusterOperationResponse = DescribeClusterOperationResponse'+ { -- | Cluster operation information+ clusterOperationInfo :: Prelude.Maybe ClusterOperationInfo,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClusterOperationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterOperationInfo', 'describeClusterOperationResponse_clusterOperationInfo' - Cluster operation information+--+-- 'httpStatus', 'describeClusterOperationResponse_httpStatus' - The response's http status code.+newDescribeClusterOperationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeClusterOperationResponse+newDescribeClusterOperationResponse pHttpStatus_ =+ DescribeClusterOperationResponse'+ { clusterOperationInfo =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Cluster operation information+describeClusterOperationResponse_clusterOperationInfo :: Lens.Lens' DescribeClusterOperationResponse (Prelude.Maybe ClusterOperationInfo)+describeClusterOperationResponse_clusterOperationInfo = Lens.lens (\DescribeClusterOperationResponse' {clusterOperationInfo} -> clusterOperationInfo) (\s@DescribeClusterOperationResponse' {} a -> s {clusterOperationInfo = a} :: DescribeClusterOperationResponse)++-- | The response's http status code.+describeClusterOperationResponse_httpStatus :: Lens.Lens' DescribeClusterOperationResponse Prelude.Int+describeClusterOperationResponse_httpStatus = Lens.lens (\DescribeClusterOperationResponse' {httpStatus} -> httpStatus) (\s@DescribeClusterOperationResponse' {} a -> s {httpStatus = a} :: DescribeClusterOperationResponse)++instance+ Prelude.NFData+ DescribeClusterOperationResponse+ where+ rnf DescribeClusterOperationResponse' {..} =+ Prelude.rnf clusterOperationInfo+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DescribeClusterV2.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DescribeClusterV2+-- 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 description of the MSK cluster whose Amazon Resource Name+-- (ARN) is specified in the request.+module Amazonka.Kafka.DescribeClusterV2+ ( -- * Creating a Request+ DescribeClusterV2 (..),+ newDescribeClusterV2,++ -- * Request Lenses+ describeClusterV2_clusterArn,++ -- * Destructuring the Response+ DescribeClusterV2Response (..),+ newDescribeClusterV2Response,++ -- * Response Lenses+ describeClusterV2Response_clusterInfo,+ describeClusterV2Response_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeClusterV2' smart constructor.+data DescribeClusterV2 = DescribeClusterV2'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClusterV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'describeClusterV2_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newDescribeClusterV2 ::+ -- | 'clusterArn'+ Prelude.Text ->+ DescribeClusterV2+newDescribeClusterV2 pClusterArn_ =+ DescribeClusterV2' {clusterArn = pClusterArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+describeClusterV2_clusterArn :: Lens.Lens' DescribeClusterV2 Prelude.Text+describeClusterV2_clusterArn = Lens.lens (\DescribeClusterV2' {clusterArn} -> clusterArn) (\s@DescribeClusterV2' {} a -> s {clusterArn = a} :: DescribeClusterV2)++instance Core.AWSRequest DescribeClusterV2 where+ type+ AWSResponse DescribeClusterV2 =+ DescribeClusterV2Response+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeClusterV2Response'+ Prelude.<$> (x Data..?> "clusterInfo")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeClusterV2 where+ hashWithSalt _salt DescribeClusterV2' {..} =+ _salt `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData DescribeClusterV2 where+ rnf DescribeClusterV2' {..} = Prelude.rnf clusterArn++instance Data.ToHeaders DescribeClusterV2 where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeClusterV2 where+ toPath DescribeClusterV2' {..} =+ Prelude.mconcat+ ["/api/v2/clusters/", Data.toBS clusterArn]++instance Data.ToQuery DescribeClusterV2 where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeClusterV2Response' smart constructor.+data DescribeClusterV2Response = DescribeClusterV2Response'+ { -- | The cluster information.+ clusterInfo :: Prelude.Maybe Cluster,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClusterV2Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterInfo', 'describeClusterV2Response_clusterInfo' - The cluster information.+--+-- 'httpStatus', 'describeClusterV2Response_httpStatus' - The response's http status code.+newDescribeClusterV2Response ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeClusterV2Response+newDescribeClusterV2Response pHttpStatus_ =+ DescribeClusterV2Response'+ { clusterInfo =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The cluster information.+describeClusterV2Response_clusterInfo :: Lens.Lens' DescribeClusterV2Response (Prelude.Maybe Cluster)+describeClusterV2Response_clusterInfo = Lens.lens (\DescribeClusterV2Response' {clusterInfo} -> clusterInfo) (\s@DescribeClusterV2Response' {} a -> s {clusterInfo = a} :: DescribeClusterV2Response)++-- | The response's http status code.+describeClusterV2Response_httpStatus :: Lens.Lens' DescribeClusterV2Response Prelude.Int+describeClusterV2Response_httpStatus = Lens.lens (\DescribeClusterV2Response' {httpStatus} -> httpStatus) (\s@DescribeClusterV2Response' {} a -> s {httpStatus = a} :: DescribeClusterV2Response)++instance Prelude.NFData DescribeClusterV2Response where+ rnf DescribeClusterV2Response' {..} =+ Prelude.rnf clusterInfo+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DescribeConfiguration.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DescribeConfiguration+-- 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 description of this MSK configuration.+module Amazonka.Kafka.DescribeConfiguration+ ( -- * Creating a Request+ DescribeConfiguration (..),+ newDescribeConfiguration,++ -- * Request Lenses+ describeConfiguration_arn,++ -- * Destructuring the Response+ DescribeConfigurationResponse (..),+ newDescribeConfigurationResponse,++ -- * Response Lenses+ describeConfigurationResponse_arn,+ describeConfigurationResponse_creationTime,+ describeConfigurationResponse_description,+ describeConfigurationResponse_kafkaVersions,+ describeConfigurationResponse_latestRevision,+ describeConfigurationResponse_name,+ describeConfigurationResponse_state,+ describeConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeConfiguration' smart constructor.+data DescribeConfiguration = DescribeConfiguration'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+ -- configuration and all of its revisions.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeConfiguration_arn' - The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+newDescribeConfiguration ::+ -- | 'arn'+ Prelude.Text ->+ DescribeConfiguration+newDescribeConfiguration pArn_ =+ DescribeConfiguration' {arn = pArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+describeConfiguration_arn :: Lens.Lens' DescribeConfiguration Prelude.Text+describeConfiguration_arn = Lens.lens (\DescribeConfiguration' {arn} -> arn) (\s@DescribeConfiguration' {} a -> s {arn = a} :: DescribeConfiguration)++instance Core.AWSRequest DescribeConfiguration where+ type+ AWSResponse DescribeConfiguration =+ DescribeConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeConfigurationResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "kafkaVersions" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "latestRevision")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "state")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeConfiguration where+ hashWithSalt _salt DescribeConfiguration' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DescribeConfiguration where+ rnf DescribeConfiguration' {..} = Prelude.rnf arn++instance Data.ToHeaders DescribeConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeConfiguration where+ toPath DescribeConfiguration' {..} =+ Prelude.mconcat+ ["/v1/configurations/", Data.toBS arn]++instance Data.ToQuery DescribeConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConfigurationResponse' smart constructor.+data DescribeConfigurationResponse = DescribeConfigurationResponse'+ { -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the configuration was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | The description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The versions of Apache Kafka with which you can use this MSK+ -- configuration.+ kafkaVersions :: Prelude.Maybe [Prelude.Text],+ -- | Latest revision of the configuration.+ latestRevision :: Prelude.Maybe ConfigurationRevision,+ -- | The name of the configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of the configuration. The possible states are ACTIVE,+ -- DELETING, and DELETE_FAILED.+ state :: Prelude.Maybe ConfigurationState,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeConfigurationResponse_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'creationTime', 'describeConfigurationResponse_creationTime' - The time when the configuration was created.+--+-- 'description', 'describeConfigurationResponse_description' - The description of the configuration.+--+-- 'kafkaVersions', 'describeConfigurationResponse_kafkaVersions' - The versions of Apache Kafka with which you can use this MSK+-- configuration.+--+-- 'latestRevision', 'describeConfigurationResponse_latestRevision' - Latest revision of the configuration.+--+-- 'name', 'describeConfigurationResponse_name' - The name of the configuration.+--+-- 'state', 'describeConfigurationResponse_state' - The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+--+-- 'httpStatus', 'describeConfigurationResponse_httpStatus' - The response's http status code.+newDescribeConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeConfigurationResponse+newDescribeConfigurationResponse pHttpStatus_ =+ DescribeConfigurationResponse'+ { arn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ kafkaVersions = Prelude.Nothing,+ latestRevision = Prelude.Nothing,+ name = Prelude.Nothing,+ state = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the configuration.+describeConfigurationResponse_arn :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe Prelude.Text)+describeConfigurationResponse_arn = Lens.lens (\DescribeConfigurationResponse' {arn} -> arn) (\s@DescribeConfigurationResponse' {} a -> s {arn = a} :: DescribeConfigurationResponse)++-- | The time when the configuration was created.+describeConfigurationResponse_creationTime :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+describeConfigurationResponse_creationTime = Lens.lens (\DescribeConfigurationResponse' {creationTime} -> creationTime) (\s@DescribeConfigurationResponse' {} a -> s {creationTime = a} :: DescribeConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the configuration.+describeConfigurationResponse_description :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe Prelude.Text)+describeConfigurationResponse_description = Lens.lens (\DescribeConfigurationResponse' {description} -> description) (\s@DescribeConfigurationResponse' {} a -> s {description = a} :: DescribeConfigurationResponse)++-- | The versions of Apache Kafka with which you can use this MSK+-- configuration.+describeConfigurationResponse_kafkaVersions :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe [Prelude.Text])+describeConfigurationResponse_kafkaVersions = Lens.lens (\DescribeConfigurationResponse' {kafkaVersions} -> kafkaVersions) (\s@DescribeConfigurationResponse' {} a -> s {kafkaVersions = a} :: DescribeConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Latest revision of the configuration.+describeConfigurationResponse_latestRevision :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe ConfigurationRevision)+describeConfigurationResponse_latestRevision = Lens.lens (\DescribeConfigurationResponse' {latestRevision} -> latestRevision) (\s@DescribeConfigurationResponse' {} a -> s {latestRevision = a} :: DescribeConfigurationResponse)++-- | The name of the configuration.+describeConfigurationResponse_name :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe Prelude.Text)+describeConfigurationResponse_name = Lens.lens (\DescribeConfigurationResponse' {name} -> name) (\s@DescribeConfigurationResponse' {} a -> s {name = a} :: DescribeConfigurationResponse)++-- | The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+describeConfigurationResponse_state :: Lens.Lens' DescribeConfigurationResponse (Prelude.Maybe ConfigurationState)+describeConfigurationResponse_state = Lens.lens (\DescribeConfigurationResponse' {state} -> state) (\s@DescribeConfigurationResponse' {} a -> s {state = a} :: DescribeConfigurationResponse)++-- | The response's http status code.+describeConfigurationResponse_httpStatus :: Lens.Lens' DescribeConfigurationResponse Prelude.Int+describeConfigurationResponse_httpStatus = Lens.lens (\DescribeConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeConfigurationResponse)++instance Prelude.NFData DescribeConfigurationResponse where+ rnf DescribeConfigurationResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf kafkaVersions+ `Prelude.seq` Prelude.rnf latestRevision+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/DescribeConfigurationRevision.hs view
@@ -0,0 +1,258 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.DescribeConfigurationRevision+-- 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 description of this revision of the configuration.+module Amazonka.Kafka.DescribeConfigurationRevision+ ( -- * Creating a Request+ DescribeConfigurationRevision (..),+ newDescribeConfigurationRevision,++ -- * Request Lenses+ describeConfigurationRevision_revision,+ describeConfigurationRevision_arn,++ -- * Destructuring the Response+ DescribeConfigurationRevisionResponse (..),+ newDescribeConfigurationRevisionResponse,++ -- * Response Lenses+ describeConfigurationRevisionResponse_arn,+ describeConfigurationRevisionResponse_creationTime,+ describeConfigurationRevisionResponse_description,+ describeConfigurationRevisionResponse_revision,+ describeConfigurationRevisionResponse_serverProperties,+ describeConfigurationRevisionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeConfigurationRevision' smart constructor.+data DescribeConfigurationRevision = DescribeConfigurationRevision'+ { -- | A string that uniquely identifies a revision of an MSK configuration.+ revision :: Prelude.Integer,+ -- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+ -- configuration and all of its revisions.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConfigurationRevision' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revision', 'describeConfigurationRevision_revision' - A string that uniquely identifies a revision of an MSK configuration.+--+-- 'arn', 'describeConfigurationRevision_arn' - The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+newDescribeConfigurationRevision ::+ -- | 'revision'+ Prelude.Integer ->+ -- | 'arn'+ Prelude.Text ->+ DescribeConfigurationRevision+newDescribeConfigurationRevision pRevision_ pArn_ =+ DescribeConfigurationRevision'+ { revision =+ pRevision_,+ arn = pArn_+ }++-- | A string that uniquely identifies a revision of an MSK configuration.+describeConfigurationRevision_revision :: Lens.Lens' DescribeConfigurationRevision Prelude.Integer+describeConfigurationRevision_revision = Lens.lens (\DescribeConfigurationRevision' {revision} -> revision) (\s@DescribeConfigurationRevision' {} a -> s {revision = a} :: DescribeConfigurationRevision)++-- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+describeConfigurationRevision_arn :: Lens.Lens' DescribeConfigurationRevision Prelude.Text+describeConfigurationRevision_arn = Lens.lens (\DescribeConfigurationRevision' {arn} -> arn) (\s@DescribeConfigurationRevision' {} a -> s {arn = a} :: DescribeConfigurationRevision)++instance+ Core.AWSRequest+ DescribeConfigurationRevision+ where+ type+ AWSResponse DescribeConfigurationRevision =+ DescribeConfigurationRevisionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeConfigurationRevisionResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "revision")+ Prelude.<*> (x Data..?> "serverProperties")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeConfigurationRevision+ where+ hashWithSalt _salt DescribeConfigurationRevision' {..} =+ _salt+ `Prelude.hashWithSalt` revision+ `Prelude.hashWithSalt` arn++instance Prelude.NFData DescribeConfigurationRevision where+ rnf DescribeConfigurationRevision' {..} =+ Prelude.rnf revision `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders DescribeConfigurationRevision where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeConfigurationRevision where+ toPath DescribeConfigurationRevision' {..} =+ Prelude.mconcat+ [ "/v1/configurations/",+ Data.toBS arn,+ "/revisions/",+ Data.toBS revision+ ]++instance Data.ToQuery DescribeConfigurationRevision where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConfigurationRevisionResponse' smart constructor.+data DescribeConfigurationRevisionResponse = DescribeConfigurationRevisionResponse'+ { -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the configuration was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | The description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The revision number.+ revision :: Prelude.Maybe Prelude.Integer,+ -- | Contents of the server.properties file. When using the API, you must+ -- ensure that the contents of the file are base64 encoded. When using the+ -- AWS Management Console, the SDK, or the AWS CLI, the contents of+ -- server.properties can be in plaintext.+ serverProperties :: Prelude.Maybe Data.Base64,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConfigurationRevisionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeConfigurationRevisionResponse_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'creationTime', 'describeConfigurationRevisionResponse_creationTime' - The time when the configuration was created.+--+-- 'description', 'describeConfigurationRevisionResponse_description' - The description of the configuration.+--+-- 'revision', 'describeConfigurationRevisionResponse_revision' - The revision number.+--+-- 'serverProperties', 'describeConfigurationRevisionResponse_serverProperties' - Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'httpStatus', 'describeConfigurationRevisionResponse_httpStatus' - The response's http status code.+newDescribeConfigurationRevisionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeConfigurationRevisionResponse+newDescribeConfigurationRevisionResponse pHttpStatus_ =+ DescribeConfigurationRevisionResponse'+ { arn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ revision = Prelude.Nothing,+ serverProperties = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the configuration.+describeConfigurationRevisionResponse_arn :: Lens.Lens' DescribeConfigurationRevisionResponse (Prelude.Maybe Prelude.Text)+describeConfigurationRevisionResponse_arn = Lens.lens (\DescribeConfigurationRevisionResponse' {arn} -> arn) (\s@DescribeConfigurationRevisionResponse' {} a -> s {arn = a} :: DescribeConfigurationRevisionResponse)++-- | The time when the configuration was created.+describeConfigurationRevisionResponse_creationTime :: Lens.Lens' DescribeConfigurationRevisionResponse (Prelude.Maybe Prelude.UTCTime)+describeConfigurationRevisionResponse_creationTime = Lens.lens (\DescribeConfigurationRevisionResponse' {creationTime} -> creationTime) (\s@DescribeConfigurationRevisionResponse' {} a -> s {creationTime = a} :: DescribeConfigurationRevisionResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the configuration.+describeConfigurationRevisionResponse_description :: Lens.Lens' DescribeConfigurationRevisionResponse (Prelude.Maybe Prelude.Text)+describeConfigurationRevisionResponse_description = Lens.lens (\DescribeConfigurationRevisionResponse' {description} -> description) (\s@DescribeConfigurationRevisionResponse' {} a -> s {description = a} :: DescribeConfigurationRevisionResponse)++-- | The revision number.+describeConfigurationRevisionResponse_revision :: Lens.Lens' DescribeConfigurationRevisionResponse (Prelude.Maybe Prelude.Integer)+describeConfigurationRevisionResponse_revision = Lens.lens (\DescribeConfigurationRevisionResponse' {revision} -> revision) (\s@DescribeConfigurationRevisionResponse' {} a -> s {revision = a} :: DescribeConfigurationRevisionResponse)++-- | Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+describeConfigurationRevisionResponse_serverProperties :: Lens.Lens' DescribeConfigurationRevisionResponse (Prelude.Maybe Prelude.ByteString)+describeConfigurationRevisionResponse_serverProperties = Lens.lens (\DescribeConfigurationRevisionResponse' {serverProperties} -> serverProperties) (\s@DescribeConfigurationRevisionResponse' {} a -> s {serverProperties = a} :: DescribeConfigurationRevisionResponse) Prelude.. Lens.mapping Data._Base64++-- | The response's http status code.+describeConfigurationRevisionResponse_httpStatus :: Lens.Lens' DescribeConfigurationRevisionResponse Prelude.Int+describeConfigurationRevisionResponse_httpStatus = Lens.lens (\DescribeConfigurationRevisionResponse' {httpStatus} -> httpStatus) (\s@DescribeConfigurationRevisionResponse' {} a -> s {httpStatus = a} :: DescribeConfigurationRevisionResponse)++instance+ Prelude.NFData+ DescribeConfigurationRevisionResponse+ where+ rnf DescribeConfigurationRevisionResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf revision+ `Prelude.seq` Prelude.rnf serverProperties+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/GetBootstrapBrokers.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.GetBootstrapBrokers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A list of brokers that a client application can use to bootstrap.+module Amazonka.Kafka.GetBootstrapBrokers+ ( -- * Creating a Request+ GetBootstrapBrokers (..),+ newGetBootstrapBrokers,++ -- * Request Lenses+ getBootstrapBrokers_clusterArn,++ -- * Destructuring the Response+ GetBootstrapBrokersResponse (..),+ newGetBootstrapBrokersResponse,++ -- * Response Lenses+ getBootstrapBrokersResponse_bootstrapBrokerString,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslIam,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslScram,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicTls,+ getBootstrapBrokersResponse_bootstrapBrokerStringSaslIam,+ getBootstrapBrokersResponse_bootstrapBrokerStringSaslScram,+ getBootstrapBrokersResponse_bootstrapBrokerStringTls,+ getBootstrapBrokersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetBootstrapBrokers' smart constructor.+data GetBootstrapBrokers = GetBootstrapBrokers'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBootstrapBrokers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'getBootstrapBrokers_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newGetBootstrapBrokers ::+ -- | 'clusterArn'+ Prelude.Text ->+ GetBootstrapBrokers+newGetBootstrapBrokers pClusterArn_ =+ GetBootstrapBrokers' {clusterArn = pClusterArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+getBootstrapBrokers_clusterArn :: Lens.Lens' GetBootstrapBrokers Prelude.Text+getBootstrapBrokers_clusterArn = Lens.lens (\GetBootstrapBrokers' {clusterArn} -> clusterArn) (\s@GetBootstrapBrokers' {} a -> s {clusterArn = a} :: GetBootstrapBrokers)++instance Core.AWSRequest GetBootstrapBrokers where+ type+ AWSResponse GetBootstrapBrokers =+ GetBootstrapBrokersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetBootstrapBrokersResponse'+ Prelude.<$> (x Data..?> "bootstrapBrokerString")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringPublicSaslIam")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringPublicSaslScram")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringPublicTls")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringSaslIam")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringSaslScram")+ Prelude.<*> (x Data..?> "bootstrapBrokerStringTls")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetBootstrapBrokers where+ hashWithSalt _salt GetBootstrapBrokers' {..} =+ _salt `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData GetBootstrapBrokers where+ rnf GetBootstrapBrokers' {..} = Prelude.rnf clusterArn++instance Data.ToHeaders GetBootstrapBrokers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetBootstrapBrokers where+ toPath GetBootstrapBrokers' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/bootstrap-brokers"+ ]++instance Data.ToQuery GetBootstrapBrokers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBootstrapBrokersResponse' smart constructor.+data GetBootstrapBrokersResponse = GetBootstrapBrokersResponse'+ { -- | A string containing one or more hostname:port pairs.+ bootstrapBrokerString :: Prelude.Maybe Prelude.Text,+ -- | A string that contains one or more DNS names (or IP addresses) and SASL+ -- IAM port pairs.+ bootstrapBrokerStringPublicSaslIam :: Prelude.Maybe Prelude.Text,+ -- | A string containing one or more DNS names (or IP) and Sasl Scram port+ -- pairs.+ bootstrapBrokerStringPublicSaslScram :: Prelude.Maybe Prelude.Text,+ -- | A string containing one or more DNS names (or IP) and TLS port pairs.+ bootstrapBrokerStringPublicTls :: Prelude.Maybe Prelude.Text,+ -- | A string that contains one or more DNS names (or IP addresses) and SASL+ -- IAM port pairs.+ bootstrapBrokerStringSaslIam :: Prelude.Maybe Prelude.Text,+ -- | A string containing one or more DNS names (or IP) and Sasl Scram port+ -- pairs.+ bootstrapBrokerStringSaslScram :: Prelude.Maybe Prelude.Text,+ -- | A string containing one or more DNS names (or IP) and TLS port pairs.+ bootstrapBrokerStringTls :: 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 'GetBootstrapBrokersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bootstrapBrokerString', 'getBootstrapBrokersResponse_bootstrapBrokerString' - A string containing one or more hostname:port pairs.+--+-- 'bootstrapBrokerStringPublicSaslIam', 'getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslIam' - A string that contains one or more DNS names (or IP addresses) and SASL+-- IAM port pairs.+--+-- 'bootstrapBrokerStringPublicSaslScram', 'getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslScram' - A string containing one or more DNS names (or IP) and Sasl Scram port+-- pairs.+--+-- 'bootstrapBrokerStringPublicTls', 'getBootstrapBrokersResponse_bootstrapBrokerStringPublicTls' - A string containing one or more DNS names (or IP) and TLS port pairs.+--+-- 'bootstrapBrokerStringSaslIam', 'getBootstrapBrokersResponse_bootstrapBrokerStringSaslIam' - A string that contains one or more DNS names (or IP addresses) and SASL+-- IAM port pairs.+--+-- 'bootstrapBrokerStringSaslScram', 'getBootstrapBrokersResponse_bootstrapBrokerStringSaslScram' - A string containing one or more DNS names (or IP) and Sasl Scram port+-- pairs.+--+-- 'bootstrapBrokerStringTls', 'getBootstrapBrokersResponse_bootstrapBrokerStringTls' - A string containing one or more DNS names (or IP) and TLS port pairs.+--+-- 'httpStatus', 'getBootstrapBrokersResponse_httpStatus' - The response's http status code.+newGetBootstrapBrokersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetBootstrapBrokersResponse+newGetBootstrapBrokersResponse pHttpStatus_ =+ GetBootstrapBrokersResponse'+ { bootstrapBrokerString =+ Prelude.Nothing,+ bootstrapBrokerStringPublicSaslIam =+ Prelude.Nothing,+ bootstrapBrokerStringPublicSaslScram =+ Prelude.Nothing,+ bootstrapBrokerStringPublicTls =+ Prelude.Nothing,+ bootstrapBrokerStringSaslIam = Prelude.Nothing,+ bootstrapBrokerStringSaslScram =+ Prelude.Nothing,+ bootstrapBrokerStringTls = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A string containing one or more hostname:port pairs.+getBootstrapBrokersResponse_bootstrapBrokerString :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerString = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerString} -> bootstrapBrokerString) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerString = a} :: GetBootstrapBrokersResponse)++-- | A string that contains one or more DNS names (or IP addresses) and SASL+-- IAM port pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslIam :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslIam = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringPublicSaslIam} -> bootstrapBrokerStringPublicSaslIam) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringPublicSaslIam = a} :: GetBootstrapBrokersResponse)++-- | A string containing one or more DNS names (or IP) and Sasl Scram port+-- pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslScram :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslScram = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringPublicSaslScram} -> bootstrapBrokerStringPublicSaslScram) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringPublicSaslScram = a} :: GetBootstrapBrokersResponse)++-- | A string containing one or more DNS names (or IP) and TLS port pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringPublicTls :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringPublicTls = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringPublicTls} -> bootstrapBrokerStringPublicTls) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringPublicTls = a} :: GetBootstrapBrokersResponse)++-- | A string that contains one or more DNS names (or IP addresses) and SASL+-- IAM port pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringSaslIam :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringSaslIam = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringSaslIam} -> bootstrapBrokerStringSaslIam) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringSaslIam = a} :: GetBootstrapBrokersResponse)++-- | A string containing one or more DNS names (or IP) and Sasl Scram port+-- pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringSaslScram :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringSaslScram = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringSaslScram} -> bootstrapBrokerStringSaslScram) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringSaslScram = a} :: GetBootstrapBrokersResponse)++-- | A string containing one or more DNS names (or IP) and TLS port pairs.+getBootstrapBrokersResponse_bootstrapBrokerStringTls :: Lens.Lens' GetBootstrapBrokersResponse (Prelude.Maybe Prelude.Text)+getBootstrapBrokersResponse_bootstrapBrokerStringTls = Lens.lens (\GetBootstrapBrokersResponse' {bootstrapBrokerStringTls} -> bootstrapBrokerStringTls) (\s@GetBootstrapBrokersResponse' {} a -> s {bootstrapBrokerStringTls = a} :: GetBootstrapBrokersResponse)++-- | The response's http status code.+getBootstrapBrokersResponse_httpStatus :: Lens.Lens' GetBootstrapBrokersResponse Prelude.Int+getBootstrapBrokersResponse_httpStatus = Lens.lens (\GetBootstrapBrokersResponse' {httpStatus} -> httpStatus) (\s@GetBootstrapBrokersResponse' {} a -> s {httpStatus = a} :: GetBootstrapBrokersResponse)++instance Prelude.NFData GetBootstrapBrokersResponse where+ rnf GetBootstrapBrokersResponse' {..} =+ Prelude.rnf bootstrapBrokerString+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringPublicSaslIam+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringPublicSaslScram+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringPublicTls+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringSaslIam+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringSaslScram+ `Prelude.seq` Prelude.rnf bootstrapBrokerStringTls+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/GetCompatibleKafkaVersions.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.GetCompatibleKafkaVersions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the Apache Kafka versions to which you can update the MSK cluster.+module Amazonka.Kafka.GetCompatibleKafkaVersions+ ( -- * Creating a Request+ GetCompatibleKafkaVersions (..),+ newGetCompatibleKafkaVersions,++ -- * Request Lenses+ getCompatibleKafkaVersions_clusterArn,++ -- * Destructuring the Response+ GetCompatibleKafkaVersionsResponse (..),+ newGetCompatibleKafkaVersionsResponse,++ -- * Response Lenses+ getCompatibleKafkaVersionsResponse_compatibleKafkaVersions,+ getCompatibleKafkaVersionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCompatibleKafkaVersions' smart constructor.+data GetCompatibleKafkaVersions = GetCompatibleKafkaVersions'+ { -- | The Amazon Resource Name (ARN) of the cluster check.+ clusterArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCompatibleKafkaVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'getCompatibleKafkaVersions_clusterArn' - The Amazon Resource Name (ARN) of the cluster check.+newGetCompatibleKafkaVersions ::+ GetCompatibleKafkaVersions+newGetCompatibleKafkaVersions =+ GetCompatibleKafkaVersions'+ { clusterArn =+ Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the cluster check.+getCompatibleKafkaVersions_clusterArn :: Lens.Lens' GetCompatibleKafkaVersions (Prelude.Maybe Prelude.Text)+getCompatibleKafkaVersions_clusterArn = Lens.lens (\GetCompatibleKafkaVersions' {clusterArn} -> clusterArn) (\s@GetCompatibleKafkaVersions' {} a -> s {clusterArn = a} :: GetCompatibleKafkaVersions)++instance Core.AWSRequest GetCompatibleKafkaVersions where+ type+ AWSResponse GetCompatibleKafkaVersions =+ GetCompatibleKafkaVersionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetCompatibleKafkaVersionsResponse'+ Prelude.<$> ( x+ Data..?> "compatibleKafkaVersions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetCompatibleKafkaVersions where+ hashWithSalt _salt GetCompatibleKafkaVersions' {..} =+ _salt `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData GetCompatibleKafkaVersions where+ rnf GetCompatibleKafkaVersions' {..} =+ Prelude.rnf clusterArn++instance Data.ToHeaders GetCompatibleKafkaVersions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetCompatibleKafkaVersions where+ toPath =+ Prelude.const "/v1/compatible-kafka-versions"++instance Data.ToQuery GetCompatibleKafkaVersions where+ toQuery GetCompatibleKafkaVersions' {..} =+ Prelude.mconcat ["clusterArn" Data.=: clusterArn]++-- | /See:/ 'newGetCompatibleKafkaVersionsResponse' smart constructor.+data GetCompatibleKafkaVersionsResponse = GetCompatibleKafkaVersionsResponse'+ { -- | A list of CompatibleKafkaVersion objects.+ compatibleKafkaVersions :: Prelude.Maybe [CompatibleKafkaVersion],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCompatibleKafkaVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'compatibleKafkaVersions', 'getCompatibleKafkaVersionsResponse_compatibleKafkaVersions' - A list of CompatibleKafkaVersion objects.+--+-- 'httpStatus', 'getCompatibleKafkaVersionsResponse_httpStatus' - The response's http status code.+newGetCompatibleKafkaVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetCompatibleKafkaVersionsResponse+newGetCompatibleKafkaVersionsResponse pHttpStatus_ =+ GetCompatibleKafkaVersionsResponse'+ { compatibleKafkaVersions =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of CompatibleKafkaVersion objects.+getCompatibleKafkaVersionsResponse_compatibleKafkaVersions :: Lens.Lens' GetCompatibleKafkaVersionsResponse (Prelude.Maybe [CompatibleKafkaVersion])+getCompatibleKafkaVersionsResponse_compatibleKafkaVersions = Lens.lens (\GetCompatibleKafkaVersionsResponse' {compatibleKafkaVersions} -> compatibleKafkaVersions) (\s@GetCompatibleKafkaVersionsResponse' {} a -> s {compatibleKafkaVersions = a} :: GetCompatibleKafkaVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getCompatibleKafkaVersionsResponse_httpStatus :: Lens.Lens' GetCompatibleKafkaVersionsResponse Prelude.Int+getCompatibleKafkaVersionsResponse_httpStatus = Lens.lens (\GetCompatibleKafkaVersionsResponse' {httpStatus} -> httpStatus) (\s@GetCompatibleKafkaVersionsResponse' {} a -> s {httpStatus = a} :: GetCompatibleKafkaVersionsResponse)++instance+ Prelude.NFData+ GetCompatibleKafkaVersionsResponse+ where+ rnf GetCompatibleKafkaVersionsResponse' {..} =+ Prelude.rnf compatibleKafkaVersions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/Lens.hs view
@@ -0,0 +1,687 @@+{-# 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.Kafka.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.Kafka.Lens+ ( -- * Operations++ -- ** BatchAssociateScramSecret+ batchAssociateScramSecret_clusterArn,+ batchAssociateScramSecret_secretArnList,+ batchAssociateScramSecretResponse_clusterArn,+ batchAssociateScramSecretResponse_unprocessedScramSecrets,+ batchAssociateScramSecretResponse_httpStatus,++ -- ** BatchDisassociateScramSecret+ batchDisassociateScramSecret_clusterArn,+ batchDisassociateScramSecret_secretArnList,+ batchDisassociateScramSecretResponse_clusterArn,+ batchDisassociateScramSecretResponse_unprocessedScramSecrets,+ batchDisassociateScramSecretResponse_httpStatus,++ -- ** CreateCluster+ createCluster_clientAuthentication,+ createCluster_configurationInfo,+ createCluster_encryptionInfo,+ createCluster_enhancedMonitoring,+ createCluster_loggingInfo,+ createCluster_openMonitoring,+ createCluster_storageMode,+ createCluster_tags,+ createCluster_brokerNodeGroupInfo,+ createCluster_kafkaVersion,+ createCluster_numberOfBrokerNodes,+ createCluster_clusterName,+ createClusterResponse_clusterArn,+ createClusterResponse_clusterName,+ createClusterResponse_state,+ createClusterResponse_httpStatus,++ -- ** CreateClusterV2+ createClusterV2_provisioned,+ createClusterV2_serverless,+ createClusterV2_tags,+ createClusterV2_clusterName,+ createClusterV2Response_clusterArn,+ createClusterV2Response_clusterName,+ createClusterV2Response_clusterType,+ createClusterV2Response_state,+ createClusterV2Response_httpStatus,++ -- ** CreateConfiguration+ createConfiguration_description,+ createConfiguration_kafkaVersions,+ createConfiguration_serverProperties,+ createConfiguration_name,+ createConfigurationResponse_arn,+ createConfigurationResponse_creationTime,+ createConfigurationResponse_latestRevision,+ createConfigurationResponse_name,+ createConfigurationResponse_state,+ createConfigurationResponse_httpStatus,++ -- ** DeleteCluster+ deleteCluster_currentVersion,+ deleteCluster_clusterArn,+ deleteClusterResponse_clusterArn,+ deleteClusterResponse_state,+ deleteClusterResponse_httpStatus,++ -- ** DeleteConfiguration+ deleteConfiguration_arn,+ deleteConfigurationResponse_arn,+ deleteConfigurationResponse_state,+ deleteConfigurationResponse_httpStatus,++ -- ** DescribeCluster+ describeCluster_clusterArn,+ describeClusterResponse_clusterInfo,+ describeClusterResponse_httpStatus,++ -- ** DescribeClusterOperation+ describeClusterOperation_clusterOperationArn,+ describeClusterOperationResponse_clusterOperationInfo,+ describeClusterOperationResponse_httpStatus,++ -- ** DescribeClusterV2+ describeClusterV2_clusterArn,+ describeClusterV2Response_clusterInfo,+ describeClusterV2Response_httpStatus,++ -- ** DescribeConfiguration+ describeConfiguration_arn,+ describeConfigurationResponse_arn,+ describeConfigurationResponse_creationTime,+ describeConfigurationResponse_description,+ describeConfigurationResponse_kafkaVersions,+ describeConfigurationResponse_latestRevision,+ describeConfigurationResponse_name,+ describeConfigurationResponse_state,+ describeConfigurationResponse_httpStatus,++ -- ** DescribeConfigurationRevision+ describeConfigurationRevision_revision,+ describeConfigurationRevision_arn,+ describeConfigurationRevisionResponse_arn,+ describeConfigurationRevisionResponse_creationTime,+ describeConfigurationRevisionResponse_description,+ describeConfigurationRevisionResponse_revision,+ describeConfigurationRevisionResponse_serverProperties,+ describeConfigurationRevisionResponse_httpStatus,++ -- ** GetBootstrapBrokers+ getBootstrapBrokers_clusterArn,+ getBootstrapBrokersResponse_bootstrapBrokerString,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslIam,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicSaslScram,+ getBootstrapBrokersResponse_bootstrapBrokerStringPublicTls,+ getBootstrapBrokersResponse_bootstrapBrokerStringSaslIam,+ getBootstrapBrokersResponse_bootstrapBrokerStringSaslScram,+ getBootstrapBrokersResponse_bootstrapBrokerStringTls,+ getBootstrapBrokersResponse_httpStatus,++ -- ** GetCompatibleKafkaVersions+ getCompatibleKafkaVersions_clusterArn,+ getCompatibleKafkaVersionsResponse_compatibleKafkaVersions,+ getCompatibleKafkaVersionsResponse_httpStatus,++ -- ** ListClusterOperations+ listClusterOperations_maxResults,+ listClusterOperations_nextToken,+ listClusterOperations_clusterArn,+ listClusterOperationsResponse_clusterOperationInfoList,+ listClusterOperationsResponse_nextToken,+ listClusterOperationsResponse_httpStatus,++ -- ** ListClusters+ listClusters_clusterNameFilter,+ listClusters_maxResults,+ listClusters_nextToken,+ listClustersResponse_clusterInfoList,+ listClustersResponse_nextToken,+ listClustersResponse_httpStatus,++ -- ** ListClustersV2+ listClustersV2_clusterNameFilter,+ listClustersV2_clusterTypeFilter,+ listClustersV2_maxResults,+ listClustersV2_nextToken,+ listClustersV2Response_clusterInfoList,+ listClustersV2Response_nextToken,+ listClustersV2Response_httpStatus,++ -- ** ListConfigurationRevisions+ listConfigurationRevisions_maxResults,+ listConfigurationRevisions_nextToken,+ listConfigurationRevisions_arn,+ listConfigurationRevisionsResponse_nextToken,+ listConfigurationRevisionsResponse_revisions,+ listConfigurationRevisionsResponse_httpStatus,++ -- ** ListConfigurations+ listConfigurations_maxResults,+ listConfigurations_nextToken,+ listConfigurationsResponse_configurations,+ listConfigurationsResponse_nextToken,+ listConfigurationsResponse_httpStatus,++ -- ** ListKafkaVersions+ listKafkaVersions_maxResults,+ listKafkaVersions_nextToken,+ listKafkaVersionsResponse_kafkaVersions,+ listKafkaVersionsResponse_nextToken,+ listKafkaVersionsResponse_httpStatus,++ -- ** ListNodes+ listNodes_maxResults,+ listNodes_nextToken,+ listNodes_clusterArn,+ listNodesResponse_nextToken,+ listNodesResponse_nodeInfoList,+ listNodesResponse_httpStatus,++ -- ** ListScramSecrets+ listScramSecrets_maxResults,+ listScramSecrets_nextToken,+ listScramSecrets_clusterArn,+ listScramSecretsResponse_nextToken,+ listScramSecretsResponse_secretArnList,+ listScramSecretsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** RebootBroker+ rebootBroker_clusterArn,+ rebootBroker_brokerIds,+ rebootBrokerResponse_clusterArn,+ rebootBrokerResponse_clusterOperationArn,+ rebootBrokerResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,++ -- ** UntagResource+ untagResource_tagKeys,+ untagResource_resourceArn,++ -- ** UpdateBrokerCount+ updateBrokerCount_clusterArn,+ updateBrokerCount_currentVersion,+ updateBrokerCount_targetNumberOfBrokerNodes,+ updateBrokerCountResponse_clusterArn,+ updateBrokerCountResponse_clusterOperationArn,+ updateBrokerCountResponse_httpStatus,++ -- ** UpdateBrokerStorage+ updateBrokerStorage_clusterArn,+ updateBrokerStorage_targetBrokerEBSVolumeInfo,+ updateBrokerStorage_currentVersion,+ updateBrokerStorageResponse_clusterArn,+ updateBrokerStorageResponse_clusterOperationArn,+ updateBrokerStorageResponse_httpStatus,++ -- ** UpdateBrokerType+ updateBrokerType_clusterArn,+ updateBrokerType_currentVersion,+ updateBrokerType_targetInstanceType,+ updateBrokerTypeResponse_clusterArn,+ updateBrokerTypeResponse_clusterOperationArn,+ updateBrokerTypeResponse_httpStatus,++ -- ** UpdateClusterConfiguration+ updateClusterConfiguration_clusterArn,+ updateClusterConfiguration_currentVersion,+ updateClusterConfiguration_configurationInfo,+ updateClusterConfigurationResponse_clusterArn,+ updateClusterConfigurationResponse_clusterOperationArn,+ updateClusterConfigurationResponse_httpStatus,++ -- ** UpdateClusterKafkaVersion+ updateClusterKafkaVersion_configurationInfo,+ updateClusterKafkaVersion_clusterArn,+ updateClusterKafkaVersion_targetKafkaVersion,+ updateClusterKafkaVersion_currentVersion,+ updateClusterKafkaVersionResponse_clusterArn,+ updateClusterKafkaVersionResponse_clusterOperationArn,+ updateClusterKafkaVersionResponse_httpStatus,++ -- ** UpdateConfiguration+ updateConfiguration_description,+ updateConfiguration_arn,+ updateConfiguration_serverProperties,+ updateConfigurationResponse_arn,+ updateConfigurationResponse_latestRevision,+ updateConfigurationResponse_httpStatus,++ -- ** UpdateConnectivity+ updateConnectivity_clusterArn,+ updateConnectivity_connectivityInfo,+ updateConnectivity_currentVersion,+ updateConnectivityResponse_clusterArn,+ updateConnectivityResponse_clusterOperationArn,+ updateConnectivityResponse_httpStatus,++ -- ** UpdateMonitoring+ updateMonitoring_enhancedMonitoring,+ updateMonitoring_loggingInfo,+ updateMonitoring_openMonitoring,+ updateMonitoring_clusterArn,+ updateMonitoring_currentVersion,+ updateMonitoringResponse_clusterArn,+ updateMonitoringResponse_clusterOperationArn,+ updateMonitoringResponse_httpStatus,++ -- ** UpdateSecurity+ updateSecurity_clientAuthentication,+ updateSecurity_encryptionInfo,+ updateSecurity_clusterArn,+ updateSecurity_currentVersion,+ updateSecurityResponse_clusterArn,+ updateSecurityResponse_clusterOperationArn,+ updateSecurityResponse_httpStatus,++ -- ** UpdateStorage+ updateStorage_provisionedThroughput,+ updateStorage_storageMode,+ updateStorage_volumeSizeGB,+ updateStorage_clusterArn,+ updateStorage_currentVersion,+ updateStorageResponse_clusterArn,+ updateStorageResponse_clusterOperationArn,+ updateStorageResponse_httpStatus,++ -- * Types++ -- ** BrokerEBSVolumeInfo+ brokerEBSVolumeInfo_provisionedThroughput,+ brokerEBSVolumeInfo_volumeSizeGB,+ brokerEBSVolumeInfo_kafkaBrokerNodeId,++ -- ** BrokerLogs+ brokerLogs_cloudWatchLogs,+ brokerLogs_firehose,+ brokerLogs_s3,++ -- ** BrokerNodeGroupInfo+ brokerNodeGroupInfo_brokerAZDistribution,+ brokerNodeGroupInfo_connectivityInfo,+ brokerNodeGroupInfo_securityGroups,+ brokerNodeGroupInfo_storageInfo,+ brokerNodeGroupInfo_clientSubnets,+ brokerNodeGroupInfo_instanceType,++ -- ** BrokerNodeInfo+ brokerNodeInfo_attachedENIId,+ brokerNodeInfo_brokerId,+ brokerNodeInfo_clientSubnet,+ brokerNodeInfo_clientVpcIpAddress,+ brokerNodeInfo_currentBrokerSoftwareInfo,+ brokerNodeInfo_endpoints,++ -- ** BrokerSoftwareInfo+ brokerSoftwareInfo_configurationArn,+ brokerSoftwareInfo_configurationRevision,+ brokerSoftwareInfo_kafkaVersion,++ -- ** ClientAuthentication+ clientAuthentication_sasl,+ clientAuthentication_tls,+ clientAuthentication_unauthenticated,++ -- ** CloudWatchLogs+ cloudWatchLogs_logGroup,+ cloudWatchLogs_enabled,++ -- ** Cluster+ cluster_activeOperationArn,+ cluster_clusterArn,+ cluster_clusterName,+ cluster_clusterType,+ cluster_creationTime,+ cluster_currentVersion,+ cluster_provisioned,+ cluster_serverless,+ cluster_state,+ cluster_stateInfo,+ cluster_tags,++ -- ** ClusterInfo+ clusterInfo_activeOperationArn,+ clusterInfo_brokerNodeGroupInfo,+ clusterInfo_clientAuthentication,+ clusterInfo_clusterArn,+ clusterInfo_clusterName,+ clusterInfo_creationTime,+ clusterInfo_currentBrokerSoftwareInfo,+ clusterInfo_currentVersion,+ clusterInfo_encryptionInfo,+ clusterInfo_enhancedMonitoring,+ clusterInfo_loggingInfo,+ clusterInfo_numberOfBrokerNodes,+ clusterInfo_openMonitoring,+ clusterInfo_state,+ clusterInfo_stateInfo,+ clusterInfo_storageMode,+ clusterInfo_tags,+ clusterInfo_zookeeperConnectString,+ clusterInfo_zookeeperConnectStringTls,++ -- ** ClusterOperationInfo+ clusterOperationInfo_clientRequestId,+ clusterOperationInfo_clusterArn,+ clusterOperationInfo_creationTime,+ clusterOperationInfo_endTime,+ clusterOperationInfo_errorInfo,+ clusterOperationInfo_operationArn,+ clusterOperationInfo_operationState,+ clusterOperationInfo_operationSteps,+ clusterOperationInfo_operationType,+ clusterOperationInfo_sourceClusterInfo,+ clusterOperationInfo_targetClusterInfo,++ -- ** ClusterOperationStep+ clusterOperationStep_stepInfo,+ clusterOperationStep_stepName,++ -- ** ClusterOperationStepInfo+ clusterOperationStepInfo_stepStatus,++ -- ** CompatibleKafkaVersion+ compatibleKafkaVersion_sourceVersion,+ compatibleKafkaVersion_targetVersions,++ -- ** Configuration+ configuration_description,+ configuration_latestRevision,+ configuration_creationTime,+ configuration_kafkaVersions,+ configuration_arn,+ configuration_name,+ configuration_state,++ -- ** ConfigurationInfo+ configurationInfo_revision,+ configurationInfo_arn,++ -- ** ConfigurationRevision+ configurationRevision_description,+ configurationRevision_revision,+ configurationRevision_creationTime,++ -- ** ConnectivityInfo+ connectivityInfo_publicAccess,++ -- ** EBSStorageInfo+ eBSStorageInfo_provisionedThroughput,+ eBSStorageInfo_volumeSize,++ -- ** EncryptionAtRest+ encryptionAtRest_dataVolumeKMSKeyId,++ -- ** EncryptionInTransit+ encryptionInTransit_clientBroker,+ encryptionInTransit_inCluster,++ -- ** EncryptionInfo+ encryptionInfo_encryptionAtRest,+ encryptionInfo_encryptionInTransit,++ -- ** ErrorInfo+ errorInfo_errorCode,+ errorInfo_errorString,++ -- ** Firehose+ firehose_deliveryStream,+ firehose_enabled,++ -- ** Iam+ iam_enabled,++ -- ** JmxExporter+ jmxExporter_enabledInBroker,++ -- ** JmxExporterInfo+ jmxExporterInfo_enabledInBroker,++ -- ** KafkaVersion+ kafkaVersion_status,+ kafkaVersion_version,++ -- ** LoggingInfo+ loggingInfo_brokerLogs,++ -- ** MutableClusterInfo+ mutableClusterInfo_brokerEBSVolumeInfo,+ mutableClusterInfo_clientAuthentication,+ mutableClusterInfo_configurationInfo,+ mutableClusterInfo_connectivityInfo,+ mutableClusterInfo_encryptionInfo,+ mutableClusterInfo_enhancedMonitoring,+ mutableClusterInfo_instanceType,+ mutableClusterInfo_kafkaVersion,+ mutableClusterInfo_loggingInfo,+ mutableClusterInfo_numberOfBrokerNodes,+ mutableClusterInfo_openMonitoring,+ mutableClusterInfo_storageMode,++ -- ** NodeExporter+ nodeExporter_enabledInBroker,++ -- ** NodeExporterInfo+ nodeExporterInfo_enabledInBroker,++ -- ** NodeInfo+ nodeInfo_addedToClusterTime,+ nodeInfo_brokerNodeInfo,+ nodeInfo_instanceType,+ nodeInfo_nodeARN,+ nodeInfo_nodeType,+ nodeInfo_zookeeperNodeInfo,++ -- ** OpenMonitoring+ openMonitoring_prometheus,++ -- ** OpenMonitoringInfo+ openMonitoringInfo_prometheus,++ -- ** Prometheus+ prometheus_jmxExporter,+ prometheus_nodeExporter,++ -- ** PrometheusInfo+ prometheusInfo_jmxExporter,+ prometheusInfo_nodeExporter,++ -- ** Provisioned+ provisioned_clientAuthentication,+ provisioned_currentBrokerSoftwareInfo,+ provisioned_encryptionInfo,+ provisioned_enhancedMonitoring,+ provisioned_loggingInfo,+ provisioned_openMonitoring,+ provisioned_storageMode,+ provisioned_zookeeperConnectString,+ provisioned_zookeeperConnectStringTls,+ provisioned_brokerNodeGroupInfo,+ provisioned_numberOfBrokerNodes,++ -- ** ProvisionedRequest+ provisionedRequest_clientAuthentication,+ provisionedRequest_configurationInfo,+ provisionedRequest_encryptionInfo,+ provisionedRequest_enhancedMonitoring,+ provisionedRequest_loggingInfo,+ provisionedRequest_openMonitoring,+ provisionedRequest_storageMode,+ provisionedRequest_brokerNodeGroupInfo,+ provisionedRequest_kafkaVersion,+ provisionedRequest_numberOfBrokerNodes,++ -- ** ProvisionedThroughput+ provisionedThroughput_enabled,+ provisionedThroughput_volumeThroughput,++ -- ** PublicAccess+ publicAccess_type,++ -- ** S3+ s3_bucket,+ s3_prefix,+ s3_enabled,++ -- ** Sasl+ sasl_iam,+ sasl_scram,++ -- ** Scram+ scram_enabled,++ -- ** Serverless+ serverless_clientAuthentication,+ serverless_vpcConfigs,++ -- ** ServerlessClientAuthentication+ serverlessClientAuthentication_sasl,++ -- ** ServerlessRequest+ serverlessRequest_clientAuthentication,+ serverlessRequest_vpcConfigs,++ -- ** ServerlessSasl+ serverlessSasl_iam,++ -- ** StateInfo+ stateInfo_code,+ stateInfo_message,++ -- ** StorageInfo+ storageInfo_ebsStorageInfo,++ -- ** Tls+ tls_certificateAuthorityArnList,+ tls_enabled,++ -- ** Unauthenticated+ unauthenticated_enabled,++ -- ** UnprocessedScramSecret+ unprocessedScramSecret_errorCode,+ unprocessedScramSecret_errorMessage,+ unprocessedScramSecret_secretArn,++ -- ** VpcConfig+ vpcConfig_securityGroupIds,+ vpcConfig_subnetIds,++ -- ** ZookeeperNodeInfo+ zookeeperNodeInfo_attachedENIId,+ zookeeperNodeInfo_clientVpcIpAddress,+ zookeeperNodeInfo_endpoints,+ zookeeperNodeInfo_zookeeperId,+ zookeeperNodeInfo_zookeeperVersion,+ )+where++import Amazonka.Kafka.BatchAssociateScramSecret+import Amazonka.Kafka.BatchDisassociateScramSecret+import Amazonka.Kafka.CreateCluster+import Amazonka.Kafka.CreateClusterV2+import Amazonka.Kafka.CreateConfiguration+import Amazonka.Kafka.DeleteCluster+import Amazonka.Kafka.DeleteConfiguration+import Amazonka.Kafka.DescribeCluster+import Amazonka.Kafka.DescribeClusterOperation+import Amazonka.Kafka.DescribeClusterV2+import Amazonka.Kafka.DescribeConfiguration+import Amazonka.Kafka.DescribeConfigurationRevision+import Amazonka.Kafka.GetBootstrapBrokers+import Amazonka.Kafka.GetCompatibleKafkaVersions+import Amazonka.Kafka.ListClusterOperations+import Amazonka.Kafka.ListClusters+import Amazonka.Kafka.ListClustersV2+import Amazonka.Kafka.ListConfigurationRevisions+import Amazonka.Kafka.ListConfigurations+import Amazonka.Kafka.ListKafkaVersions+import Amazonka.Kafka.ListNodes+import Amazonka.Kafka.ListScramSecrets+import Amazonka.Kafka.ListTagsForResource+import Amazonka.Kafka.RebootBroker+import Amazonka.Kafka.TagResource+import Amazonka.Kafka.Types.BrokerEBSVolumeInfo+import Amazonka.Kafka.Types.BrokerLogs+import Amazonka.Kafka.Types.BrokerNodeGroupInfo+import Amazonka.Kafka.Types.BrokerNodeInfo+import Amazonka.Kafka.Types.BrokerSoftwareInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.CloudWatchLogs+import Amazonka.Kafka.Types.Cluster+import Amazonka.Kafka.Types.ClusterInfo+import Amazonka.Kafka.Types.ClusterOperationInfo+import Amazonka.Kafka.Types.ClusterOperationStep+import Amazonka.Kafka.Types.ClusterOperationStepInfo+import Amazonka.Kafka.Types.CompatibleKafkaVersion+import Amazonka.Kafka.Types.Configuration+import Amazonka.Kafka.Types.ConfigurationInfo+import Amazonka.Kafka.Types.ConfigurationRevision+import Amazonka.Kafka.Types.ConnectivityInfo+import Amazonka.Kafka.Types.EBSStorageInfo+import Amazonka.Kafka.Types.EncryptionAtRest+import Amazonka.Kafka.Types.EncryptionInTransit+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.ErrorInfo+import Amazonka.Kafka.Types.Firehose+import Amazonka.Kafka.Types.Iam+import Amazonka.Kafka.Types.JmxExporter+import Amazonka.Kafka.Types.JmxExporterInfo+import Amazonka.Kafka.Types.KafkaVersion+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.MutableClusterInfo+import Amazonka.Kafka.Types.NodeExporter+import Amazonka.Kafka.Types.NodeExporterInfo+import Amazonka.Kafka.Types.NodeInfo+import Amazonka.Kafka.Types.OpenMonitoring+import Amazonka.Kafka.Types.OpenMonitoringInfo+import Amazonka.Kafka.Types.Prometheus+import Amazonka.Kafka.Types.PrometheusInfo+import Amazonka.Kafka.Types.Provisioned+import Amazonka.Kafka.Types.ProvisionedRequest+import Amazonka.Kafka.Types.ProvisionedThroughput+import Amazonka.Kafka.Types.PublicAccess+import Amazonka.Kafka.Types.S3+import Amazonka.Kafka.Types.Sasl+import Amazonka.Kafka.Types.Scram+import Amazonka.Kafka.Types.Serverless+import Amazonka.Kafka.Types.ServerlessClientAuthentication+import Amazonka.Kafka.Types.ServerlessRequest+import Amazonka.Kafka.Types.ServerlessSasl+import Amazonka.Kafka.Types.StateInfo+import Amazonka.Kafka.Types.StorageInfo+import Amazonka.Kafka.Types.Tls+import Amazonka.Kafka.Types.Unauthenticated+import Amazonka.Kafka.Types.UnprocessedScramSecret+import Amazonka.Kafka.Types.VpcConfig+import Amazonka.Kafka.Types.ZookeeperNodeInfo+import Amazonka.Kafka.UntagResource+import Amazonka.Kafka.UpdateBrokerCount+import Amazonka.Kafka.UpdateBrokerStorage+import Amazonka.Kafka.UpdateBrokerType+import Amazonka.Kafka.UpdateClusterConfiguration+import Amazonka.Kafka.UpdateClusterKafkaVersion+import Amazonka.Kafka.UpdateConfiguration+import Amazonka.Kafka.UpdateConnectivity+import Amazonka.Kafka.UpdateMonitoring+import Amazonka.Kafka.UpdateSecurity+import Amazonka.Kafka.UpdateStorage
+ gen/Amazonka/Kafka/ListClusterOperations.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.ListClusterOperations+-- 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 the operations that have been performed on the+-- specified MSK cluster.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListClusterOperations+ ( -- * Creating a Request+ ListClusterOperations (..),+ newListClusterOperations,++ -- * Request Lenses+ listClusterOperations_maxResults,+ listClusterOperations_nextToken,+ listClusterOperations_clusterArn,++ -- * Destructuring the Response+ ListClusterOperationsResponse (..),+ newListClusterOperationsResponse,++ -- * Response Lenses+ listClusterOperationsResponse_clusterOperationInfoList,+ listClusterOperationsResponse_nextToken,+ listClusterOperationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListClusterOperations' smart constructor.+data ListClusterOperations = ListClusterOperations'+ { -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClusterOperations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listClusterOperations_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listClusterOperations_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+--+-- 'clusterArn', 'listClusterOperations_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newListClusterOperations ::+ -- | 'clusterArn'+ Prelude.Text ->+ ListClusterOperations+newListClusterOperations pClusterArn_ =+ ListClusterOperations'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ clusterArn = pClusterArn_+ }++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listClusterOperations_maxResults :: Lens.Lens' ListClusterOperations (Prelude.Maybe Prelude.Natural)+listClusterOperations_maxResults = Lens.lens (\ListClusterOperations' {maxResults} -> maxResults) (\s@ListClusterOperations' {} a -> s {maxResults = a} :: ListClusterOperations)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listClusterOperations_nextToken :: Lens.Lens' ListClusterOperations (Prelude.Maybe Prelude.Text)+listClusterOperations_nextToken = Lens.lens (\ListClusterOperations' {nextToken} -> nextToken) (\s@ListClusterOperations' {} a -> s {nextToken = a} :: ListClusterOperations)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+listClusterOperations_clusterArn :: Lens.Lens' ListClusterOperations Prelude.Text+listClusterOperations_clusterArn = Lens.lens (\ListClusterOperations' {clusterArn} -> clusterArn) (\s@ListClusterOperations' {} a -> s {clusterArn = a} :: ListClusterOperations)++instance Core.AWSPager ListClusterOperations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listClusterOperationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listClusterOperationsResponse_clusterOperationInfoList+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listClusterOperations_nextToken+ Lens..~ rs+ Lens.^? listClusterOperationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListClusterOperations where+ type+ AWSResponse ListClusterOperations =+ ListClusterOperationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListClusterOperationsResponse'+ Prelude.<$> ( x+ Data..?> "clusterOperationInfoList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListClusterOperations where+ hashWithSalt _salt ListClusterOperations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData ListClusterOperations where+ rnf ListClusterOperations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf clusterArn++instance Data.ToHeaders ListClusterOperations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListClusterOperations where+ toPath ListClusterOperations' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/operations"+ ]++instance Data.ToQuery ListClusterOperations where+ toQuery ListClusterOperations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListClusterOperationsResponse' smart constructor.+data ListClusterOperationsResponse = ListClusterOperationsResponse'+ { -- | An array of cluster operation information objects.+ clusterOperationInfoList :: Prelude.Maybe [ClusterOperationInfo],+ -- | If the response of ListClusterOperations is truncated, it returns a+ -- NextToken in the response. This Nexttoken should be sent in the+ -- subsequent request to ListClusterOperations.+ 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 'ListClusterOperationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterOperationInfoList', 'listClusterOperationsResponse_clusterOperationInfoList' - An array of cluster operation information objects.+--+-- 'nextToken', 'listClusterOperationsResponse_nextToken' - If the response of ListClusterOperations is truncated, it returns a+-- NextToken in the response. This Nexttoken should be sent in the+-- subsequent request to ListClusterOperations.+--+-- 'httpStatus', 'listClusterOperationsResponse_httpStatus' - The response's http status code.+newListClusterOperationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListClusterOperationsResponse+newListClusterOperationsResponse pHttpStatus_ =+ ListClusterOperationsResponse'+ { clusterOperationInfoList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of cluster operation information objects.+listClusterOperationsResponse_clusterOperationInfoList :: Lens.Lens' ListClusterOperationsResponse (Prelude.Maybe [ClusterOperationInfo])+listClusterOperationsResponse_clusterOperationInfoList = Lens.lens (\ListClusterOperationsResponse' {clusterOperationInfoList} -> clusterOperationInfoList) (\s@ListClusterOperationsResponse' {} a -> s {clusterOperationInfoList = a} :: ListClusterOperationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response of ListClusterOperations is truncated, it returns a+-- NextToken in the response. This Nexttoken should be sent in the+-- subsequent request to ListClusterOperations.+listClusterOperationsResponse_nextToken :: Lens.Lens' ListClusterOperationsResponse (Prelude.Maybe Prelude.Text)+listClusterOperationsResponse_nextToken = Lens.lens (\ListClusterOperationsResponse' {nextToken} -> nextToken) (\s@ListClusterOperationsResponse' {} a -> s {nextToken = a} :: ListClusterOperationsResponse)++-- | The response's http status code.+listClusterOperationsResponse_httpStatus :: Lens.Lens' ListClusterOperationsResponse Prelude.Int+listClusterOperationsResponse_httpStatus = Lens.lens (\ListClusterOperationsResponse' {httpStatus} -> httpStatus) (\s@ListClusterOperationsResponse' {} a -> s {httpStatus = a} :: ListClusterOperationsResponse)++instance Prelude.NFData ListClusterOperationsResponse where+ rnf ListClusterOperationsResponse' {..} =+ Prelude.rnf clusterOperationInfoList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListClusters.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.Kafka.ListClusters+-- 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 the MSK clusters in the current Region.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListClusters+ ( -- * Creating a Request+ ListClusters (..),+ newListClusters,++ -- * Request Lenses+ listClusters_clusterNameFilter,+ listClusters_maxResults,+ listClusters_nextToken,++ -- * Destructuring the Response+ ListClustersResponse (..),+ newListClustersResponse,++ -- * Response Lenses+ listClustersResponse_clusterInfoList,+ listClustersResponse_nextToken,+ listClustersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListClusters' smart constructor.+data ListClusters = ListClusters'+ { -- | Specify a prefix of the name of the clusters that you want to list. The+ -- service lists all the clusters whose names start with this prefix.+ clusterNameFilter :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClusters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterNameFilter', 'listClusters_clusterNameFilter' - Specify a prefix of the name of the clusters that you want to list. The+-- service lists all the clusters whose names start with this prefix.+--+-- 'maxResults', 'listClusters_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listClusters_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+newListClusters ::+ ListClusters+newListClusters =+ ListClusters'+ { clusterNameFilter = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Specify a prefix of the name of the clusters that you want to list. The+-- service lists all the clusters whose names start with this prefix.+listClusters_clusterNameFilter :: Lens.Lens' ListClusters (Prelude.Maybe Prelude.Text)+listClusters_clusterNameFilter = Lens.lens (\ListClusters' {clusterNameFilter} -> clusterNameFilter) (\s@ListClusters' {} a -> s {clusterNameFilter = a} :: ListClusters)++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listClusters_maxResults :: Lens.Lens' ListClusters (Prelude.Maybe Prelude.Natural)+listClusters_maxResults = Lens.lens (\ListClusters' {maxResults} -> maxResults) (\s@ListClusters' {} a -> s {maxResults = a} :: ListClusters)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listClusters_nextToken :: Lens.Lens' ListClusters (Prelude.Maybe Prelude.Text)+listClusters_nextToken = Lens.lens (\ListClusters' {nextToken} -> nextToken) (\s@ListClusters' {} a -> s {nextToken = a} :: ListClusters)++instance Core.AWSPager ListClusters where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listClustersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listClustersResponse_clusterInfoList+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listClusters_nextToken+ Lens..~ rs+ Lens.^? listClustersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListClusters where+ type AWSResponse ListClusters = ListClustersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListClustersResponse'+ Prelude.<$> ( x+ Data..?> "clusterInfoList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListClusters where+ hashWithSalt _salt ListClusters' {..} =+ _salt+ `Prelude.hashWithSalt` clusterNameFilter+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListClusters where+ rnf ListClusters' {..} =+ Prelude.rnf clusterNameFilter+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListClusters where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListClusters where+ toPath = Prelude.const "/v1/clusters"++instance Data.ToQuery ListClusters where+ toQuery ListClusters' {..} =+ Prelude.mconcat+ [ "clusterNameFilter" Data.=: clusterNameFilter,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListClustersResponse' smart constructor.+data ListClustersResponse = ListClustersResponse'+ { -- | Information on each of the MSK clusters in the response.+ clusterInfoList :: Prelude.Maybe [ClusterInfo],+ -- | The paginated results marker. When the result of a ListClusters+ -- operation is truncated, the call returns NextToken in the response. To+ -- get another batch of clusters, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClustersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterInfoList', 'listClustersResponse_clusterInfoList' - Information on each of the MSK clusters in the response.+--+-- 'nextToken', 'listClustersResponse_nextToken' - The paginated results marker. When the result of a ListClusters+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of clusters, provide this token in your next request.+--+-- 'httpStatus', 'listClustersResponse_httpStatus' - The response's http status code.+newListClustersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListClustersResponse+newListClustersResponse pHttpStatus_ =+ ListClustersResponse'+ { clusterInfoList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information on each of the MSK clusters in the response.+listClustersResponse_clusterInfoList :: Lens.Lens' ListClustersResponse (Prelude.Maybe [ClusterInfo])+listClustersResponse_clusterInfoList = Lens.lens (\ListClustersResponse' {clusterInfoList} -> clusterInfoList) (\s@ListClustersResponse' {} a -> s {clusterInfoList = a} :: ListClustersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The paginated results marker. When the result of a ListClusters+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of clusters, provide this token in your next request.+listClustersResponse_nextToken :: Lens.Lens' ListClustersResponse (Prelude.Maybe Prelude.Text)+listClustersResponse_nextToken = Lens.lens (\ListClustersResponse' {nextToken} -> nextToken) (\s@ListClustersResponse' {} a -> s {nextToken = a} :: ListClustersResponse)++-- | The response's http status code.+listClustersResponse_httpStatus :: Lens.Lens' ListClustersResponse Prelude.Int+listClustersResponse_httpStatus = Lens.lens (\ListClustersResponse' {httpStatus} -> httpStatus) (\s@ListClustersResponse' {} a -> s {httpStatus = a} :: ListClustersResponse)++instance Prelude.NFData ListClustersResponse where+ rnf ListClustersResponse' {..} =+ Prelude.rnf clusterInfoList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListClustersV2.hs view
@@ -0,0 +1,259 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.ListClustersV2+-- 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 the MSK clusters in the current Region.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListClustersV2+ ( -- * Creating a Request+ ListClustersV2 (..),+ newListClustersV2,++ -- * Request Lenses+ listClustersV2_clusterNameFilter,+ listClustersV2_clusterTypeFilter,+ listClustersV2_maxResults,+ listClustersV2_nextToken,++ -- * Destructuring the Response+ ListClustersV2Response (..),+ newListClustersV2Response,++ -- * Response Lenses+ listClustersV2Response_clusterInfoList,+ listClustersV2Response_nextToken,+ listClustersV2Response_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListClustersV2' smart constructor.+data ListClustersV2 = ListClustersV2'+ { -- | Specify a prefix of the names of the clusters that you want to list. The+ -- service lists all the clusters whose names start with this prefix.+ clusterNameFilter :: Prelude.Maybe Prelude.Text,+ -- | Specify either PROVISIONED or SERVERLESS.+ clusterTypeFilter :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClustersV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterNameFilter', 'listClustersV2_clusterNameFilter' - Specify a prefix of the names of the clusters that you want to list. The+-- service lists all the clusters whose names start with this prefix.+--+-- 'clusterTypeFilter', 'listClustersV2_clusterTypeFilter' - Specify either PROVISIONED or SERVERLESS.+--+-- 'maxResults', 'listClustersV2_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listClustersV2_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+newListClustersV2 ::+ ListClustersV2+newListClustersV2 =+ ListClustersV2'+ { clusterNameFilter =+ Prelude.Nothing,+ clusterTypeFilter = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Specify a prefix of the names of the clusters that you want to list. The+-- service lists all the clusters whose names start with this prefix.+listClustersV2_clusterNameFilter :: Lens.Lens' ListClustersV2 (Prelude.Maybe Prelude.Text)+listClustersV2_clusterNameFilter = Lens.lens (\ListClustersV2' {clusterNameFilter} -> clusterNameFilter) (\s@ListClustersV2' {} a -> s {clusterNameFilter = a} :: ListClustersV2)++-- | Specify either PROVISIONED or SERVERLESS.+listClustersV2_clusterTypeFilter :: Lens.Lens' ListClustersV2 (Prelude.Maybe Prelude.Text)+listClustersV2_clusterTypeFilter = Lens.lens (\ListClustersV2' {clusterTypeFilter} -> clusterTypeFilter) (\s@ListClustersV2' {} a -> s {clusterTypeFilter = a} :: ListClustersV2)++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listClustersV2_maxResults :: Lens.Lens' ListClustersV2 (Prelude.Maybe Prelude.Natural)+listClustersV2_maxResults = Lens.lens (\ListClustersV2' {maxResults} -> maxResults) (\s@ListClustersV2' {} a -> s {maxResults = a} :: ListClustersV2)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listClustersV2_nextToken :: Lens.Lens' ListClustersV2 (Prelude.Maybe Prelude.Text)+listClustersV2_nextToken = Lens.lens (\ListClustersV2' {nextToken} -> nextToken) (\s@ListClustersV2' {} a -> s {nextToken = a} :: ListClustersV2)++instance Core.AWSPager ListClustersV2 where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listClustersV2Response_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listClustersV2Response_clusterInfoList+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listClustersV2_nextToken+ Lens..~ rs+ Lens.^? listClustersV2Response_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListClustersV2 where+ type+ AWSResponse ListClustersV2 =+ ListClustersV2Response+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListClustersV2Response'+ Prelude.<$> ( x+ Data..?> "clusterInfoList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListClustersV2 where+ hashWithSalt _salt ListClustersV2' {..} =+ _salt+ `Prelude.hashWithSalt` clusterNameFilter+ `Prelude.hashWithSalt` clusterTypeFilter+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListClustersV2 where+ rnf ListClustersV2' {..} =+ Prelude.rnf clusterNameFilter+ `Prelude.seq` Prelude.rnf clusterTypeFilter+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListClustersV2 where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListClustersV2 where+ toPath = Prelude.const "/api/v2/clusters"++instance Data.ToQuery ListClustersV2 where+ toQuery ListClustersV2' {..} =+ Prelude.mconcat+ [ "clusterNameFilter" Data.=: clusterNameFilter,+ "clusterTypeFilter" Data.=: clusterTypeFilter,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListClustersV2Response' smart constructor.+data ListClustersV2Response = ListClustersV2Response'+ { -- | Information on each of the MSK clusters in the response.+ clusterInfoList :: Prelude.Maybe [Cluster],+ -- | The paginated results marker. When the result of a ListClusters+ -- operation is truncated, the call returns NextToken in the response. To+ -- get another batch of clusters, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClustersV2Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterInfoList', 'listClustersV2Response_clusterInfoList' - Information on each of the MSK clusters in the response.+--+-- 'nextToken', 'listClustersV2Response_nextToken' - The paginated results marker. When the result of a ListClusters+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of clusters, provide this token in your next request.+--+-- 'httpStatus', 'listClustersV2Response_httpStatus' - The response's http status code.+newListClustersV2Response ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListClustersV2Response+newListClustersV2Response pHttpStatus_ =+ ListClustersV2Response'+ { clusterInfoList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information on each of the MSK clusters in the response.+listClustersV2Response_clusterInfoList :: Lens.Lens' ListClustersV2Response (Prelude.Maybe [Cluster])+listClustersV2Response_clusterInfoList = Lens.lens (\ListClustersV2Response' {clusterInfoList} -> clusterInfoList) (\s@ListClustersV2Response' {} a -> s {clusterInfoList = a} :: ListClustersV2Response) Prelude.. Lens.mapping Lens.coerced++-- | The paginated results marker. When the result of a ListClusters+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of clusters, provide this token in your next request.+listClustersV2Response_nextToken :: Lens.Lens' ListClustersV2Response (Prelude.Maybe Prelude.Text)+listClustersV2Response_nextToken = Lens.lens (\ListClustersV2Response' {nextToken} -> nextToken) (\s@ListClustersV2Response' {} a -> s {nextToken = a} :: ListClustersV2Response)++-- | The response's http status code.+listClustersV2Response_httpStatus :: Lens.Lens' ListClustersV2Response Prelude.Int+listClustersV2Response_httpStatus = Lens.lens (\ListClustersV2Response' {httpStatus} -> httpStatus) (\s@ListClustersV2Response' {} a -> s {httpStatus = a} :: ListClustersV2Response)++instance Prelude.NFData ListClustersV2Response where+ rnf ListClustersV2Response' {..} =+ Prelude.rnf clusterInfoList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListConfigurationRevisions.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.Kafka.ListConfigurationRevisions+-- 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 the MSK configurations in this Region.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListConfigurationRevisions+ ( -- * Creating a Request+ ListConfigurationRevisions (..),+ newListConfigurationRevisions,++ -- * Request Lenses+ listConfigurationRevisions_maxResults,+ listConfigurationRevisions_nextToken,+ listConfigurationRevisions_arn,++ -- * Destructuring the Response+ ListConfigurationRevisionsResponse (..),+ newListConfigurationRevisionsResponse,++ -- * Response Lenses+ listConfigurationRevisionsResponse_nextToken,+ listConfigurationRevisionsResponse_revisions,+ listConfigurationRevisionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListConfigurationRevisions' smart constructor.+data ListConfigurationRevisions = ListConfigurationRevisions'+ { -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+ -- configuration and all of its revisions.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationRevisions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listConfigurationRevisions_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listConfigurationRevisions_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+--+-- 'arn', 'listConfigurationRevisions_arn' - The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+newListConfigurationRevisions ::+ -- | 'arn'+ Prelude.Text ->+ ListConfigurationRevisions+newListConfigurationRevisions pArn_ =+ ListConfigurationRevisions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ arn = pArn_+ }++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listConfigurationRevisions_maxResults :: Lens.Lens' ListConfigurationRevisions (Prelude.Maybe Prelude.Natural)+listConfigurationRevisions_maxResults = Lens.lens (\ListConfigurationRevisions' {maxResults} -> maxResults) (\s@ListConfigurationRevisions' {} a -> s {maxResults = a} :: ListConfigurationRevisions)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listConfigurationRevisions_nextToken :: Lens.Lens' ListConfigurationRevisions (Prelude.Maybe Prelude.Text)+listConfigurationRevisions_nextToken = Lens.lens (\ListConfigurationRevisions' {nextToken} -> nextToken) (\s@ListConfigurationRevisions' {} a -> s {nextToken = a} :: ListConfigurationRevisions)++-- | The Amazon Resource Name (ARN) that uniquely identifies an MSK+-- configuration and all of its revisions.+listConfigurationRevisions_arn :: Lens.Lens' ListConfigurationRevisions Prelude.Text+listConfigurationRevisions_arn = Lens.lens (\ListConfigurationRevisions' {arn} -> arn) (\s@ListConfigurationRevisions' {} a -> s {arn = a} :: ListConfigurationRevisions)++instance Core.AWSPager ListConfigurationRevisions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listConfigurationRevisionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listConfigurationRevisionsResponse_revisions+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listConfigurationRevisions_nextToken+ Lens..~ rs+ Lens.^? listConfigurationRevisionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListConfigurationRevisions where+ type+ AWSResponse ListConfigurationRevisions =+ ListConfigurationRevisionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListConfigurationRevisionsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "revisions" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListConfigurationRevisions where+ hashWithSalt _salt ListConfigurationRevisions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` arn++instance Prelude.NFData ListConfigurationRevisions where+ rnf ListConfigurationRevisions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders ListConfigurationRevisions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListConfigurationRevisions where+ toPath ListConfigurationRevisions' {..} =+ Prelude.mconcat+ ["/v1/configurations/", Data.toBS arn, "/revisions"]++instance Data.ToQuery ListConfigurationRevisions where+ toQuery ListConfigurationRevisions' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListConfigurationRevisionsResponse' smart constructor.+data ListConfigurationRevisionsResponse = ListConfigurationRevisionsResponse'+ { -- | Paginated results marker.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | List of ConfigurationRevision objects.+ revisions :: Prelude.Maybe [ConfigurationRevision],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationRevisionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listConfigurationRevisionsResponse_nextToken' - Paginated results marker.+--+-- 'revisions', 'listConfigurationRevisionsResponse_revisions' - List of ConfigurationRevision objects.+--+-- 'httpStatus', 'listConfigurationRevisionsResponse_httpStatus' - The response's http status code.+newListConfigurationRevisionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListConfigurationRevisionsResponse+newListConfigurationRevisionsResponse pHttpStatus_ =+ ListConfigurationRevisionsResponse'+ { nextToken =+ Prelude.Nothing,+ revisions = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Paginated results marker.+listConfigurationRevisionsResponse_nextToken :: Lens.Lens' ListConfigurationRevisionsResponse (Prelude.Maybe Prelude.Text)+listConfigurationRevisionsResponse_nextToken = Lens.lens (\ListConfigurationRevisionsResponse' {nextToken} -> nextToken) (\s@ListConfigurationRevisionsResponse' {} a -> s {nextToken = a} :: ListConfigurationRevisionsResponse)++-- | List of ConfigurationRevision objects.+listConfigurationRevisionsResponse_revisions :: Lens.Lens' ListConfigurationRevisionsResponse (Prelude.Maybe [ConfigurationRevision])+listConfigurationRevisionsResponse_revisions = Lens.lens (\ListConfigurationRevisionsResponse' {revisions} -> revisions) (\s@ListConfigurationRevisionsResponse' {} a -> s {revisions = a} :: ListConfigurationRevisionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listConfigurationRevisionsResponse_httpStatus :: Lens.Lens' ListConfigurationRevisionsResponse Prelude.Int+listConfigurationRevisionsResponse_httpStatus = Lens.lens (\ListConfigurationRevisionsResponse' {httpStatus} -> httpStatus) (\s@ListConfigurationRevisionsResponse' {} a -> s {httpStatus = a} :: ListConfigurationRevisionsResponse)++instance+ Prelude.NFData+ ListConfigurationRevisionsResponse+ where+ rnf ListConfigurationRevisionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf revisions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListConfigurations.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.ListConfigurations+-- 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 the MSK configurations in this Region.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListConfigurations+ ( -- * Creating a Request+ ListConfigurations (..),+ newListConfigurations,++ -- * Request Lenses+ listConfigurations_maxResults,+ listConfigurations_nextToken,++ -- * Destructuring the Response+ ListConfigurationsResponse (..),+ newListConfigurationsResponse,++ -- * Response Lenses+ listConfigurationsResponse_configurations,+ listConfigurationsResponse_nextToken,+ listConfigurationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListConfigurations' smart constructor.+data ListConfigurations = ListConfigurations'+ { -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listConfigurations_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listConfigurations_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+newListConfigurations ::+ ListConfigurations+newListConfigurations =+ ListConfigurations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listConfigurations_maxResults :: Lens.Lens' ListConfigurations (Prelude.Maybe Prelude.Natural)+listConfigurations_maxResults = Lens.lens (\ListConfigurations' {maxResults} -> maxResults) (\s@ListConfigurations' {} a -> s {maxResults = a} :: ListConfigurations)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listConfigurations_nextToken :: Lens.Lens' ListConfigurations (Prelude.Maybe Prelude.Text)+listConfigurations_nextToken = Lens.lens (\ListConfigurations' {nextToken} -> nextToken) (\s@ListConfigurations' {} a -> s {nextToken = a} :: ListConfigurations)++instance Core.AWSPager ListConfigurations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listConfigurationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listConfigurationsResponse_configurations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listConfigurations_nextToken+ Lens..~ rs+ Lens.^? listConfigurationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListConfigurations where+ type+ AWSResponse ListConfigurations =+ ListConfigurationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListConfigurationsResponse'+ Prelude.<$> (x Data..?> "configurations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListConfigurations where+ hashWithSalt _salt ListConfigurations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConfigurations where+ rnf ListConfigurations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConfigurations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListConfigurations where+ toPath = Prelude.const "/v1/configurations"++instance Data.ToQuery ListConfigurations where+ toQuery ListConfigurations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListConfigurationsResponse' smart constructor.+data ListConfigurationsResponse = ListConfigurationsResponse'+ { -- | An array of MSK configurations.+ configurations :: Prelude.Maybe [Configuration],+ -- | The paginated results marker. When the result of a ListConfigurations+ -- operation is truncated, the call returns NextToken in the response. To+ -- get another batch of configurations, provide this token in your next+ -- request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurations', 'listConfigurationsResponse_configurations' - An array of MSK configurations.+--+-- 'nextToken', 'listConfigurationsResponse_nextToken' - The paginated results marker. When the result of a ListConfigurations+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of configurations, provide this token in your next+-- request.+--+-- 'httpStatus', 'listConfigurationsResponse_httpStatus' - The response's http status code.+newListConfigurationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListConfigurationsResponse+newListConfigurationsResponse pHttpStatus_ =+ ListConfigurationsResponse'+ { configurations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of MSK configurations.+listConfigurationsResponse_configurations :: Lens.Lens' ListConfigurationsResponse (Prelude.Maybe [Configuration])+listConfigurationsResponse_configurations = Lens.lens (\ListConfigurationsResponse' {configurations} -> configurations) (\s@ListConfigurationsResponse' {} a -> s {configurations = a} :: ListConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The paginated results marker. When the result of a ListConfigurations+-- operation is truncated, the call returns NextToken in the response. To+-- get another batch of configurations, provide this token in your next+-- request.+listConfigurationsResponse_nextToken :: Lens.Lens' ListConfigurationsResponse (Prelude.Maybe Prelude.Text)+listConfigurationsResponse_nextToken = Lens.lens (\ListConfigurationsResponse' {nextToken} -> nextToken) (\s@ListConfigurationsResponse' {} a -> s {nextToken = a} :: ListConfigurationsResponse)++-- | The response's http status code.+listConfigurationsResponse_httpStatus :: Lens.Lens' ListConfigurationsResponse Prelude.Int+listConfigurationsResponse_httpStatus = Lens.lens (\ListConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListConfigurationsResponse' {} a -> s {httpStatus = a} :: ListConfigurationsResponse)++instance Prelude.NFData ListConfigurationsResponse where+ rnf ListConfigurationsResponse' {..} =+ Prelude.rnf configurations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListKafkaVersions.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.Kafka.ListKafkaVersions+-- 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 Apache Kafka versions.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListKafkaVersions+ ( -- * Creating a Request+ ListKafkaVersions (..),+ newListKafkaVersions,++ -- * Request Lenses+ listKafkaVersions_maxResults,+ listKafkaVersions_nextToken,++ -- * Destructuring the Response+ ListKafkaVersionsResponse (..),+ newListKafkaVersionsResponse,++ -- * Response Lenses+ listKafkaVersionsResponse_kafkaVersions,+ listKafkaVersionsResponse_nextToken,+ listKafkaVersionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListKafkaVersions' smart constructor.+data ListKafkaVersions = ListKafkaVersions'+ { -- | The maximum number of results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListKafkaVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listKafkaVersions_maxResults' - The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listKafkaVersions_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+newListKafkaVersions ::+ ListKafkaVersions+newListKafkaVersions =+ ListKafkaVersions'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listKafkaVersions_maxResults :: Lens.Lens' ListKafkaVersions (Prelude.Maybe Prelude.Natural)+listKafkaVersions_maxResults = Lens.lens (\ListKafkaVersions' {maxResults} -> maxResults) (\s@ListKafkaVersions' {} a -> s {maxResults = a} :: ListKafkaVersions)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listKafkaVersions_nextToken :: Lens.Lens' ListKafkaVersions (Prelude.Maybe Prelude.Text)+listKafkaVersions_nextToken = Lens.lens (\ListKafkaVersions' {nextToken} -> nextToken) (\s@ListKafkaVersions' {} a -> s {nextToken = a} :: ListKafkaVersions)++instance Core.AWSPager ListKafkaVersions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listKafkaVersionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listKafkaVersionsResponse_kafkaVersions+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listKafkaVersions_nextToken+ Lens..~ rs+ Lens.^? listKafkaVersionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListKafkaVersions where+ type+ AWSResponse ListKafkaVersions =+ ListKafkaVersionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListKafkaVersionsResponse'+ Prelude.<$> (x Data..?> "kafkaVersions" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListKafkaVersions where+ hashWithSalt _salt ListKafkaVersions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListKafkaVersions where+ rnf ListKafkaVersions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListKafkaVersions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListKafkaVersions where+ toPath = Prelude.const "/v1/kafka-versions"++instance Data.ToQuery ListKafkaVersions where+ toQuery ListKafkaVersions' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListKafkaVersionsResponse' smart constructor.+data ListKafkaVersionsResponse = ListKafkaVersionsResponse'+ { kafkaVersions :: Prelude.Maybe [KafkaVersion],+ 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 'ListKafkaVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kafkaVersions', 'listKafkaVersionsResponse_kafkaVersions' - Undocumented member.+--+-- 'nextToken', 'listKafkaVersionsResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listKafkaVersionsResponse_httpStatus' - The response's http status code.+newListKafkaVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListKafkaVersionsResponse+newListKafkaVersionsResponse pHttpStatus_ =+ ListKafkaVersionsResponse'+ { kafkaVersions =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+listKafkaVersionsResponse_kafkaVersions :: Lens.Lens' ListKafkaVersionsResponse (Prelude.Maybe [KafkaVersion])+listKafkaVersionsResponse_kafkaVersions = Lens.lens (\ListKafkaVersionsResponse' {kafkaVersions} -> kafkaVersions) (\s@ListKafkaVersionsResponse' {} a -> s {kafkaVersions = a} :: ListKafkaVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listKafkaVersionsResponse_nextToken :: Lens.Lens' ListKafkaVersionsResponse (Prelude.Maybe Prelude.Text)+listKafkaVersionsResponse_nextToken = Lens.lens (\ListKafkaVersionsResponse' {nextToken} -> nextToken) (\s@ListKafkaVersionsResponse' {} a -> s {nextToken = a} :: ListKafkaVersionsResponse)++-- | The response's http status code.+listKafkaVersionsResponse_httpStatus :: Lens.Lens' ListKafkaVersionsResponse Prelude.Int+listKafkaVersionsResponse_httpStatus = Lens.lens (\ListKafkaVersionsResponse' {httpStatus} -> httpStatus) (\s@ListKafkaVersionsResponse' {} a -> s {httpStatus = a} :: ListKafkaVersionsResponse)++instance Prelude.NFData ListKafkaVersionsResponse where+ rnf ListKafkaVersionsResponse' {..} =+ Prelude.rnf kafkaVersions+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListNodes.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.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 a list of the broker nodes in the cluster.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListNodes+ ( -- * Creating a Request+ ListNodes (..),+ newListNodes,++ -- * Request Lenses+ listNodes_maxResults,+ listNodes_nextToken,+ listNodes_clusterArn,++ -- * Destructuring the Response+ ListNodesResponse (..),+ newListNodesResponse,++ -- * Response Lenses+ listNodesResponse_nextToken,+ listNodesResponse_nodeInfoList,+ 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.Kafka.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 results to return in the response. If there are+ -- more results, the response includes a NextToken parameter.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The paginated results marker. When the result of the operation is+ -- truncated, the call returns NextToken in the response. To get the next+ -- batch, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: 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 results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+--+-- 'nextToken', 'listNodes_nextToken' - The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+--+-- 'clusterArn', 'listNodes_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+newListNodes ::+ -- | 'clusterArn'+ Prelude.Text ->+ ListNodes+newListNodes pClusterArn_ =+ ListNodes'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ clusterArn = pClusterArn_+ }++-- | The maximum number of results to return in the response. If there are+-- more results, the response includes a NextToken parameter.+listNodes_maxResults :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Natural)+listNodes_maxResults = Lens.lens (\ListNodes' {maxResults} -> maxResults) (\s@ListNodes' {} a -> s {maxResults = a} :: ListNodes)++-- | The paginated results marker. When the result of the operation is+-- truncated, the call returns NextToken in the response. To get the next+-- batch, provide this token in your next request.+listNodes_nextToken :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_nextToken = Lens.lens (\ListNodes' {nextToken} -> nextToken) (\s@ListNodes' {} a -> s {nextToken = a} :: ListNodes)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+listNodes_clusterArn :: Lens.Lens' ListNodes Prelude.Text+listNodes_clusterArn = Lens.lens (\ListNodes' {clusterArn} -> clusterArn) (\s@ListNodes' {} a -> s {clusterArn = a} :: ListNodes)++instance Core.AWSPager ListNodes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listNodesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listNodesResponse_nodeInfoList+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listNodes_nextToken+ Lens..~ rs+ Lens.^? listNodesResponse_nextToken+ Prelude.. Lens._Just++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..?> "nodeInfoList" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListNodes where+ hashWithSalt _salt ListNodes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData ListNodes where+ rnf ListNodes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf clusterArn++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+ ["/v1/clusters/", Data.toBS clusterArn, "/nodes"]++instance Data.ToQuery ListNodes where+ toQuery ListNodes' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListNodesResponse' smart constructor.+data ListNodesResponse = ListNodesResponse'+ { -- | The paginated results marker. When the result of a ListNodes operation+ -- is truncated, the call returns NextToken in the response. To get another+ -- batch of nodes, provide this token in your next request.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | List containing a NodeInfo object.+ nodeInfoList :: Prelude.Maybe [NodeInfo],+ -- | 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 paginated results marker. When the result of a ListNodes operation+-- is truncated, the call returns NextToken in the response. To get another+-- batch of nodes, provide this token in your next request.+--+-- 'nodeInfoList', 'listNodesResponse_nodeInfoList' - List containing a NodeInfo object.+--+-- 'httpStatus', 'listNodesResponse_httpStatus' - The response's http status code.+newListNodesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListNodesResponse+newListNodesResponse pHttpStatus_ =+ ListNodesResponse'+ { nextToken = Prelude.Nothing,+ nodeInfoList = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The paginated results marker. When the result of a ListNodes operation+-- is truncated, the call returns NextToken in the response. To get another+-- batch of nodes, provide this token in your next request.+listNodesResponse_nextToken :: Lens.Lens' ListNodesResponse (Prelude.Maybe Prelude.Text)+listNodesResponse_nextToken = Lens.lens (\ListNodesResponse' {nextToken} -> nextToken) (\s@ListNodesResponse' {} a -> s {nextToken = a} :: ListNodesResponse)++-- | List containing a NodeInfo object.+listNodesResponse_nodeInfoList :: Lens.Lens' ListNodesResponse (Prelude.Maybe [NodeInfo])+listNodesResponse_nodeInfoList = Lens.lens (\ListNodesResponse' {nodeInfoList} -> nodeInfoList) (\s@ListNodesResponse' {} a -> s {nodeInfoList = 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 nodeInfoList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListScramSecrets.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.ListScramSecrets+-- 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 Scram Secrets associated with an Amazon MSK+-- cluster.+--+-- This operation returns paginated results.+module Amazonka.Kafka.ListScramSecrets+ ( -- * Creating a Request+ ListScramSecrets (..),+ newListScramSecrets,++ -- * Request Lenses+ listScramSecrets_maxResults,+ listScramSecrets_nextToken,+ listScramSecrets_clusterArn,++ -- * Destructuring the Response+ ListScramSecretsResponse (..),+ newListScramSecretsResponse,++ -- * Response Lenses+ listScramSecretsResponse_nextToken,+ listScramSecretsResponse_secretArnList,+ listScramSecretsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListScramSecrets' smart constructor.+data ListScramSecrets = ListScramSecrets'+ { -- | The maxResults of the query.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken of the query.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The arn of the cluster.+ clusterArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListScramSecrets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listScramSecrets_maxResults' - The maxResults of the query.+--+-- 'nextToken', 'listScramSecrets_nextToken' - The nextToken of the query.+--+-- 'clusterArn', 'listScramSecrets_clusterArn' - The arn of the cluster.+newListScramSecrets ::+ -- | 'clusterArn'+ Prelude.Text ->+ ListScramSecrets+newListScramSecrets pClusterArn_ =+ ListScramSecrets'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ clusterArn = pClusterArn_+ }++-- | The maxResults of the query.+listScramSecrets_maxResults :: Lens.Lens' ListScramSecrets (Prelude.Maybe Prelude.Natural)+listScramSecrets_maxResults = Lens.lens (\ListScramSecrets' {maxResults} -> maxResults) (\s@ListScramSecrets' {} a -> s {maxResults = a} :: ListScramSecrets)++-- | The nextToken of the query.+listScramSecrets_nextToken :: Lens.Lens' ListScramSecrets (Prelude.Maybe Prelude.Text)+listScramSecrets_nextToken = Lens.lens (\ListScramSecrets' {nextToken} -> nextToken) (\s@ListScramSecrets' {} a -> s {nextToken = a} :: ListScramSecrets)++-- | The arn of the cluster.+listScramSecrets_clusterArn :: Lens.Lens' ListScramSecrets Prelude.Text+listScramSecrets_clusterArn = Lens.lens (\ListScramSecrets' {clusterArn} -> clusterArn) (\s@ListScramSecrets' {} a -> s {clusterArn = a} :: ListScramSecrets)++instance Core.AWSPager ListScramSecrets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listScramSecretsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listScramSecretsResponse_secretArnList+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listScramSecrets_nextToken+ Lens..~ rs+ Lens.^? listScramSecretsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListScramSecrets where+ type+ AWSResponse ListScramSecrets =+ ListScramSecretsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListScramSecretsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "secretArnList" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListScramSecrets where+ hashWithSalt _salt ListScramSecrets' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` clusterArn++instance Prelude.NFData ListScramSecrets where+ rnf ListScramSecrets' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf clusterArn++instance Data.ToHeaders ListScramSecrets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListScramSecrets where+ toPath ListScramSecrets' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/scram-secrets"+ ]++instance Data.ToQuery ListScramSecrets where+ toQuery ListScramSecrets' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListScramSecretsResponse' smart constructor.+data ListScramSecretsResponse = ListScramSecretsResponse'+ { -- | Paginated results marker.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list of scram secrets associated with the cluster.+ secretArnList :: 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 'ListScramSecretsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listScramSecretsResponse_nextToken' - Paginated results marker.+--+-- 'secretArnList', 'listScramSecretsResponse_secretArnList' - The list of scram secrets associated with the cluster.+--+-- 'httpStatus', 'listScramSecretsResponse_httpStatus' - The response's http status code.+newListScramSecretsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListScramSecretsResponse+newListScramSecretsResponse pHttpStatus_ =+ ListScramSecretsResponse'+ { nextToken =+ Prelude.Nothing,+ secretArnList = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Paginated results marker.+listScramSecretsResponse_nextToken :: Lens.Lens' ListScramSecretsResponse (Prelude.Maybe Prelude.Text)+listScramSecretsResponse_nextToken = Lens.lens (\ListScramSecretsResponse' {nextToken} -> nextToken) (\s@ListScramSecretsResponse' {} a -> s {nextToken = a} :: ListScramSecretsResponse)++-- | The list of scram secrets associated with the cluster.+listScramSecretsResponse_secretArnList :: Lens.Lens' ListScramSecretsResponse (Prelude.Maybe [Prelude.Text])+listScramSecretsResponse_secretArnList = Lens.lens (\ListScramSecretsResponse' {secretArnList} -> secretArnList) (\s@ListScramSecretsResponse' {} a -> s {secretArnList = a} :: ListScramSecretsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listScramSecretsResponse_httpStatus :: Lens.Lens' ListScramSecretsResponse Prelude.Int+listScramSecretsResponse_httpStatus = Lens.lens (\ListScramSecretsResponse' {httpStatus} -> httpStatus) (\s@ListScramSecretsResponse' {} a -> s {httpStatus = a} :: ListScramSecretsResponse)++instance Prelude.NFData ListScramSecretsResponse where+ rnf ListScramSecretsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf secretArnList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/ListTagsForResource.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.Kafka.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 the tags associated with the specified resource.+module Amazonka.Kafka.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.Kafka.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) that uniquely identifies the resource+ -- that\'s associated with the tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) that uniquely identifies the resource+-- that\'s associated with the tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that uniquely identifies the resource+-- that\'s associated with the tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat+ ["/v1/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The key-value pair for the resource tag.+ 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 key-value pair for the resource tag.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The key-value pair for the resource tag.+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/Kafka/RebootBroker.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.RebootBroker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Reboots brokers.+module Amazonka.Kafka.RebootBroker+ ( -- * Creating a Request+ RebootBroker (..),+ newRebootBroker,++ -- * Request Lenses+ rebootBroker_clusterArn,+ rebootBroker_brokerIds,++ -- * Destructuring the Response+ RebootBrokerResponse (..),+ newRebootBrokerResponse,++ -- * Response Lenses+ rebootBrokerResponse_clusterArn,+ rebootBrokerResponse_clusterOperationArn,+ rebootBrokerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Reboots a node.+--+-- /See:/ 'newRebootBroker' smart constructor.+data RebootBroker = RebootBroker'+ { -- | The Amazon Resource Name (ARN) of the cluster to be updated.+ clusterArn :: Prelude.Text,+ -- | The list of broker IDs to be rebooted. The reboot-broker operation+ -- supports rebooting one broker at a time.+ brokerIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RebootBroker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'rebootBroker_clusterArn' - The Amazon Resource Name (ARN) of the cluster to be updated.+--+-- 'brokerIds', 'rebootBroker_brokerIds' - The list of broker IDs to be rebooted. The reboot-broker operation+-- supports rebooting one broker at a time.+newRebootBroker ::+ -- | 'clusterArn'+ Prelude.Text ->+ RebootBroker+newRebootBroker pClusterArn_ =+ RebootBroker'+ { clusterArn = pClusterArn_,+ brokerIds = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the cluster to be updated.+rebootBroker_clusterArn :: Lens.Lens' RebootBroker Prelude.Text+rebootBroker_clusterArn = Lens.lens (\RebootBroker' {clusterArn} -> clusterArn) (\s@RebootBroker' {} a -> s {clusterArn = a} :: RebootBroker)++-- | The list of broker IDs to be rebooted. The reboot-broker operation+-- supports rebooting one broker at a time.+rebootBroker_brokerIds :: Lens.Lens' RebootBroker [Prelude.Text]+rebootBroker_brokerIds = Lens.lens (\RebootBroker' {brokerIds} -> brokerIds) (\s@RebootBroker' {} a -> s {brokerIds = a} :: RebootBroker) Prelude.. Lens.coerced++instance Core.AWSRequest RebootBroker where+ type AWSResponse RebootBroker = RebootBrokerResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RebootBrokerResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RebootBroker where+ hashWithSalt _salt RebootBroker' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` brokerIds++instance Prelude.NFData RebootBroker where+ rnf RebootBroker' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf brokerIds++instance Data.ToHeaders RebootBroker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RebootBroker where+ toJSON RebootBroker' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("brokerIds" Data..= brokerIds)]+ )++instance Data.ToPath RebootBroker where+ toPath RebootBroker' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/reboot-broker"+ ]++instance Data.ToQuery RebootBroker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRebootBrokerResponse' smart constructor.+data RebootBrokerResponse = RebootBrokerResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'RebootBrokerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'rebootBrokerResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'rebootBrokerResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'rebootBrokerResponse_httpStatus' - The response's http status code.+newRebootBrokerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RebootBrokerResponse+newRebootBrokerResponse pHttpStatus_ =+ RebootBrokerResponse'+ { clusterArn = Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+rebootBrokerResponse_clusterArn :: Lens.Lens' RebootBrokerResponse (Prelude.Maybe Prelude.Text)+rebootBrokerResponse_clusterArn = Lens.lens (\RebootBrokerResponse' {clusterArn} -> clusterArn) (\s@RebootBrokerResponse' {} a -> s {clusterArn = a} :: RebootBrokerResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+rebootBrokerResponse_clusterOperationArn :: Lens.Lens' RebootBrokerResponse (Prelude.Maybe Prelude.Text)+rebootBrokerResponse_clusterOperationArn = Lens.lens (\RebootBrokerResponse' {clusterOperationArn} -> clusterOperationArn) (\s@RebootBrokerResponse' {} a -> s {clusterOperationArn = a} :: RebootBrokerResponse)++-- | The response's http status code.+rebootBrokerResponse_httpStatus :: Lens.Lens' RebootBrokerResponse Prelude.Int+rebootBrokerResponse_httpStatus = Lens.lens (\RebootBrokerResponse' {httpStatus} -> httpStatus) (\s@RebootBrokerResponse' {} a -> s {httpStatus = a} :: RebootBrokerResponse)++instance Prelude.NFData RebootBrokerResponse where+ rnf RebootBrokerResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/TagResource.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.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 tags to the specified MSK resource.+module Amazonka.Kafka.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.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) that uniquely identifies the resource+ -- that\'s associated with the tags.+ resourceArn :: Prelude.Text,+ -- | The key-value pair for the resource tag.+ 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) that uniquely identifies the resource+-- that\'s associated with the tags.+--+-- 'tags', 'tagResource_tags' - The key-value pair for the resource tag.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the resource+-- that\'s associated with the tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The key-value pair for the resource tag.+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.receiveNull TagResourceResponse'++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.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+ ["/v1/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTagResourceResponse ::+ TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/Kafka/Types.hs view
@@ -0,0 +1,655 @@+{-# 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.Kafka.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.Kafka.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _BadRequestException,+ _ConflictException,+ _ForbiddenException,+ _InternalServerErrorException,+ _NotFoundException,+ _ServiceUnavailableException,+ _TooManyRequestsException,+ _UnauthorizedException,++ -- * BrokerAZDistribution+ BrokerAZDistribution (..),++ -- * ClientBroker+ ClientBroker (..),++ -- * ClusterState+ ClusterState (..),++ -- * ClusterType+ ClusterType (..),++ -- * ConfigurationState+ ConfigurationState (..),++ -- * EnhancedMonitoring+ EnhancedMonitoring (..),++ -- * KafkaVersionStatus+ KafkaVersionStatus (..),++ -- * NodeType+ NodeType (..),++ -- * StorageMode+ StorageMode (..),++ -- * BrokerEBSVolumeInfo+ BrokerEBSVolumeInfo (..),+ newBrokerEBSVolumeInfo,+ brokerEBSVolumeInfo_provisionedThroughput,+ brokerEBSVolumeInfo_volumeSizeGB,+ brokerEBSVolumeInfo_kafkaBrokerNodeId,++ -- * BrokerLogs+ BrokerLogs (..),+ newBrokerLogs,+ brokerLogs_cloudWatchLogs,+ brokerLogs_firehose,+ brokerLogs_s3,++ -- * BrokerNodeGroupInfo+ BrokerNodeGroupInfo (..),+ newBrokerNodeGroupInfo,+ brokerNodeGroupInfo_brokerAZDistribution,+ brokerNodeGroupInfo_connectivityInfo,+ brokerNodeGroupInfo_securityGroups,+ brokerNodeGroupInfo_storageInfo,+ brokerNodeGroupInfo_clientSubnets,+ brokerNodeGroupInfo_instanceType,++ -- * BrokerNodeInfo+ BrokerNodeInfo (..),+ newBrokerNodeInfo,+ brokerNodeInfo_attachedENIId,+ brokerNodeInfo_brokerId,+ brokerNodeInfo_clientSubnet,+ brokerNodeInfo_clientVpcIpAddress,+ brokerNodeInfo_currentBrokerSoftwareInfo,+ brokerNodeInfo_endpoints,++ -- * BrokerSoftwareInfo+ BrokerSoftwareInfo (..),+ newBrokerSoftwareInfo,+ brokerSoftwareInfo_configurationArn,+ brokerSoftwareInfo_configurationRevision,+ brokerSoftwareInfo_kafkaVersion,++ -- * ClientAuthentication+ ClientAuthentication (..),+ newClientAuthentication,+ clientAuthentication_sasl,+ clientAuthentication_tls,+ clientAuthentication_unauthenticated,++ -- * CloudWatchLogs+ CloudWatchLogs (..),+ newCloudWatchLogs,+ cloudWatchLogs_logGroup,+ cloudWatchLogs_enabled,++ -- * Cluster+ Cluster (..),+ newCluster,+ cluster_activeOperationArn,+ cluster_clusterArn,+ cluster_clusterName,+ cluster_clusterType,+ cluster_creationTime,+ cluster_currentVersion,+ cluster_provisioned,+ cluster_serverless,+ cluster_state,+ cluster_stateInfo,+ cluster_tags,++ -- * ClusterInfo+ ClusterInfo (..),+ newClusterInfo,+ clusterInfo_activeOperationArn,+ clusterInfo_brokerNodeGroupInfo,+ clusterInfo_clientAuthentication,+ clusterInfo_clusterArn,+ clusterInfo_clusterName,+ clusterInfo_creationTime,+ clusterInfo_currentBrokerSoftwareInfo,+ clusterInfo_currentVersion,+ clusterInfo_encryptionInfo,+ clusterInfo_enhancedMonitoring,+ clusterInfo_loggingInfo,+ clusterInfo_numberOfBrokerNodes,+ clusterInfo_openMonitoring,+ clusterInfo_state,+ clusterInfo_stateInfo,+ clusterInfo_storageMode,+ clusterInfo_tags,+ clusterInfo_zookeeperConnectString,+ clusterInfo_zookeeperConnectStringTls,++ -- * ClusterOperationInfo+ ClusterOperationInfo (..),+ newClusterOperationInfo,+ clusterOperationInfo_clientRequestId,+ clusterOperationInfo_clusterArn,+ clusterOperationInfo_creationTime,+ clusterOperationInfo_endTime,+ clusterOperationInfo_errorInfo,+ clusterOperationInfo_operationArn,+ clusterOperationInfo_operationState,+ clusterOperationInfo_operationSteps,+ clusterOperationInfo_operationType,+ clusterOperationInfo_sourceClusterInfo,+ clusterOperationInfo_targetClusterInfo,++ -- * ClusterOperationStep+ ClusterOperationStep (..),+ newClusterOperationStep,+ clusterOperationStep_stepInfo,+ clusterOperationStep_stepName,++ -- * ClusterOperationStepInfo+ ClusterOperationStepInfo (..),+ newClusterOperationStepInfo,+ clusterOperationStepInfo_stepStatus,++ -- * CompatibleKafkaVersion+ CompatibleKafkaVersion (..),+ newCompatibleKafkaVersion,+ compatibleKafkaVersion_sourceVersion,+ compatibleKafkaVersion_targetVersions,++ -- * Configuration+ Configuration (..),+ newConfiguration,+ configuration_description,+ configuration_latestRevision,+ configuration_creationTime,+ configuration_kafkaVersions,+ configuration_arn,+ configuration_name,+ configuration_state,++ -- * ConfigurationInfo+ ConfigurationInfo (..),+ newConfigurationInfo,+ configurationInfo_revision,+ configurationInfo_arn,++ -- * ConfigurationRevision+ ConfigurationRevision (..),+ newConfigurationRevision,+ configurationRevision_description,+ configurationRevision_revision,+ configurationRevision_creationTime,++ -- * ConnectivityInfo+ ConnectivityInfo (..),+ newConnectivityInfo,+ connectivityInfo_publicAccess,++ -- * EBSStorageInfo+ EBSStorageInfo (..),+ newEBSStorageInfo,+ eBSStorageInfo_provisionedThroughput,+ eBSStorageInfo_volumeSize,++ -- * EncryptionAtRest+ EncryptionAtRest (..),+ newEncryptionAtRest,+ encryptionAtRest_dataVolumeKMSKeyId,++ -- * EncryptionInTransit+ EncryptionInTransit (..),+ newEncryptionInTransit,+ encryptionInTransit_clientBroker,+ encryptionInTransit_inCluster,++ -- * EncryptionInfo+ EncryptionInfo (..),+ newEncryptionInfo,+ encryptionInfo_encryptionAtRest,+ encryptionInfo_encryptionInTransit,++ -- * ErrorInfo+ ErrorInfo (..),+ newErrorInfo,+ errorInfo_errorCode,+ errorInfo_errorString,++ -- * Firehose+ Firehose (..),+ newFirehose,+ firehose_deliveryStream,+ firehose_enabled,++ -- * Iam+ Iam (..),+ newIam,+ iam_enabled,++ -- * JmxExporter+ JmxExporter (..),+ newJmxExporter,+ jmxExporter_enabledInBroker,++ -- * JmxExporterInfo+ JmxExporterInfo (..),+ newJmxExporterInfo,+ jmxExporterInfo_enabledInBroker,++ -- * KafkaVersion+ KafkaVersion (..),+ newKafkaVersion,+ kafkaVersion_status,+ kafkaVersion_version,++ -- * LoggingInfo+ LoggingInfo (..),+ newLoggingInfo,+ loggingInfo_brokerLogs,++ -- * MutableClusterInfo+ MutableClusterInfo (..),+ newMutableClusterInfo,+ mutableClusterInfo_brokerEBSVolumeInfo,+ mutableClusterInfo_clientAuthentication,+ mutableClusterInfo_configurationInfo,+ mutableClusterInfo_connectivityInfo,+ mutableClusterInfo_encryptionInfo,+ mutableClusterInfo_enhancedMonitoring,+ mutableClusterInfo_instanceType,+ mutableClusterInfo_kafkaVersion,+ mutableClusterInfo_loggingInfo,+ mutableClusterInfo_numberOfBrokerNodes,+ mutableClusterInfo_openMonitoring,+ mutableClusterInfo_storageMode,++ -- * NodeExporter+ NodeExporter (..),+ newNodeExporter,+ nodeExporter_enabledInBroker,++ -- * NodeExporterInfo+ NodeExporterInfo (..),+ newNodeExporterInfo,+ nodeExporterInfo_enabledInBroker,++ -- * NodeInfo+ NodeInfo (..),+ newNodeInfo,+ nodeInfo_addedToClusterTime,+ nodeInfo_brokerNodeInfo,+ nodeInfo_instanceType,+ nodeInfo_nodeARN,+ nodeInfo_nodeType,+ nodeInfo_zookeeperNodeInfo,++ -- * OpenMonitoring+ OpenMonitoring (..),+ newOpenMonitoring,+ openMonitoring_prometheus,++ -- * OpenMonitoringInfo+ OpenMonitoringInfo (..),+ newOpenMonitoringInfo,+ openMonitoringInfo_prometheus,++ -- * Prometheus+ Prometheus (..),+ newPrometheus,+ prometheus_jmxExporter,+ prometheus_nodeExporter,++ -- * PrometheusInfo+ PrometheusInfo (..),+ newPrometheusInfo,+ prometheusInfo_jmxExporter,+ prometheusInfo_nodeExporter,++ -- * Provisioned+ Provisioned (..),+ newProvisioned,+ provisioned_clientAuthentication,+ provisioned_currentBrokerSoftwareInfo,+ provisioned_encryptionInfo,+ provisioned_enhancedMonitoring,+ provisioned_loggingInfo,+ provisioned_openMonitoring,+ provisioned_storageMode,+ provisioned_zookeeperConnectString,+ provisioned_zookeeperConnectStringTls,+ provisioned_brokerNodeGroupInfo,+ provisioned_numberOfBrokerNodes,++ -- * ProvisionedRequest+ ProvisionedRequest (..),+ newProvisionedRequest,+ provisionedRequest_clientAuthentication,+ provisionedRequest_configurationInfo,+ provisionedRequest_encryptionInfo,+ provisionedRequest_enhancedMonitoring,+ provisionedRequest_loggingInfo,+ provisionedRequest_openMonitoring,+ provisionedRequest_storageMode,+ provisionedRequest_brokerNodeGroupInfo,+ provisionedRequest_kafkaVersion,+ provisionedRequest_numberOfBrokerNodes,++ -- * ProvisionedThroughput+ ProvisionedThroughput (..),+ newProvisionedThroughput,+ provisionedThroughput_enabled,+ provisionedThroughput_volumeThroughput,++ -- * PublicAccess+ PublicAccess (..),+ newPublicAccess,+ publicAccess_type,++ -- * S3+ S3 (..),+ newS3,+ s3_bucket,+ s3_prefix,+ s3_enabled,++ -- * Sasl+ Sasl (..),+ newSasl,+ sasl_iam,+ sasl_scram,++ -- * Scram+ Scram (..),+ newScram,+ scram_enabled,++ -- * Serverless+ Serverless (..),+ newServerless,+ serverless_clientAuthentication,+ serverless_vpcConfigs,++ -- * ServerlessClientAuthentication+ ServerlessClientAuthentication (..),+ newServerlessClientAuthentication,+ serverlessClientAuthentication_sasl,++ -- * ServerlessRequest+ ServerlessRequest (..),+ newServerlessRequest,+ serverlessRequest_clientAuthentication,+ serverlessRequest_vpcConfigs,++ -- * ServerlessSasl+ ServerlessSasl (..),+ newServerlessSasl,+ serverlessSasl_iam,++ -- * StateInfo+ StateInfo (..),+ newStateInfo,+ stateInfo_code,+ stateInfo_message,++ -- * StorageInfo+ StorageInfo (..),+ newStorageInfo,+ storageInfo_ebsStorageInfo,++ -- * Tls+ Tls (..),+ newTls,+ tls_certificateAuthorityArnList,+ tls_enabled,++ -- * Unauthenticated+ Unauthenticated (..),+ newUnauthenticated,+ unauthenticated_enabled,++ -- * UnprocessedScramSecret+ UnprocessedScramSecret (..),+ newUnprocessedScramSecret,+ unprocessedScramSecret_errorCode,+ unprocessedScramSecret_errorMessage,+ unprocessedScramSecret_secretArn,++ -- * VpcConfig+ VpcConfig (..),+ newVpcConfig,+ vpcConfig_securityGroupIds,+ vpcConfig_subnetIds,++ -- * ZookeeperNodeInfo+ ZookeeperNodeInfo (..),+ newZookeeperNodeInfo,+ zookeeperNodeInfo_attachedENIId,+ zookeeperNodeInfo_clientVpcIpAddress,+ zookeeperNodeInfo_endpoints,+ zookeeperNodeInfo_zookeeperId,+ zookeeperNodeInfo_zookeeperVersion,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Kafka.Types.BrokerAZDistribution+import Amazonka.Kafka.Types.BrokerEBSVolumeInfo+import Amazonka.Kafka.Types.BrokerLogs+import Amazonka.Kafka.Types.BrokerNodeGroupInfo+import Amazonka.Kafka.Types.BrokerNodeInfo+import Amazonka.Kafka.Types.BrokerSoftwareInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.ClientBroker+import Amazonka.Kafka.Types.CloudWatchLogs+import Amazonka.Kafka.Types.Cluster+import Amazonka.Kafka.Types.ClusterInfo+import Amazonka.Kafka.Types.ClusterOperationInfo+import Amazonka.Kafka.Types.ClusterOperationStep+import Amazonka.Kafka.Types.ClusterOperationStepInfo+import Amazonka.Kafka.Types.ClusterState+import Amazonka.Kafka.Types.ClusterType+import Amazonka.Kafka.Types.CompatibleKafkaVersion+import Amazonka.Kafka.Types.Configuration+import Amazonka.Kafka.Types.ConfigurationInfo+import Amazonka.Kafka.Types.ConfigurationRevision+import Amazonka.Kafka.Types.ConfigurationState+import Amazonka.Kafka.Types.ConnectivityInfo+import Amazonka.Kafka.Types.EBSStorageInfo+import Amazonka.Kafka.Types.EncryptionAtRest+import Amazonka.Kafka.Types.EncryptionInTransit+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.EnhancedMonitoring+import Amazonka.Kafka.Types.ErrorInfo+import Amazonka.Kafka.Types.Firehose+import Amazonka.Kafka.Types.Iam+import Amazonka.Kafka.Types.JmxExporter+import Amazonka.Kafka.Types.JmxExporterInfo+import Amazonka.Kafka.Types.KafkaVersion+import Amazonka.Kafka.Types.KafkaVersionStatus+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.MutableClusterInfo+import Amazonka.Kafka.Types.NodeExporter+import Amazonka.Kafka.Types.NodeExporterInfo+import Amazonka.Kafka.Types.NodeInfo+import Amazonka.Kafka.Types.NodeType+import Amazonka.Kafka.Types.OpenMonitoring+import Amazonka.Kafka.Types.OpenMonitoringInfo+import Amazonka.Kafka.Types.Prometheus+import Amazonka.Kafka.Types.PrometheusInfo+import Amazonka.Kafka.Types.Provisioned+import Amazonka.Kafka.Types.ProvisionedRequest+import Amazonka.Kafka.Types.ProvisionedThroughput+import Amazonka.Kafka.Types.PublicAccess+import Amazonka.Kafka.Types.S3+import Amazonka.Kafka.Types.Sasl+import Amazonka.Kafka.Types.Scram+import Amazonka.Kafka.Types.Serverless+import Amazonka.Kafka.Types.ServerlessClientAuthentication+import Amazonka.Kafka.Types.ServerlessRequest+import Amazonka.Kafka.Types.ServerlessSasl+import Amazonka.Kafka.Types.StateInfo+import Amazonka.Kafka.Types.StorageInfo+import Amazonka.Kafka.Types.StorageMode+import Amazonka.Kafka.Types.Tls+import Amazonka.Kafka.Types.Unauthenticated+import Amazonka.Kafka.Types.UnprocessedScramSecret+import Amazonka.Kafka.Types.VpcConfig+import Amazonka.Kafka.Types.ZookeeperNodeInfo+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-11-14@ of the Amazon Managed Streaming for Kafka SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "Kafka",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "kafka",+ Core.signingName = "kafka",+ Core.version = "2018-11-14",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "Kafka",+ 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++-- | Returns information about an error.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400++-- | Returns information about an error.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | Returns information about an error.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+ Core._MatchServiceError+ defaultService+ "ForbiddenException"+ Prelude.. Core.hasStatus 403++-- | Returns information about an error.+_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServerErrorException"+ Prelude.. Core.hasStatus 500++-- | Returns information about an error.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+ Core._MatchServiceError+ defaultService+ "NotFoundException"+ Prelude.. Core.hasStatus 404++-- | Returns information about an error.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+ Core._MatchServiceError+ defaultService+ "ServiceUnavailableException"+ Prelude.. Core.hasStatus 503++-- | Returns information about an error.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+ Core._MatchServiceError+ defaultService+ "TooManyRequestsException"+ Prelude.. Core.hasStatus 429++-- | Returns information about an error.+_UnauthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedException =+ Core._MatchServiceError+ defaultService+ "UnauthorizedException"+ Prelude.. Core.hasStatus 401
+ gen/Amazonka/Kafka/Types/BrokerAZDistribution.hs view
@@ -0,0 +1,74 @@+{-# 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.Kafka.Types.BrokerAZDistribution+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerAZDistribution+ ( BrokerAZDistribution+ ( ..,+ BrokerAZDistribution_DEFAULT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The distribution of broker nodes across Availability Zones. This is an+-- optional parameter. If you don\'t specify it, Amazon MSK gives it the+-- value DEFAULT. You can also explicitly set this parameter to the value+-- DEFAULT. No other values are currently allowed.+--+-- Amazon MSK distributes the broker nodes evenly across the Availability+-- Zones that correspond to the subnets you provide when you create the+-- cluster.+newtype BrokerAZDistribution = BrokerAZDistribution'+ { fromBrokerAZDistribution ::+ 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 BrokerAZDistribution_DEFAULT :: BrokerAZDistribution+pattern BrokerAZDistribution_DEFAULT = BrokerAZDistribution' "DEFAULT"++{-# COMPLETE+ BrokerAZDistribution_DEFAULT,+ BrokerAZDistribution'+ #-}
+ gen/Amazonka/Kafka/Types/BrokerEBSVolumeInfo.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.BrokerEBSVolumeInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerEBSVolumeInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ProvisionedThroughput+import qualified Amazonka.Prelude as Prelude++-- | Specifies the EBS volume upgrade information. The broker identifier must+-- be set to the keyword ALL. This means the changes apply to all the+-- brokers in the cluster.+--+-- /See:/ 'newBrokerEBSVolumeInfo' smart constructor.+data BrokerEBSVolumeInfo = BrokerEBSVolumeInfo'+ { -- | EBS volume provisioned throughput information.+ provisionedThroughput :: Prelude.Maybe ProvisionedThroughput,+ -- | Size of the EBS volume to update.+ volumeSizeGB :: Prelude.Maybe Prelude.Int,+ -- | The ID of the broker to update.+ kafkaBrokerNodeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BrokerEBSVolumeInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'provisionedThroughput', 'brokerEBSVolumeInfo_provisionedThroughput' - EBS volume provisioned throughput information.+--+-- 'volumeSizeGB', 'brokerEBSVolumeInfo_volumeSizeGB' - Size of the EBS volume to update.+--+-- 'kafkaBrokerNodeId', 'brokerEBSVolumeInfo_kafkaBrokerNodeId' - The ID of the broker to update.+newBrokerEBSVolumeInfo ::+ -- | 'kafkaBrokerNodeId'+ Prelude.Text ->+ BrokerEBSVolumeInfo+newBrokerEBSVolumeInfo pKafkaBrokerNodeId_ =+ BrokerEBSVolumeInfo'+ { provisionedThroughput =+ Prelude.Nothing,+ volumeSizeGB = Prelude.Nothing,+ kafkaBrokerNodeId = pKafkaBrokerNodeId_+ }++-- | EBS volume provisioned throughput information.+brokerEBSVolumeInfo_provisionedThroughput :: Lens.Lens' BrokerEBSVolumeInfo (Prelude.Maybe ProvisionedThroughput)+brokerEBSVolumeInfo_provisionedThroughput = Lens.lens (\BrokerEBSVolumeInfo' {provisionedThroughput} -> provisionedThroughput) (\s@BrokerEBSVolumeInfo' {} a -> s {provisionedThroughput = a} :: BrokerEBSVolumeInfo)++-- | Size of the EBS volume to update.+brokerEBSVolumeInfo_volumeSizeGB :: Lens.Lens' BrokerEBSVolumeInfo (Prelude.Maybe Prelude.Int)+brokerEBSVolumeInfo_volumeSizeGB = Lens.lens (\BrokerEBSVolumeInfo' {volumeSizeGB} -> volumeSizeGB) (\s@BrokerEBSVolumeInfo' {} a -> s {volumeSizeGB = a} :: BrokerEBSVolumeInfo)++-- | The ID of the broker to update.+brokerEBSVolumeInfo_kafkaBrokerNodeId :: Lens.Lens' BrokerEBSVolumeInfo Prelude.Text+brokerEBSVolumeInfo_kafkaBrokerNodeId = Lens.lens (\BrokerEBSVolumeInfo' {kafkaBrokerNodeId} -> kafkaBrokerNodeId) (\s@BrokerEBSVolumeInfo' {} a -> s {kafkaBrokerNodeId = a} :: BrokerEBSVolumeInfo)++instance Data.FromJSON BrokerEBSVolumeInfo where+ parseJSON =+ Data.withObject+ "BrokerEBSVolumeInfo"+ ( \x ->+ BrokerEBSVolumeInfo'+ Prelude.<$> (x Data..:? "provisionedThroughput")+ Prelude.<*> (x Data..:? "volumeSizeGB")+ Prelude.<*> (x Data..: "kafkaBrokerNodeId")+ )++instance Prelude.Hashable BrokerEBSVolumeInfo where+ hashWithSalt _salt BrokerEBSVolumeInfo' {..} =+ _salt+ `Prelude.hashWithSalt` provisionedThroughput+ `Prelude.hashWithSalt` volumeSizeGB+ `Prelude.hashWithSalt` kafkaBrokerNodeId++instance Prelude.NFData BrokerEBSVolumeInfo where+ rnf BrokerEBSVolumeInfo' {..} =+ Prelude.rnf provisionedThroughput+ `Prelude.seq` Prelude.rnf volumeSizeGB+ `Prelude.seq` Prelude.rnf kafkaBrokerNodeId++instance Data.ToJSON BrokerEBSVolumeInfo where+ toJSON BrokerEBSVolumeInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("provisionedThroughput" Data..=)+ Prelude.<$> provisionedThroughput,+ ("volumeSizeGB" Data..=) Prelude.<$> volumeSizeGB,+ Prelude.Just+ ("kafkaBrokerNodeId" Data..= kafkaBrokerNodeId)+ ]+ )
+ gen/Amazonka/Kafka/Types/BrokerLogs.hs view
@@ -0,0 +1,105 @@+{-# 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.Kafka.Types.BrokerLogs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerLogs where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.CloudWatchLogs+import Amazonka.Kafka.Types.Firehose+import Amazonka.Kafka.Types.S3+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newBrokerLogs' smart constructor.+data BrokerLogs = BrokerLogs'+ { cloudWatchLogs :: Prelude.Maybe CloudWatchLogs,+ firehose :: Prelude.Maybe Firehose,+ s3 :: Prelude.Maybe S3+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BrokerLogs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogs', 'brokerLogs_cloudWatchLogs' - Undocumented member.+--+-- 'firehose', 'brokerLogs_firehose' - Undocumented member.+--+-- 's3', 'brokerLogs_s3' - Undocumented member.+newBrokerLogs ::+ BrokerLogs+newBrokerLogs =+ BrokerLogs'+ { cloudWatchLogs = Prelude.Nothing,+ firehose = Prelude.Nothing,+ s3 = Prelude.Nothing+ }++-- | Undocumented member.+brokerLogs_cloudWatchLogs :: Lens.Lens' BrokerLogs (Prelude.Maybe CloudWatchLogs)+brokerLogs_cloudWatchLogs = Lens.lens (\BrokerLogs' {cloudWatchLogs} -> cloudWatchLogs) (\s@BrokerLogs' {} a -> s {cloudWatchLogs = a} :: BrokerLogs)++-- | Undocumented member.+brokerLogs_firehose :: Lens.Lens' BrokerLogs (Prelude.Maybe Firehose)+brokerLogs_firehose = Lens.lens (\BrokerLogs' {firehose} -> firehose) (\s@BrokerLogs' {} a -> s {firehose = a} :: BrokerLogs)++-- | Undocumented member.+brokerLogs_s3 :: Lens.Lens' BrokerLogs (Prelude.Maybe S3)+brokerLogs_s3 = Lens.lens (\BrokerLogs' {s3} -> s3) (\s@BrokerLogs' {} a -> s {s3 = a} :: BrokerLogs)++instance Data.FromJSON BrokerLogs where+ parseJSON =+ Data.withObject+ "BrokerLogs"+ ( \x ->+ BrokerLogs'+ Prelude.<$> (x Data..:? "cloudWatchLogs")+ Prelude.<*> (x Data..:? "firehose")+ Prelude.<*> (x Data..:? "s3")+ )++instance Prelude.Hashable BrokerLogs where+ hashWithSalt _salt BrokerLogs' {..} =+ _salt+ `Prelude.hashWithSalt` cloudWatchLogs+ `Prelude.hashWithSalt` firehose+ `Prelude.hashWithSalt` s3++instance Prelude.NFData BrokerLogs where+ rnf BrokerLogs' {..} =+ Prelude.rnf cloudWatchLogs+ `Prelude.seq` Prelude.rnf firehose+ `Prelude.seq` Prelude.rnf s3++instance Data.ToJSON BrokerLogs where+ toJSON BrokerLogs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cloudWatchLogs" Data..=)+ Prelude.<$> cloudWatchLogs,+ ("firehose" Data..=) Prelude.<$> firehose,+ ("s3" Data..=) Prelude.<$> s3+ ]+ )
+ gen/Amazonka/Kafka/Types/BrokerNodeGroupInfo.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.BrokerNodeGroupInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerNodeGroupInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerAZDistribution+import Amazonka.Kafka.Types.ConnectivityInfo+import Amazonka.Kafka.Types.StorageInfo+import qualified Amazonka.Prelude as Prelude++-- | Describes the setup to be used for Apache Kafka broker nodes in the+-- cluster.+--+-- /See:/ 'newBrokerNodeGroupInfo' smart constructor.+data BrokerNodeGroupInfo = BrokerNodeGroupInfo'+ { -- | The distribution of broker nodes across Availability Zones. This is an+ -- optional parameter. If you don\'t specify it, Amazon MSK gives it the+ -- value DEFAULT. You can also explicitly set this parameter to the value+ -- DEFAULT. No other values are currently allowed.+ --+ -- Amazon MSK distributes the broker nodes evenly across the Availability+ -- Zones that correspond to the subnets you provide when you create the+ -- cluster.+ brokerAZDistribution :: Prelude.Maybe BrokerAZDistribution,+ -- | Information about the broker access configuration.+ connectivityInfo :: Prelude.Maybe ConnectivityInfo,+ -- | The AWS security groups to associate with the elastic network interfaces+ -- in order to specify who can connect to and communicate with the Amazon+ -- MSK cluster. If you don\'t specify a security group, Amazon MSK uses the+ -- default security group associated with the VPC.+ securityGroups :: Prelude.Maybe [Prelude.Text],+ -- | Contains information about storage volumes attached to MSK broker nodes.+ storageInfo :: Prelude.Maybe StorageInfo,+ -- | The list of subnets to connect to in the client virtual private cloud+ -- (VPC). AWS creates elastic network interfaces inside these subnets.+ -- Client applications use elastic network interfaces to produce and+ -- consume data. Client subnets can\'t occupy the Availability Zone with ID+ -- use use1-az3.+ clientSubnets :: [Prelude.Text],+ -- | The type of Amazon EC2 instances to use for Apache Kafka brokers. The+ -- following instance types are allowed: kafka.m5.large, kafka.m5.xlarge,+ -- kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.12xlarge, and+ -- kafka.m5.24xlarge.+ instanceType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BrokerNodeGroupInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'brokerAZDistribution', 'brokerNodeGroupInfo_brokerAZDistribution' - The distribution of broker nodes across Availability Zones. This is an+-- optional parameter. If you don\'t specify it, Amazon MSK gives it the+-- value DEFAULT. You can also explicitly set this parameter to the value+-- DEFAULT. No other values are currently allowed.+--+-- Amazon MSK distributes the broker nodes evenly across the Availability+-- Zones that correspond to the subnets you provide when you create the+-- cluster.+--+-- 'connectivityInfo', 'brokerNodeGroupInfo_connectivityInfo' - Information about the broker access configuration.+--+-- 'securityGroups', 'brokerNodeGroupInfo_securityGroups' - The AWS security groups to associate with the elastic network interfaces+-- in order to specify who can connect to and communicate with the Amazon+-- MSK cluster. If you don\'t specify a security group, Amazon MSK uses the+-- default security group associated with the VPC.+--+-- 'storageInfo', 'brokerNodeGroupInfo_storageInfo' - Contains information about storage volumes attached to MSK broker nodes.+--+-- 'clientSubnets', 'brokerNodeGroupInfo_clientSubnets' - The list of subnets to connect to in the client virtual private cloud+-- (VPC). AWS creates elastic network interfaces inside these subnets.+-- Client applications use elastic network interfaces to produce and+-- consume data. Client subnets can\'t occupy the Availability Zone with ID+-- use use1-az3.+--+-- 'instanceType', 'brokerNodeGroupInfo_instanceType' - The type of Amazon EC2 instances to use for Apache Kafka brokers. The+-- following instance types are allowed: kafka.m5.large, kafka.m5.xlarge,+-- kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.12xlarge, and+-- kafka.m5.24xlarge.+newBrokerNodeGroupInfo ::+ -- | 'instanceType'+ Prelude.Text ->+ BrokerNodeGroupInfo+newBrokerNodeGroupInfo pInstanceType_ =+ BrokerNodeGroupInfo'+ { brokerAZDistribution =+ Prelude.Nothing,+ connectivityInfo = Prelude.Nothing,+ securityGroups = Prelude.Nothing,+ storageInfo = Prelude.Nothing,+ clientSubnets = Prelude.mempty,+ instanceType = pInstanceType_+ }++-- | The distribution of broker nodes across Availability Zones. This is an+-- optional parameter. If you don\'t specify it, Amazon MSK gives it the+-- value DEFAULT. You can also explicitly set this parameter to the value+-- DEFAULT. No other values are currently allowed.+--+-- Amazon MSK distributes the broker nodes evenly across the Availability+-- Zones that correspond to the subnets you provide when you create the+-- cluster.+brokerNodeGroupInfo_brokerAZDistribution :: Lens.Lens' BrokerNodeGroupInfo (Prelude.Maybe BrokerAZDistribution)+brokerNodeGroupInfo_brokerAZDistribution = Lens.lens (\BrokerNodeGroupInfo' {brokerAZDistribution} -> brokerAZDistribution) (\s@BrokerNodeGroupInfo' {} a -> s {brokerAZDistribution = a} :: BrokerNodeGroupInfo)++-- | Information about the broker access configuration.+brokerNodeGroupInfo_connectivityInfo :: Lens.Lens' BrokerNodeGroupInfo (Prelude.Maybe ConnectivityInfo)+brokerNodeGroupInfo_connectivityInfo = Lens.lens (\BrokerNodeGroupInfo' {connectivityInfo} -> connectivityInfo) (\s@BrokerNodeGroupInfo' {} a -> s {connectivityInfo = a} :: BrokerNodeGroupInfo)++-- | The AWS security groups to associate with the elastic network interfaces+-- in order to specify who can connect to and communicate with the Amazon+-- MSK cluster. If you don\'t specify a security group, Amazon MSK uses the+-- default security group associated with the VPC.+brokerNodeGroupInfo_securityGroups :: Lens.Lens' BrokerNodeGroupInfo (Prelude.Maybe [Prelude.Text])+brokerNodeGroupInfo_securityGroups = Lens.lens (\BrokerNodeGroupInfo' {securityGroups} -> securityGroups) (\s@BrokerNodeGroupInfo' {} a -> s {securityGroups = a} :: BrokerNodeGroupInfo) Prelude.. Lens.mapping Lens.coerced++-- | Contains information about storage volumes attached to MSK broker nodes.+brokerNodeGroupInfo_storageInfo :: Lens.Lens' BrokerNodeGroupInfo (Prelude.Maybe StorageInfo)+brokerNodeGroupInfo_storageInfo = Lens.lens (\BrokerNodeGroupInfo' {storageInfo} -> storageInfo) (\s@BrokerNodeGroupInfo' {} a -> s {storageInfo = a} :: BrokerNodeGroupInfo)++-- | The list of subnets to connect to in the client virtual private cloud+-- (VPC). AWS creates elastic network interfaces inside these subnets.+-- Client applications use elastic network interfaces to produce and+-- consume data. Client subnets can\'t occupy the Availability Zone with ID+-- use use1-az3.+brokerNodeGroupInfo_clientSubnets :: Lens.Lens' BrokerNodeGroupInfo [Prelude.Text]+brokerNodeGroupInfo_clientSubnets = Lens.lens (\BrokerNodeGroupInfo' {clientSubnets} -> clientSubnets) (\s@BrokerNodeGroupInfo' {} a -> s {clientSubnets = a} :: BrokerNodeGroupInfo) Prelude.. Lens.coerced++-- | The type of Amazon EC2 instances to use for Apache Kafka brokers. The+-- following instance types are allowed: kafka.m5.large, kafka.m5.xlarge,+-- kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.12xlarge, and+-- kafka.m5.24xlarge.+brokerNodeGroupInfo_instanceType :: Lens.Lens' BrokerNodeGroupInfo Prelude.Text+brokerNodeGroupInfo_instanceType = Lens.lens (\BrokerNodeGroupInfo' {instanceType} -> instanceType) (\s@BrokerNodeGroupInfo' {} a -> s {instanceType = a} :: BrokerNodeGroupInfo)++instance Data.FromJSON BrokerNodeGroupInfo where+ parseJSON =+ Data.withObject+ "BrokerNodeGroupInfo"+ ( \x ->+ BrokerNodeGroupInfo'+ Prelude.<$> (x Data..:? "brokerAZDistribution")+ Prelude.<*> (x Data..:? "connectivityInfo")+ Prelude.<*> (x Data..:? "securityGroups" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "storageInfo")+ Prelude.<*> (x Data..:? "clientSubnets" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "instanceType")+ )++instance Prelude.Hashable BrokerNodeGroupInfo where+ hashWithSalt _salt BrokerNodeGroupInfo' {..} =+ _salt+ `Prelude.hashWithSalt` brokerAZDistribution+ `Prelude.hashWithSalt` connectivityInfo+ `Prelude.hashWithSalt` securityGroups+ `Prelude.hashWithSalt` storageInfo+ `Prelude.hashWithSalt` clientSubnets+ `Prelude.hashWithSalt` instanceType++instance Prelude.NFData BrokerNodeGroupInfo where+ rnf BrokerNodeGroupInfo' {..} =+ Prelude.rnf brokerAZDistribution+ `Prelude.seq` Prelude.rnf connectivityInfo+ `Prelude.seq` Prelude.rnf securityGroups+ `Prelude.seq` Prelude.rnf storageInfo+ `Prelude.seq` Prelude.rnf clientSubnets+ `Prelude.seq` Prelude.rnf instanceType++instance Data.ToJSON BrokerNodeGroupInfo where+ toJSON BrokerNodeGroupInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("brokerAZDistribution" Data..=)+ Prelude.<$> brokerAZDistribution,+ ("connectivityInfo" Data..=)+ Prelude.<$> connectivityInfo,+ ("securityGroups" Data..=)+ Prelude.<$> securityGroups,+ ("storageInfo" Data..=) Prelude.<$> storageInfo,+ Prelude.Just ("clientSubnets" Data..= clientSubnets),+ Prelude.Just ("instanceType" Data..= instanceType)+ ]+ )
+ gen/Amazonka/Kafka/Types/BrokerNodeInfo.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.BrokerNodeInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerNodeInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerSoftwareInfo+import qualified Amazonka.Prelude as Prelude++-- | BrokerNodeInfo+--+-- /See:/ 'newBrokerNodeInfo' smart constructor.+data BrokerNodeInfo = BrokerNodeInfo'+ { -- | The attached elastic network interface of the broker.+ attachedENIId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the broker.+ brokerId :: Prelude.Maybe Prelude.Double,+ -- | The client subnet to which this broker node belongs.+ clientSubnet :: Prelude.Maybe Prelude.Text,+ -- | The virtual private cloud (VPC) of the client.+ clientVpcIpAddress :: Prelude.Maybe Prelude.Text,+ -- | Information about the version of software currently deployed on the+ -- Apache Kafka brokers in the cluster.+ currentBrokerSoftwareInfo :: Prelude.Maybe BrokerSoftwareInfo,+ -- | Endpoints for accessing the broker.+ endpoints :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BrokerNodeInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachedENIId', 'brokerNodeInfo_attachedENIId' - The attached elastic network interface of the broker.+--+-- 'brokerId', 'brokerNodeInfo_brokerId' - The ID of the broker.+--+-- 'clientSubnet', 'brokerNodeInfo_clientSubnet' - The client subnet to which this broker node belongs.+--+-- 'clientVpcIpAddress', 'brokerNodeInfo_clientVpcIpAddress' - The virtual private cloud (VPC) of the client.+--+-- 'currentBrokerSoftwareInfo', 'brokerNodeInfo_currentBrokerSoftwareInfo' - Information about the version of software currently deployed on the+-- Apache Kafka brokers in the cluster.+--+-- 'endpoints', 'brokerNodeInfo_endpoints' - Endpoints for accessing the broker.+newBrokerNodeInfo ::+ BrokerNodeInfo+newBrokerNodeInfo =+ BrokerNodeInfo'+ { attachedENIId = Prelude.Nothing,+ brokerId = Prelude.Nothing,+ clientSubnet = Prelude.Nothing,+ clientVpcIpAddress = Prelude.Nothing,+ currentBrokerSoftwareInfo = Prelude.Nothing,+ endpoints = Prelude.Nothing+ }++-- | The attached elastic network interface of the broker.+brokerNodeInfo_attachedENIId :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe Prelude.Text)+brokerNodeInfo_attachedENIId = Lens.lens (\BrokerNodeInfo' {attachedENIId} -> attachedENIId) (\s@BrokerNodeInfo' {} a -> s {attachedENIId = a} :: BrokerNodeInfo)++-- | The ID of the broker.+brokerNodeInfo_brokerId :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe Prelude.Double)+brokerNodeInfo_brokerId = Lens.lens (\BrokerNodeInfo' {brokerId} -> brokerId) (\s@BrokerNodeInfo' {} a -> s {brokerId = a} :: BrokerNodeInfo)++-- | The client subnet to which this broker node belongs.+brokerNodeInfo_clientSubnet :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe Prelude.Text)+brokerNodeInfo_clientSubnet = Lens.lens (\BrokerNodeInfo' {clientSubnet} -> clientSubnet) (\s@BrokerNodeInfo' {} a -> s {clientSubnet = a} :: BrokerNodeInfo)++-- | The virtual private cloud (VPC) of the client.+brokerNodeInfo_clientVpcIpAddress :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe Prelude.Text)+brokerNodeInfo_clientVpcIpAddress = Lens.lens (\BrokerNodeInfo' {clientVpcIpAddress} -> clientVpcIpAddress) (\s@BrokerNodeInfo' {} a -> s {clientVpcIpAddress = a} :: BrokerNodeInfo)++-- | Information about the version of software currently deployed on the+-- Apache Kafka brokers in the cluster.+brokerNodeInfo_currentBrokerSoftwareInfo :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe BrokerSoftwareInfo)+brokerNodeInfo_currentBrokerSoftwareInfo = Lens.lens (\BrokerNodeInfo' {currentBrokerSoftwareInfo} -> currentBrokerSoftwareInfo) (\s@BrokerNodeInfo' {} a -> s {currentBrokerSoftwareInfo = a} :: BrokerNodeInfo)++-- | Endpoints for accessing the broker.+brokerNodeInfo_endpoints :: Lens.Lens' BrokerNodeInfo (Prelude.Maybe [Prelude.Text])+brokerNodeInfo_endpoints = Lens.lens (\BrokerNodeInfo' {endpoints} -> endpoints) (\s@BrokerNodeInfo' {} a -> s {endpoints = a} :: BrokerNodeInfo) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BrokerNodeInfo where+ parseJSON =+ Data.withObject+ "BrokerNodeInfo"+ ( \x ->+ BrokerNodeInfo'+ Prelude.<$> (x Data..:? "attachedENIId")+ Prelude.<*> (x Data..:? "brokerId")+ Prelude.<*> (x Data..:? "clientSubnet")+ Prelude.<*> (x Data..:? "clientVpcIpAddress")+ Prelude.<*> (x Data..:? "currentBrokerSoftwareInfo")+ Prelude.<*> (x Data..:? "endpoints" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable BrokerNodeInfo where+ hashWithSalt _salt BrokerNodeInfo' {..} =+ _salt+ `Prelude.hashWithSalt` attachedENIId+ `Prelude.hashWithSalt` brokerId+ `Prelude.hashWithSalt` clientSubnet+ `Prelude.hashWithSalt` clientVpcIpAddress+ `Prelude.hashWithSalt` currentBrokerSoftwareInfo+ `Prelude.hashWithSalt` endpoints++instance Prelude.NFData BrokerNodeInfo where+ rnf BrokerNodeInfo' {..} =+ Prelude.rnf attachedENIId+ `Prelude.seq` Prelude.rnf brokerId+ `Prelude.seq` Prelude.rnf clientSubnet+ `Prelude.seq` Prelude.rnf clientVpcIpAddress+ `Prelude.seq` Prelude.rnf currentBrokerSoftwareInfo+ `Prelude.seq` Prelude.rnf endpoints
+ gen/Amazonka/Kafka/Types/BrokerSoftwareInfo.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.BrokerSoftwareInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.BrokerSoftwareInfo 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++-- | Information about the current software installed on the cluster.+--+-- /See:/ 'newBrokerSoftwareInfo' smart constructor.+data BrokerSoftwareInfo = BrokerSoftwareInfo'+ { -- | The Amazon Resource Name (ARN) of the configuration used for the+ -- cluster. This field isn\'t visible in this preview release.+ configurationArn :: Prelude.Maybe Prelude.Text,+ -- | The revision of the configuration to use. This field isn\'t visible in+ -- this preview release.+ configurationRevision :: Prelude.Maybe Prelude.Integer,+ -- | The version of Apache Kafka.+ kafkaVersion :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BrokerSoftwareInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationArn', 'brokerSoftwareInfo_configurationArn' - The Amazon Resource Name (ARN) of the configuration used for the+-- cluster. This field isn\'t visible in this preview release.+--+-- 'configurationRevision', 'brokerSoftwareInfo_configurationRevision' - The revision of the configuration to use. This field isn\'t visible in+-- this preview release.+--+-- 'kafkaVersion', 'brokerSoftwareInfo_kafkaVersion' - The version of Apache Kafka.+newBrokerSoftwareInfo ::+ BrokerSoftwareInfo+newBrokerSoftwareInfo =+ BrokerSoftwareInfo'+ { configurationArn =+ Prelude.Nothing,+ configurationRevision = Prelude.Nothing,+ kafkaVersion = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the configuration used for the+-- cluster. This field isn\'t visible in this preview release.+brokerSoftwareInfo_configurationArn :: Lens.Lens' BrokerSoftwareInfo (Prelude.Maybe Prelude.Text)+brokerSoftwareInfo_configurationArn = Lens.lens (\BrokerSoftwareInfo' {configurationArn} -> configurationArn) (\s@BrokerSoftwareInfo' {} a -> s {configurationArn = a} :: BrokerSoftwareInfo)++-- | The revision of the configuration to use. This field isn\'t visible in+-- this preview release.+brokerSoftwareInfo_configurationRevision :: Lens.Lens' BrokerSoftwareInfo (Prelude.Maybe Prelude.Integer)+brokerSoftwareInfo_configurationRevision = Lens.lens (\BrokerSoftwareInfo' {configurationRevision} -> configurationRevision) (\s@BrokerSoftwareInfo' {} a -> s {configurationRevision = a} :: BrokerSoftwareInfo)++-- | The version of Apache Kafka.+brokerSoftwareInfo_kafkaVersion :: Lens.Lens' BrokerSoftwareInfo (Prelude.Maybe Prelude.Text)+brokerSoftwareInfo_kafkaVersion = Lens.lens (\BrokerSoftwareInfo' {kafkaVersion} -> kafkaVersion) (\s@BrokerSoftwareInfo' {} a -> s {kafkaVersion = a} :: BrokerSoftwareInfo)++instance Data.FromJSON BrokerSoftwareInfo where+ parseJSON =+ Data.withObject+ "BrokerSoftwareInfo"+ ( \x ->+ BrokerSoftwareInfo'+ Prelude.<$> (x Data..:? "configurationArn")+ Prelude.<*> (x Data..:? "configurationRevision")+ Prelude.<*> (x Data..:? "kafkaVersion")+ )++instance Prelude.Hashable BrokerSoftwareInfo where+ hashWithSalt _salt BrokerSoftwareInfo' {..} =+ _salt+ `Prelude.hashWithSalt` configurationArn+ `Prelude.hashWithSalt` configurationRevision+ `Prelude.hashWithSalt` kafkaVersion++instance Prelude.NFData BrokerSoftwareInfo where+ rnf BrokerSoftwareInfo' {..} =+ Prelude.rnf configurationArn+ `Prelude.seq` Prelude.rnf configurationRevision+ `Prelude.seq` Prelude.rnf kafkaVersion
+ gen/Amazonka/Kafka/Types/ClientAuthentication.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ClientAuthentication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClientAuthentication where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.Sasl+import Amazonka.Kafka.Types.Tls+import Amazonka.Kafka.Types.Unauthenticated+import qualified Amazonka.Prelude as Prelude++-- | Includes all client authentication information.+--+-- /See:/ 'newClientAuthentication' smart constructor.+data ClientAuthentication = ClientAuthentication'+ { -- | Details for ClientAuthentication using SASL.+ sasl :: Prelude.Maybe Sasl,+ -- | Details for ClientAuthentication using TLS.+ tls :: Prelude.Maybe Tls,+ -- | Contains information about unauthenticated traffic to the cluster.+ unauthenticated :: Prelude.Maybe Unauthenticated+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClientAuthentication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sasl', 'clientAuthentication_sasl' - Details for ClientAuthentication using SASL.+--+-- 'tls', 'clientAuthentication_tls' - Details for ClientAuthentication using TLS.+--+-- 'unauthenticated', 'clientAuthentication_unauthenticated' - Contains information about unauthenticated traffic to the cluster.+newClientAuthentication ::+ ClientAuthentication+newClientAuthentication =+ ClientAuthentication'+ { sasl = Prelude.Nothing,+ tls = Prelude.Nothing,+ unauthenticated = Prelude.Nothing+ }++-- | Details for ClientAuthentication using SASL.+clientAuthentication_sasl :: Lens.Lens' ClientAuthentication (Prelude.Maybe Sasl)+clientAuthentication_sasl = Lens.lens (\ClientAuthentication' {sasl} -> sasl) (\s@ClientAuthentication' {} a -> s {sasl = a} :: ClientAuthentication)++-- | Details for ClientAuthentication using TLS.+clientAuthentication_tls :: Lens.Lens' ClientAuthentication (Prelude.Maybe Tls)+clientAuthentication_tls = Lens.lens (\ClientAuthentication' {tls} -> tls) (\s@ClientAuthentication' {} a -> s {tls = a} :: ClientAuthentication)++-- | Contains information about unauthenticated traffic to the cluster.+clientAuthentication_unauthenticated :: Lens.Lens' ClientAuthentication (Prelude.Maybe Unauthenticated)+clientAuthentication_unauthenticated = Lens.lens (\ClientAuthentication' {unauthenticated} -> unauthenticated) (\s@ClientAuthentication' {} a -> s {unauthenticated = a} :: ClientAuthentication)++instance Data.FromJSON ClientAuthentication where+ parseJSON =+ Data.withObject+ "ClientAuthentication"+ ( \x ->+ ClientAuthentication'+ Prelude.<$> (x Data..:? "sasl")+ Prelude.<*> (x Data..:? "tls")+ Prelude.<*> (x Data..:? "unauthenticated")+ )++instance Prelude.Hashable ClientAuthentication where+ hashWithSalt _salt ClientAuthentication' {..} =+ _salt+ `Prelude.hashWithSalt` sasl+ `Prelude.hashWithSalt` tls+ `Prelude.hashWithSalt` unauthenticated++instance Prelude.NFData ClientAuthentication where+ rnf ClientAuthentication' {..} =+ Prelude.rnf sasl+ `Prelude.seq` Prelude.rnf tls+ `Prelude.seq` Prelude.rnf unauthenticated++instance Data.ToJSON ClientAuthentication where+ toJSON ClientAuthentication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sasl" Data..=) Prelude.<$> sasl,+ ("tls" Data..=) Prelude.<$> tls,+ ("unauthenticated" Data..=)+ Prelude.<$> unauthenticated+ ]+ )
+ gen/Amazonka/Kafka/Types/ClientBroker.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ClientBroker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClientBroker+ ( ClientBroker+ ( ..,+ ClientBroker_PLAINTEXT,+ ClientBroker_TLS,+ ClientBroker_TLS_PLAINTEXT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Client-broker encryption in transit setting.+newtype ClientBroker = ClientBroker'+ { fromClientBroker ::+ 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 ClientBroker_PLAINTEXT :: ClientBroker+pattern ClientBroker_PLAINTEXT = ClientBroker' "PLAINTEXT"++pattern ClientBroker_TLS :: ClientBroker+pattern ClientBroker_TLS = ClientBroker' "TLS"++pattern ClientBroker_TLS_PLAINTEXT :: ClientBroker+pattern ClientBroker_TLS_PLAINTEXT = ClientBroker' "TLS_PLAINTEXT"++{-# COMPLETE+ ClientBroker_PLAINTEXT,+ ClientBroker_TLS,+ ClientBroker_TLS_PLAINTEXT,+ ClientBroker'+ #-}
+ gen/Amazonka/Kafka/Types/CloudWatchLogs.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.Kafka.Types.CloudWatchLogs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.CloudWatchLogs where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newCloudWatchLogs' smart constructor.+data CloudWatchLogs = CloudWatchLogs'+ { logGroup :: Prelude.Maybe Prelude.Text,+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchLogs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logGroup', 'cloudWatchLogs_logGroup' - Undocumented member.+--+-- 'enabled', 'cloudWatchLogs_enabled' - Undocumented member.+newCloudWatchLogs ::+ -- | 'enabled'+ Prelude.Bool ->+ CloudWatchLogs+newCloudWatchLogs pEnabled_ =+ CloudWatchLogs'+ { logGroup = Prelude.Nothing,+ enabled = pEnabled_+ }++-- | Undocumented member.+cloudWatchLogs_logGroup :: Lens.Lens' CloudWatchLogs (Prelude.Maybe Prelude.Text)+cloudWatchLogs_logGroup = Lens.lens (\CloudWatchLogs' {logGroup} -> logGroup) (\s@CloudWatchLogs' {} a -> s {logGroup = a} :: CloudWatchLogs)++-- | Undocumented member.+cloudWatchLogs_enabled :: Lens.Lens' CloudWatchLogs Prelude.Bool+cloudWatchLogs_enabled = Lens.lens (\CloudWatchLogs' {enabled} -> enabled) (\s@CloudWatchLogs' {} a -> s {enabled = a} :: CloudWatchLogs)++instance Data.FromJSON CloudWatchLogs where+ parseJSON =+ Data.withObject+ "CloudWatchLogs"+ ( \x ->+ CloudWatchLogs'+ Prelude.<$> (x Data..:? "logGroup")+ Prelude.<*> (x Data..: "enabled")+ )++instance Prelude.Hashable CloudWatchLogs where+ hashWithSalt _salt CloudWatchLogs' {..} =+ _salt+ `Prelude.hashWithSalt` logGroup+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData CloudWatchLogs where+ rnf CloudWatchLogs' {..} =+ Prelude.rnf logGroup+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON CloudWatchLogs where+ toJSON CloudWatchLogs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("logGroup" Data..=) Prelude.<$> logGroup,+ Prelude.Just ("enabled" Data..= enabled)+ ]+ )
+ gen/Amazonka/Kafka/Types/Cluster.hs view
@@ -0,0 +1,203 @@+{-# 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.Kafka.Types.Cluster+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Cluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ClusterState+import Amazonka.Kafka.Types.ClusterType+import Amazonka.Kafka.Types.Provisioned+import Amazonka.Kafka.Types.Serverless+import Amazonka.Kafka.Types.StateInfo+import qualified Amazonka.Prelude as Prelude++-- | Returns information about a cluster.+--+-- /See:/ 'newCluster' smart constructor.+data Cluster = Cluster'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies a cluster+ -- operation.+ activeOperationArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the cluster.+ clusterName :: Prelude.Maybe Prelude.Text,+ -- | Cluster Type.+ clusterType :: Prelude.Maybe ClusterType,+ -- | The time when the cluster was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | The current version of the MSK cluster.+ currentVersion :: Prelude.Maybe Prelude.Text,+ -- | Information about the provisioned cluster.+ provisioned :: Prelude.Maybe Provisioned,+ -- | Information about the serverless cluster.+ serverless :: Prelude.Maybe Serverless,+ -- | The state of the cluster. The possible states are ACTIVE, CREATING,+ -- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+ state :: Prelude.Maybe ClusterState,+ -- | State Info for the Amazon MSK cluster.+ stateInfo :: Prelude.Maybe StateInfo,+ -- | Tags attached to the cluster.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Cluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeOperationArn', 'cluster_activeOperationArn' - The Amazon Resource Name (ARN) that uniquely identifies a cluster+-- operation.+--+-- 'clusterArn', 'cluster_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'clusterName', 'cluster_clusterName' - The name of the cluster.+--+-- 'clusterType', 'cluster_clusterType' - Cluster Type.+--+-- 'creationTime', 'cluster_creationTime' - The time when the cluster was created.+--+-- 'currentVersion', 'cluster_currentVersion' - The current version of the MSK cluster.+--+-- 'provisioned', 'cluster_provisioned' - Information about the provisioned cluster.+--+-- 'serverless', 'cluster_serverless' - Information about the serverless cluster.+--+-- 'state', 'cluster_state' - The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+--+-- 'stateInfo', 'cluster_stateInfo' - State Info for the Amazon MSK cluster.+--+-- 'tags', 'cluster_tags' - Tags attached to the cluster.+newCluster ::+ Cluster+newCluster =+ Cluster'+ { activeOperationArn = Prelude.Nothing,+ clusterArn = Prelude.Nothing,+ clusterName = Prelude.Nothing,+ clusterType = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ currentVersion = Prelude.Nothing,+ provisioned = Prelude.Nothing,+ serverless = Prelude.Nothing,+ state = Prelude.Nothing,+ stateInfo = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies a cluster+-- operation.+cluster_activeOperationArn :: Lens.Lens' Cluster (Prelude.Maybe Prelude.Text)+cluster_activeOperationArn = Lens.lens (\Cluster' {activeOperationArn} -> activeOperationArn) (\s@Cluster' {} a -> s {activeOperationArn = a} :: Cluster)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+cluster_clusterArn :: Lens.Lens' Cluster (Prelude.Maybe Prelude.Text)+cluster_clusterArn = Lens.lens (\Cluster' {clusterArn} -> clusterArn) (\s@Cluster' {} a -> s {clusterArn = a} :: Cluster)++-- | The name of the cluster.+cluster_clusterName :: Lens.Lens' Cluster (Prelude.Maybe Prelude.Text)+cluster_clusterName = Lens.lens (\Cluster' {clusterName} -> clusterName) (\s@Cluster' {} a -> s {clusterName = a} :: Cluster)++-- | Cluster Type.+cluster_clusterType :: Lens.Lens' Cluster (Prelude.Maybe ClusterType)+cluster_clusterType = Lens.lens (\Cluster' {clusterType} -> clusterType) (\s@Cluster' {} a -> s {clusterType = a} :: Cluster)++-- | The time when the cluster was created.+cluster_creationTime :: Lens.Lens' Cluster (Prelude.Maybe Prelude.UTCTime)+cluster_creationTime = Lens.lens (\Cluster' {creationTime} -> creationTime) (\s@Cluster' {} a -> s {creationTime = a} :: Cluster) Prelude.. Lens.mapping Data._Time++-- | The current version of the MSK cluster.+cluster_currentVersion :: Lens.Lens' Cluster (Prelude.Maybe Prelude.Text)+cluster_currentVersion = Lens.lens (\Cluster' {currentVersion} -> currentVersion) (\s@Cluster' {} a -> s {currentVersion = a} :: Cluster)++-- | Information about the provisioned cluster.+cluster_provisioned :: Lens.Lens' Cluster (Prelude.Maybe Provisioned)+cluster_provisioned = Lens.lens (\Cluster' {provisioned} -> provisioned) (\s@Cluster' {} a -> s {provisioned = a} :: Cluster)++-- | Information about the serverless cluster.+cluster_serverless :: Lens.Lens' Cluster (Prelude.Maybe Serverless)+cluster_serverless = Lens.lens (\Cluster' {serverless} -> serverless) (\s@Cluster' {} a -> s {serverless = a} :: Cluster)++-- | The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+cluster_state :: Lens.Lens' Cluster (Prelude.Maybe ClusterState)+cluster_state = Lens.lens (\Cluster' {state} -> state) (\s@Cluster' {} a -> s {state = a} :: Cluster)++-- | State Info for the Amazon MSK cluster.+cluster_stateInfo :: Lens.Lens' Cluster (Prelude.Maybe StateInfo)+cluster_stateInfo = Lens.lens (\Cluster' {stateInfo} -> stateInfo) (\s@Cluster' {} a -> s {stateInfo = a} :: Cluster)++-- | Tags attached to the cluster.+cluster_tags :: Lens.Lens' Cluster (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+cluster_tags = Lens.lens (\Cluster' {tags} -> tags) (\s@Cluster' {} a -> s {tags = a} :: Cluster) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Cluster where+ parseJSON =+ Data.withObject+ "Cluster"+ ( \x ->+ Cluster'+ Prelude.<$> (x Data..:? "activeOperationArn")+ Prelude.<*> (x Data..:? "clusterArn")+ Prelude.<*> (x Data..:? "clusterName")+ Prelude.<*> (x Data..:? "clusterType")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "currentVersion")+ Prelude.<*> (x Data..:? "provisioned")+ Prelude.<*> (x Data..:? "serverless")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "stateInfo")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Cluster where+ hashWithSalt _salt Cluster' {..} =+ _salt+ `Prelude.hashWithSalt` activeOperationArn+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` clusterName+ `Prelude.hashWithSalt` clusterType+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` provisioned+ `Prelude.hashWithSalt` serverless+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateInfo+ `Prelude.hashWithSalt` tags++instance Prelude.NFData Cluster where+ rnf Cluster' {..} =+ Prelude.rnf activeOperationArn+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterName+ `Prelude.seq` Prelude.rnf clusterType+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf provisioned+ `Prelude.seq` Prelude.rnf serverless+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateInfo+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Kafka/Types/ClusterInfo.hs view
@@ -0,0 +1,318 @@+{-# 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.Kafka.Types.ClusterInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerNodeGroupInfo+import Amazonka.Kafka.Types.BrokerSoftwareInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.ClusterState+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.EnhancedMonitoring+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.OpenMonitoring+import Amazonka.Kafka.Types.StateInfo+import Amazonka.Kafka.Types.StorageMode+import qualified Amazonka.Prelude as Prelude++-- | Returns information about a cluster.+--+-- /See:/ 'newClusterInfo' smart constructor.+data ClusterInfo = ClusterInfo'+ { -- | Arn of active cluster operation.+ activeOperationArn :: Prelude.Maybe Prelude.Text,+ -- | Information about the broker nodes.+ brokerNodeGroupInfo :: Prelude.Maybe BrokerNodeGroupInfo,+ -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the cluster.+ clusterName :: Prelude.Maybe Prelude.Text,+ -- | The time when the cluster was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | Information about the version of software currently deployed on the+ -- Apache Kafka brokers in the cluster.+ currentBrokerSoftwareInfo :: Prelude.Maybe BrokerSoftwareInfo,+ -- | The current version of the MSK cluster.+ currentVersion :: Prelude.Maybe Prelude.Text,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | Specifies which metrics are gathered for the MSK cluster. This property+ -- has the following possible values: DEFAULT, PER_BROKER,+ -- PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the+ -- metrics associated with each of these levels of monitoring, see+ -- <https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html Monitoring>.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The number of broker nodes in the cluster.+ numberOfBrokerNodes :: Prelude.Maybe Prelude.Int,+ -- | Settings for open monitoring using Prometheus.+ openMonitoring :: Prelude.Maybe OpenMonitoring,+ -- | The state of the cluster. The possible states are ACTIVE, CREATING,+ -- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+ state :: Prelude.Maybe ClusterState,+ stateInfo :: Prelude.Maybe StateInfo,+ -- | This controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode,+ -- | Tags attached to the cluster.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The connection string to use to connect to the Apache ZooKeeper cluster.+ zookeeperConnectString :: Prelude.Maybe Prelude.Text,+ -- | The connection string to use to connect to zookeeper cluster on Tls+ -- port.+ zookeeperConnectStringTls :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeOperationArn', 'clusterInfo_activeOperationArn' - Arn of active cluster operation.+--+-- 'brokerNodeGroupInfo', 'clusterInfo_brokerNodeGroupInfo' - Information about the broker nodes.+--+-- 'clientAuthentication', 'clusterInfo_clientAuthentication' - Includes all client authentication information.+--+-- 'clusterArn', 'clusterInfo_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'clusterName', 'clusterInfo_clusterName' - The name of the cluster.+--+-- 'creationTime', 'clusterInfo_creationTime' - The time when the cluster was created.+--+-- 'currentBrokerSoftwareInfo', 'clusterInfo_currentBrokerSoftwareInfo' - Information about the version of software currently deployed on the+-- Apache Kafka brokers in the cluster.+--+-- 'currentVersion', 'clusterInfo_currentVersion' - The current version of the MSK cluster.+--+-- 'encryptionInfo', 'clusterInfo_encryptionInfo' - Includes all encryption-related information.+--+-- 'enhancedMonitoring', 'clusterInfo_enhancedMonitoring' - Specifies which metrics are gathered for the MSK cluster. This property+-- has the following possible values: DEFAULT, PER_BROKER,+-- PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the+-- metrics associated with each of these levels of monitoring, see+-- <https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html Monitoring>.+--+-- 'loggingInfo', 'clusterInfo_loggingInfo' - Undocumented member.+--+-- 'numberOfBrokerNodes', 'clusterInfo_numberOfBrokerNodes' - The number of broker nodes in the cluster.+--+-- 'openMonitoring', 'clusterInfo_openMonitoring' - Settings for open monitoring using Prometheus.+--+-- 'state', 'clusterInfo_state' - The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+--+-- 'stateInfo', 'clusterInfo_stateInfo' - Undocumented member.+--+-- 'storageMode', 'clusterInfo_storageMode' - This controls storage mode for supported storage tiers.+--+-- 'tags', 'clusterInfo_tags' - Tags attached to the cluster.+--+-- 'zookeeperConnectString', 'clusterInfo_zookeeperConnectString' - The connection string to use to connect to the Apache ZooKeeper cluster.+--+-- 'zookeeperConnectStringTls', 'clusterInfo_zookeeperConnectStringTls' - The connection string to use to connect to zookeeper cluster on Tls+-- port.+newClusterInfo ::+ ClusterInfo+newClusterInfo =+ ClusterInfo'+ { activeOperationArn = Prelude.Nothing,+ brokerNodeGroupInfo = Prelude.Nothing,+ clientAuthentication = Prelude.Nothing,+ clusterArn = Prelude.Nothing,+ clusterName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ currentBrokerSoftwareInfo = Prelude.Nothing,+ currentVersion = Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ enhancedMonitoring = Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ numberOfBrokerNodes = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ state = Prelude.Nothing,+ stateInfo = Prelude.Nothing,+ storageMode = Prelude.Nothing,+ tags = Prelude.Nothing,+ zookeeperConnectString = Prelude.Nothing,+ zookeeperConnectStringTls = Prelude.Nothing+ }++-- | Arn of active cluster operation.+clusterInfo_activeOperationArn :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_activeOperationArn = Lens.lens (\ClusterInfo' {activeOperationArn} -> activeOperationArn) (\s@ClusterInfo' {} a -> s {activeOperationArn = a} :: ClusterInfo)++-- | Information about the broker nodes.+clusterInfo_brokerNodeGroupInfo :: Lens.Lens' ClusterInfo (Prelude.Maybe BrokerNodeGroupInfo)+clusterInfo_brokerNodeGroupInfo = Lens.lens (\ClusterInfo' {brokerNodeGroupInfo} -> brokerNodeGroupInfo) (\s@ClusterInfo' {} a -> s {brokerNodeGroupInfo = a} :: ClusterInfo)++-- | Includes all client authentication information.+clusterInfo_clientAuthentication :: Lens.Lens' ClusterInfo (Prelude.Maybe ClientAuthentication)+clusterInfo_clientAuthentication = Lens.lens (\ClusterInfo' {clientAuthentication} -> clientAuthentication) (\s@ClusterInfo' {} a -> s {clientAuthentication = a} :: ClusterInfo)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+clusterInfo_clusterArn :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_clusterArn = Lens.lens (\ClusterInfo' {clusterArn} -> clusterArn) (\s@ClusterInfo' {} a -> s {clusterArn = a} :: ClusterInfo)++-- | The name of the cluster.+clusterInfo_clusterName :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_clusterName = Lens.lens (\ClusterInfo' {clusterName} -> clusterName) (\s@ClusterInfo' {} a -> s {clusterName = a} :: ClusterInfo)++-- | The time when the cluster was created.+clusterInfo_creationTime :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.UTCTime)+clusterInfo_creationTime = Lens.lens (\ClusterInfo' {creationTime} -> creationTime) (\s@ClusterInfo' {} a -> s {creationTime = a} :: ClusterInfo) Prelude.. Lens.mapping Data._Time++-- | Information about the version of software currently deployed on the+-- Apache Kafka brokers in the cluster.+clusterInfo_currentBrokerSoftwareInfo :: Lens.Lens' ClusterInfo (Prelude.Maybe BrokerSoftwareInfo)+clusterInfo_currentBrokerSoftwareInfo = Lens.lens (\ClusterInfo' {currentBrokerSoftwareInfo} -> currentBrokerSoftwareInfo) (\s@ClusterInfo' {} a -> s {currentBrokerSoftwareInfo = a} :: ClusterInfo)++-- | The current version of the MSK cluster.+clusterInfo_currentVersion :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_currentVersion = Lens.lens (\ClusterInfo' {currentVersion} -> currentVersion) (\s@ClusterInfo' {} a -> s {currentVersion = a} :: ClusterInfo)++-- | Includes all encryption-related information.+clusterInfo_encryptionInfo :: Lens.Lens' ClusterInfo (Prelude.Maybe EncryptionInfo)+clusterInfo_encryptionInfo = Lens.lens (\ClusterInfo' {encryptionInfo} -> encryptionInfo) (\s@ClusterInfo' {} a -> s {encryptionInfo = a} :: ClusterInfo)++-- | Specifies which metrics are gathered for the MSK cluster. This property+-- has the following possible values: DEFAULT, PER_BROKER,+-- PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the+-- metrics associated with each of these levels of monitoring, see+-- <https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html Monitoring>.+clusterInfo_enhancedMonitoring :: Lens.Lens' ClusterInfo (Prelude.Maybe EnhancedMonitoring)+clusterInfo_enhancedMonitoring = Lens.lens (\ClusterInfo' {enhancedMonitoring} -> enhancedMonitoring) (\s@ClusterInfo' {} a -> s {enhancedMonitoring = a} :: ClusterInfo)++-- | Undocumented member.+clusterInfo_loggingInfo :: Lens.Lens' ClusterInfo (Prelude.Maybe LoggingInfo)+clusterInfo_loggingInfo = Lens.lens (\ClusterInfo' {loggingInfo} -> loggingInfo) (\s@ClusterInfo' {} a -> s {loggingInfo = a} :: ClusterInfo)++-- | The number of broker nodes in the cluster.+clusterInfo_numberOfBrokerNodes :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Int)+clusterInfo_numberOfBrokerNodes = Lens.lens (\ClusterInfo' {numberOfBrokerNodes} -> numberOfBrokerNodes) (\s@ClusterInfo' {} a -> s {numberOfBrokerNodes = a} :: ClusterInfo)++-- | Settings for open monitoring using Prometheus.+clusterInfo_openMonitoring :: Lens.Lens' ClusterInfo (Prelude.Maybe OpenMonitoring)+clusterInfo_openMonitoring = Lens.lens (\ClusterInfo' {openMonitoring} -> openMonitoring) (\s@ClusterInfo' {} a -> s {openMonitoring = a} :: ClusterInfo)++-- | The state of the cluster. The possible states are ACTIVE, CREATING,+-- DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.+clusterInfo_state :: Lens.Lens' ClusterInfo (Prelude.Maybe ClusterState)+clusterInfo_state = Lens.lens (\ClusterInfo' {state} -> state) (\s@ClusterInfo' {} a -> s {state = a} :: ClusterInfo)++-- | Undocumented member.+clusterInfo_stateInfo :: Lens.Lens' ClusterInfo (Prelude.Maybe StateInfo)+clusterInfo_stateInfo = Lens.lens (\ClusterInfo' {stateInfo} -> stateInfo) (\s@ClusterInfo' {} a -> s {stateInfo = a} :: ClusterInfo)++-- | This controls storage mode for supported storage tiers.+clusterInfo_storageMode :: Lens.Lens' ClusterInfo (Prelude.Maybe StorageMode)+clusterInfo_storageMode = Lens.lens (\ClusterInfo' {storageMode} -> storageMode) (\s@ClusterInfo' {} a -> s {storageMode = a} :: ClusterInfo)++-- | Tags attached to the cluster.+clusterInfo_tags :: Lens.Lens' ClusterInfo (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+clusterInfo_tags = Lens.lens (\ClusterInfo' {tags} -> tags) (\s@ClusterInfo' {} a -> s {tags = a} :: ClusterInfo) Prelude.. Lens.mapping Lens.coerced++-- | The connection string to use to connect to the Apache ZooKeeper cluster.+clusterInfo_zookeeperConnectString :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_zookeeperConnectString = Lens.lens (\ClusterInfo' {zookeeperConnectString} -> zookeeperConnectString) (\s@ClusterInfo' {} a -> s {zookeeperConnectString = a} :: ClusterInfo)++-- | The connection string to use to connect to zookeeper cluster on Tls+-- port.+clusterInfo_zookeeperConnectStringTls :: Lens.Lens' ClusterInfo (Prelude.Maybe Prelude.Text)+clusterInfo_zookeeperConnectStringTls = Lens.lens (\ClusterInfo' {zookeeperConnectStringTls} -> zookeeperConnectStringTls) (\s@ClusterInfo' {} a -> s {zookeeperConnectStringTls = a} :: ClusterInfo)++instance Data.FromJSON ClusterInfo where+ parseJSON =+ Data.withObject+ "ClusterInfo"+ ( \x ->+ ClusterInfo'+ Prelude.<$> (x Data..:? "activeOperationArn")+ Prelude.<*> (x Data..:? "brokerNodeGroupInfo")+ Prelude.<*> (x Data..:? "clientAuthentication")+ Prelude.<*> (x Data..:? "clusterArn")+ Prelude.<*> (x Data..:? "clusterName")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "currentBrokerSoftwareInfo")+ Prelude.<*> (x Data..:? "currentVersion")+ Prelude.<*> (x Data..:? "encryptionInfo")+ Prelude.<*> (x Data..:? "enhancedMonitoring")+ Prelude.<*> (x Data..:? "loggingInfo")+ Prelude.<*> (x Data..:? "numberOfBrokerNodes")+ Prelude.<*> (x Data..:? "openMonitoring")+ Prelude.<*> (x Data..:? "state")+ Prelude.<*> (x Data..:? "stateInfo")+ Prelude.<*> (x Data..:? "storageMode")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "zookeeperConnectString")+ Prelude.<*> (x Data..:? "zookeeperConnectStringTls")+ )++instance Prelude.Hashable ClusterInfo where+ hashWithSalt _salt ClusterInfo' {..} =+ _salt+ `Prelude.hashWithSalt` activeOperationArn+ `Prelude.hashWithSalt` brokerNodeGroupInfo+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` clusterName+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` currentBrokerSoftwareInfo+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` numberOfBrokerNodes+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` state+ `Prelude.hashWithSalt` stateInfo+ `Prelude.hashWithSalt` storageMode+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` zookeeperConnectString+ `Prelude.hashWithSalt` zookeeperConnectStringTls++instance Prelude.NFData ClusterInfo where+ rnf ClusterInfo' {..} =+ Prelude.rnf activeOperationArn+ `Prelude.seq` Prelude.rnf brokerNodeGroupInfo+ `Prelude.seq` Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf currentBrokerSoftwareInfo+ `Prelude.seq` Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf numberOfBrokerNodes+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf state+ `Prelude.seq` Prelude.rnf stateInfo+ `Prelude.seq` Prelude.rnf storageMode+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf zookeeperConnectString+ `Prelude.seq` Prelude.rnf+ zookeeperConnectStringTls
+ gen/Amazonka/Kafka/Types/ClusterOperationInfo.hs view
@@ -0,0 +1,196 @@+{-# 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.Kafka.Types.ClusterOperationInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterOperationInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ClusterOperationStep+import Amazonka.Kafka.Types.ErrorInfo+import Amazonka.Kafka.Types.MutableClusterInfo+import qualified Amazonka.Prelude as Prelude++-- | Returns information about a cluster operation.+--+-- /See:/ 'newClusterOperationInfo' smart constructor.+data ClusterOperationInfo = ClusterOperationInfo'+ { -- | The ID of the API request that triggered this operation.+ clientRequestId :: Prelude.Maybe Prelude.Text,+ -- | ARN of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The time that the operation was created.+ creationTime :: Prelude.Maybe Data.ISO8601,+ -- | The time at which the operation finished.+ endTime :: Prelude.Maybe Data.ISO8601,+ -- | Describes the error if the operation fails.+ errorInfo :: Prelude.Maybe ErrorInfo,+ -- | ARN of the cluster operation.+ operationArn :: Prelude.Maybe Prelude.Text,+ -- | State of the cluster operation.+ operationState :: Prelude.Maybe Prelude.Text,+ -- | Steps completed during the operation.+ operationSteps :: Prelude.Maybe [ClusterOperationStep],+ -- | Type of the cluster operation.+ operationType :: Prelude.Maybe Prelude.Text,+ -- | Information about cluster attributes before a cluster is updated.+ sourceClusterInfo :: Prelude.Maybe MutableClusterInfo,+ -- | Information about cluster attributes after a cluster is updated.+ targetClusterInfo :: Prelude.Maybe MutableClusterInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterOperationInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestId', 'clusterOperationInfo_clientRequestId' - The ID of the API request that triggered this operation.+--+-- 'clusterArn', 'clusterOperationInfo_clusterArn' - ARN of the cluster.+--+-- 'creationTime', 'clusterOperationInfo_creationTime' - The time that the operation was created.+--+-- 'endTime', 'clusterOperationInfo_endTime' - The time at which the operation finished.+--+-- 'errorInfo', 'clusterOperationInfo_errorInfo' - Describes the error if the operation fails.+--+-- 'operationArn', 'clusterOperationInfo_operationArn' - ARN of the cluster operation.+--+-- 'operationState', 'clusterOperationInfo_operationState' - State of the cluster operation.+--+-- 'operationSteps', 'clusterOperationInfo_operationSteps' - Steps completed during the operation.+--+-- 'operationType', 'clusterOperationInfo_operationType' - Type of the cluster operation.+--+-- 'sourceClusterInfo', 'clusterOperationInfo_sourceClusterInfo' - Information about cluster attributes before a cluster is updated.+--+-- 'targetClusterInfo', 'clusterOperationInfo_targetClusterInfo' - Information about cluster attributes after a cluster is updated.+newClusterOperationInfo ::+ ClusterOperationInfo+newClusterOperationInfo =+ ClusterOperationInfo'+ { clientRequestId =+ Prelude.Nothing,+ clusterArn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ endTime = Prelude.Nothing,+ errorInfo = Prelude.Nothing,+ operationArn = Prelude.Nothing,+ operationState = Prelude.Nothing,+ operationSteps = Prelude.Nothing,+ operationType = Prelude.Nothing,+ sourceClusterInfo = Prelude.Nothing,+ targetClusterInfo = Prelude.Nothing+ }++-- | The ID of the API request that triggered this operation.+clusterOperationInfo_clientRequestId :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.Text)+clusterOperationInfo_clientRequestId = Lens.lens (\ClusterOperationInfo' {clientRequestId} -> clientRequestId) (\s@ClusterOperationInfo' {} a -> s {clientRequestId = a} :: ClusterOperationInfo)++-- | ARN of the cluster.+clusterOperationInfo_clusterArn :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.Text)+clusterOperationInfo_clusterArn = Lens.lens (\ClusterOperationInfo' {clusterArn} -> clusterArn) (\s@ClusterOperationInfo' {} a -> s {clusterArn = a} :: ClusterOperationInfo)++-- | The time that the operation was created.+clusterOperationInfo_creationTime :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.UTCTime)+clusterOperationInfo_creationTime = Lens.lens (\ClusterOperationInfo' {creationTime} -> creationTime) (\s@ClusterOperationInfo' {} a -> s {creationTime = a} :: ClusterOperationInfo) Prelude.. Lens.mapping Data._Time++-- | The time at which the operation finished.+clusterOperationInfo_endTime :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.UTCTime)+clusterOperationInfo_endTime = Lens.lens (\ClusterOperationInfo' {endTime} -> endTime) (\s@ClusterOperationInfo' {} a -> s {endTime = a} :: ClusterOperationInfo) Prelude.. Lens.mapping Data._Time++-- | Describes the error if the operation fails.+clusterOperationInfo_errorInfo :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe ErrorInfo)+clusterOperationInfo_errorInfo = Lens.lens (\ClusterOperationInfo' {errorInfo} -> errorInfo) (\s@ClusterOperationInfo' {} a -> s {errorInfo = a} :: ClusterOperationInfo)++-- | ARN of the cluster operation.+clusterOperationInfo_operationArn :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.Text)+clusterOperationInfo_operationArn = Lens.lens (\ClusterOperationInfo' {operationArn} -> operationArn) (\s@ClusterOperationInfo' {} a -> s {operationArn = a} :: ClusterOperationInfo)++-- | State of the cluster operation.+clusterOperationInfo_operationState :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.Text)+clusterOperationInfo_operationState = Lens.lens (\ClusterOperationInfo' {operationState} -> operationState) (\s@ClusterOperationInfo' {} a -> s {operationState = a} :: ClusterOperationInfo)++-- | Steps completed during the operation.+clusterOperationInfo_operationSteps :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe [ClusterOperationStep])+clusterOperationInfo_operationSteps = Lens.lens (\ClusterOperationInfo' {operationSteps} -> operationSteps) (\s@ClusterOperationInfo' {} a -> s {operationSteps = a} :: ClusterOperationInfo) Prelude.. Lens.mapping Lens.coerced++-- | Type of the cluster operation.+clusterOperationInfo_operationType :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe Prelude.Text)+clusterOperationInfo_operationType = Lens.lens (\ClusterOperationInfo' {operationType} -> operationType) (\s@ClusterOperationInfo' {} a -> s {operationType = a} :: ClusterOperationInfo)++-- | Information about cluster attributes before a cluster is updated.+clusterOperationInfo_sourceClusterInfo :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe MutableClusterInfo)+clusterOperationInfo_sourceClusterInfo = Lens.lens (\ClusterOperationInfo' {sourceClusterInfo} -> sourceClusterInfo) (\s@ClusterOperationInfo' {} a -> s {sourceClusterInfo = a} :: ClusterOperationInfo)++-- | Information about cluster attributes after a cluster is updated.+clusterOperationInfo_targetClusterInfo :: Lens.Lens' ClusterOperationInfo (Prelude.Maybe MutableClusterInfo)+clusterOperationInfo_targetClusterInfo = Lens.lens (\ClusterOperationInfo' {targetClusterInfo} -> targetClusterInfo) (\s@ClusterOperationInfo' {} a -> s {targetClusterInfo = a} :: ClusterOperationInfo)++instance Data.FromJSON ClusterOperationInfo where+ parseJSON =+ Data.withObject+ "ClusterOperationInfo"+ ( \x ->+ ClusterOperationInfo'+ Prelude.<$> (x Data..:? "clientRequestId")+ Prelude.<*> (x Data..:? "clusterArn")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "endTime")+ Prelude.<*> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..:? "operationArn")+ Prelude.<*> (x Data..:? "operationState")+ Prelude.<*> (x Data..:? "operationSteps" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "operationType")+ Prelude.<*> (x Data..:? "sourceClusterInfo")+ Prelude.<*> (x Data..:? "targetClusterInfo")+ )++instance Prelude.Hashable ClusterOperationInfo where+ hashWithSalt _salt ClusterOperationInfo' {..} =+ _salt+ `Prelude.hashWithSalt` clientRequestId+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` endTime+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` operationArn+ `Prelude.hashWithSalt` operationState+ `Prelude.hashWithSalt` operationSteps+ `Prelude.hashWithSalt` operationType+ `Prelude.hashWithSalt` sourceClusterInfo+ `Prelude.hashWithSalt` targetClusterInfo++instance Prelude.NFData ClusterOperationInfo where+ rnf ClusterOperationInfo' {..} =+ Prelude.rnf clientRequestId+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf endTime+ `Prelude.seq` Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf operationArn+ `Prelude.seq` Prelude.rnf operationState+ `Prelude.seq` Prelude.rnf operationSteps+ `Prelude.seq` Prelude.rnf operationType+ `Prelude.seq` Prelude.rnf sourceClusterInfo+ `Prelude.seq` Prelude.rnf targetClusterInfo
+ gen/Amazonka/Kafka/Types/ClusterOperationStep.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ClusterOperationStep+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterOperationStep where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ClusterOperationStepInfo+import qualified Amazonka.Prelude as Prelude++-- | Step taken during a cluster operation.+--+-- /See:/ 'newClusterOperationStep' smart constructor.+data ClusterOperationStep = ClusterOperationStep'+ { -- | Information about the step and its status.+ stepInfo :: Prelude.Maybe ClusterOperationStepInfo,+ -- | The name of the step.+ stepName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterOperationStep' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stepInfo', 'clusterOperationStep_stepInfo' - Information about the step and its status.+--+-- 'stepName', 'clusterOperationStep_stepName' - The name of the step.+newClusterOperationStep ::+ ClusterOperationStep+newClusterOperationStep =+ ClusterOperationStep'+ { stepInfo = Prelude.Nothing,+ stepName = Prelude.Nothing+ }++-- | Information about the step and its status.+clusterOperationStep_stepInfo :: Lens.Lens' ClusterOperationStep (Prelude.Maybe ClusterOperationStepInfo)+clusterOperationStep_stepInfo = Lens.lens (\ClusterOperationStep' {stepInfo} -> stepInfo) (\s@ClusterOperationStep' {} a -> s {stepInfo = a} :: ClusterOperationStep)++-- | The name of the step.+clusterOperationStep_stepName :: Lens.Lens' ClusterOperationStep (Prelude.Maybe Prelude.Text)+clusterOperationStep_stepName = Lens.lens (\ClusterOperationStep' {stepName} -> stepName) (\s@ClusterOperationStep' {} a -> s {stepName = a} :: ClusterOperationStep)++instance Data.FromJSON ClusterOperationStep where+ parseJSON =+ Data.withObject+ "ClusterOperationStep"+ ( \x ->+ ClusterOperationStep'+ Prelude.<$> (x Data..:? "stepInfo")+ Prelude.<*> (x Data..:? "stepName")+ )++instance Prelude.Hashable ClusterOperationStep where+ hashWithSalt _salt ClusterOperationStep' {..} =+ _salt+ `Prelude.hashWithSalt` stepInfo+ `Prelude.hashWithSalt` stepName++instance Prelude.NFData ClusterOperationStep where+ rnf ClusterOperationStep' {..} =+ Prelude.rnf stepInfo+ `Prelude.seq` Prelude.rnf stepName
+ gen/Amazonka/Kafka/Types/ClusterOperationStepInfo.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ClusterOperationStepInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterOperationStepInfo 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++-- | State information about the operation step.+--+-- /See:/ 'newClusterOperationStepInfo' smart constructor.+data ClusterOperationStepInfo = ClusterOperationStepInfo'+ { -- | The steps current status.+ stepStatus :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterOperationStepInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stepStatus', 'clusterOperationStepInfo_stepStatus' - The steps current status.+newClusterOperationStepInfo ::+ ClusterOperationStepInfo+newClusterOperationStepInfo =+ ClusterOperationStepInfo'+ { stepStatus =+ Prelude.Nothing+ }++-- | The steps current status.+clusterOperationStepInfo_stepStatus :: Lens.Lens' ClusterOperationStepInfo (Prelude.Maybe Prelude.Text)+clusterOperationStepInfo_stepStatus = Lens.lens (\ClusterOperationStepInfo' {stepStatus} -> stepStatus) (\s@ClusterOperationStepInfo' {} a -> s {stepStatus = a} :: ClusterOperationStepInfo)++instance Data.FromJSON ClusterOperationStepInfo where+ parseJSON =+ Data.withObject+ "ClusterOperationStepInfo"+ ( \x ->+ ClusterOperationStepInfo'+ Prelude.<$> (x Data..:? "stepStatus")+ )++instance Prelude.Hashable ClusterOperationStepInfo where+ hashWithSalt _salt ClusterOperationStepInfo' {..} =+ _salt `Prelude.hashWithSalt` stepStatus++instance Prelude.NFData ClusterOperationStepInfo where+ rnf ClusterOperationStepInfo' {..} =+ Prelude.rnf stepStatus
+ gen/Amazonka/Kafka/Types/ClusterState.hs view
@@ -0,0 +1,102 @@+{-# 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.Kafka.Types.ClusterState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterState+ ( ClusterState+ ( ..,+ ClusterState_ACTIVE,+ ClusterState_CREATING,+ ClusterState_DELETING,+ ClusterState_FAILED,+ ClusterState_HEALING,+ ClusterState_MAINTENANCE,+ ClusterState_REBOOTING_BROKER,+ ClusterState_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The state of the Apache Kafka cluster.+newtype ClusterState = ClusterState'+ { fromClusterState ::+ 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 ClusterState_ACTIVE :: ClusterState+pattern ClusterState_ACTIVE = ClusterState' "ACTIVE"++pattern ClusterState_CREATING :: ClusterState+pattern ClusterState_CREATING = ClusterState' "CREATING"++pattern ClusterState_DELETING :: ClusterState+pattern ClusterState_DELETING = ClusterState' "DELETING"++pattern ClusterState_FAILED :: ClusterState+pattern ClusterState_FAILED = ClusterState' "FAILED"++pattern ClusterState_HEALING :: ClusterState+pattern ClusterState_HEALING = ClusterState' "HEALING"++pattern ClusterState_MAINTENANCE :: ClusterState+pattern ClusterState_MAINTENANCE = ClusterState' "MAINTENANCE"++pattern ClusterState_REBOOTING_BROKER :: ClusterState+pattern ClusterState_REBOOTING_BROKER = ClusterState' "REBOOTING_BROKER"++pattern ClusterState_UPDATING :: ClusterState+pattern ClusterState_UPDATING = ClusterState' "UPDATING"++{-# COMPLETE+ ClusterState_ACTIVE,+ ClusterState_CREATING,+ ClusterState_DELETING,+ ClusterState_FAILED,+ ClusterState_HEALING,+ ClusterState_MAINTENANCE,+ ClusterState_REBOOTING_BROKER,+ ClusterState_UPDATING,+ ClusterState'+ #-}
+ gen/Amazonka/Kafka/Types/ClusterType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ClusterType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ClusterType+ ( ClusterType+ ( ..,+ ClusterType_PROVISIONED,+ ClusterType_SERVERLESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of cluster.+newtype ClusterType = ClusterType'+ { fromClusterType ::+ 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 ClusterType_PROVISIONED :: ClusterType+pattern ClusterType_PROVISIONED = ClusterType' "PROVISIONED"++pattern ClusterType_SERVERLESS :: ClusterType+pattern ClusterType_SERVERLESS = ClusterType' "SERVERLESS"++{-# COMPLETE+ ClusterType_PROVISIONED,+ ClusterType_SERVERLESS,+ ClusterType'+ #-}
+ gen/Amazonka/Kafka/Types/CompatibleKafkaVersion.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.CompatibleKafkaVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.CompatibleKafkaVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains source Apache Kafka versions and compatible target Apache Kafka+-- versions.+--+-- /See:/ 'newCompatibleKafkaVersion' smart constructor.+data CompatibleKafkaVersion = CompatibleKafkaVersion'+ { -- | An Apache Kafka version.+ sourceVersion :: Prelude.Maybe Prelude.Text,+ -- | A list of Apache Kafka versions.+ targetVersions :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompatibleKafkaVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceVersion', 'compatibleKafkaVersion_sourceVersion' - An Apache Kafka version.+--+-- 'targetVersions', 'compatibleKafkaVersion_targetVersions' - A list of Apache Kafka versions.+newCompatibleKafkaVersion ::+ CompatibleKafkaVersion+newCompatibleKafkaVersion =+ CompatibleKafkaVersion'+ { sourceVersion =+ Prelude.Nothing,+ targetVersions = Prelude.Nothing+ }++-- | An Apache Kafka version.+compatibleKafkaVersion_sourceVersion :: Lens.Lens' CompatibleKafkaVersion (Prelude.Maybe Prelude.Text)+compatibleKafkaVersion_sourceVersion = Lens.lens (\CompatibleKafkaVersion' {sourceVersion} -> sourceVersion) (\s@CompatibleKafkaVersion' {} a -> s {sourceVersion = a} :: CompatibleKafkaVersion)++-- | A list of Apache Kafka versions.+compatibleKafkaVersion_targetVersions :: Lens.Lens' CompatibleKafkaVersion (Prelude.Maybe [Prelude.Text])+compatibleKafkaVersion_targetVersions = Lens.lens (\CompatibleKafkaVersion' {targetVersions} -> targetVersions) (\s@CompatibleKafkaVersion' {} a -> s {targetVersions = a} :: CompatibleKafkaVersion) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CompatibleKafkaVersion where+ parseJSON =+ Data.withObject+ "CompatibleKafkaVersion"+ ( \x ->+ CompatibleKafkaVersion'+ Prelude.<$> (x Data..:? "sourceVersion")+ Prelude.<*> ( x+ Data..:? "targetVersions"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable CompatibleKafkaVersion where+ hashWithSalt _salt CompatibleKafkaVersion' {..} =+ _salt+ `Prelude.hashWithSalt` sourceVersion+ `Prelude.hashWithSalt` targetVersions++instance Prelude.NFData CompatibleKafkaVersion where+ rnf CompatibleKafkaVersion' {..} =+ Prelude.rnf sourceVersion+ `Prelude.seq` Prelude.rnf targetVersions
+ gen/Amazonka/Kafka/Types/Configuration.hs view
@@ -0,0 +1,176 @@+{-# 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.Kafka.Types.Configuration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Configuration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ConfigurationRevision+import Amazonka.Kafka.Types.ConfigurationState+import qualified Amazonka.Prelude as Prelude++-- | Represents an MSK Configuration.+--+-- /See:/ 'newConfiguration' smart constructor.+data Configuration = Configuration'+ { -- | The description of the configuration.+ description :: Prelude.Text,+ -- | Latest revision of the configuration.+ latestRevision :: ConfigurationRevision,+ -- | The time when the configuration was created.+ creationTime :: Data.ISO8601,+ -- | An array of the versions of Apache Kafka with which you can use this MSK+ -- configuration. You can use this configuration for an MSK cluster only if+ -- the Apache Kafka version specified for the cluster appears in this+ -- array.+ kafkaVersions :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Text,+ -- | The name of the configuration.+ name :: Prelude.Text,+ -- | The state of the configuration. The possible states are ACTIVE,+ -- DELETING, and DELETE_FAILED.+ state :: ConfigurationState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Configuration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'configuration_description' - The description of the configuration.+--+-- 'latestRevision', 'configuration_latestRevision' - Latest revision of the configuration.+--+-- 'creationTime', 'configuration_creationTime' - The time when the configuration was created.+--+-- 'kafkaVersions', 'configuration_kafkaVersions' - An array of the versions of Apache Kafka with which you can use this MSK+-- configuration. You can use this configuration for an MSK cluster only if+-- the Apache Kafka version specified for the cluster appears in this+-- array.+--+-- 'arn', 'configuration_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'name', 'configuration_name' - The name of the configuration.+--+-- 'state', 'configuration_state' - The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+newConfiguration ::+ -- | 'description'+ Prelude.Text ->+ -- | 'latestRevision'+ ConfigurationRevision ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'state'+ ConfigurationState ->+ Configuration+newConfiguration+ pDescription_+ pLatestRevision_+ pCreationTime_+ pArn_+ pName_+ pState_ =+ Configuration'+ { description = pDescription_,+ latestRevision = pLatestRevision_,+ creationTime = Data._Time Lens.# pCreationTime_,+ kafkaVersions = Prelude.mempty,+ arn = pArn_,+ name = pName_,+ state = pState_+ }++-- | The description of the configuration.+configuration_description :: Lens.Lens' Configuration Prelude.Text+configuration_description = Lens.lens (\Configuration' {description} -> description) (\s@Configuration' {} a -> s {description = a} :: Configuration)++-- | Latest revision of the configuration.+configuration_latestRevision :: Lens.Lens' Configuration ConfigurationRevision+configuration_latestRevision = Lens.lens (\Configuration' {latestRevision} -> latestRevision) (\s@Configuration' {} a -> s {latestRevision = a} :: Configuration)++-- | The time when the configuration was created.+configuration_creationTime :: Lens.Lens' Configuration Prelude.UTCTime+configuration_creationTime = Lens.lens (\Configuration' {creationTime} -> creationTime) (\s@Configuration' {} a -> s {creationTime = a} :: Configuration) Prelude.. Data._Time++-- | An array of the versions of Apache Kafka with which you can use this MSK+-- configuration. You can use this configuration for an MSK cluster only if+-- the Apache Kafka version specified for the cluster appears in this+-- array.+configuration_kafkaVersions :: Lens.Lens' Configuration [Prelude.Text]+configuration_kafkaVersions = Lens.lens (\Configuration' {kafkaVersions} -> kafkaVersions) (\s@Configuration' {} a -> s {kafkaVersions = a} :: Configuration) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the configuration.+configuration_arn :: Lens.Lens' Configuration Prelude.Text+configuration_arn = Lens.lens (\Configuration' {arn} -> arn) (\s@Configuration' {} a -> s {arn = a} :: Configuration)++-- | The name of the configuration.+configuration_name :: Lens.Lens' Configuration Prelude.Text+configuration_name = Lens.lens (\Configuration' {name} -> name) (\s@Configuration' {} a -> s {name = a} :: Configuration)++-- | The state of the configuration. The possible states are ACTIVE,+-- DELETING, and DELETE_FAILED.+configuration_state :: Lens.Lens' Configuration ConfigurationState+configuration_state = Lens.lens (\Configuration' {state} -> state) (\s@Configuration' {} a -> s {state = a} :: Configuration)++instance Data.FromJSON Configuration where+ parseJSON =+ Data.withObject+ "Configuration"+ ( \x ->+ Configuration'+ Prelude.<$> (x Data..: "description")+ Prelude.<*> (x Data..: "latestRevision")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..:? "kafkaVersions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable Configuration where+ hashWithSalt _salt Configuration' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` latestRevision+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` kafkaVersions+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` state++instance Prelude.NFData Configuration where+ rnf Configuration' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf latestRevision+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf kafkaVersions+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/Kafka/Types/ConfigurationInfo.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ConfigurationInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ConfigurationInfo 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++-- | Specifies the configuration to use for the brokers.+--+-- /See:/ 'newConfigurationInfo' smart constructor.+data ConfigurationInfo = ConfigurationInfo'+ { -- | The revision of the configuration to use.+ revision :: Prelude.Integer,+ -- | ARN of the configuration to use.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'revision', 'configurationInfo_revision' - The revision of the configuration to use.+--+-- 'arn', 'configurationInfo_arn' - ARN of the configuration to use.+newConfigurationInfo ::+ -- | 'revision'+ Prelude.Integer ->+ -- | 'arn'+ Prelude.Text ->+ ConfigurationInfo+newConfigurationInfo pRevision_ pArn_ =+ ConfigurationInfo'+ { revision = pRevision_,+ arn = pArn_+ }++-- | The revision of the configuration to use.+configurationInfo_revision :: Lens.Lens' ConfigurationInfo Prelude.Integer+configurationInfo_revision = Lens.lens (\ConfigurationInfo' {revision} -> revision) (\s@ConfigurationInfo' {} a -> s {revision = a} :: ConfigurationInfo)++-- | ARN of the configuration to use.+configurationInfo_arn :: Lens.Lens' ConfigurationInfo Prelude.Text+configurationInfo_arn = Lens.lens (\ConfigurationInfo' {arn} -> arn) (\s@ConfigurationInfo' {} a -> s {arn = a} :: ConfigurationInfo)++instance Data.FromJSON ConfigurationInfo where+ parseJSON =+ Data.withObject+ "ConfigurationInfo"+ ( \x ->+ ConfigurationInfo'+ Prelude.<$> (x Data..: "revision")+ Prelude.<*> (x Data..: "arn")+ )++instance Prelude.Hashable ConfigurationInfo where+ hashWithSalt _salt ConfigurationInfo' {..} =+ _salt+ `Prelude.hashWithSalt` revision+ `Prelude.hashWithSalt` arn++instance Prelude.NFData ConfigurationInfo where+ rnf ConfigurationInfo' {..} =+ Prelude.rnf revision `Prelude.seq` Prelude.rnf arn++instance Data.ToJSON ConfigurationInfo where+ toJSON ConfigurationInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("revision" Data..= revision),+ Prelude.Just ("arn" Data..= arn)+ ]+ )
+ gen/Amazonka/Kafka/Types/ConfigurationRevision.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ConfigurationRevision+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ConfigurationRevision where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a configuration revision.+--+-- /See:/ 'newConfigurationRevision' smart constructor.+data ConfigurationRevision = ConfigurationRevision'+ { -- | The description of the configuration revision.+ description :: Prelude.Maybe Prelude.Text,+ -- | The revision number.+ revision :: Prelude.Integer,+ -- | The time when the configuration revision was created.+ creationTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationRevision' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'configurationRevision_description' - The description of the configuration revision.+--+-- 'revision', 'configurationRevision_revision' - The revision number.+--+-- 'creationTime', 'configurationRevision_creationTime' - The time when the configuration revision was created.+newConfigurationRevision ::+ -- | 'revision'+ Prelude.Integer ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ ConfigurationRevision+newConfigurationRevision pRevision_ pCreationTime_ =+ ConfigurationRevision'+ { description =+ Prelude.Nothing,+ revision = pRevision_,+ creationTime = Data._Time Lens.# pCreationTime_+ }++-- | The description of the configuration revision.+configurationRevision_description :: Lens.Lens' ConfigurationRevision (Prelude.Maybe Prelude.Text)+configurationRevision_description = Lens.lens (\ConfigurationRevision' {description} -> description) (\s@ConfigurationRevision' {} a -> s {description = a} :: ConfigurationRevision)++-- | The revision number.+configurationRevision_revision :: Lens.Lens' ConfigurationRevision Prelude.Integer+configurationRevision_revision = Lens.lens (\ConfigurationRevision' {revision} -> revision) (\s@ConfigurationRevision' {} a -> s {revision = a} :: ConfigurationRevision)++-- | The time when the configuration revision was created.+configurationRevision_creationTime :: Lens.Lens' ConfigurationRevision Prelude.UTCTime+configurationRevision_creationTime = Lens.lens (\ConfigurationRevision' {creationTime} -> creationTime) (\s@ConfigurationRevision' {} a -> s {creationTime = a} :: ConfigurationRevision) Prelude.. Data._Time++instance Data.FromJSON ConfigurationRevision where+ parseJSON =+ Data.withObject+ "ConfigurationRevision"+ ( \x ->+ ConfigurationRevision'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..: "revision")+ Prelude.<*> (x Data..: "creationTime")+ )++instance Prelude.Hashable ConfigurationRevision where+ hashWithSalt _salt ConfigurationRevision' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` revision+ `Prelude.hashWithSalt` creationTime++instance Prelude.NFData ConfigurationRevision where+ rnf ConfigurationRevision' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf revision+ `Prelude.seq` Prelude.rnf creationTime
+ gen/Amazonka/Kafka/Types/ConfigurationState.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ConfigurationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ConfigurationState+ ( ConfigurationState+ ( ..,+ ConfigurationState_ACTIVE,+ ConfigurationState_DELETE_FAILED,+ ConfigurationState_DELETING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The state of a configuration.+newtype ConfigurationState = ConfigurationState'+ { fromConfigurationState ::+ 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 ConfigurationState_ACTIVE :: ConfigurationState+pattern ConfigurationState_ACTIVE = ConfigurationState' "ACTIVE"++pattern ConfigurationState_DELETE_FAILED :: ConfigurationState+pattern ConfigurationState_DELETE_FAILED = ConfigurationState' "DELETE_FAILED"++pattern ConfigurationState_DELETING :: ConfigurationState+pattern ConfigurationState_DELETING = ConfigurationState' "DELETING"++{-# COMPLETE+ ConfigurationState_ACTIVE,+ ConfigurationState_DELETE_FAILED,+ ConfigurationState_DELETING,+ ConfigurationState'+ #-}
+ gen/Amazonka/Kafka/Types/ConnectivityInfo.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.Kafka.Types.ConnectivityInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ConnectivityInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.PublicAccess+import qualified Amazonka.Prelude as Prelude++-- | Information about the broker access configuration.+--+-- /See:/ 'newConnectivityInfo' smart constructor.+data ConnectivityInfo = ConnectivityInfo'+ { -- | Public access control for brokers.+ publicAccess :: Prelude.Maybe PublicAccess+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectivityInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'publicAccess', 'connectivityInfo_publicAccess' - Public access control for brokers.+newConnectivityInfo ::+ ConnectivityInfo+newConnectivityInfo =+ ConnectivityInfo' {publicAccess = Prelude.Nothing}++-- | Public access control for brokers.+connectivityInfo_publicAccess :: Lens.Lens' ConnectivityInfo (Prelude.Maybe PublicAccess)+connectivityInfo_publicAccess = Lens.lens (\ConnectivityInfo' {publicAccess} -> publicAccess) (\s@ConnectivityInfo' {} a -> s {publicAccess = a} :: ConnectivityInfo)++instance Data.FromJSON ConnectivityInfo where+ parseJSON =+ Data.withObject+ "ConnectivityInfo"+ ( \x ->+ ConnectivityInfo'+ Prelude.<$> (x Data..:? "publicAccess")+ )++instance Prelude.Hashable ConnectivityInfo where+ hashWithSalt _salt ConnectivityInfo' {..} =+ _salt `Prelude.hashWithSalt` publicAccess++instance Prelude.NFData ConnectivityInfo where+ rnf ConnectivityInfo' {..} = Prelude.rnf publicAccess++instance Data.ToJSON ConnectivityInfo where+ toJSON ConnectivityInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [("publicAccess" Data..=) Prelude.<$> publicAccess]+ )
+ gen/Amazonka/Kafka/Types/EBSStorageInfo.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.EBSStorageInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.EBSStorageInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ProvisionedThroughput+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the EBS storage volumes attached to Apache+-- Kafka broker nodes.+--+-- /See:/ 'newEBSStorageInfo' smart constructor.+data EBSStorageInfo = EBSStorageInfo'+ { -- | EBS volume provisioned throughput information.+ provisionedThroughput :: Prelude.Maybe ProvisionedThroughput,+ -- | The size in GiB of the EBS volume for the data drive on each broker+ -- node.+ volumeSize :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EBSStorageInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'provisionedThroughput', 'eBSStorageInfo_provisionedThroughput' - EBS volume provisioned throughput information.+--+-- 'volumeSize', 'eBSStorageInfo_volumeSize' - The size in GiB of the EBS volume for the data drive on each broker+-- node.+newEBSStorageInfo ::+ EBSStorageInfo+newEBSStorageInfo =+ EBSStorageInfo'+ { provisionedThroughput =+ Prelude.Nothing,+ volumeSize = Prelude.Nothing+ }++-- | EBS volume provisioned throughput information.+eBSStorageInfo_provisionedThroughput :: Lens.Lens' EBSStorageInfo (Prelude.Maybe ProvisionedThroughput)+eBSStorageInfo_provisionedThroughput = Lens.lens (\EBSStorageInfo' {provisionedThroughput} -> provisionedThroughput) (\s@EBSStorageInfo' {} a -> s {provisionedThroughput = a} :: EBSStorageInfo)++-- | The size in GiB of the EBS volume for the data drive on each broker+-- node.+eBSStorageInfo_volumeSize :: Lens.Lens' EBSStorageInfo (Prelude.Maybe Prelude.Natural)+eBSStorageInfo_volumeSize = Lens.lens (\EBSStorageInfo' {volumeSize} -> volumeSize) (\s@EBSStorageInfo' {} a -> s {volumeSize = a} :: EBSStorageInfo)++instance Data.FromJSON EBSStorageInfo where+ parseJSON =+ Data.withObject+ "EBSStorageInfo"+ ( \x ->+ EBSStorageInfo'+ Prelude.<$> (x Data..:? "provisionedThroughput")+ Prelude.<*> (x Data..:? "volumeSize")+ )++instance Prelude.Hashable EBSStorageInfo where+ hashWithSalt _salt EBSStorageInfo' {..} =+ _salt+ `Prelude.hashWithSalt` provisionedThroughput+ `Prelude.hashWithSalt` volumeSize++instance Prelude.NFData EBSStorageInfo where+ rnf EBSStorageInfo' {..} =+ Prelude.rnf provisionedThroughput+ `Prelude.seq` Prelude.rnf volumeSize++instance Data.ToJSON EBSStorageInfo where+ toJSON EBSStorageInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("provisionedThroughput" Data..=)+ Prelude.<$> provisionedThroughput,+ ("volumeSize" Data..=) Prelude.<$> volumeSize+ ]+ )
+ gen/Amazonka/Kafka/Types/EncryptionAtRest.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.Kafka.Types.EncryptionAtRest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.EncryptionAtRest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The data-volume encryption details.+--+-- /See:/ 'newEncryptionAtRest' smart constructor.+data EncryptionAtRest = EncryptionAtRest'+ { -- | The ARN of the AWS KMS key for encrypting data at rest. If you don\'t+ -- specify a KMS key, MSK creates one for you and uses it.+ dataVolumeKMSKeyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionAtRest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataVolumeKMSKeyId', 'encryptionAtRest_dataVolumeKMSKeyId' - The ARN of the AWS KMS key for encrypting data at rest. If you don\'t+-- specify a KMS key, MSK creates one for you and uses it.+newEncryptionAtRest ::+ -- | 'dataVolumeKMSKeyId'+ Prelude.Text ->+ EncryptionAtRest+newEncryptionAtRest pDataVolumeKMSKeyId_ =+ EncryptionAtRest'+ { dataVolumeKMSKeyId =+ pDataVolumeKMSKeyId_+ }++-- | The ARN of the AWS KMS key for encrypting data at rest. If you don\'t+-- specify a KMS key, MSK creates one for you and uses it.+encryptionAtRest_dataVolumeKMSKeyId :: Lens.Lens' EncryptionAtRest Prelude.Text+encryptionAtRest_dataVolumeKMSKeyId = Lens.lens (\EncryptionAtRest' {dataVolumeKMSKeyId} -> dataVolumeKMSKeyId) (\s@EncryptionAtRest' {} a -> s {dataVolumeKMSKeyId = a} :: EncryptionAtRest)++instance Data.FromJSON EncryptionAtRest where+ parseJSON =+ Data.withObject+ "EncryptionAtRest"+ ( \x ->+ EncryptionAtRest'+ Prelude.<$> (x Data..: "dataVolumeKMSKeyId")+ )++instance Prelude.Hashable EncryptionAtRest where+ hashWithSalt _salt EncryptionAtRest' {..} =+ _salt `Prelude.hashWithSalt` dataVolumeKMSKeyId++instance Prelude.NFData EncryptionAtRest where+ rnf EncryptionAtRest' {..} =+ Prelude.rnf dataVolumeKMSKeyId++instance Data.ToJSON EncryptionAtRest where+ toJSON EncryptionAtRest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("dataVolumeKMSKeyId" Data..= dataVolumeKMSKeyId)+ ]+ )
+ gen/Amazonka/Kafka/Types/EncryptionInTransit.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.EncryptionInTransit+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.EncryptionInTransit where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ClientBroker+import qualified Amazonka.Prelude as Prelude++-- | The settings for encrypting data in transit.+--+-- /See:/ 'newEncryptionInTransit' smart constructor.+data EncryptionInTransit = EncryptionInTransit'+ { -- | Indicates the encryption setting for data in transit between clients and+ -- brokers. The following are the possible values.+ --+ -- TLS means that client-broker communication is enabled with TLS only.+ --+ -- TLS_PLAINTEXT means that client-broker communication is enabled for both+ -- TLS-encrypted, as well as plaintext data.+ --+ -- PLAINTEXT means that client-broker communication is enabled in plaintext+ -- only.+ --+ -- The default value is TLS_PLAINTEXT.+ clientBroker :: Prelude.Maybe ClientBroker,+ -- | When set to true, it indicates that data communication among the broker+ -- nodes of the cluster is encrypted. When set to false, the communication+ -- happens in plaintext.+ --+ -- The default value is true.+ inCluster :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionInTransit' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientBroker', 'encryptionInTransit_clientBroker' - Indicates the encryption setting for data in transit between clients and+-- brokers. The following are the possible values.+--+-- TLS means that client-broker communication is enabled with TLS only.+--+-- TLS_PLAINTEXT means that client-broker communication is enabled for both+-- TLS-encrypted, as well as plaintext data.+--+-- PLAINTEXT means that client-broker communication is enabled in plaintext+-- only.+--+-- The default value is TLS_PLAINTEXT.+--+-- 'inCluster', 'encryptionInTransit_inCluster' - When set to true, it indicates that data communication among the broker+-- nodes of the cluster is encrypted. When set to false, the communication+-- happens in plaintext.+--+-- The default value is true.+newEncryptionInTransit ::+ EncryptionInTransit+newEncryptionInTransit =+ EncryptionInTransit'+ { clientBroker =+ Prelude.Nothing,+ inCluster = Prelude.Nothing+ }++-- | Indicates the encryption setting for data in transit between clients and+-- brokers. The following are the possible values.+--+-- TLS means that client-broker communication is enabled with TLS only.+--+-- TLS_PLAINTEXT means that client-broker communication is enabled for both+-- TLS-encrypted, as well as plaintext data.+--+-- PLAINTEXT means that client-broker communication is enabled in plaintext+-- only.+--+-- The default value is TLS_PLAINTEXT.+encryptionInTransit_clientBroker :: Lens.Lens' EncryptionInTransit (Prelude.Maybe ClientBroker)+encryptionInTransit_clientBroker = Lens.lens (\EncryptionInTransit' {clientBroker} -> clientBroker) (\s@EncryptionInTransit' {} a -> s {clientBroker = a} :: EncryptionInTransit)++-- | When set to true, it indicates that data communication among the broker+-- nodes of the cluster is encrypted. When set to false, the communication+-- happens in plaintext.+--+-- The default value is true.+encryptionInTransit_inCluster :: Lens.Lens' EncryptionInTransit (Prelude.Maybe Prelude.Bool)+encryptionInTransit_inCluster = Lens.lens (\EncryptionInTransit' {inCluster} -> inCluster) (\s@EncryptionInTransit' {} a -> s {inCluster = a} :: EncryptionInTransit)++instance Data.FromJSON EncryptionInTransit where+ parseJSON =+ Data.withObject+ "EncryptionInTransit"+ ( \x ->+ EncryptionInTransit'+ Prelude.<$> (x Data..:? "clientBroker")+ Prelude.<*> (x Data..:? "inCluster")+ )++instance Prelude.Hashable EncryptionInTransit where+ hashWithSalt _salt EncryptionInTransit' {..} =+ _salt+ `Prelude.hashWithSalt` clientBroker+ `Prelude.hashWithSalt` inCluster++instance Prelude.NFData EncryptionInTransit where+ rnf EncryptionInTransit' {..} =+ Prelude.rnf clientBroker+ `Prelude.seq` Prelude.rnf inCluster++instance Data.ToJSON EncryptionInTransit where+ toJSON EncryptionInTransit' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientBroker" Data..=) Prelude.<$> clientBroker,+ ("inCluster" Data..=) Prelude.<$> inCluster+ ]+ )
+ gen/Amazonka/Kafka/Types/EncryptionInfo.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.Kafka.Types.EncryptionInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.EncryptionInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.EncryptionAtRest+import Amazonka.Kafka.Types.EncryptionInTransit+import qualified Amazonka.Prelude as Prelude++-- | Includes encryption-related information, such as the AWS KMS key used+-- for encrypting data at rest and whether you want MSK to encrypt your+-- data in transit.+--+-- /See:/ 'newEncryptionInfo' smart constructor.+data EncryptionInfo = EncryptionInfo'+ { -- | The data-volume encryption details.+ encryptionAtRest :: Prelude.Maybe EncryptionAtRest,+ -- | The details for encryption in transit.+ encryptionInTransit :: Prelude.Maybe EncryptionInTransit+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionAtRest', 'encryptionInfo_encryptionAtRest' - The data-volume encryption details.+--+-- 'encryptionInTransit', 'encryptionInfo_encryptionInTransit' - The details for encryption in transit.+newEncryptionInfo ::+ EncryptionInfo+newEncryptionInfo =+ EncryptionInfo'+ { encryptionAtRest = Prelude.Nothing,+ encryptionInTransit = Prelude.Nothing+ }++-- | The data-volume encryption details.+encryptionInfo_encryptionAtRest :: Lens.Lens' EncryptionInfo (Prelude.Maybe EncryptionAtRest)+encryptionInfo_encryptionAtRest = Lens.lens (\EncryptionInfo' {encryptionAtRest} -> encryptionAtRest) (\s@EncryptionInfo' {} a -> s {encryptionAtRest = a} :: EncryptionInfo)++-- | The details for encryption in transit.+encryptionInfo_encryptionInTransit :: Lens.Lens' EncryptionInfo (Prelude.Maybe EncryptionInTransit)+encryptionInfo_encryptionInTransit = Lens.lens (\EncryptionInfo' {encryptionInTransit} -> encryptionInTransit) (\s@EncryptionInfo' {} a -> s {encryptionInTransit = a} :: EncryptionInfo)++instance Data.FromJSON EncryptionInfo where+ parseJSON =+ Data.withObject+ "EncryptionInfo"+ ( \x ->+ EncryptionInfo'+ Prelude.<$> (x Data..:? "encryptionAtRest")+ Prelude.<*> (x Data..:? "encryptionInTransit")+ )++instance Prelude.Hashable EncryptionInfo where+ hashWithSalt _salt EncryptionInfo' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionAtRest+ `Prelude.hashWithSalt` encryptionInTransit++instance Prelude.NFData EncryptionInfo where+ rnf EncryptionInfo' {..} =+ Prelude.rnf encryptionAtRest+ `Prelude.seq` Prelude.rnf encryptionInTransit++instance Data.ToJSON EncryptionInfo where+ toJSON EncryptionInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("encryptionAtRest" Data..=)+ Prelude.<$> encryptionAtRest,+ ("encryptionInTransit" Data..=)+ Prelude.<$> encryptionInTransit+ ]+ )
+ gen/Amazonka/Kafka/Types/EnhancedMonitoring.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.Kafka.Types.EnhancedMonitoring+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.EnhancedMonitoring+ ( EnhancedMonitoring+ ( ..,+ EnhancedMonitoring_DEFAULT,+ EnhancedMonitoring_PER_BROKER,+ EnhancedMonitoring_PER_TOPIC_PER_BROKER,+ EnhancedMonitoring_PER_TOPIC_PER_PARTITION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies which metrics are gathered for the MSK cluster. This property+-- has the following possible values: DEFAULT, PER_BROKER,+-- PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the+-- metrics associated with each of these levels of monitoring, see+-- <https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html Monitoring>.+newtype EnhancedMonitoring = EnhancedMonitoring'+ { fromEnhancedMonitoring ::+ 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 EnhancedMonitoring_DEFAULT :: EnhancedMonitoring+pattern EnhancedMonitoring_DEFAULT = EnhancedMonitoring' "DEFAULT"++pattern EnhancedMonitoring_PER_BROKER :: EnhancedMonitoring+pattern EnhancedMonitoring_PER_BROKER = EnhancedMonitoring' "PER_BROKER"++pattern EnhancedMonitoring_PER_TOPIC_PER_BROKER :: EnhancedMonitoring+pattern EnhancedMonitoring_PER_TOPIC_PER_BROKER = EnhancedMonitoring' "PER_TOPIC_PER_BROKER"++pattern EnhancedMonitoring_PER_TOPIC_PER_PARTITION :: EnhancedMonitoring+pattern EnhancedMonitoring_PER_TOPIC_PER_PARTITION = EnhancedMonitoring' "PER_TOPIC_PER_PARTITION"++{-# COMPLETE+ EnhancedMonitoring_DEFAULT,+ EnhancedMonitoring_PER_BROKER,+ EnhancedMonitoring_PER_TOPIC_PER_BROKER,+ EnhancedMonitoring_PER_TOPIC_PER_PARTITION,+ EnhancedMonitoring'+ #-}
+ gen/Amazonka/Kafka/Types/ErrorInfo.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ErrorInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ErrorInfo 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++-- | Returns information about an error state of the cluster.+--+-- /See:/ 'newErrorInfo' smart constructor.+data ErrorInfo = ErrorInfo'+ { -- | A number describing the error programmatically.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | An optional field to provide more details about the error.+ errorString :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'errorInfo_errorCode' - A number describing the error programmatically.+--+-- 'errorString', 'errorInfo_errorString' - An optional field to provide more details about the error.+newErrorInfo ::+ ErrorInfo+newErrorInfo =+ ErrorInfo'+ { errorCode = Prelude.Nothing,+ errorString = Prelude.Nothing+ }++-- | A number describing the error programmatically.+errorInfo_errorCode :: Lens.Lens' ErrorInfo (Prelude.Maybe Prelude.Text)+errorInfo_errorCode = Lens.lens (\ErrorInfo' {errorCode} -> errorCode) (\s@ErrorInfo' {} a -> s {errorCode = a} :: ErrorInfo)++-- | An optional field to provide more details about the error.+errorInfo_errorString :: Lens.Lens' ErrorInfo (Prelude.Maybe Prelude.Text)+errorInfo_errorString = Lens.lens (\ErrorInfo' {errorString} -> errorString) (\s@ErrorInfo' {} a -> s {errorString = a} :: ErrorInfo)++instance Data.FromJSON ErrorInfo where+ parseJSON =+ Data.withObject+ "ErrorInfo"+ ( \x ->+ ErrorInfo'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorString")+ )++instance Prelude.Hashable ErrorInfo where+ hashWithSalt _salt ErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorString++instance Prelude.NFData ErrorInfo where+ rnf ErrorInfo' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorString
+ gen/Amazonka/Kafka/Types/Firehose.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.Kafka.Types.Firehose+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Firehose where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newFirehose' smart constructor.+data Firehose = Firehose'+ { deliveryStream :: Prelude.Maybe Prelude.Text,+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Firehose' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deliveryStream', 'firehose_deliveryStream' - Undocumented member.+--+-- 'enabled', 'firehose_enabled' - Undocumented member.+newFirehose ::+ -- | 'enabled'+ Prelude.Bool ->+ Firehose+newFirehose pEnabled_ =+ Firehose'+ { deliveryStream = Prelude.Nothing,+ enabled = pEnabled_+ }++-- | Undocumented member.+firehose_deliveryStream :: Lens.Lens' Firehose (Prelude.Maybe Prelude.Text)+firehose_deliveryStream = Lens.lens (\Firehose' {deliveryStream} -> deliveryStream) (\s@Firehose' {} a -> s {deliveryStream = a} :: Firehose)++-- | Undocumented member.+firehose_enabled :: Lens.Lens' Firehose Prelude.Bool+firehose_enabled = Lens.lens (\Firehose' {enabled} -> enabled) (\s@Firehose' {} a -> s {enabled = a} :: Firehose)++instance Data.FromJSON Firehose where+ parseJSON =+ Data.withObject+ "Firehose"+ ( \x ->+ Firehose'+ Prelude.<$> (x Data..:? "deliveryStream")+ Prelude.<*> (x Data..: "enabled")+ )++instance Prelude.Hashable Firehose where+ hashWithSalt _salt Firehose' {..} =+ _salt+ `Prelude.hashWithSalt` deliveryStream+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData Firehose where+ rnf Firehose' {..} =+ Prelude.rnf deliveryStream+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON Firehose where+ toJSON Firehose' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("deliveryStream" Data..=)+ Prelude.<$> deliveryStream,+ Prelude.Just ("enabled" Data..= enabled)+ ]+ )
+ gen/Amazonka/Kafka/Types/Iam.hs view
@@ -0,0 +1,71 @@+{-# 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.Kafka.Types.Iam+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Iam 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++-- | Details for IAM access control.+--+-- /See:/ 'newIam' smart constructor.+data Iam = Iam'+ { -- | Indicates whether IAM access control is enabled.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Iam' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'iam_enabled' - Indicates whether IAM access control is enabled.+newIam ::+ Iam+newIam = Iam' {enabled = Prelude.Nothing}++-- | Indicates whether IAM access control is enabled.+iam_enabled :: Lens.Lens' Iam (Prelude.Maybe Prelude.Bool)+iam_enabled = Lens.lens (\Iam' {enabled} -> enabled) (\s@Iam' {} a -> s {enabled = a} :: Iam)++instance Data.FromJSON Iam where+ parseJSON =+ Data.withObject+ "Iam"+ (\x -> Iam' Prelude.<$> (x Data..:? "enabled"))++instance Prelude.Hashable Iam where+ hashWithSalt _salt Iam' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData Iam where+ rnf Iam' {..} = Prelude.rnf enabled++instance Data.ToJSON Iam where+ toJSON Iam' {..} =+ Data.object+ ( Prelude.catMaybes+ [("enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/Kafka/Types/JmxExporter.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.JmxExporter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.JmxExporter 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++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+--+-- /See:/ 'newJmxExporter' smart constructor.+data JmxExporter = JmxExporter'+ { -- | Indicates whether you want to turn on or turn off the JMX Exporter.+ enabledInBroker :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JmxExporter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabledInBroker', 'jmxExporter_enabledInBroker' - Indicates whether you want to turn on or turn off the JMX Exporter.+newJmxExporter ::+ -- | 'enabledInBroker'+ Prelude.Bool ->+ JmxExporter+newJmxExporter pEnabledInBroker_ =+ JmxExporter' {enabledInBroker = pEnabledInBroker_}++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+jmxExporter_enabledInBroker :: Lens.Lens' JmxExporter Prelude.Bool+jmxExporter_enabledInBroker = Lens.lens (\JmxExporter' {enabledInBroker} -> enabledInBroker) (\s@JmxExporter' {} a -> s {enabledInBroker = a} :: JmxExporter)++instance Data.FromJSON JmxExporter where+ parseJSON =+ Data.withObject+ "JmxExporter"+ ( \x ->+ JmxExporter'+ Prelude.<$> (x Data..: "enabledInBroker")+ )++instance Prelude.Hashable JmxExporter where+ hashWithSalt _salt JmxExporter' {..} =+ _salt `Prelude.hashWithSalt` enabledInBroker++instance Prelude.NFData JmxExporter where+ rnf JmxExporter' {..} = Prelude.rnf enabledInBroker
+ gen/Amazonka/Kafka/Types/JmxExporterInfo.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.JmxExporterInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.JmxExporterInfo 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++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+--+-- /See:/ 'newJmxExporterInfo' smart constructor.+data JmxExporterInfo = JmxExporterInfo'+ { -- | Indicates whether you want to turn on or turn off the JMX Exporter.+ enabledInBroker :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JmxExporterInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabledInBroker', 'jmxExporterInfo_enabledInBroker' - Indicates whether you want to turn on or turn off the JMX Exporter.+newJmxExporterInfo ::+ -- | 'enabledInBroker'+ Prelude.Bool ->+ JmxExporterInfo+newJmxExporterInfo pEnabledInBroker_ =+ JmxExporterInfo'+ { enabledInBroker =+ pEnabledInBroker_+ }++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+jmxExporterInfo_enabledInBroker :: Lens.Lens' JmxExporterInfo Prelude.Bool+jmxExporterInfo_enabledInBroker = Lens.lens (\JmxExporterInfo' {enabledInBroker} -> enabledInBroker) (\s@JmxExporterInfo' {} a -> s {enabledInBroker = a} :: JmxExporterInfo)++instance Data.FromJSON JmxExporterInfo where+ parseJSON =+ Data.withObject+ "JmxExporterInfo"+ ( \x ->+ JmxExporterInfo'+ Prelude.<$> (x Data..: "enabledInBroker")+ )++instance Prelude.Hashable JmxExporterInfo where+ hashWithSalt _salt JmxExporterInfo' {..} =+ _salt `Prelude.hashWithSalt` enabledInBroker++instance Prelude.NFData JmxExporterInfo where+ rnf JmxExporterInfo' {..} =+ Prelude.rnf enabledInBroker++instance Data.ToJSON JmxExporterInfo where+ toJSON JmxExporterInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("enabledInBroker" Data..= enabledInBroker)+ ]+ )
+ gen/Amazonka/Kafka/Types/KafkaVersion.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.KafkaVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.KafkaVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.KafkaVersionStatus+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newKafkaVersion' smart constructor.+data KafkaVersion = KafkaVersion'+ { status :: Prelude.Maybe KafkaVersionStatus,+ version :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'kafkaVersion_status' - Undocumented member.+--+-- 'version', 'kafkaVersion_version' - Undocumented member.+newKafkaVersion ::+ KafkaVersion+newKafkaVersion =+ KafkaVersion'+ { status = Prelude.Nothing,+ version = Prelude.Nothing+ }++-- | Undocumented member.+kafkaVersion_status :: Lens.Lens' KafkaVersion (Prelude.Maybe KafkaVersionStatus)+kafkaVersion_status = Lens.lens (\KafkaVersion' {status} -> status) (\s@KafkaVersion' {} a -> s {status = a} :: KafkaVersion)++-- | Undocumented member.+kafkaVersion_version :: Lens.Lens' KafkaVersion (Prelude.Maybe Prelude.Text)+kafkaVersion_version = Lens.lens (\KafkaVersion' {version} -> version) (\s@KafkaVersion' {} a -> s {version = a} :: KafkaVersion)++instance Data.FromJSON KafkaVersion where+ parseJSON =+ Data.withObject+ "KafkaVersion"+ ( \x ->+ KafkaVersion'+ Prelude.<$> (x Data..:? "status")+ Prelude.<*> (x Data..:? "version")+ )++instance Prelude.Hashable KafkaVersion where+ hashWithSalt _salt KafkaVersion' {..} =+ _salt+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` version++instance Prelude.NFData KafkaVersion where+ rnf KafkaVersion' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/Kafka/Types/KafkaVersionStatus.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.Kafka.Types.KafkaVersionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.KafkaVersionStatus+ ( KafkaVersionStatus+ ( ..,+ KafkaVersionStatus_ACTIVE,+ KafkaVersionStatus_DEPRECATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KafkaVersionStatus = KafkaVersionStatus'+ { fromKafkaVersionStatus ::+ 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 KafkaVersionStatus_ACTIVE :: KafkaVersionStatus+pattern KafkaVersionStatus_ACTIVE = KafkaVersionStatus' "ACTIVE"++pattern KafkaVersionStatus_DEPRECATED :: KafkaVersionStatus+pattern KafkaVersionStatus_DEPRECATED = KafkaVersionStatus' "DEPRECATED"++{-# COMPLETE+ KafkaVersionStatus_ACTIVE,+ KafkaVersionStatus_DEPRECATED,+ KafkaVersionStatus'+ #-}
+ gen/Amazonka/Kafka/Types/LoggingInfo.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.Kafka.Types.LoggingInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.LoggingInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerLogs+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newLoggingInfo' smart constructor.+data LoggingInfo = LoggingInfo'+ { brokerLogs :: BrokerLogs+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'brokerLogs', 'loggingInfo_brokerLogs' - Undocumented member.+newLoggingInfo ::+ -- | 'brokerLogs'+ BrokerLogs ->+ LoggingInfo+newLoggingInfo pBrokerLogs_ =+ LoggingInfo' {brokerLogs = pBrokerLogs_}++-- | Undocumented member.+loggingInfo_brokerLogs :: Lens.Lens' LoggingInfo BrokerLogs+loggingInfo_brokerLogs = Lens.lens (\LoggingInfo' {brokerLogs} -> brokerLogs) (\s@LoggingInfo' {} a -> s {brokerLogs = a} :: LoggingInfo)++instance Data.FromJSON LoggingInfo where+ parseJSON =+ Data.withObject+ "LoggingInfo"+ ( \x ->+ LoggingInfo' Prelude.<$> (x Data..: "brokerLogs")+ )++instance Prelude.Hashable LoggingInfo where+ hashWithSalt _salt LoggingInfo' {..} =+ _salt `Prelude.hashWithSalt` brokerLogs++instance Prelude.NFData LoggingInfo where+ rnf LoggingInfo' {..} = Prelude.rnf brokerLogs++instance Data.ToJSON LoggingInfo where+ toJSON LoggingInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("brokerLogs" Data..= brokerLogs)]+ )
+ gen/Amazonka/Kafka/Types/MutableClusterInfo.hs view
@@ -0,0 +1,230 @@+{-# 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.Kafka.Types.MutableClusterInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.MutableClusterInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerEBSVolumeInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.ConfigurationInfo+import Amazonka.Kafka.Types.ConnectivityInfo+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.EnhancedMonitoring+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.OpenMonitoring+import Amazonka.Kafka.Types.StorageMode+import qualified Amazonka.Prelude as Prelude++-- | Information about cluster attributes that can be updated via update+-- APIs.+--+-- /See:/ 'newMutableClusterInfo' smart constructor.+data MutableClusterInfo = MutableClusterInfo'+ { -- | Specifies the size of the EBS volume and the ID of the associated+ -- broker.+ brokerEBSVolumeInfo :: Prelude.Maybe [BrokerEBSVolumeInfo],+ -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | Information about the changes in the configuration of the brokers.+ configurationInfo :: Prelude.Maybe ConfigurationInfo,+ -- | Information about the broker access configuration.+ connectivityInfo :: Prelude.Maybe ConnectivityInfo,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+ -- Amazon CloudWatch for this cluster.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ -- | Information about the Amazon MSK broker type.+ instanceType :: Prelude.Maybe Prelude.Text,+ -- | The Apache Kafka version.+ kafkaVersion :: Prelude.Maybe Prelude.Text,+ -- | You can configure your MSK cluster to send broker logs to different+ -- destination types. This is a container for the configuration details+ -- related to broker logs.+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The number of broker nodes in the cluster.+ numberOfBrokerNodes :: Prelude.Maybe Prelude.Int,+ -- | The settings for open monitoring.+ openMonitoring :: Prelude.Maybe OpenMonitoring,+ -- | This controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MutableClusterInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'brokerEBSVolumeInfo', 'mutableClusterInfo_brokerEBSVolumeInfo' - Specifies the size of the EBS volume and the ID of the associated+-- broker.+--+-- 'clientAuthentication', 'mutableClusterInfo_clientAuthentication' - Includes all client authentication information.+--+-- 'configurationInfo', 'mutableClusterInfo_configurationInfo' - Information about the changes in the configuration of the brokers.+--+-- 'connectivityInfo', 'mutableClusterInfo_connectivityInfo' - Information about the broker access configuration.+--+-- 'encryptionInfo', 'mutableClusterInfo_encryptionInfo' - Includes all encryption-related information.+--+-- 'enhancedMonitoring', 'mutableClusterInfo_enhancedMonitoring' - Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+-- Amazon CloudWatch for this cluster.+--+-- 'instanceType', 'mutableClusterInfo_instanceType' - Information about the Amazon MSK broker type.+--+-- 'kafkaVersion', 'mutableClusterInfo_kafkaVersion' - The Apache Kafka version.+--+-- 'loggingInfo', 'mutableClusterInfo_loggingInfo' - You can configure your MSK cluster to send broker logs to different+-- destination types. This is a container for the configuration details+-- related to broker logs.+--+-- 'numberOfBrokerNodes', 'mutableClusterInfo_numberOfBrokerNodes' - The number of broker nodes in the cluster.+--+-- 'openMonitoring', 'mutableClusterInfo_openMonitoring' - The settings for open monitoring.+--+-- 'storageMode', 'mutableClusterInfo_storageMode' - This controls storage mode for supported storage tiers.+newMutableClusterInfo ::+ MutableClusterInfo+newMutableClusterInfo =+ MutableClusterInfo'+ { brokerEBSVolumeInfo =+ Prelude.Nothing,+ clientAuthentication = Prelude.Nothing,+ configurationInfo = Prelude.Nothing,+ connectivityInfo = Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ enhancedMonitoring = Prelude.Nothing,+ instanceType = Prelude.Nothing,+ kafkaVersion = Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ numberOfBrokerNodes = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ storageMode = Prelude.Nothing+ }++-- | Specifies the size of the EBS volume and the ID of the associated+-- broker.+mutableClusterInfo_brokerEBSVolumeInfo :: Lens.Lens' MutableClusterInfo (Prelude.Maybe [BrokerEBSVolumeInfo])+mutableClusterInfo_brokerEBSVolumeInfo = Lens.lens (\MutableClusterInfo' {brokerEBSVolumeInfo} -> brokerEBSVolumeInfo) (\s@MutableClusterInfo' {} a -> s {brokerEBSVolumeInfo = a} :: MutableClusterInfo) Prelude.. Lens.mapping Lens.coerced++-- | Includes all client authentication information.+mutableClusterInfo_clientAuthentication :: Lens.Lens' MutableClusterInfo (Prelude.Maybe ClientAuthentication)+mutableClusterInfo_clientAuthentication = Lens.lens (\MutableClusterInfo' {clientAuthentication} -> clientAuthentication) (\s@MutableClusterInfo' {} a -> s {clientAuthentication = a} :: MutableClusterInfo)++-- | Information about the changes in the configuration of the brokers.+mutableClusterInfo_configurationInfo :: Lens.Lens' MutableClusterInfo (Prelude.Maybe ConfigurationInfo)+mutableClusterInfo_configurationInfo = Lens.lens (\MutableClusterInfo' {configurationInfo} -> configurationInfo) (\s@MutableClusterInfo' {} a -> s {configurationInfo = a} :: MutableClusterInfo)++-- | Information about the broker access configuration.+mutableClusterInfo_connectivityInfo :: Lens.Lens' MutableClusterInfo (Prelude.Maybe ConnectivityInfo)+mutableClusterInfo_connectivityInfo = Lens.lens (\MutableClusterInfo' {connectivityInfo} -> connectivityInfo) (\s@MutableClusterInfo' {} a -> s {connectivityInfo = a} :: MutableClusterInfo)++-- | Includes all encryption-related information.+mutableClusterInfo_encryptionInfo :: Lens.Lens' MutableClusterInfo (Prelude.Maybe EncryptionInfo)+mutableClusterInfo_encryptionInfo = Lens.lens (\MutableClusterInfo' {encryptionInfo} -> encryptionInfo) (\s@MutableClusterInfo' {} a -> s {encryptionInfo = a} :: MutableClusterInfo)++-- | Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+-- Amazon CloudWatch for this cluster.+mutableClusterInfo_enhancedMonitoring :: Lens.Lens' MutableClusterInfo (Prelude.Maybe EnhancedMonitoring)+mutableClusterInfo_enhancedMonitoring = Lens.lens (\MutableClusterInfo' {enhancedMonitoring} -> enhancedMonitoring) (\s@MutableClusterInfo' {} a -> s {enhancedMonitoring = a} :: MutableClusterInfo)++-- | Information about the Amazon MSK broker type.+mutableClusterInfo_instanceType :: Lens.Lens' MutableClusterInfo (Prelude.Maybe Prelude.Text)+mutableClusterInfo_instanceType = Lens.lens (\MutableClusterInfo' {instanceType} -> instanceType) (\s@MutableClusterInfo' {} a -> s {instanceType = a} :: MutableClusterInfo)++-- | The Apache Kafka version.+mutableClusterInfo_kafkaVersion :: Lens.Lens' MutableClusterInfo (Prelude.Maybe Prelude.Text)+mutableClusterInfo_kafkaVersion = Lens.lens (\MutableClusterInfo' {kafkaVersion} -> kafkaVersion) (\s@MutableClusterInfo' {} a -> s {kafkaVersion = a} :: MutableClusterInfo)++-- | You can configure your MSK cluster to send broker logs to different+-- destination types. This is a container for the configuration details+-- related to broker logs.+mutableClusterInfo_loggingInfo :: Lens.Lens' MutableClusterInfo (Prelude.Maybe LoggingInfo)+mutableClusterInfo_loggingInfo = Lens.lens (\MutableClusterInfo' {loggingInfo} -> loggingInfo) (\s@MutableClusterInfo' {} a -> s {loggingInfo = a} :: MutableClusterInfo)++-- | The number of broker nodes in the cluster.+mutableClusterInfo_numberOfBrokerNodes :: Lens.Lens' MutableClusterInfo (Prelude.Maybe Prelude.Int)+mutableClusterInfo_numberOfBrokerNodes = Lens.lens (\MutableClusterInfo' {numberOfBrokerNodes} -> numberOfBrokerNodes) (\s@MutableClusterInfo' {} a -> s {numberOfBrokerNodes = a} :: MutableClusterInfo)++-- | The settings for open monitoring.+mutableClusterInfo_openMonitoring :: Lens.Lens' MutableClusterInfo (Prelude.Maybe OpenMonitoring)+mutableClusterInfo_openMonitoring = Lens.lens (\MutableClusterInfo' {openMonitoring} -> openMonitoring) (\s@MutableClusterInfo' {} a -> s {openMonitoring = a} :: MutableClusterInfo)++-- | This controls storage mode for supported storage tiers.+mutableClusterInfo_storageMode :: Lens.Lens' MutableClusterInfo (Prelude.Maybe StorageMode)+mutableClusterInfo_storageMode = Lens.lens (\MutableClusterInfo' {storageMode} -> storageMode) (\s@MutableClusterInfo' {} a -> s {storageMode = a} :: MutableClusterInfo)++instance Data.FromJSON MutableClusterInfo where+ parseJSON =+ Data.withObject+ "MutableClusterInfo"+ ( \x ->+ MutableClusterInfo'+ Prelude.<$> ( x+ Data..:? "brokerEBSVolumeInfo"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "clientAuthentication")+ Prelude.<*> (x Data..:? "configurationInfo")+ Prelude.<*> (x Data..:? "connectivityInfo")+ Prelude.<*> (x Data..:? "encryptionInfo")+ Prelude.<*> (x Data..:? "enhancedMonitoring")+ Prelude.<*> (x Data..:? "instanceType")+ Prelude.<*> (x Data..:? "kafkaVersion")+ Prelude.<*> (x Data..:? "loggingInfo")+ Prelude.<*> (x Data..:? "numberOfBrokerNodes")+ Prelude.<*> (x Data..:? "openMonitoring")+ Prelude.<*> (x Data..:? "storageMode")+ )++instance Prelude.Hashable MutableClusterInfo where+ hashWithSalt _salt MutableClusterInfo' {..} =+ _salt+ `Prelude.hashWithSalt` brokerEBSVolumeInfo+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` configurationInfo+ `Prelude.hashWithSalt` connectivityInfo+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` instanceType+ `Prelude.hashWithSalt` kafkaVersion+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` numberOfBrokerNodes+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` storageMode++instance Prelude.NFData MutableClusterInfo where+ rnf MutableClusterInfo' {..} =+ Prelude.rnf brokerEBSVolumeInfo+ `Prelude.seq` Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf configurationInfo+ `Prelude.seq` Prelude.rnf connectivityInfo+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf instanceType+ `Prelude.seq` Prelude.rnf kafkaVersion+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf numberOfBrokerNodes+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf storageMode
+ gen/Amazonka/Kafka/Types/NodeExporter.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.NodeExporter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.NodeExporter 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++-- | Indicates whether you want to turn on or turn off the Node Exporter.+--+-- /See:/ 'newNodeExporter' smart constructor.+data NodeExporter = NodeExporter'+ { -- | Indicates whether you want to turn on or turn off the Node Exporter.+ enabledInBroker :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeExporter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabledInBroker', 'nodeExporter_enabledInBroker' - Indicates whether you want to turn on or turn off the Node Exporter.+newNodeExporter ::+ -- | 'enabledInBroker'+ Prelude.Bool ->+ NodeExporter+newNodeExporter pEnabledInBroker_ =+ NodeExporter' {enabledInBroker = pEnabledInBroker_}++-- | Indicates whether you want to turn on or turn off the Node Exporter.+nodeExporter_enabledInBroker :: Lens.Lens' NodeExporter Prelude.Bool+nodeExporter_enabledInBroker = Lens.lens (\NodeExporter' {enabledInBroker} -> enabledInBroker) (\s@NodeExporter' {} a -> s {enabledInBroker = a} :: NodeExporter)++instance Data.FromJSON NodeExporter where+ parseJSON =+ Data.withObject+ "NodeExporter"+ ( \x ->+ NodeExporter'+ Prelude.<$> (x Data..: "enabledInBroker")+ )++instance Prelude.Hashable NodeExporter where+ hashWithSalt _salt NodeExporter' {..} =+ _salt `Prelude.hashWithSalt` enabledInBroker++instance Prelude.NFData NodeExporter where+ rnf NodeExporter' {..} = Prelude.rnf enabledInBroker
+ gen/Amazonka/Kafka/Types/NodeExporterInfo.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.NodeExporterInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.NodeExporterInfo 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++-- | Indicates whether you want to turn on or turn off the Node Exporter.+--+-- /See:/ 'newNodeExporterInfo' smart constructor.+data NodeExporterInfo = NodeExporterInfo'+ { -- | Indicates whether you want to turn on or turn off the Node Exporter.+ enabledInBroker :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeExporterInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabledInBroker', 'nodeExporterInfo_enabledInBroker' - Indicates whether you want to turn on or turn off the Node Exporter.+newNodeExporterInfo ::+ -- | 'enabledInBroker'+ Prelude.Bool ->+ NodeExporterInfo+newNodeExporterInfo pEnabledInBroker_ =+ NodeExporterInfo'+ { enabledInBroker =+ pEnabledInBroker_+ }++-- | Indicates whether you want to turn on or turn off the Node Exporter.+nodeExporterInfo_enabledInBroker :: Lens.Lens' NodeExporterInfo Prelude.Bool+nodeExporterInfo_enabledInBroker = Lens.lens (\NodeExporterInfo' {enabledInBroker} -> enabledInBroker) (\s@NodeExporterInfo' {} a -> s {enabledInBroker = a} :: NodeExporterInfo)++instance Data.FromJSON NodeExporterInfo where+ parseJSON =+ Data.withObject+ "NodeExporterInfo"+ ( \x ->+ NodeExporterInfo'+ Prelude.<$> (x Data..: "enabledInBroker")+ )++instance Prelude.Hashable NodeExporterInfo where+ hashWithSalt _salt NodeExporterInfo' {..} =+ _salt `Prelude.hashWithSalt` enabledInBroker++instance Prelude.NFData NodeExporterInfo where+ rnf NodeExporterInfo' {..} =+ Prelude.rnf enabledInBroker++instance Data.ToJSON NodeExporterInfo where+ toJSON NodeExporterInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("enabledInBroker" Data..= enabledInBroker)+ ]+ )
+ gen/Amazonka/Kafka/Types/NodeInfo.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.NodeInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.NodeInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerNodeInfo+import Amazonka.Kafka.Types.NodeType+import Amazonka.Kafka.Types.ZookeeperNodeInfo+import qualified Amazonka.Prelude as Prelude++-- | The node information object.+--+-- /See:/ 'newNodeInfo' smart constructor.+data NodeInfo = NodeInfo'+ { -- | The start time.+ addedToClusterTime :: Prelude.Maybe Prelude.Text,+ -- | The broker node info.+ brokerNodeInfo :: Prelude.Maybe BrokerNodeInfo,+ -- | The instance type.+ instanceType :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the node.+ nodeARN :: Prelude.Maybe Prelude.Text,+ -- | The node type.+ nodeType :: Prelude.Maybe NodeType,+ -- | The ZookeeperNodeInfo.+ zookeeperNodeInfo :: Prelude.Maybe ZookeeperNodeInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addedToClusterTime', 'nodeInfo_addedToClusterTime' - The start time.+--+-- 'brokerNodeInfo', 'nodeInfo_brokerNodeInfo' - The broker node info.+--+-- 'instanceType', 'nodeInfo_instanceType' - The instance type.+--+-- 'nodeARN', 'nodeInfo_nodeARN' - The Amazon Resource Name (ARN) of the node.+--+-- 'nodeType', 'nodeInfo_nodeType' - The node type.+--+-- 'zookeeperNodeInfo', 'nodeInfo_zookeeperNodeInfo' - The ZookeeperNodeInfo.+newNodeInfo ::+ NodeInfo+newNodeInfo =+ NodeInfo'+ { addedToClusterTime = Prelude.Nothing,+ brokerNodeInfo = Prelude.Nothing,+ instanceType = Prelude.Nothing,+ nodeARN = Prelude.Nothing,+ nodeType = Prelude.Nothing,+ zookeeperNodeInfo = Prelude.Nothing+ }++-- | The start time.+nodeInfo_addedToClusterTime :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)+nodeInfo_addedToClusterTime = Lens.lens (\NodeInfo' {addedToClusterTime} -> addedToClusterTime) (\s@NodeInfo' {} a -> s {addedToClusterTime = a} :: NodeInfo)++-- | The broker node info.+nodeInfo_brokerNodeInfo :: Lens.Lens' NodeInfo (Prelude.Maybe BrokerNodeInfo)+nodeInfo_brokerNodeInfo = Lens.lens (\NodeInfo' {brokerNodeInfo} -> brokerNodeInfo) (\s@NodeInfo' {} a -> s {brokerNodeInfo = a} :: NodeInfo)++-- | The instance type.+nodeInfo_instanceType :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)+nodeInfo_instanceType = Lens.lens (\NodeInfo' {instanceType} -> instanceType) (\s@NodeInfo' {} a -> s {instanceType = a} :: NodeInfo)++-- | The Amazon Resource Name (ARN) of the node.+nodeInfo_nodeARN :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)+nodeInfo_nodeARN = Lens.lens (\NodeInfo' {nodeARN} -> nodeARN) (\s@NodeInfo' {} a -> s {nodeARN = a} :: NodeInfo)++-- | The node type.+nodeInfo_nodeType :: Lens.Lens' NodeInfo (Prelude.Maybe NodeType)+nodeInfo_nodeType = Lens.lens (\NodeInfo' {nodeType} -> nodeType) (\s@NodeInfo' {} a -> s {nodeType = a} :: NodeInfo)++-- | The ZookeeperNodeInfo.+nodeInfo_zookeeperNodeInfo :: Lens.Lens' NodeInfo (Prelude.Maybe ZookeeperNodeInfo)+nodeInfo_zookeeperNodeInfo = Lens.lens (\NodeInfo' {zookeeperNodeInfo} -> zookeeperNodeInfo) (\s@NodeInfo' {} a -> s {zookeeperNodeInfo = a} :: NodeInfo)++instance Data.FromJSON NodeInfo where+ parseJSON =+ Data.withObject+ "NodeInfo"+ ( \x ->+ NodeInfo'+ Prelude.<$> (x Data..:? "addedToClusterTime")+ Prelude.<*> (x Data..:? "brokerNodeInfo")+ Prelude.<*> (x Data..:? "instanceType")+ Prelude.<*> (x Data..:? "nodeARN")+ Prelude.<*> (x Data..:? "nodeType")+ Prelude.<*> (x Data..:? "zookeeperNodeInfo")+ )++instance Prelude.Hashable NodeInfo where+ hashWithSalt _salt NodeInfo' {..} =+ _salt+ `Prelude.hashWithSalt` addedToClusterTime+ `Prelude.hashWithSalt` brokerNodeInfo+ `Prelude.hashWithSalt` instanceType+ `Prelude.hashWithSalt` nodeARN+ `Prelude.hashWithSalt` nodeType+ `Prelude.hashWithSalt` zookeeperNodeInfo++instance Prelude.NFData NodeInfo where+ rnf NodeInfo' {..} =+ Prelude.rnf addedToClusterTime+ `Prelude.seq` Prelude.rnf brokerNodeInfo+ `Prelude.seq` Prelude.rnf instanceType+ `Prelude.seq` Prelude.rnf nodeARN+ `Prelude.seq` Prelude.rnf nodeType+ `Prelude.seq` Prelude.rnf zookeeperNodeInfo
+ gen/Amazonka/Kafka/Types/NodeType.hs view
@@ -0,0 +1,67 @@+{-# 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.Kafka.Types.NodeType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.NodeType+ ( NodeType+ ( ..,+ NodeType_BROKER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The broker or Zookeeper node.+newtype NodeType = NodeType'+ { fromNodeType ::+ 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 NodeType_BROKER :: NodeType+pattern NodeType_BROKER = NodeType' "BROKER"++{-# COMPLETE+ NodeType_BROKER,+ NodeType'+ #-}
+ gen/Amazonka/Kafka/Types/OpenMonitoring.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.OpenMonitoring+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.OpenMonitoring where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.Prometheus+import qualified Amazonka.Prelude as Prelude++-- | JMX and Node monitoring for the MSK cluster.+--+-- /See:/ 'newOpenMonitoring' smart constructor.+data OpenMonitoring = OpenMonitoring'+ { -- | Prometheus settings.+ prometheus :: Prometheus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenMonitoring' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prometheus', 'openMonitoring_prometheus' - Prometheus settings.+newOpenMonitoring ::+ -- | 'prometheus'+ Prometheus ->+ OpenMonitoring+newOpenMonitoring pPrometheus_ =+ OpenMonitoring' {prometheus = pPrometheus_}++-- | Prometheus settings.+openMonitoring_prometheus :: Lens.Lens' OpenMonitoring Prometheus+openMonitoring_prometheus = Lens.lens (\OpenMonitoring' {prometheus} -> prometheus) (\s@OpenMonitoring' {} a -> s {prometheus = a} :: OpenMonitoring)++instance Data.FromJSON OpenMonitoring where+ parseJSON =+ Data.withObject+ "OpenMonitoring"+ ( \x ->+ OpenMonitoring' Prelude.<$> (x Data..: "prometheus")+ )++instance Prelude.Hashable OpenMonitoring where+ hashWithSalt _salt OpenMonitoring' {..} =+ _salt `Prelude.hashWithSalt` prometheus++instance Prelude.NFData OpenMonitoring where+ rnf OpenMonitoring' {..} = Prelude.rnf prometheus
+ gen/Amazonka/Kafka/Types/OpenMonitoringInfo.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.Kafka.Types.OpenMonitoringInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.OpenMonitoringInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.PrometheusInfo+import qualified Amazonka.Prelude as Prelude++-- | JMX and Node monitoring for the MSK cluster.+--+-- /See:/ 'newOpenMonitoringInfo' smart constructor.+data OpenMonitoringInfo = OpenMonitoringInfo'+ { -- | Prometheus settings.+ prometheus :: PrometheusInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OpenMonitoringInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prometheus', 'openMonitoringInfo_prometheus' - Prometheus settings.+newOpenMonitoringInfo ::+ -- | 'prometheus'+ PrometheusInfo ->+ OpenMonitoringInfo+newOpenMonitoringInfo pPrometheus_ =+ OpenMonitoringInfo' {prometheus = pPrometheus_}++-- | Prometheus settings.+openMonitoringInfo_prometheus :: Lens.Lens' OpenMonitoringInfo PrometheusInfo+openMonitoringInfo_prometheus = Lens.lens (\OpenMonitoringInfo' {prometheus} -> prometheus) (\s@OpenMonitoringInfo' {} a -> s {prometheus = a} :: OpenMonitoringInfo)++instance Data.FromJSON OpenMonitoringInfo where+ parseJSON =+ Data.withObject+ "OpenMonitoringInfo"+ ( \x ->+ OpenMonitoringInfo'+ Prelude.<$> (x Data..: "prometheus")+ )++instance Prelude.Hashable OpenMonitoringInfo where+ hashWithSalt _salt OpenMonitoringInfo' {..} =+ _salt `Prelude.hashWithSalt` prometheus++instance Prelude.NFData OpenMonitoringInfo where+ rnf OpenMonitoringInfo' {..} = Prelude.rnf prometheus++instance Data.ToJSON OpenMonitoringInfo where+ toJSON OpenMonitoringInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("prometheus" Data..= prometheus)]+ )
+ gen/Amazonka/Kafka/Types/Prometheus.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.Kafka.Types.Prometheus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Prometheus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.JmxExporter+import Amazonka.Kafka.Types.NodeExporter+import qualified Amazonka.Prelude as Prelude++-- | Prometheus settings.+--+-- /See:/ 'newPrometheus' smart constructor.+data Prometheus = Prometheus'+ { -- | Indicates whether you want to turn on or turn off the JMX Exporter.+ jmxExporter :: Prelude.Maybe JmxExporter,+ -- | Indicates whether you want to turn on or turn off the Node Exporter.+ nodeExporter :: Prelude.Maybe NodeExporter+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Prometheus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jmxExporter', 'prometheus_jmxExporter' - Indicates whether you want to turn on or turn off the JMX Exporter.+--+-- 'nodeExporter', 'prometheus_nodeExporter' - Indicates whether you want to turn on or turn off the Node Exporter.+newPrometheus ::+ Prometheus+newPrometheus =+ Prometheus'+ { jmxExporter = Prelude.Nothing,+ nodeExporter = Prelude.Nothing+ }++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+prometheus_jmxExporter :: Lens.Lens' Prometheus (Prelude.Maybe JmxExporter)+prometheus_jmxExporter = Lens.lens (\Prometheus' {jmxExporter} -> jmxExporter) (\s@Prometheus' {} a -> s {jmxExporter = a} :: Prometheus)++-- | Indicates whether you want to turn on or turn off the Node Exporter.+prometheus_nodeExporter :: Lens.Lens' Prometheus (Prelude.Maybe NodeExporter)+prometheus_nodeExporter = Lens.lens (\Prometheus' {nodeExporter} -> nodeExporter) (\s@Prometheus' {} a -> s {nodeExporter = a} :: Prometheus)++instance Data.FromJSON Prometheus where+ parseJSON =+ Data.withObject+ "Prometheus"+ ( \x ->+ Prometheus'+ Prelude.<$> (x Data..:? "jmxExporter")+ Prelude.<*> (x Data..:? "nodeExporter")+ )++instance Prelude.Hashable Prometheus where+ hashWithSalt _salt Prometheus' {..} =+ _salt+ `Prelude.hashWithSalt` jmxExporter+ `Prelude.hashWithSalt` nodeExporter++instance Prelude.NFData Prometheus where+ rnf Prometheus' {..} =+ Prelude.rnf jmxExporter+ `Prelude.seq` Prelude.rnf nodeExporter
+ gen/Amazonka/Kafka/Types/PrometheusInfo.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.Kafka.Types.PrometheusInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.PrometheusInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.JmxExporterInfo+import Amazonka.Kafka.Types.NodeExporterInfo+import qualified Amazonka.Prelude as Prelude++-- | Prometheus settings.+--+-- /See:/ 'newPrometheusInfo' smart constructor.+data PrometheusInfo = PrometheusInfo'+ { -- | Indicates whether you want to turn on or turn off the JMX Exporter.+ jmxExporter :: Prelude.Maybe JmxExporterInfo,+ -- | Indicates whether you want to turn on or turn off the Node Exporter.+ nodeExporter :: Prelude.Maybe NodeExporterInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrometheusInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jmxExporter', 'prometheusInfo_jmxExporter' - Indicates whether you want to turn on or turn off the JMX Exporter.+--+-- 'nodeExporter', 'prometheusInfo_nodeExporter' - Indicates whether you want to turn on or turn off the Node Exporter.+newPrometheusInfo ::+ PrometheusInfo+newPrometheusInfo =+ PrometheusInfo'+ { jmxExporter = Prelude.Nothing,+ nodeExporter = Prelude.Nothing+ }++-- | Indicates whether you want to turn on or turn off the JMX Exporter.+prometheusInfo_jmxExporter :: Lens.Lens' PrometheusInfo (Prelude.Maybe JmxExporterInfo)+prometheusInfo_jmxExporter = Lens.lens (\PrometheusInfo' {jmxExporter} -> jmxExporter) (\s@PrometheusInfo' {} a -> s {jmxExporter = a} :: PrometheusInfo)++-- | Indicates whether you want to turn on or turn off the Node Exporter.+prometheusInfo_nodeExporter :: Lens.Lens' PrometheusInfo (Prelude.Maybe NodeExporterInfo)+prometheusInfo_nodeExporter = Lens.lens (\PrometheusInfo' {nodeExporter} -> nodeExporter) (\s@PrometheusInfo' {} a -> s {nodeExporter = a} :: PrometheusInfo)++instance Data.FromJSON PrometheusInfo where+ parseJSON =+ Data.withObject+ "PrometheusInfo"+ ( \x ->+ PrometheusInfo'+ Prelude.<$> (x Data..:? "jmxExporter")+ Prelude.<*> (x Data..:? "nodeExporter")+ )++instance Prelude.Hashable PrometheusInfo where+ hashWithSalt _salt PrometheusInfo' {..} =+ _salt+ `Prelude.hashWithSalt` jmxExporter+ `Prelude.hashWithSalt` nodeExporter++instance Prelude.NFData PrometheusInfo where+ rnf PrometheusInfo' {..} =+ Prelude.rnf jmxExporter+ `Prelude.seq` Prelude.rnf nodeExporter++instance Data.ToJSON PrometheusInfo where+ toJSON PrometheusInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("jmxExporter" Data..=) Prelude.<$> jmxExporter,+ ("nodeExporter" Data..=) Prelude.<$> nodeExporter+ ]+ )
+ gen/Amazonka/Kafka/Types/Provisioned.hs view
@@ -0,0 +1,216 @@+{-# 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.Kafka.Types.Provisioned+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Provisioned where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerNodeGroupInfo+import Amazonka.Kafka.Types.BrokerSoftwareInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.EnhancedMonitoring+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.OpenMonitoringInfo+import Amazonka.Kafka.Types.StorageMode+import qualified Amazonka.Prelude as Prelude++-- | Provisioned cluster.+--+-- /See:/ 'newProvisioned' smart constructor.+data Provisioned = Provisioned'+ { -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | Information about the Apache Kafka version deployed on the brokers.+ currentBrokerSoftwareInfo :: Prelude.Maybe BrokerSoftwareInfo,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | Specifies the level of monitoring for the MSK cluster. The possible+ -- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+ -- PER_TOPIC_PER_PARTITION.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ -- | Log delivery information for the cluster.+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The settings for open monitoring.+ openMonitoring :: Prelude.Maybe OpenMonitoringInfo,+ -- | This controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode,+ -- | The connection string to use to connect to the Apache ZooKeeper cluster.+ zookeeperConnectString :: Prelude.Maybe Prelude.Text,+ -- | The connection string to use to connect to the Apache ZooKeeper cluster+ -- on a TLS port.+ zookeeperConnectStringTls :: Prelude.Maybe Prelude.Text,+ -- | Information about the brokers.+ brokerNodeGroupInfo :: BrokerNodeGroupInfo,+ -- | The number of broker nodes in the cluster.+ numberOfBrokerNodes :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Provisioned' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'provisioned_clientAuthentication' - Includes all client authentication information.+--+-- 'currentBrokerSoftwareInfo', 'provisioned_currentBrokerSoftwareInfo' - Information about the Apache Kafka version deployed on the brokers.+--+-- 'encryptionInfo', 'provisioned_encryptionInfo' - Includes all encryption-related information.+--+-- 'enhancedMonitoring', 'provisioned_enhancedMonitoring' - Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+--+-- 'loggingInfo', 'provisioned_loggingInfo' - Log delivery information for the cluster.+--+-- 'openMonitoring', 'provisioned_openMonitoring' - The settings for open monitoring.+--+-- 'storageMode', 'provisioned_storageMode' - This controls storage mode for supported storage tiers.+--+-- 'zookeeperConnectString', 'provisioned_zookeeperConnectString' - The connection string to use to connect to the Apache ZooKeeper cluster.+--+-- 'zookeeperConnectStringTls', 'provisioned_zookeeperConnectStringTls' - The connection string to use to connect to the Apache ZooKeeper cluster+-- on a TLS port.+--+-- 'brokerNodeGroupInfo', 'provisioned_brokerNodeGroupInfo' - Information about the brokers.+--+-- 'numberOfBrokerNodes', 'provisioned_numberOfBrokerNodes' - The number of broker nodes in the cluster.+newProvisioned ::+ -- | 'brokerNodeGroupInfo'+ BrokerNodeGroupInfo ->+ -- | 'numberOfBrokerNodes'+ Prelude.Natural ->+ Provisioned+newProvisioned+ pBrokerNodeGroupInfo_+ pNumberOfBrokerNodes_ =+ Provisioned'+ { clientAuthentication =+ Prelude.Nothing,+ currentBrokerSoftwareInfo = Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ enhancedMonitoring = Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ storageMode = Prelude.Nothing,+ zookeeperConnectString = Prelude.Nothing,+ zookeeperConnectStringTls = Prelude.Nothing,+ brokerNodeGroupInfo = pBrokerNodeGroupInfo_,+ numberOfBrokerNodes = pNumberOfBrokerNodes_+ }++-- | Includes all client authentication information.+provisioned_clientAuthentication :: Lens.Lens' Provisioned (Prelude.Maybe ClientAuthentication)+provisioned_clientAuthentication = Lens.lens (\Provisioned' {clientAuthentication} -> clientAuthentication) (\s@Provisioned' {} a -> s {clientAuthentication = a} :: Provisioned)++-- | Information about the Apache Kafka version deployed on the brokers.+provisioned_currentBrokerSoftwareInfo :: Lens.Lens' Provisioned (Prelude.Maybe BrokerSoftwareInfo)+provisioned_currentBrokerSoftwareInfo = Lens.lens (\Provisioned' {currentBrokerSoftwareInfo} -> currentBrokerSoftwareInfo) (\s@Provisioned' {} a -> s {currentBrokerSoftwareInfo = a} :: Provisioned)++-- | Includes all encryption-related information.+provisioned_encryptionInfo :: Lens.Lens' Provisioned (Prelude.Maybe EncryptionInfo)+provisioned_encryptionInfo = Lens.lens (\Provisioned' {encryptionInfo} -> encryptionInfo) (\s@Provisioned' {} a -> s {encryptionInfo = a} :: Provisioned)++-- | Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+provisioned_enhancedMonitoring :: Lens.Lens' Provisioned (Prelude.Maybe EnhancedMonitoring)+provisioned_enhancedMonitoring = Lens.lens (\Provisioned' {enhancedMonitoring} -> enhancedMonitoring) (\s@Provisioned' {} a -> s {enhancedMonitoring = a} :: Provisioned)++-- | Log delivery information for the cluster.+provisioned_loggingInfo :: Lens.Lens' Provisioned (Prelude.Maybe LoggingInfo)+provisioned_loggingInfo = Lens.lens (\Provisioned' {loggingInfo} -> loggingInfo) (\s@Provisioned' {} a -> s {loggingInfo = a} :: Provisioned)++-- | The settings for open monitoring.+provisioned_openMonitoring :: Lens.Lens' Provisioned (Prelude.Maybe OpenMonitoringInfo)+provisioned_openMonitoring = Lens.lens (\Provisioned' {openMonitoring} -> openMonitoring) (\s@Provisioned' {} a -> s {openMonitoring = a} :: Provisioned)++-- | This controls storage mode for supported storage tiers.+provisioned_storageMode :: Lens.Lens' Provisioned (Prelude.Maybe StorageMode)+provisioned_storageMode = Lens.lens (\Provisioned' {storageMode} -> storageMode) (\s@Provisioned' {} a -> s {storageMode = a} :: Provisioned)++-- | The connection string to use to connect to the Apache ZooKeeper cluster.+provisioned_zookeeperConnectString :: Lens.Lens' Provisioned (Prelude.Maybe Prelude.Text)+provisioned_zookeeperConnectString = Lens.lens (\Provisioned' {zookeeperConnectString} -> zookeeperConnectString) (\s@Provisioned' {} a -> s {zookeeperConnectString = a} :: Provisioned)++-- | The connection string to use to connect to the Apache ZooKeeper cluster+-- on a TLS port.+provisioned_zookeeperConnectStringTls :: Lens.Lens' Provisioned (Prelude.Maybe Prelude.Text)+provisioned_zookeeperConnectStringTls = Lens.lens (\Provisioned' {zookeeperConnectStringTls} -> zookeeperConnectStringTls) (\s@Provisioned' {} a -> s {zookeeperConnectStringTls = a} :: Provisioned)++-- | Information about the brokers.+provisioned_brokerNodeGroupInfo :: Lens.Lens' Provisioned BrokerNodeGroupInfo+provisioned_brokerNodeGroupInfo = Lens.lens (\Provisioned' {brokerNodeGroupInfo} -> brokerNodeGroupInfo) (\s@Provisioned' {} a -> s {brokerNodeGroupInfo = a} :: Provisioned)++-- | The number of broker nodes in the cluster.+provisioned_numberOfBrokerNodes :: Lens.Lens' Provisioned Prelude.Natural+provisioned_numberOfBrokerNodes = Lens.lens (\Provisioned' {numberOfBrokerNodes} -> numberOfBrokerNodes) (\s@Provisioned' {} a -> s {numberOfBrokerNodes = a} :: Provisioned)++instance Data.FromJSON Provisioned where+ parseJSON =+ Data.withObject+ "Provisioned"+ ( \x ->+ Provisioned'+ Prelude.<$> (x Data..:? "clientAuthentication")+ Prelude.<*> (x Data..:? "currentBrokerSoftwareInfo")+ Prelude.<*> (x Data..:? "encryptionInfo")+ Prelude.<*> (x Data..:? "enhancedMonitoring")+ Prelude.<*> (x Data..:? "loggingInfo")+ Prelude.<*> (x Data..:? "openMonitoring")+ Prelude.<*> (x Data..:? "storageMode")+ Prelude.<*> (x Data..:? "zookeeperConnectString")+ Prelude.<*> (x Data..:? "zookeeperConnectStringTls")+ Prelude.<*> (x Data..: "brokerNodeGroupInfo")+ Prelude.<*> (x Data..: "numberOfBrokerNodes")+ )++instance Prelude.Hashable Provisioned where+ hashWithSalt _salt Provisioned' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` currentBrokerSoftwareInfo+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` storageMode+ `Prelude.hashWithSalt` zookeeperConnectString+ `Prelude.hashWithSalt` zookeeperConnectStringTls+ `Prelude.hashWithSalt` brokerNodeGroupInfo+ `Prelude.hashWithSalt` numberOfBrokerNodes++instance Prelude.NFData Provisioned where+ rnf Provisioned' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf currentBrokerSoftwareInfo+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf storageMode+ `Prelude.seq` Prelude.rnf zookeeperConnectString+ `Prelude.seq` Prelude.rnf zookeeperConnectStringTls+ `Prelude.seq` Prelude.rnf brokerNodeGroupInfo+ `Prelude.seq` Prelude.rnf numberOfBrokerNodes
+ gen/Amazonka/Kafka/Types/ProvisionedRequest.hs view
@@ -0,0 +1,213 @@+{-# 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.Kafka.Types.ProvisionedRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ProvisionedRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.BrokerNodeGroupInfo+import Amazonka.Kafka.Types.ClientAuthentication+import Amazonka.Kafka.Types.ConfigurationInfo+import Amazonka.Kafka.Types.EncryptionInfo+import Amazonka.Kafka.Types.EnhancedMonitoring+import Amazonka.Kafka.Types.LoggingInfo+import Amazonka.Kafka.Types.OpenMonitoringInfo+import Amazonka.Kafka.Types.StorageMode+import qualified Amazonka.Prelude as Prelude++-- | Provisioned cluster request.+--+-- /See:/ 'newProvisionedRequest' smart constructor.+data ProvisionedRequest = ProvisionedRequest'+ { -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | Represents the configuration that you want Amazon MSK to use for the+ -- brokers in a cluster.+ configurationInfo :: Prelude.Maybe ConfigurationInfo,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | Specifies the level of monitoring for the MSK cluster. The possible+ -- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+ -- PER_TOPIC_PER_PARTITION.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ -- | Log delivery information for the cluster.+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The settings for open monitoring.+ openMonitoring :: Prelude.Maybe OpenMonitoringInfo,+ -- | This controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode,+ -- | Information about the brokers.+ brokerNodeGroupInfo :: BrokerNodeGroupInfo,+ -- | The Apache Kafka version that you want for the cluster.+ kafkaVersion :: Prelude.Text,+ -- | The number of broker nodes in the cluster.+ numberOfBrokerNodes :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionedRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'provisionedRequest_clientAuthentication' - Includes all client authentication information.+--+-- 'configurationInfo', 'provisionedRequest_configurationInfo' - Represents the configuration that you want Amazon MSK to use for the+-- brokers in a cluster.+--+-- 'encryptionInfo', 'provisionedRequest_encryptionInfo' - Includes all encryption-related information.+--+-- 'enhancedMonitoring', 'provisionedRequest_enhancedMonitoring' - Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+--+-- 'loggingInfo', 'provisionedRequest_loggingInfo' - Log delivery information for the cluster.+--+-- 'openMonitoring', 'provisionedRequest_openMonitoring' - The settings for open monitoring.+--+-- 'storageMode', 'provisionedRequest_storageMode' - This controls storage mode for supported storage tiers.+--+-- 'brokerNodeGroupInfo', 'provisionedRequest_brokerNodeGroupInfo' - Information about the brokers.+--+-- 'kafkaVersion', 'provisionedRequest_kafkaVersion' - The Apache Kafka version that you want for the cluster.+--+-- 'numberOfBrokerNodes', 'provisionedRequest_numberOfBrokerNodes' - The number of broker nodes in the cluster.+newProvisionedRequest ::+ -- | 'brokerNodeGroupInfo'+ BrokerNodeGroupInfo ->+ -- | 'kafkaVersion'+ Prelude.Text ->+ -- | 'numberOfBrokerNodes'+ Prelude.Natural ->+ ProvisionedRequest+newProvisionedRequest+ pBrokerNodeGroupInfo_+ pKafkaVersion_+ pNumberOfBrokerNodes_ =+ ProvisionedRequest'+ { clientAuthentication =+ Prelude.Nothing,+ configurationInfo = Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ enhancedMonitoring = Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ storageMode = Prelude.Nothing,+ brokerNodeGroupInfo = pBrokerNodeGroupInfo_,+ kafkaVersion = pKafkaVersion_,+ numberOfBrokerNodes = pNumberOfBrokerNodes_+ }++-- | Includes all client authentication information.+provisionedRequest_clientAuthentication :: Lens.Lens' ProvisionedRequest (Prelude.Maybe ClientAuthentication)+provisionedRequest_clientAuthentication = Lens.lens (\ProvisionedRequest' {clientAuthentication} -> clientAuthentication) (\s@ProvisionedRequest' {} a -> s {clientAuthentication = a} :: ProvisionedRequest)++-- | Represents the configuration that you want Amazon MSK to use for the+-- brokers in a cluster.+provisionedRequest_configurationInfo :: Lens.Lens' ProvisionedRequest (Prelude.Maybe ConfigurationInfo)+provisionedRequest_configurationInfo = Lens.lens (\ProvisionedRequest' {configurationInfo} -> configurationInfo) (\s@ProvisionedRequest' {} a -> s {configurationInfo = a} :: ProvisionedRequest)++-- | Includes all encryption-related information.+provisionedRequest_encryptionInfo :: Lens.Lens' ProvisionedRequest (Prelude.Maybe EncryptionInfo)+provisionedRequest_encryptionInfo = Lens.lens (\ProvisionedRequest' {encryptionInfo} -> encryptionInfo) (\s@ProvisionedRequest' {} a -> s {encryptionInfo = a} :: ProvisionedRequest)++-- | Specifies the level of monitoring for the MSK cluster. The possible+-- values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and+-- PER_TOPIC_PER_PARTITION.+provisionedRequest_enhancedMonitoring :: Lens.Lens' ProvisionedRequest (Prelude.Maybe EnhancedMonitoring)+provisionedRequest_enhancedMonitoring = Lens.lens (\ProvisionedRequest' {enhancedMonitoring} -> enhancedMonitoring) (\s@ProvisionedRequest' {} a -> s {enhancedMonitoring = a} :: ProvisionedRequest)++-- | Log delivery information for the cluster.+provisionedRequest_loggingInfo :: Lens.Lens' ProvisionedRequest (Prelude.Maybe LoggingInfo)+provisionedRequest_loggingInfo = Lens.lens (\ProvisionedRequest' {loggingInfo} -> loggingInfo) (\s@ProvisionedRequest' {} a -> s {loggingInfo = a} :: ProvisionedRequest)++-- | The settings for open monitoring.+provisionedRequest_openMonitoring :: Lens.Lens' ProvisionedRequest (Prelude.Maybe OpenMonitoringInfo)+provisionedRequest_openMonitoring = Lens.lens (\ProvisionedRequest' {openMonitoring} -> openMonitoring) (\s@ProvisionedRequest' {} a -> s {openMonitoring = a} :: ProvisionedRequest)++-- | This controls storage mode for supported storage tiers.+provisionedRequest_storageMode :: Lens.Lens' ProvisionedRequest (Prelude.Maybe StorageMode)+provisionedRequest_storageMode = Lens.lens (\ProvisionedRequest' {storageMode} -> storageMode) (\s@ProvisionedRequest' {} a -> s {storageMode = a} :: ProvisionedRequest)++-- | Information about the brokers.+provisionedRequest_brokerNodeGroupInfo :: Lens.Lens' ProvisionedRequest BrokerNodeGroupInfo+provisionedRequest_brokerNodeGroupInfo = Lens.lens (\ProvisionedRequest' {brokerNodeGroupInfo} -> brokerNodeGroupInfo) (\s@ProvisionedRequest' {} a -> s {brokerNodeGroupInfo = a} :: ProvisionedRequest)++-- | The Apache Kafka version that you want for the cluster.+provisionedRequest_kafkaVersion :: Lens.Lens' ProvisionedRequest Prelude.Text+provisionedRequest_kafkaVersion = Lens.lens (\ProvisionedRequest' {kafkaVersion} -> kafkaVersion) (\s@ProvisionedRequest' {} a -> s {kafkaVersion = a} :: ProvisionedRequest)++-- | The number of broker nodes in the cluster.+provisionedRequest_numberOfBrokerNodes :: Lens.Lens' ProvisionedRequest Prelude.Natural+provisionedRequest_numberOfBrokerNodes = Lens.lens (\ProvisionedRequest' {numberOfBrokerNodes} -> numberOfBrokerNodes) (\s@ProvisionedRequest' {} a -> s {numberOfBrokerNodes = a} :: ProvisionedRequest)++instance Prelude.Hashable ProvisionedRequest where+ hashWithSalt _salt ProvisionedRequest' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` configurationInfo+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` storageMode+ `Prelude.hashWithSalt` brokerNodeGroupInfo+ `Prelude.hashWithSalt` kafkaVersion+ `Prelude.hashWithSalt` numberOfBrokerNodes++instance Prelude.NFData ProvisionedRequest where+ rnf ProvisionedRequest' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf configurationInfo+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf storageMode+ `Prelude.seq` Prelude.rnf brokerNodeGroupInfo+ `Prelude.seq` Prelude.rnf kafkaVersion+ `Prelude.seq` Prelude.rnf numberOfBrokerNodes++instance Data.ToJSON ProvisionedRequest where+ toJSON ProvisionedRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientAuthentication" Data..=)+ Prelude.<$> clientAuthentication,+ ("configurationInfo" Data..=)+ Prelude.<$> configurationInfo,+ ("encryptionInfo" Data..=)+ Prelude.<$> encryptionInfo,+ ("enhancedMonitoring" Data..=)+ Prelude.<$> enhancedMonitoring,+ ("loggingInfo" Data..=) Prelude.<$> loggingInfo,+ ("openMonitoring" Data..=)+ Prelude.<$> openMonitoring,+ ("storageMode" Data..=) Prelude.<$> storageMode,+ Prelude.Just+ ("brokerNodeGroupInfo" Data..= brokerNodeGroupInfo),+ Prelude.Just ("kafkaVersion" Data..= kafkaVersion),+ Prelude.Just+ ("numberOfBrokerNodes" Data..= numberOfBrokerNodes)+ ]+ )
+ gen/Amazonka/Kafka/Types/ProvisionedThroughput.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ProvisionedThroughput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ProvisionedThroughput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about provisioned throughput for EBS storage+-- volumes attached to kafka broker nodes.+--+-- /See:/ 'newProvisionedThroughput' smart constructor.+data ProvisionedThroughput = ProvisionedThroughput'+ { -- | Provisioned throughput is enabled or not.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | Throughput value of the EBS volumes for the data drive on each kafka+ -- broker node in MiB per second.+ volumeThroughput :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionedThroughput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'provisionedThroughput_enabled' - Provisioned throughput is enabled or not.+--+-- 'volumeThroughput', 'provisionedThroughput_volumeThroughput' - Throughput value of the EBS volumes for the data drive on each kafka+-- broker node in MiB per second.+newProvisionedThroughput ::+ ProvisionedThroughput+newProvisionedThroughput =+ ProvisionedThroughput'+ { enabled = Prelude.Nothing,+ volumeThroughput = Prelude.Nothing+ }++-- | Provisioned throughput is enabled or not.+provisionedThroughput_enabled :: Lens.Lens' ProvisionedThroughput (Prelude.Maybe Prelude.Bool)+provisionedThroughput_enabled = Lens.lens (\ProvisionedThroughput' {enabled} -> enabled) (\s@ProvisionedThroughput' {} a -> s {enabled = a} :: ProvisionedThroughput)++-- | Throughput value of the EBS volumes for the data drive on each kafka+-- broker node in MiB per second.+provisionedThroughput_volumeThroughput :: Lens.Lens' ProvisionedThroughput (Prelude.Maybe Prelude.Int)+provisionedThroughput_volumeThroughput = Lens.lens (\ProvisionedThroughput' {volumeThroughput} -> volumeThroughput) (\s@ProvisionedThroughput' {} a -> s {volumeThroughput = a} :: ProvisionedThroughput)++instance Data.FromJSON ProvisionedThroughput where+ parseJSON =+ Data.withObject+ "ProvisionedThroughput"+ ( \x ->+ ProvisionedThroughput'+ Prelude.<$> (x Data..:? "enabled")+ Prelude.<*> (x Data..:? "volumeThroughput")+ )++instance Prelude.Hashable ProvisionedThroughput where+ hashWithSalt _salt ProvisionedThroughput' {..} =+ _salt+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` volumeThroughput++instance Prelude.NFData ProvisionedThroughput where+ rnf ProvisionedThroughput' {..} =+ Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf volumeThroughput++instance Data.ToJSON ProvisionedThroughput where+ toJSON ProvisionedThroughput' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enabled" Data..=) Prelude.<$> enabled,+ ("volumeThroughput" Data..=)+ Prelude.<$> volumeThroughput+ ]+ )
+ gen/Amazonka/Kafka/Types/PublicAccess.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.Kafka.Types.PublicAccess+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.PublicAccess 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++-- | Public access control for brokers.+--+-- /See:/ 'newPublicAccess' smart constructor.+data PublicAccess = PublicAccess'+ { -- | The value DISABLED indicates that public access is turned off.+ -- SERVICE_PROVIDED_EIPS indicates that public access is turned on.+ type' :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PublicAccess' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'publicAccess_type' - The value DISABLED indicates that public access is turned off.+-- SERVICE_PROVIDED_EIPS indicates that public access is turned on.+newPublicAccess ::+ PublicAccess+newPublicAccess =+ PublicAccess' {type' = Prelude.Nothing}++-- | The value DISABLED indicates that public access is turned off.+-- SERVICE_PROVIDED_EIPS indicates that public access is turned on.+publicAccess_type :: Lens.Lens' PublicAccess (Prelude.Maybe Prelude.Text)+publicAccess_type = Lens.lens (\PublicAccess' {type'} -> type') (\s@PublicAccess' {} a -> s {type' = a} :: PublicAccess)++instance Data.FromJSON PublicAccess where+ parseJSON =+ Data.withObject+ "PublicAccess"+ ( \x ->+ PublicAccess' Prelude.<$> (x Data..:? "type")+ )++instance Prelude.Hashable PublicAccess where+ hashWithSalt _salt PublicAccess' {..} =+ _salt `Prelude.hashWithSalt` type'++instance Prelude.NFData PublicAccess where+ rnf PublicAccess' {..} = Prelude.rnf type'++instance Data.ToJSON PublicAccess where+ toJSON PublicAccess' {..} =+ Data.object+ ( Prelude.catMaybes+ [("type" Data..=) Prelude.<$> type']+ )
+ gen/Amazonka/Kafka/Types/S3.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.S3+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.S3 where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newS3' smart constructor.+data S3 = S3'+ { bucket :: Prelude.Maybe Prelude.Text,+ prefix :: Prelude.Maybe Prelude.Text,+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 's3_bucket' - Undocumented member.+--+-- 'prefix', 's3_prefix' - Undocumented member.+--+-- 'enabled', 's3_enabled' - Undocumented member.+newS3 ::+ -- | 'enabled'+ Prelude.Bool ->+ S3+newS3 pEnabled_ =+ S3'+ { bucket = Prelude.Nothing,+ prefix = Prelude.Nothing,+ enabled = pEnabled_+ }++-- | Undocumented member.+s3_bucket :: Lens.Lens' S3 (Prelude.Maybe Prelude.Text)+s3_bucket = Lens.lens (\S3' {bucket} -> bucket) (\s@S3' {} a -> s {bucket = a} :: S3)++-- | Undocumented member.+s3_prefix :: Lens.Lens' S3 (Prelude.Maybe Prelude.Text)+s3_prefix = Lens.lens (\S3' {prefix} -> prefix) (\s@S3' {} a -> s {prefix = a} :: S3)++-- | Undocumented member.+s3_enabled :: Lens.Lens' S3 Prelude.Bool+s3_enabled = Lens.lens (\S3' {enabled} -> enabled) (\s@S3' {} a -> s {enabled = a} :: S3)++instance Data.FromJSON S3 where+ parseJSON =+ Data.withObject+ "S3"+ ( \x ->+ S3'+ Prelude.<$> (x Data..:? "bucket")+ Prelude.<*> (x Data..:? "prefix")+ Prelude.<*> (x Data..: "enabled")+ )++instance Prelude.Hashable S3 where+ hashWithSalt _salt S3' {..} =+ _salt+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` prefix+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData S3 where+ rnf S3' {..} =+ Prelude.rnf bucket+ `Prelude.seq` Prelude.rnf prefix+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON S3 where+ toJSON S3' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bucket" Data..=) Prelude.<$> bucket,+ ("prefix" Data..=) Prelude.<$> prefix,+ Prelude.Just ("enabled" Data..= enabled)+ ]+ )
+ gen/Amazonka/Kafka/Types/Sasl.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.Kafka.Types.Sasl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Sasl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.Iam+import Amazonka.Kafka.Types.Scram+import qualified Amazonka.Prelude as Prelude++-- | Details for client authentication using SASL.+--+-- /See:/ 'newSasl' smart constructor.+data Sasl = Sasl'+ { -- | Indicates whether IAM access control is enabled.+ iam :: Prelude.Maybe Iam,+ -- | Details for SASL\/SCRAM client authentication.+ scram :: Prelude.Maybe Scram+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Sasl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iam', 'sasl_iam' - Indicates whether IAM access control is enabled.+--+-- 'scram', 'sasl_scram' - Details for SASL\/SCRAM client authentication.+newSasl ::+ Sasl+newSasl =+ Sasl'+ { iam = Prelude.Nothing,+ scram = Prelude.Nothing+ }++-- | Indicates whether IAM access control is enabled.+sasl_iam :: Lens.Lens' Sasl (Prelude.Maybe Iam)+sasl_iam = Lens.lens (\Sasl' {iam} -> iam) (\s@Sasl' {} a -> s {iam = a} :: Sasl)++-- | Details for SASL\/SCRAM client authentication.+sasl_scram :: Lens.Lens' Sasl (Prelude.Maybe Scram)+sasl_scram = Lens.lens (\Sasl' {scram} -> scram) (\s@Sasl' {} a -> s {scram = a} :: Sasl)++instance Data.FromJSON Sasl where+ parseJSON =+ Data.withObject+ "Sasl"+ ( \x ->+ Sasl'+ Prelude.<$> (x Data..:? "iam")+ Prelude.<*> (x Data..:? "scram")+ )++instance Prelude.Hashable Sasl where+ hashWithSalt _salt Sasl' {..} =+ _salt+ `Prelude.hashWithSalt` iam+ `Prelude.hashWithSalt` scram++instance Prelude.NFData Sasl where+ rnf Sasl' {..} =+ Prelude.rnf iam `Prelude.seq` Prelude.rnf scram++instance Data.ToJSON Sasl where+ toJSON Sasl' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("iam" Data..=) Prelude.<$> iam,+ ("scram" Data..=) Prelude.<$> scram+ ]+ )
+ gen/Amazonka/Kafka/Types/Scram.hs view
@@ -0,0 +1,71 @@+{-# 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.Kafka.Types.Scram+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Scram 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++-- | Details for SASL\/SCRAM client authentication.+--+-- /See:/ 'newScram' smart constructor.+data Scram = Scram'+ { -- | SASL\/SCRAM authentication is enabled or not.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Scram' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'scram_enabled' - SASL\/SCRAM authentication is enabled or not.+newScram ::+ Scram+newScram = Scram' {enabled = Prelude.Nothing}++-- | SASL\/SCRAM authentication is enabled or not.+scram_enabled :: Lens.Lens' Scram (Prelude.Maybe Prelude.Bool)+scram_enabled = Lens.lens (\Scram' {enabled} -> enabled) (\s@Scram' {} a -> s {enabled = a} :: Scram)++instance Data.FromJSON Scram where+ parseJSON =+ Data.withObject+ "Scram"+ (\x -> Scram' Prelude.<$> (x Data..:? "enabled"))++instance Prelude.Hashable Scram where+ hashWithSalt _salt Scram' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData Scram where+ rnf Scram' {..} = Prelude.rnf enabled++instance Data.ToJSON Scram where+ toJSON Scram' {..} =+ Data.object+ ( Prelude.catMaybes+ [("enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/Kafka/Types/Serverless.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.Kafka.Types.Serverless+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Serverless where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ServerlessClientAuthentication+import Amazonka.Kafka.Types.VpcConfig+import qualified Amazonka.Prelude as Prelude++-- | Serverless cluster.+--+-- /See:/ 'newServerless' smart constructor.+data Serverless = Serverless'+ { -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ServerlessClientAuthentication,+ -- | The configuration of the Amazon VPCs for the cluster.+ vpcConfigs :: [VpcConfig]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Serverless' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'serverless_clientAuthentication' - Includes all client authentication information.+--+-- 'vpcConfigs', 'serverless_vpcConfigs' - The configuration of the Amazon VPCs for the cluster.+newServerless ::+ Serverless+newServerless =+ Serverless'+ { clientAuthentication = Prelude.Nothing,+ vpcConfigs = Prelude.mempty+ }++-- | Includes all client authentication information.+serverless_clientAuthentication :: Lens.Lens' Serverless (Prelude.Maybe ServerlessClientAuthentication)+serverless_clientAuthentication = Lens.lens (\Serverless' {clientAuthentication} -> clientAuthentication) (\s@Serverless' {} a -> s {clientAuthentication = a} :: Serverless)++-- | The configuration of the Amazon VPCs for the cluster.+serverless_vpcConfigs :: Lens.Lens' Serverless [VpcConfig]+serverless_vpcConfigs = Lens.lens (\Serverless' {vpcConfigs} -> vpcConfigs) (\s@Serverless' {} a -> s {vpcConfigs = a} :: Serverless) Prelude.. Lens.coerced++instance Data.FromJSON Serverless where+ parseJSON =+ Data.withObject+ "Serverless"+ ( \x ->+ Serverless'+ Prelude.<$> (x Data..:? "clientAuthentication")+ Prelude.<*> (x Data..:? "vpcConfigs" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Serverless where+ hashWithSalt _salt Serverless' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` vpcConfigs++instance Prelude.NFData Serverless where+ rnf Serverless' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf vpcConfigs
+ gen/Amazonka/Kafka/Types/ServerlessClientAuthentication.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ServerlessClientAuthentication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ServerlessClientAuthentication where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ServerlessSasl+import qualified Amazonka.Prelude as Prelude++-- | Includes all client authentication information.+--+-- /See:/ 'newServerlessClientAuthentication' smart constructor.+data ServerlessClientAuthentication = ServerlessClientAuthentication'+ { -- | Details for ClientAuthentication using SASL.+ sasl :: Prelude.Maybe ServerlessSasl+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerlessClientAuthentication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sasl', 'serverlessClientAuthentication_sasl' - Details for ClientAuthentication using SASL.+newServerlessClientAuthentication ::+ ServerlessClientAuthentication+newServerlessClientAuthentication =+ ServerlessClientAuthentication'+ { sasl =+ Prelude.Nothing+ }++-- | Details for ClientAuthentication using SASL.+serverlessClientAuthentication_sasl :: Lens.Lens' ServerlessClientAuthentication (Prelude.Maybe ServerlessSasl)+serverlessClientAuthentication_sasl = Lens.lens (\ServerlessClientAuthentication' {sasl} -> sasl) (\s@ServerlessClientAuthentication' {} a -> s {sasl = a} :: ServerlessClientAuthentication)++instance Data.FromJSON ServerlessClientAuthentication where+ parseJSON =+ Data.withObject+ "ServerlessClientAuthentication"+ ( \x ->+ ServerlessClientAuthentication'+ Prelude.<$> (x Data..:? "sasl")+ )++instance+ Prelude.Hashable+ ServerlessClientAuthentication+ where+ hashWithSalt+ _salt+ ServerlessClientAuthentication' {..} =+ _salt `Prelude.hashWithSalt` sasl++instance+ Prelude.NFData+ ServerlessClientAuthentication+ where+ rnf ServerlessClientAuthentication' {..} =+ Prelude.rnf sasl++instance Data.ToJSON ServerlessClientAuthentication where+ toJSON ServerlessClientAuthentication' {..} =+ Data.object+ ( Prelude.catMaybes+ [("sasl" Data..=) Prelude.<$> sasl]+ )
+ gen/Amazonka/Kafka/Types/ServerlessRequest.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ServerlessRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ServerlessRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.ServerlessClientAuthentication+import Amazonka.Kafka.Types.VpcConfig+import qualified Amazonka.Prelude as Prelude++-- | Serverless cluster request.+--+-- /See:/ 'newServerlessRequest' smart constructor.+data ServerlessRequest = ServerlessRequest'+ { -- | Includes all client authentication information.+ clientAuthentication :: Prelude.Maybe ServerlessClientAuthentication,+ -- | The configuration of the Amazon VPCs for the cluster.+ vpcConfigs :: [VpcConfig]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerlessRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'serverlessRequest_clientAuthentication' - Includes all client authentication information.+--+-- 'vpcConfigs', 'serverlessRequest_vpcConfigs' - The configuration of the Amazon VPCs for the cluster.+newServerlessRequest ::+ ServerlessRequest+newServerlessRequest =+ ServerlessRequest'+ { clientAuthentication =+ Prelude.Nothing,+ vpcConfigs = Prelude.mempty+ }++-- | Includes all client authentication information.+serverlessRequest_clientAuthentication :: Lens.Lens' ServerlessRequest (Prelude.Maybe ServerlessClientAuthentication)+serverlessRequest_clientAuthentication = Lens.lens (\ServerlessRequest' {clientAuthentication} -> clientAuthentication) (\s@ServerlessRequest' {} a -> s {clientAuthentication = a} :: ServerlessRequest)++-- | The configuration of the Amazon VPCs for the cluster.+serverlessRequest_vpcConfigs :: Lens.Lens' ServerlessRequest [VpcConfig]+serverlessRequest_vpcConfigs = Lens.lens (\ServerlessRequest' {vpcConfigs} -> vpcConfigs) (\s@ServerlessRequest' {} a -> s {vpcConfigs = a} :: ServerlessRequest) Prelude.. Lens.coerced++instance Prelude.Hashable ServerlessRequest where+ hashWithSalt _salt ServerlessRequest' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` vpcConfigs++instance Prelude.NFData ServerlessRequest where+ rnf ServerlessRequest' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf vpcConfigs++instance Data.ToJSON ServerlessRequest where+ toJSON ServerlessRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientAuthentication" Data..=)+ Prelude.<$> clientAuthentication,+ Prelude.Just ("vpcConfigs" Data..= vpcConfigs)+ ]+ )
+ gen/Amazonka/Kafka/Types/ServerlessSasl.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ServerlessSasl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ServerlessSasl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.Iam+import qualified Amazonka.Prelude as Prelude++-- | Details for client authentication using SASL.+--+-- /See:/ 'newServerlessSasl' smart constructor.+data ServerlessSasl = ServerlessSasl'+ { -- | Indicates whether IAM access control is enabled.+ iam :: Prelude.Maybe Iam+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerlessSasl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iam', 'serverlessSasl_iam' - Indicates whether IAM access control is enabled.+newServerlessSasl ::+ ServerlessSasl+newServerlessSasl =+ ServerlessSasl' {iam = Prelude.Nothing}++-- | Indicates whether IAM access control is enabled.+serverlessSasl_iam :: Lens.Lens' ServerlessSasl (Prelude.Maybe Iam)+serverlessSasl_iam = Lens.lens (\ServerlessSasl' {iam} -> iam) (\s@ServerlessSasl' {} a -> s {iam = a} :: ServerlessSasl)++instance Data.FromJSON ServerlessSasl where+ parseJSON =+ Data.withObject+ "ServerlessSasl"+ ( \x ->+ ServerlessSasl' Prelude.<$> (x Data..:? "iam")+ )++instance Prelude.Hashable ServerlessSasl where+ hashWithSalt _salt ServerlessSasl' {..} =+ _salt `Prelude.hashWithSalt` iam++instance Prelude.NFData ServerlessSasl where+ rnf ServerlessSasl' {..} = Prelude.rnf iam++instance Data.ToJSON ServerlessSasl where+ toJSON ServerlessSasl' {..} =+ Data.object+ (Prelude.catMaybes [("iam" Data..=) Prelude.<$> iam])
+ gen/Amazonka/Kafka/Types/StateInfo.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.StateInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.StateInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newStateInfo' smart constructor.+data StateInfo = StateInfo'+ { code :: Prelude.Maybe Prelude.Text,+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StateInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'stateInfo_code' - Undocumented member.+--+-- 'message', 'stateInfo_message' - Undocumented member.+newStateInfo ::+ StateInfo+newStateInfo =+ StateInfo'+ { code = Prelude.Nothing,+ message = Prelude.Nothing+ }++-- | Undocumented member.+stateInfo_code :: Lens.Lens' StateInfo (Prelude.Maybe Prelude.Text)+stateInfo_code = Lens.lens (\StateInfo' {code} -> code) (\s@StateInfo' {} a -> s {code = a} :: StateInfo)++-- | Undocumented member.+stateInfo_message :: Lens.Lens' StateInfo (Prelude.Maybe Prelude.Text)+stateInfo_message = Lens.lens (\StateInfo' {message} -> message) (\s@StateInfo' {} a -> s {message = a} :: StateInfo)++instance Data.FromJSON StateInfo where+ parseJSON =+ Data.withObject+ "StateInfo"+ ( \x ->+ StateInfo'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "message")+ )++instance Prelude.Hashable StateInfo where+ hashWithSalt _salt StateInfo' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData StateInfo where+ rnf StateInfo' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/Kafka/Types/StorageInfo.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.Kafka.Types.StorageInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.StorageInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types.EBSStorageInfo+import qualified Amazonka.Prelude as Prelude++-- | Contains information about storage volumes attached to MSK broker nodes.+--+-- /See:/ 'newStorageInfo' smart constructor.+data StorageInfo = StorageInfo'+ { -- | EBS volume information.+ ebsStorageInfo :: Prelude.Maybe EBSStorageInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ebsStorageInfo', 'storageInfo_ebsStorageInfo' - EBS volume information.+newStorageInfo ::+ StorageInfo+newStorageInfo =+ StorageInfo' {ebsStorageInfo = Prelude.Nothing}++-- | EBS volume information.+storageInfo_ebsStorageInfo :: Lens.Lens' StorageInfo (Prelude.Maybe EBSStorageInfo)+storageInfo_ebsStorageInfo = Lens.lens (\StorageInfo' {ebsStorageInfo} -> ebsStorageInfo) (\s@StorageInfo' {} a -> s {ebsStorageInfo = a} :: StorageInfo)++instance Data.FromJSON StorageInfo where+ parseJSON =+ Data.withObject+ "StorageInfo"+ ( \x ->+ StorageInfo'+ Prelude.<$> (x Data..:? "ebsStorageInfo")+ )++instance Prelude.Hashable StorageInfo where+ hashWithSalt _salt StorageInfo' {..} =+ _salt `Prelude.hashWithSalt` ebsStorageInfo++instance Prelude.NFData StorageInfo where+ rnf StorageInfo' {..} = Prelude.rnf ebsStorageInfo++instance Data.ToJSON StorageInfo where+ toJSON StorageInfo' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ebsStorageInfo" Data..=)+ Prelude.<$> ebsStorageInfo+ ]+ )
+ gen/Amazonka/Kafka/Types/StorageMode.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.StorageMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.StorageMode+ ( StorageMode+ ( ..,+ StorageMode_LOCAL,+ StorageMode_TIERED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Controls storage mode for various supported storage tiers.+newtype StorageMode = StorageMode'+ { fromStorageMode ::+ 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 StorageMode_LOCAL :: StorageMode+pattern StorageMode_LOCAL = StorageMode' "LOCAL"++pattern StorageMode_TIERED :: StorageMode+pattern StorageMode_TIERED = StorageMode' "TIERED"++{-# COMPLETE+ StorageMode_LOCAL,+ StorageMode_TIERED,+ StorageMode'+ #-}
+ gen/Amazonka/Kafka/Types/Tls.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.Tls+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Tls 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++-- | Details for client authentication using TLS.+--+-- /See:/ 'newTls' smart constructor.+data Tls = Tls'+ { -- | List of ACM Certificate Authority ARNs.+ certificateAuthorityArnList :: Prelude.Maybe [Prelude.Text],+ -- | Specifies whether you want to turn on or turn off TLS authentication.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tls' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificateAuthorityArnList', 'tls_certificateAuthorityArnList' - List of ACM Certificate Authority ARNs.+--+-- 'enabled', 'tls_enabled' - Specifies whether you want to turn on or turn off TLS authentication.+newTls ::+ Tls+newTls =+ Tls'+ { certificateAuthorityArnList = Prelude.Nothing,+ enabled = Prelude.Nothing+ }++-- | List of ACM Certificate Authority ARNs.+tls_certificateAuthorityArnList :: Lens.Lens' Tls (Prelude.Maybe [Prelude.Text])+tls_certificateAuthorityArnList = Lens.lens (\Tls' {certificateAuthorityArnList} -> certificateAuthorityArnList) (\s@Tls' {} a -> s {certificateAuthorityArnList = a} :: Tls) Prelude.. Lens.mapping Lens.coerced++-- | Specifies whether you want to turn on or turn off TLS authentication.+tls_enabled :: Lens.Lens' Tls (Prelude.Maybe Prelude.Bool)+tls_enabled = Lens.lens (\Tls' {enabled} -> enabled) (\s@Tls' {} a -> s {enabled = a} :: Tls)++instance Data.FromJSON Tls where+ parseJSON =+ Data.withObject+ "Tls"+ ( \x ->+ Tls'+ Prelude.<$> ( x+ Data..:? "certificateAuthorityArnList"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "enabled")+ )++instance Prelude.Hashable Tls where+ hashWithSalt _salt Tls' {..} =+ _salt+ `Prelude.hashWithSalt` certificateAuthorityArnList+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData Tls where+ rnf Tls' {..} =+ Prelude.rnf certificateAuthorityArnList+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON Tls where+ toJSON Tls' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("certificateAuthorityArnList" Data..=)+ Prelude.<$> certificateAuthorityArnList,+ ("enabled" Data..=) Prelude.<$> enabled+ ]+ )
+ gen/Amazonka/Kafka/Types/Unauthenticated.hs view
@@ -0,0 +1,75 @@+{-# 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.Kafka.Types.Unauthenticated+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.Unauthenticated where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newUnauthenticated' smart constructor.+data Unauthenticated = Unauthenticated'+ { -- | Specifies whether you want to turn on or turn off unauthenticated+ -- traffic to your cluster.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Unauthenticated' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'unauthenticated_enabled' - Specifies whether you want to turn on or turn off unauthenticated+-- traffic to your cluster.+newUnauthenticated ::+ Unauthenticated+newUnauthenticated =+ Unauthenticated' {enabled = Prelude.Nothing}++-- | Specifies whether you want to turn on or turn off unauthenticated+-- traffic to your cluster.+unauthenticated_enabled :: Lens.Lens' Unauthenticated (Prelude.Maybe Prelude.Bool)+unauthenticated_enabled = Lens.lens (\Unauthenticated' {enabled} -> enabled) (\s@Unauthenticated' {} a -> s {enabled = a} :: Unauthenticated)++instance Data.FromJSON Unauthenticated where+ parseJSON =+ Data.withObject+ "Unauthenticated"+ ( \x ->+ Unauthenticated' Prelude.<$> (x Data..:? "enabled")+ )++instance Prelude.Hashable Unauthenticated where+ hashWithSalt _salt Unauthenticated' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData Unauthenticated where+ rnf Unauthenticated' {..} = Prelude.rnf enabled++instance Data.ToJSON Unauthenticated where+ toJSON Unauthenticated' {..} =+ Data.object+ ( Prelude.catMaybes+ [("enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/Kafka/Types/UnprocessedScramSecret.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.UnprocessedScramSecret+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.UnprocessedScramSecret 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++-- | Error info for scram secret associate\/disassociate failure.+--+-- /See:/ 'newUnprocessedScramSecret' smart constructor.+data UnprocessedScramSecret = UnprocessedScramSecret'+ { -- | Error code for associate\/disassociate failure.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | Error message for associate\/disassociate failure.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | AWS Secrets Manager secret ARN.+ secretArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnprocessedScramSecret' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'unprocessedScramSecret_errorCode' - Error code for associate\/disassociate failure.+--+-- 'errorMessage', 'unprocessedScramSecret_errorMessage' - Error message for associate\/disassociate failure.+--+-- 'secretArn', 'unprocessedScramSecret_secretArn' - AWS Secrets Manager secret ARN.+newUnprocessedScramSecret ::+ UnprocessedScramSecret+newUnprocessedScramSecret =+ UnprocessedScramSecret'+ { errorCode =+ Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ secretArn = Prelude.Nothing+ }++-- | Error code for associate\/disassociate failure.+unprocessedScramSecret_errorCode :: Lens.Lens' UnprocessedScramSecret (Prelude.Maybe Prelude.Text)+unprocessedScramSecret_errorCode = Lens.lens (\UnprocessedScramSecret' {errorCode} -> errorCode) (\s@UnprocessedScramSecret' {} a -> s {errorCode = a} :: UnprocessedScramSecret)++-- | Error message for associate\/disassociate failure.+unprocessedScramSecret_errorMessage :: Lens.Lens' UnprocessedScramSecret (Prelude.Maybe Prelude.Text)+unprocessedScramSecret_errorMessage = Lens.lens (\UnprocessedScramSecret' {errorMessage} -> errorMessage) (\s@UnprocessedScramSecret' {} a -> s {errorMessage = a} :: UnprocessedScramSecret)++-- | AWS Secrets Manager secret ARN.+unprocessedScramSecret_secretArn :: Lens.Lens' UnprocessedScramSecret (Prelude.Maybe Prelude.Text)+unprocessedScramSecret_secretArn = Lens.lens (\UnprocessedScramSecret' {secretArn} -> secretArn) (\s@UnprocessedScramSecret' {} a -> s {secretArn = a} :: UnprocessedScramSecret)++instance Data.FromJSON UnprocessedScramSecret where+ parseJSON =+ Data.withObject+ "UnprocessedScramSecret"+ ( \x ->+ UnprocessedScramSecret'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "secretArn")+ )++instance Prelude.Hashable UnprocessedScramSecret where+ hashWithSalt _salt UnprocessedScramSecret' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` secretArn++instance Prelude.NFData UnprocessedScramSecret where+ rnf UnprocessedScramSecret' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf secretArn
+ gen/Amazonka/Kafka/Types/VpcConfig.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.VpcConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.VpcConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration of the Amazon VPCs for the cluster.+--+-- /See:/ 'newVpcConfig' smart constructor.+data VpcConfig = VpcConfig'+ { -- | The IDs of the security groups associated with the cluster.+ securityGroupIds :: Prelude.Maybe [Prelude.Text],+ -- | The IDs of the subnets associated with the cluster.+ subnetIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroupIds', 'vpcConfig_securityGroupIds' - The IDs of the security groups associated with the cluster.+--+-- 'subnetIds', 'vpcConfig_subnetIds' - The IDs of the subnets associated with the cluster.+newVpcConfig ::+ VpcConfig+newVpcConfig =+ VpcConfig'+ { securityGroupIds = Prelude.Nothing,+ subnetIds = Prelude.mempty+ }++-- | The IDs of the security groups associated with the cluster.+vpcConfig_securityGroupIds :: Lens.Lens' VpcConfig (Prelude.Maybe [Prelude.Text])+vpcConfig_securityGroupIds = Lens.lens (\VpcConfig' {securityGroupIds} -> securityGroupIds) (\s@VpcConfig' {} a -> s {securityGroupIds = a} :: VpcConfig) Prelude.. Lens.mapping Lens.coerced++-- | The IDs of the subnets associated with the cluster.+vpcConfig_subnetIds :: Lens.Lens' VpcConfig [Prelude.Text]+vpcConfig_subnetIds = Lens.lens (\VpcConfig' {subnetIds} -> subnetIds) (\s@VpcConfig' {} a -> s {subnetIds = a} :: VpcConfig) Prelude.. Lens.coerced++instance Data.FromJSON VpcConfig where+ parseJSON =+ Data.withObject+ "VpcConfig"+ ( \x ->+ VpcConfig'+ Prelude.<$> ( x+ Data..:? "securityGroupIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "subnetIds" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable VpcConfig where+ hashWithSalt _salt VpcConfig' {..} =+ _salt+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData VpcConfig where+ rnf VpcConfig' {..} =+ Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf subnetIds++instance Data.ToJSON VpcConfig where+ toJSON VpcConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("securityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ Prelude.Just ("subnetIds" Data..= subnetIds)+ ]+ )
+ gen/Amazonka/Kafka/Types/ZookeeperNodeInfo.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.Types.ZookeeperNodeInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Kafka.Types.ZookeeperNodeInfo 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++-- | Zookeeper node information.+--+-- /See:/ 'newZookeeperNodeInfo' smart constructor.+data ZookeeperNodeInfo = ZookeeperNodeInfo'+ { -- | The attached elastic network interface of the broker.+ attachedENIId :: Prelude.Maybe Prelude.Text,+ -- | The virtual private cloud (VPC) IP address of the client.+ clientVpcIpAddress :: Prelude.Maybe Prelude.Text,+ -- | Endpoints for accessing the ZooKeeper.+ endpoints :: Prelude.Maybe [Prelude.Text],+ -- | The role-specific ID for Zookeeper.+ zookeeperId :: Prelude.Maybe Prelude.Double,+ -- | The version of Zookeeper.+ zookeeperVersion :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZookeeperNodeInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachedENIId', 'zookeeperNodeInfo_attachedENIId' - The attached elastic network interface of the broker.+--+-- 'clientVpcIpAddress', 'zookeeperNodeInfo_clientVpcIpAddress' - The virtual private cloud (VPC) IP address of the client.+--+-- 'endpoints', 'zookeeperNodeInfo_endpoints' - Endpoints for accessing the ZooKeeper.+--+-- 'zookeeperId', 'zookeeperNodeInfo_zookeeperId' - The role-specific ID for Zookeeper.+--+-- 'zookeeperVersion', 'zookeeperNodeInfo_zookeeperVersion' - The version of Zookeeper.+newZookeeperNodeInfo ::+ ZookeeperNodeInfo+newZookeeperNodeInfo =+ ZookeeperNodeInfo'+ { attachedENIId = Prelude.Nothing,+ clientVpcIpAddress = Prelude.Nothing,+ endpoints = Prelude.Nothing,+ zookeeperId = Prelude.Nothing,+ zookeeperVersion = Prelude.Nothing+ }++-- | The attached elastic network interface of the broker.+zookeeperNodeInfo_attachedENIId :: Lens.Lens' ZookeeperNodeInfo (Prelude.Maybe Prelude.Text)+zookeeperNodeInfo_attachedENIId = Lens.lens (\ZookeeperNodeInfo' {attachedENIId} -> attachedENIId) (\s@ZookeeperNodeInfo' {} a -> s {attachedENIId = a} :: ZookeeperNodeInfo)++-- | The virtual private cloud (VPC) IP address of the client.+zookeeperNodeInfo_clientVpcIpAddress :: Lens.Lens' ZookeeperNodeInfo (Prelude.Maybe Prelude.Text)+zookeeperNodeInfo_clientVpcIpAddress = Lens.lens (\ZookeeperNodeInfo' {clientVpcIpAddress} -> clientVpcIpAddress) (\s@ZookeeperNodeInfo' {} a -> s {clientVpcIpAddress = a} :: ZookeeperNodeInfo)++-- | Endpoints for accessing the ZooKeeper.+zookeeperNodeInfo_endpoints :: Lens.Lens' ZookeeperNodeInfo (Prelude.Maybe [Prelude.Text])+zookeeperNodeInfo_endpoints = Lens.lens (\ZookeeperNodeInfo' {endpoints} -> endpoints) (\s@ZookeeperNodeInfo' {} a -> s {endpoints = a} :: ZookeeperNodeInfo) Prelude.. Lens.mapping Lens.coerced++-- | The role-specific ID for Zookeeper.+zookeeperNodeInfo_zookeeperId :: Lens.Lens' ZookeeperNodeInfo (Prelude.Maybe Prelude.Double)+zookeeperNodeInfo_zookeeperId = Lens.lens (\ZookeeperNodeInfo' {zookeeperId} -> zookeeperId) (\s@ZookeeperNodeInfo' {} a -> s {zookeeperId = a} :: ZookeeperNodeInfo)++-- | The version of Zookeeper.+zookeeperNodeInfo_zookeeperVersion :: Lens.Lens' ZookeeperNodeInfo (Prelude.Maybe Prelude.Text)+zookeeperNodeInfo_zookeeperVersion = Lens.lens (\ZookeeperNodeInfo' {zookeeperVersion} -> zookeeperVersion) (\s@ZookeeperNodeInfo' {} a -> s {zookeeperVersion = a} :: ZookeeperNodeInfo)++instance Data.FromJSON ZookeeperNodeInfo where+ parseJSON =+ Data.withObject+ "ZookeeperNodeInfo"+ ( \x ->+ ZookeeperNodeInfo'+ Prelude.<$> (x Data..:? "attachedENIId")+ Prelude.<*> (x Data..:? "clientVpcIpAddress")+ Prelude.<*> (x Data..:? "endpoints" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "zookeeperId")+ Prelude.<*> (x Data..:? "zookeeperVersion")+ )++instance Prelude.Hashable ZookeeperNodeInfo where+ hashWithSalt _salt ZookeeperNodeInfo' {..} =+ _salt+ `Prelude.hashWithSalt` attachedENIId+ `Prelude.hashWithSalt` clientVpcIpAddress+ `Prelude.hashWithSalt` endpoints+ `Prelude.hashWithSalt` zookeeperId+ `Prelude.hashWithSalt` zookeeperVersion++instance Prelude.NFData ZookeeperNodeInfo where+ rnf ZookeeperNodeInfo' {..} =+ Prelude.rnf attachedENIId+ `Prelude.seq` Prelude.rnf clientVpcIpAddress+ `Prelude.seq` Prelude.rnf endpoints+ `Prelude.seq` Prelude.rnf zookeeperId+ `Prelude.seq` Prelude.rnf zookeeperVersion
+ gen/Amazonka/Kafka/UntagResource.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.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 tags associated with the keys that are provided in the+-- query.+module Amazonka.Kafka.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_tagKeys,+ untagResource_resourceArn,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.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'+ { -- | Tag keys must be unique for a given cluster. In addition, the following+ -- restrictions apply:+ --+ -- - Each tag key must be unique. If you add a tag with a key that\'s+ -- already in use, your new tag overwrites the existing key-value pair.+ --+ -- - You can\'t start a tag key with aws: because this prefix is reserved+ -- for use by AWS. AWS creates tags that begin with this prefix on your+ -- behalf, but you can\'t edit or delete them.+ --+ -- - Tag keys must be between 1 and 128 Unicode characters in length.+ --+ -- - Tag keys must consist of the following characters: Unicode letters,+ -- digits, white space, and the following special characters: _ . \/ =+ -- + - \@.+ tagKeys :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) that uniquely identifies the resource+ -- that\'s associated with the tags.+ resourceArn :: 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:+--+-- 'tagKeys', 'untagResource_tagKeys' - Tag keys must be unique for a given cluster. In addition, the following+-- restrictions apply:+--+-- - Each tag key must be unique. If you add a tag with a key that\'s+-- already in use, your new tag overwrites the existing key-value pair.+--+-- - You can\'t start a tag key with aws: because this prefix is reserved+-- for use by AWS. AWS creates tags that begin with this prefix on your+-- behalf, but you can\'t edit or delete them.+--+-- - Tag keys must be between 1 and 128 Unicode characters in length.+--+-- - Tag keys must consist of the following characters: Unicode letters,+-- digits, white space, and the following special characters: _ . \/ =+-- + - \@.+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) that uniquely identifies the resource+-- that\'s associated with the tags.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { tagKeys = Prelude.mempty,+ resourceArn = pResourceArn_+ }++-- | Tag keys must be unique for a given cluster. In addition, the following+-- restrictions apply:+--+-- - Each tag key must be unique. If you add a tag with a key that\'s+-- already in use, your new tag overwrites the existing key-value pair.+--+-- - You can\'t start a tag key with aws: because this prefix is reserved+-- for use by AWS. AWS creates tags that begin with this prefix on your+-- behalf, but you can\'t edit or delete them.+--+-- - Tag keys must be between 1 and 128 Unicode characters in length.+--+-- - Tag keys must consist of the following characters: Unicode letters,+-- digits, white space, and the following special characters: _ . \/ =+-- + - \@.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) that uniquely identifies the resource+-- that\'s associated with the tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` tagKeys+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf tagKeys+ `Prelude.seq` Prelude.rnf resourceArn++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+ ["/v1/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'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUntagResourceResponse ::+ UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/Kafka/UpdateBrokerCount.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateBrokerCount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the number of broker nodes in the cluster.+module Amazonka.Kafka.UpdateBrokerCount+ ( -- * Creating a Request+ UpdateBrokerCount (..),+ newUpdateBrokerCount,++ -- * Request Lenses+ updateBrokerCount_clusterArn,+ updateBrokerCount_currentVersion,+ updateBrokerCount_targetNumberOfBrokerNodes,++ -- * Destructuring the Response+ UpdateBrokerCountResponse (..),+ newUpdateBrokerCountResponse,++ -- * Response Lenses+ updateBrokerCountResponse_clusterArn,+ updateBrokerCountResponse_clusterOperationArn,+ updateBrokerCountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateBrokerCount' smart constructor.+data UpdateBrokerCount = UpdateBrokerCount'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | The version of cluster to update from. A successful operation will then+ -- generate a new version.+ currentVersion :: Prelude.Text,+ -- | The number of broker nodes that you want the cluster to have after this+ -- operation completes successfully.+ targetNumberOfBrokerNodes :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBrokerCount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerCount_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'currentVersion', 'updateBrokerCount_currentVersion' - The version of cluster to update from. A successful operation will then+-- generate a new version.+--+-- 'targetNumberOfBrokerNodes', 'updateBrokerCount_targetNumberOfBrokerNodes' - The number of broker nodes that you want the cluster to have after this+-- operation completes successfully.+newUpdateBrokerCount ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ -- | 'targetNumberOfBrokerNodes'+ Prelude.Natural ->+ UpdateBrokerCount+newUpdateBrokerCount+ pClusterArn_+ pCurrentVersion_+ pTargetNumberOfBrokerNodes_ =+ UpdateBrokerCount'+ { clusterArn = pClusterArn_,+ currentVersion = pCurrentVersion_,+ targetNumberOfBrokerNodes =+ pTargetNumberOfBrokerNodes_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateBrokerCount_clusterArn :: Lens.Lens' UpdateBrokerCount Prelude.Text+updateBrokerCount_clusterArn = Lens.lens (\UpdateBrokerCount' {clusterArn} -> clusterArn) (\s@UpdateBrokerCount' {} a -> s {clusterArn = a} :: UpdateBrokerCount)++-- | The version of cluster to update from. A successful operation will then+-- generate a new version.+updateBrokerCount_currentVersion :: Lens.Lens' UpdateBrokerCount Prelude.Text+updateBrokerCount_currentVersion = Lens.lens (\UpdateBrokerCount' {currentVersion} -> currentVersion) (\s@UpdateBrokerCount' {} a -> s {currentVersion = a} :: UpdateBrokerCount)++-- | The number of broker nodes that you want the cluster to have after this+-- operation completes successfully.+updateBrokerCount_targetNumberOfBrokerNodes :: Lens.Lens' UpdateBrokerCount Prelude.Natural+updateBrokerCount_targetNumberOfBrokerNodes = Lens.lens (\UpdateBrokerCount' {targetNumberOfBrokerNodes} -> targetNumberOfBrokerNodes) (\s@UpdateBrokerCount' {} a -> s {targetNumberOfBrokerNodes = a} :: UpdateBrokerCount)++instance Core.AWSRequest UpdateBrokerCount where+ type+ AWSResponse UpdateBrokerCount =+ UpdateBrokerCountResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateBrokerCountResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateBrokerCount where+ hashWithSalt _salt UpdateBrokerCount' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` targetNumberOfBrokerNodes++instance Prelude.NFData UpdateBrokerCount where+ rnf UpdateBrokerCount' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf targetNumberOfBrokerNodes++instance Data.ToHeaders UpdateBrokerCount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateBrokerCount where+ toJSON UpdateBrokerCount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("currentVersion" Data..= currentVersion),+ Prelude.Just+ ( "targetNumberOfBrokerNodes"+ Data..= targetNumberOfBrokerNodes+ )+ ]+ )++instance Data.ToPath UpdateBrokerCount where+ toPath UpdateBrokerCount' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/nodes/count"+ ]++instance Data.ToQuery UpdateBrokerCount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBrokerCountResponse' smart constructor.+data UpdateBrokerCountResponse = UpdateBrokerCountResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateBrokerCountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerCountResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateBrokerCountResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateBrokerCountResponse_httpStatus' - The response's http status code.+newUpdateBrokerCountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateBrokerCountResponse+newUpdateBrokerCountResponse pHttpStatus_ =+ UpdateBrokerCountResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateBrokerCountResponse_clusterArn :: Lens.Lens' UpdateBrokerCountResponse (Prelude.Maybe Prelude.Text)+updateBrokerCountResponse_clusterArn = Lens.lens (\UpdateBrokerCountResponse' {clusterArn} -> clusterArn) (\s@UpdateBrokerCountResponse' {} a -> s {clusterArn = a} :: UpdateBrokerCountResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateBrokerCountResponse_clusterOperationArn :: Lens.Lens' UpdateBrokerCountResponse (Prelude.Maybe Prelude.Text)+updateBrokerCountResponse_clusterOperationArn = Lens.lens (\UpdateBrokerCountResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateBrokerCountResponse' {} a -> s {clusterOperationArn = a} :: UpdateBrokerCountResponse)++-- | The response's http status code.+updateBrokerCountResponse_httpStatus :: Lens.Lens' UpdateBrokerCountResponse Prelude.Int+updateBrokerCountResponse_httpStatus = Lens.lens (\UpdateBrokerCountResponse' {httpStatus} -> httpStatus) (\s@UpdateBrokerCountResponse' {} a -> s {httpStatus = a} :: UpdateBrokerCountResponse)++instance Prelude.NFData UpdateBrokerCountResponse where+ rnf UpdateBrokerCountResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateBrokerStorage.hs view
@@ -0,0 +1,223 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateBrokerStorage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the EBS storage associated with MSK brokers.+module Amazonka.Kafka.UpdateBrokerStorage+ ( -- * Creating a Request+ UpdateBrokerStorage (..),+ newUpdateBrokerStorage,++ -- * Request Lenses+ updateBrokerStorage_clusterArn,+ updateBrokerStorage_targetBrokerEBSVolumeInfo,+ updateBrokerStorage_currentVersion,++ -- * Destructuring the Response+ UpdateBrokerStorageResponse (..),+ newUpdateBrokerStorageResponse,++ -- * Response Lenses+ updateBrokerStorageResponse_clusterArn,+ updateBrokerStorageResponse_clusterOperationArn,+ updateBrokerStorageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateBrokerStorage' smart constructor.+data UpdateBrokerStorage = UpdateBrokerStorage'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | Describes the target volume size and the ID of the broker to apply the+ -- update to.+ targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo],+ -- | The version of cluster to update from. A successful operation will then+ -- generate a new version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBrokerStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerStorage_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'targetBrokerEBSVolumeInfo', 'updateBrokerStorage_targetBrokerEBSVolumeInfo' - Describes the target volume size and the ID of the broker to apply the+-- update to.+--+-- 'currentVersion', 'updateBrokerStorage_currentVersion' - The version of cluster to update from. A successful operation will then+-- generate a new version.+newUpdateBrokerStorage ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateBrokerStorage+newUpdateBrokerStorage pClusterArn_ pCurrentVersion_ =+ UpdateBrokerStorage'+ { clusterArn = pClusterArn_,+ targetBrokerEBSVolumeInfo = Prelude.mempty,+ currentVersion = pCurrentVersion_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateBrokerStorage_clusterArn :: Lens.Lens' UpdateBrokerStorage Prelude.Text+updateBrokerStorage_clusterArn = Lens.lens (\UpdateBrokerStorage' {clusterArn} -> clusterArn) (\s@UpdateBrokerStorage' {} a -> s {clusterArn = a} :: UpdateBrokerStorage)++-- | Describes the target volume size and the ID of the broker to apply the+-- update to.+updateBrokerStorage_targetBrokerEBSVolumeInfo :: Lens.Lens' UpdateBrokerStorage [BrokerEBSVolumeInfo]+updateBrokerStorage_targetBrokerEBSVolumeInfo = Lens.lens (\UpdateBrokerStorage' {targetBrokerEBSVolumeInfo} -> targetBrokerEBSVolumeInfo) (\s@UpdateBrokerStorage' {} a -> s {targetBrokerEBSVolumeInfo = a} :: UpdateBrokerStorage) Prelude.. Lens.coerced++-- | The version of cluster to update from. A successful operation will then+-- generate a new version.+updateBrokerStorage_currentVersion :: Lens.Lens' UpdateBrokerStorage Prelude.Text+updateBrokerStorage_currentVersion = Lens.lens (\UpdateBrokerStorage' {currentVersion} -> currentVersion) (\s@UpdateBrokerStorage' {} a -> s {currentVersion = a} :: UpdateBrokerStorage)++instance Core.AWSRequest UpdateBrokerStorage where+ type+ AWSResponse UpdateBrokerStorage =+ UpdateBrokerStorageResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateBrokerStorageResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateBrokerStorage where+ hashWithSalt _salt UpdateBrokerStorage' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` targetBrokerEBSVolumeInfo+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateBrokerStorage where+ rnf UpdateBrokerStorage' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf targetBrokerEBSVolumeInfo+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateBrokerStorage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateBrokerStorage where+ toJSON UpdateBrokerStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "targetBrokerEBSVolumeInfo"+ Data..= targetBrokerEBSVolumeInfo+ ),+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateBrokerStorage where+ toPath UpdateBrokerStorage' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/nodes/storage"+ ]++instance Data.ToQuery UpdateBrokerStorage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBrokerStorageResponse' smart constructor.+data UpdateBrokerStorageResponse = UpdateBrokerStorageResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateBrokerStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerStorageResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateBrokerStorageResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateBrokerStorageResponse_httpStatus' - The response's http status code.+newUpdateBrokerStorageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateBrokerStorageResponse+newUpdateBrokerStorageResponse pHttpStatus_ =+ UpdateBrokerStorageResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateBrokerStorageResponse_clusterArn :: Lens.Lens' UpdateBrokerStorageResponse (Prelude.Maybe Prelude.Text)+updateBrokerStorageResponse_clusterArn = Lens.lens (\UpdateBrokerStorageResponse' {clusterArn} -> clusterArn) (\s@UpdateBrokerStorageResponse' {} a -> s {clusterArn = a} :: UpdateBrokerStorageResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateBrokerStorageResponse_clusterOperationArn :: Lens.Lens' UpdateBrokerStorageResponse (Prelude.Maybe Prelude.Text)+updateBrokerStorageResponse_clusterOperationArn = Lens.lens (\UpdateBrokerStorageResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateBrokerStorageResponse' {} a -> s {clusterOperationArn = a} :: UpdateBrokerStorageResponse)++-- | The response's http status code.+updateBrokerStorageResponse_httpStatus :: Lens.Lens' UpdateBrokerStorageResponse Prelude.Int+updateBrokerStorageResponse_httpStatus = Lens.lens (\UpdateBrokerStorageResponse' {httpStatus} -> httpStatus) (\s@UpdateBrokerStorageResponse' {} a -> s {httpStatus = a} :: UpdateBrokerStorageResponse)++instance Prelude.NFData UpdateBrokerStorageResponse where+ rnf UpdateBrokerStorageResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateBrokerType.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateBrokerType+-- 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 EC2 instance type.+module Amazonka.Kafka.UpdateBrokerType+ ( -- * Creating a Request+ UpdateBrokerType (..),+ newUpdateBrokerType,++ -- * Request Lenses+ updateBrokerType_clusterArn,+ updateBrokerType_currentVersion,+ updateBrokerType_targetInstanceType,++ -- * Destructuring the Response+ UpdateBrokerTypeResponse (..),+ newUpdateBrokerTypeResponse,++ -- * Response Lenses+ updateBrokerTypeResponse_clusterArn,+ updateBrokerTypeResponse_clusterOperationArn,+ updateBrokerTypeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateBrokerType' smart constructor.+data UpdateBrokerType = UpdateBrokerType'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | The cluster version that you want to change. After this operation+ -- completes successfully, the cluster will have a new version.+ currentVersion :: Prelude.Text,+ -- | The Amazon MSK broker type that you want all of the brokers in this+ -- cluster to be.+ targetInstanceType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBrokerType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerType_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'currentVersion', 'updateBrokerType_currentVersion' - The cluster version that you want to change. After this operation+-- completes successfully, the cluster will have a new version.+--+-- 'targetInstanceType', 'updateBrokerType_targetInstanceType' - The Amazon MSK broker type that you want all of the brokers in this+-- cluster to be.+newUpdateBrokerType ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ -- | 'targetInstanceType'+ Prelude.Text ->+ UpdateBrokerType+newUpdateBrokerType+ pClusterArn_+ pCurrentVersion_+ pTargetInstanceType_ =+ UpdateBrokerType'+ { clusterArn = pClusterArn_,+ currentVersion = pCurrentVersion_,+ targetInstanceType = pTargetInstanceType_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateBrokerType_clusterArn :: Lens.Lens' UpdateBrokerType Prelude.Text+updateBrokerType_clusterArn = Lens.lens (\UpdateBrokerType' {clusterArn} -> clusterArn) (\s@UpdateBrokerType' {} a -> s {clusterArn = a} :: UpdateBrokerType)++-- | The cluster version that you want to change. After this operation+-- completes successfully, the cluster will have a new version.+updateBrokerType_currentVersion :: Lens.Lens' UpdateBrokerType Prelude.Text+updateBrokerType_currentVersion = Lens.lens (\UpdateBrokerType' {currentVersion} -> currentVersion) (\s@UpdateBrokerType' {} a -> s {currentVersion = a} :: UpdateBrokerType)++-- | The Amazon MSK broker type that you want all of the brokers in this+-- cluster to be.+updateBrokerType_targetInstanceType :: Lens.Lens' UpdateBrokerType Prelude.Text+updateBrokerType_targetInstanceType = Lens.lens (\UpdateBrokerType' {targetInstanceType} -> targetInstanceType) (\s@UpdateBrokerType' {} a -> s {targetInstanceType = a} :: UpdateBrokerType)++instance Core.AWSRequest UpdateBrokerType where+ type+ AWSResponse UpdateBrokerType =+ UpdateBrokerTypeResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateBrokerTypeResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateBrokerType where+ hashWithSalt _salt UpdateBrokerType' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` targetInstanceType++instance Prelude.NFData UpdateBrokerType where+ rnf UpdateBrokerType' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf targetInstanceType++instance Data.ToHeaders UpdateBrokerType where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateBrokerType where+ toJSON UpdateBrokerType' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("currentVersion" Data..= currentVersion),+ Prelude.Just+ ("targetInstanceType" Data..= targetInstanceType)+ ]+ )++instance Data.ToPath UpdateBrokerType where+ toPath UpdateBrokerType' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/nodes/type"+ ]++instance Data.ToQuery UpdateBrokerType where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBrokerTypeResponse' smart constructor.+data UpdateBrokerTypeResponse = UpdateBrokerTypeResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateBrokerTypeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateBrokerTypeResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateBrokerTypeResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateBrokerTypeResponse_httpStatus' - The response's http status code.+newUpdateBrokerTypeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateBrokerTypeResponse+newUpdateBrokerTypeResponse pHttpStatus_ =+ UpdateBrokerTypeResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateBrokerTypeResponse_clusterArn :: Lens.Lens' UpdateBrokerTypeResponse (Prelude.Maybe Prelude.Text)+updateBrokerTypeResponse_clusterArn = Lens.lens (\UpdateBrokerTypeResponse' {clusterArn} -> clusterArn) (\s@UpdateBrokerTypeResponse' {} a -> s {clusterArn = a} :: UpdateBrokerTypeResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateBrokerTypeResponse_clusterOperationArn :: Lens.Lens' UpdateBrokerTypeResponse (Prelude.Maybe Prelude.Text)+updateBrokerTypeResponse_clusterOperationArn = Lens.lens (\UpdateBrokerTypeResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateBrokerTypeResponse' {} a -> s {clusterOperationArn = a} :: UpdateBrokerTypeResponse)++-- | The response's http status code.+updateBrokerTypeResponse_httpStatus :: Lens.Lens' UpdateBrokerTypeResponse Prelude.Int+updateBrokerTypeResponse_httpStatus = Lens.lens (\UpdateBrokerTypeResponse' {httpStatus} -> httpStatus) (\s@UpdateBrokerTypeResponse' {} a -> s {httpStatus = a} :: UpdateBrokerTypeResponse)++instance Prelude.NFData UpdateBrokerTypeResponse where+ rnf UpdateBrokerTypeResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateClusterConfiguration.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateClusterConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the cluster with the configuration that is specified in the+-- request body.+module Amazonka.Kafka.UpdateClusterConfiguration+ ( -- * Creating a Request+ UpdateClusterConfiguration (..),+ newUpdateClusterConfiguration,++ -- * Request Lenses+ updateClusterConfiguration_clusterArn,+ updateClusterConfiguration_currentVersion,+ updateClusterConfiguration_configurationInfo,++ -- * Destructuring the Response+ UpdateClusterConfigurationResponse (..),+ newUpdateClusterConfigurationResponse,++ -- * Response Lenses+ updateClusterConfigurationResponse_clusterArn,+ updateClusterConfigurationResponse_clusterOperationArn,+ updateClusterConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateClusterConfiguration' smart constructor.+data UpdateClusterConfiguration = UpdateClusterConfiguration'+ { -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | The version of the cluster that needs to be updated.+ currentVersion :: Prelude.Text,+ -- | Represents the configuration that you want MSK to use for the brokers in+ -- a cluster.+ configurationInfo :: ConfigurationInfo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClusterConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateClusterConfiguration_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'currentVersion', 'updateClusterConfiguration_currentVersion' - The version of the cluster that needs to be updated.+--+-- 'configurationInfo', 'updateClusterConfiguration_configurationInfo' - Represents the configuration that you want MSK to use for the brokers in+-- a cluster.+newUpdateClusterConfiguration ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ -- | 'configurationInfo'+ ConfigurationInfo ->+ UpdateClusterConfiguration+newUpdateClusterConfiguration+ pClusterArn_+ pCurrentVersion_+ pConfigurationInfo_ =+ UpdateClusterConfiguration'+ { clusterArn =+ pClusterArn_,+ currentVersion = pCurrentVersion_,+ configurationInfo = pConfigurationInfo_+ }++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateClusterConfiguration_clusterArn :: Lens.Lens' UpdateClusterConfiguration Prelude.Text+updateClusterConfiguration_clusterArn = Lens.lens (\UpdateClusterConfiguration' {clusterArn} -> clusterArn) (\s@UpdateClusterConfiguration' {} a -> s {clusterArn = a} :: UpdateClusterConfiguration)++-- | The version of the cluster that needs to be updated.+updateClusterConfiguration_currentVersion :: Lens.Lens' UpdateClusterConfiguration Prelude.Text+updateClusterConfiguration_currentVersion = Lens.lens (\UpdateClusterConfiguration' {currentVersion} -> currentVersion) (\s@UpdateClusterConfiguration' {} a -> s {currentVersion = a} :: UpdateClusterConfiguration)++-- | Represents the configuration that you want MSK to use for the brokers in+-- a cluster.+updateClusterConfiguration_configurationInfo :: Lens.Lens' UpdateClusterConfiguration ConfigurationInfo+updateClusterConfiguration_configurationInfo = Lens.lens (\UpdateClusterConfiguration' {configurationInfo} -> configurationInfo) (\s@UpdateClusterConfiguration' {} a -> s {configurationInfo = a} :: UpdateClusterConfiguration)++instance Core.AWSRequest UpdateClusterConfiguration where+ type+ AWSResponse UpdateClusterConfiguration =+ UpdateClusterConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateClusterConfigurationResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateClusterConfiguration where+ hashWithSalt _salt UpdateClusterConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion+ `Prelude.hashWithSalt` configurationInfo++instance Prelude.NFData UpdateClusterConfiguration where+ rnf UpdateClusterConfiguration' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion+ `Prelude.seq` Prelude.rnf configurationInfo++instance Data.ToHeaders UpdateClusterConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateClusterConfiguration where+ toJSON UpdateClusterConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("currentVersion" Data..= currentVersion),+ Prelude.Just+ ("configurationInfo" Data..= configurationInfo)+ ]+ )++instance Data.ToPath UpdateClusterConfiguration where+ toPath UpdateClusterConfiguration' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/configuration"+ ]++instance Data.ToQuery UpdateClusterConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateClusterConfigurationResponse' smart constructor.+data UpdateClusterConfigurationResponse = UpdateClusterConfigurationResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateClusterConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateClusterConfigurationResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateClusterConfigurationResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateClusterConfigurationResponse_httpStatus' - The response's http status code.+newUpdateClusterConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateClusterConfigurationResponse+newUpdateClusterConfigurationResponse pHttpStatus_ =+ UpdateClusterConfigurationResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateClusterConfigurationResponse_clusterArn :: Lens.Lens' UpdateClusterConfigurationResponse (Prelude.Maybe Prelude.Text)+updateClusterConfigurationResponse_clusterArn = Lens.lens (\UpdateClusterConfigurationResponse' {clusterArn} -> clusterArn) (\s@UpdateClusterConfigurationResponse' {} a -> s {clusterArn = a} :: UpdateClusterConfigurationResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateClusterConfigurationResponse_clusterOperationArn :: Lens.Lens' UpdateClusterConfigurationResponse (Prelude.Maybe Prelude.Text)+updateClusterConfigurationResponse_clusterOperationArn = Lens.lens (\UpdateClusterConfigurationResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateClusterConfigurationResponse' {} a -> s {clusterOperationArn = a} :: UpdateClusterConfigurationResponse)++-- | The response's http status code.+updateClusterConfigurationResponse_httpStatus :: Lens.Lens' UpdateClusterConfigurationResponse Prelude.Int+updateClusterConfigurationResponse_httpStatus = Lens.lens (\UpdateClusterConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateClusterConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateClusterConfigurationResponse)++instance+ Prelude.NFData+ UpdateClusterConfigurationResponse+ where+ rnf UpdateClusterConfigurationResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateClusterKafkaVersion.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateClusterKafkaVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the Apache Kafka version for the cluster.+module Amazonka.Kafka.UpdateClusterKafkaVersion+ ( -- * Creating a Request+ UpdateClusterKafkaVersion (..),+ newUpdateClusterKafkaVersion,++ -- * Request Lenses+ updateClusterKafkaVersion_configurationInfo,+ updateClusterKafkaVersion_clusterArn,+ updateClusterKafkaVersion_targetKafkaVersion,+ updateClusterKafkaVersion_currentVersion,++ -- * Destructuring the Response+ UpdateClusterKafkaVersionResponse (..),+ newUpdateClusterKafkaVersionResponse,++ -- * Response Lenses+ updateClusterKafkaVersionResponse_clusterArn,+ updateClusterKafkaVersionResponse_clusterOperationArn,+ updateClusterKafkaVersionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateClusterKafkaVersion' smart constructor.+data UpdateClusterKafkaVersion = UpdateClusterKafkaVersion'+ { -- | The custom configuration that should be applied on the new version of+ -- cluster.+ configurationInfo :: Prelude.Maybe ConfigurationInfo,+ -- | The Amazon Resource Name (ARN) of the cluster to be updated.+ clusterArn :: Prelude.Text,+ -- | Target Kafka version.+ targetKafkaVersion :: Prelude.Text,+ -- | Current cluster version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClusterKafkaVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationInfo', 'updateClusterKafkaVersion_configurationInfo' - The custom configuration that should be applied on the new version of+-- cluster.+--+-- 'clusterArn', 'updateClusterKafkaVersion_clusterArn' - The Amazon Resource Name (ARN) of the cluster to be updated.+--+-- 'targetKafkaVersion', 'updateClusterKafkaVersion_targetKafkaVersion' - Target Kafka version.+--+-- 'currentVersion', 'updateClusterKafkaVersion_currentVersion' - Current cluster version.+newUpdateClusterKafkaVersion ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'targetKafkaVersion'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateClusterKafkaVersion+newUpdateClusterKafkaVersion+ pClusterArn_+ pTargetKafkaVersion_+ pCurrentVersion_ =+ UpdateClusterKafkaVersion'+ { configurationInfo =+ Prelude.Nothing,+ clusterArn = pClusterArn_,+ targetKafkaVersion = pTargetKafkaVersion_,+ currentVersion = pCurrentVersion_+ }++-- | The custom configuration that should be applied on the new version of+-- cluster.+updateClusterKafkaVersion_configurationInfo :: Lens.Lens' UpdateClusterKafkaVersion (Prelude.Maybe ConfigurationInfo)+updateClusterKafkaVersion_configurationInfo = Lens.lens (\UpdateClusterKafkaVersion' {configurationInfo} -> configurationInfo) (\s@UpdateClusterKafkaVersion' {} a -> s {configurationInfo = a} :: UpdateClusterKafkaVersion)++-- | The Amazon Resource Name (ARN) of the cluster to be updated.+updateClusterKafkaVersion_clusterArn :: Lens.Lens' UpdateClusterKafkaVersion Prelude.Text+updateClusterKafkaVersion_clusterArn = Lens.lens (\UpdateClusterKafkaVersion' {clusterArn} -> clusterArn) (\s@UpdateClusterKafkaVersion' {} a -> s {clusterArn = a} :: UpdateClusterKafkaVersion)++-- | Target Kafka version.+updateClusterKafkaVersion_targetKafkaVersion :: Lens.Lens' UpdateClusterKafkaVersion Prelude.Text+updateClusterKafkaVersion_targetKafkaVersion = Lens.lens (\UpdateClusterKafkaVersion' {targetKafkaVersion} -> targetKafkaVersion) (\s@UpdateClusterKafkaVersion' {} a -> s {targetKafkaVersion = a} :: UpdateClusterKafkaVersion)++-- | Current cluster version.+updateClusterKafkaVersion_currentVersion :: Lens.Lens' UpdateClusterKafkaVersion Prelude.Text+updateClusterKafkaVersion_currentVersion = Lens.lens (\UpdateClusterKafkaVersion' {currentVersion} -> currentVersion) (\s@UpdateClusterKafkaVersion' {} a -> s {currentVersion = a} :: UpdateClusterKafkaVersion)++instance Core.AWSRequest UpdateClusterKafkaVersion where+ type+ AWSResponse UpdateClusterKafkaVersion =+ UpdateClusterKafkaVersionResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateClusterKafkaVersionResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateClusterKafkaVersion where+ hashWithSalt _salt UpdateClusterKafkaVersion' {..} =+ _salt+ `Prelude.hashWithSalt` configurationInfo+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` targetKafkaVersion+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateClusterKafkaVersion where+ rnf UpdateClusterKafkaVersion' {..} =+ Prelude.rnf configurationInfo+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf targetKafkaVersion+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateClusterKafkaVersion where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateClusterKafkaVersion where+ toJSON UpdateClusterKafkaVersion' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configurationInfo" Data..=)+ Prelude.<$> configurationInfo,+ Prelude.Just+ ("targetKafkaVersion" Data..= targetKafkaVersion),+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateClusterKafkaVersion where+ toPath UpdateClusterKafkaVersion' {..} =+ Prelude.mconcat+ ["/v1/clusters/", Data.toBS clusterArn, "/version"]++instance Data.ToQuery UpdateClusterKafkaVersion where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateClusterKafkaVersionResponse' smart constructor.+data UpdateClusterKafkaVersionResponse = UpdateClusterKafkaVersionResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateClusterKafkaVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateClusterKafkaVersionResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateClusterKafkaVersionResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateClusterKafkaVersionResponse_httpStatus' - The response's http status code.+newUpdateClusterKafkaVersionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateClusterKafkaVersionResponse+newUpdateClusterKafkaVersionResponse pHttpStatus_ =+ UpdateClusterKafkaVersionResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateClusterKafkaVersionResponse_clusterArn :: Lens.Lens' UpdateClusterKafkaVersionResponse (Prelude.Maybe Prelude.Text)+updateClusterKafkaVersionResponse_clusterArn = Lens.lens (\UpdateClusterKafkaVersionResponse' {clusterArn} -> clusterArn) (\s@UpdateClusterKafkaVersionResponse' {} a -> s {clusterArn = a} :: UpdateClusterKafkaVersionResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateClusterKafkaVersionResponse_clusterOperationArn :: Lens.Lens' UpdateClusterKafkaVersionResponse (Prelude.Maybe Prelude.Text)+updateClusterKafkaVersionResponse_clusterOperationArn = Lens.lens (\UpdateClusterKafkaVersionResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateClusterKafkaVersionResponse' {} a -> s {clusterOperationArn = a} :: UpdateClusterKafkaVersionResponse)++-- | The response's http status code.+updateClusterKafkaVersionResponse_httpStatus :: Lens.Lens' UpdateClusterKafkaVersionResponse Prelude.Int+updateClusterKafkaVersionResponse_httpStatus = Lens.lens (\UpdateClusterKafkaVersionResponse' {httpStatus} -> httpStatus) (\s@UpdateClusterKafkaVersionResponse' {} a -> s {httpStatus = a} :: UpdateClusterKafkaVersionResponse)++instance+ Prelude.NFData+ UpdateClusterKafkaVersionResponse+ where+ rnf UpdateClusterKafkaVersionResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateConfiguration.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an MSK configuration.+module Amazonka.Kafka.UpdateConfiguration+ ( -- * Creating a Request+ UpdateConfiguration (..),+ newUpdateConfiguration,++ -- * Request Lenses+ updateConfiguration_description,+ updateConfiguration_arn,+ updateConfiguration_serverProperties,++ -- * Destructuring the Response+ UpdateConfigurationResponse (..),+ newUpdateConfigurationResponse,++ -- * Response Lenses+ updateConfigurationResponse_arn,+ updateConfigurationResponse_latestRevision,+ updateConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateConfiguration' smart constructor.+data UpdateConfiguration = UpdateConfiguration'+ { -- | The description of the configuration revision.+ description :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Text,+ -- | Contents of the server.properties file. When using the API, you must+ -- ensure that the contents of the file are base64 encoded. When using the+ -- AWS Management Console, the SDK, or the AWS CLI, the contents of+ -- server.properties can be in plaintext.+ serverProperties :: Data.Base64+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateConfiguration_description' - The description of the configuration revision.+--+-- 'arn', 'updateConfiguration_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'serverProperties', 'updateConfiguration_serverProperties' - Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newUpdateConfiguration ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'serverProperties'+ Prelude.ByteString ->+ UpdateConfiguration+newUpdateConfiguration pArn_ pServerProperties_ =+ UpdateConfiguration'+ { description = Prelude.Nothing,+ arn = pArn_,+ serverProperties =+ Data._Base64 Lens.# pServerProperties_+ }++-- | The description of the configuration revision.+updateConfiguration_description :: Lens.Lens' UpdateConfiguration (Prelude.Maybe Prelude.Text)+updateConfiguration_description = Lens.lens (\UpdateConfiguration' {description} -> description) (\s@UpdateConfiguration' {} a -> s {description = a} :: UpdateConfiguration)++-- | The Amazon Resource Name (ARN) of the configuration.+updateConfiguration_arn :: Lens.Lens' UpdateConfiguration Prelude.Text+updateConfiguration_arn = Lens.lens (\UpdateConfiguration' {arn} -> arn) (\s@UpdateConfiguration' {} a -> s {arn = a} :: UpdateConfiguration)++-- | Contents of the server.properties file. When using the API, you must+-- ensure that the contents of the file are base64 encoded. When using the+-- AWS Management Console, the SDK, or the AWS CLI, the contents of+-- server.properties can be in plaintext.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+updateConfiguration_serverProperties :: Lens.Lens' UpdateConfiguration Prelude.ByteString+updateConfiguration_serverProperties = Lens.lens (\UpdateConfiguration' {serverProperties} -> serverProperties) (\s@UpdateConfiguration' {} a -> s {serverProperties = a} :: UpdateConfiguration) Prelude.. Data._Base64++instance Core.AWSRequest UpdateConfiguration where+ type+ AWSResponse UpdateConfiguration =+ UpdateConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateConfigurationResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "latestRevision")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateConfiguration where+ hashWithSalt _salt UpdateConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` serverProperties++instance Prelude.NFData UpdateConfiguration where+ rnf UpdateConfiguration' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf serverProperties++instance Data.ToHeaders UpdateConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateConfiguration where+ toJSON UpdateConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ Prelude.Just+ ("serverProperties" Data..= serverProperties)+ ]+ )++instance Data.ToPath UpdateConfiguration where+ toPath UpdateConfiguration' {..} =+ Prelude.mconcat+ ["/v1/configurations/", Data.toBS arn]++instance Data.ToQuery UpdateConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateConfigurationResponse' smart constructor.+data UpdateConfigurationResponse = UpdateConfigurationResponse'+ { -- | The Amazon Resource Name (ARN) of the configuration.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Latest revision of the configuration.+ latestRevision :: Prelude.Maybe ConfigurationRevision,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateConfigurationResponse_arn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'latestRevision', 'updateConfigurationResponse_latestRevision' - Latest revision of the configuration.+--+-- 'httpStatus', 'updateConfigurationResponse_httpStatus' - The response's http status code.+newUpdateConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateConfigurationResponse+newUpdateConfigurationResponse pHttpStatus_ =+ UpdateConfigurationResponse'+ { arn = Prelude.Nothing,+ latestRevision = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the configuration.+updateConfigurationResponse_arn :: Lens.Lens' UpdateConfigurationResponse (Prelude.Maybe Prelude.Text)+updateConfigurationResponse_arn = Lens.lens (\UpdateConfigurationResponse' {arn} -> arn) (\s@UpdateConfigurationResponse' {} a -> s {arn = a} :: UpdateConfigurationResponse)++-- | Latest revision of the configuration.+updateConfigurationResponse_latestRevision :: Lens.Lens' UpdateConfigurationResponse (Prelude.Maybe ConfigurationRevision)+updateConfigurationResponse_latestRevision = Lens.lens (\UpdateConfigurationResponse' {latestRevision} -> latestRevision) (\s@UpdateConfigurationResponse' {} a -> s {latestRevision = a} :: UpdateConfigurationResponse)++-- | The response's http status code.+updateConfigurationResponse_httpStatus :: Lens.Lens' UpdateConfigurationResponse Prelude.Int+updateConfigurationResponse_httpStatus = Lens.lens (\UpdateConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateConfigurationResponse)++instance Prelude.NFData UpdateConfigurationResponse where+ rnf UpdateConfigurationResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf latestRevision+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateConnectivity.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateConnectivity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the cluster\'s connectivity configuration.+module Amazonka.Kafka.UpdateConnectivity+ ( -- * Creating a Request+ UpdateConnectivity (..),+ newUpdateConnectivity,++ -- * Request Lenses+ updateConnectivity_clusterArn,+ updateConnectivity_connectivityInfo,+ updateConnectivity_currentVersion,++ -- * Destructuring the Response+ UpdateConnectivityResponse (..),+ newUpdateConnectivityResponse,++ -- * Response Lenses+ updateConnectivityResponse_clusterArn,+ updateConnectivityResponse_clusterOperationArn,+ updateConnectivityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request body for UpdateConnectivity.+--+-- /See:/ 'newUpdateConnectivity' smart constructor.+data UpdateConnectivity = UpdateConnectivity'+ { -- | The Amazon Resource Name (ARN) of the configuration.+ clusterArn :: Prelude.Text,+ -- | Information about the broker access configuration.+ connectivityInfo :: ConnectivityInfo,+ -- | The version of the MSK cluster to update. Cluster versions aren\'t+ -- simple numbers. You can describe an MSK cluster to find its version.+ -- When this update operation is successful, it generates a new cluster+ -- version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnectivity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateConnectivity_clusterArn' - The Amazon Resource Name (ARN) of the configuration.+--+-- 'connectivityInfo', 'updateConnectivity_connectivityInfo' - Information about the broker access configuration.+--+-- 'currentVersion', 'updateConnectivity_currentVersion' - The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+newUpdateConnectivity ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'connectivityInfo'+ ConnectivityInfo ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateConnectivity+newUpdateConnectivity+ pClusterArn_+ pConnectivityInfo_+ pCurrentVersion_ =+ UpdateConnectivity'+ { clusterArn = pClusterArn_,+ connectivityInfo = pConnectivityInfo_,+ currentVersion = pCurrentVersion_+ }++-- | The Amazon Resource Name (ARN) of the configuration.+updateConnectivity_clusterArn :: Lens.Lens' UpdateConnectivity Prelude.Text+updateConnectivity_clusterArn = Lens.lens (\UpdateConnectivity' {clusterArn} -> clusterArn) (\s@UpdateConnectivity' {} a -> s {clusterArn = a} :: UpdateConnectivity)++-- | Information about the broker access configuration.+updateConnectivity_connectivityInfo :: Lens.Lens' UpdateConnectivity ConnectivityInfo+updateConnectivity_connectivityInfo = Lens.lens (\UpdateConnectivity' {connectivityInfo} -> connectivityInfo) (\s@UpdateConnectivity' {} a -> s {connectivityInfo = a} :: UpdateConnectivity)++-- | The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+updateConnectivity_currentVersion :: Lens.Lens' UpdateConnectivity Prelude.Text+updateConnectivity_currentVersion = Lens.lens (\UpdateConnectivity' {currentVersion} -> currentVersion) (\s@UpdateConnectivity' {} a -> s {currentVersion = a} :: UpdateConnectivity)++instance Core.AWSRequest UpdateConnectivity where+ type+ AWSResponse UpdateConnectivity =+ UpdateConnectivityResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateConnectivityResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateConnectivity where+ hashWithSalt _salt UpdateConnectivity' {..} =+ _salt+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` connectivityInfo+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateConnectivity where+ rnf UpdateConnectivity' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf connectivityInfo+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateConnectivity where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateConnectivity where+ toJSON UpdateConnectivity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("connectivityInfo" Data..= connectivityInfo),+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateConnectivity where+ toPath UpdateConnectivity' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/connectivity"+ ]++instance Data.ToQuery UpdateConnectivity where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateConnectivityResponse' smart constructor.+data UpdateConnectivityResponse = UpdateConnectivityResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateConnectivityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateConnectivityResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateConnectivityResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateConnectivityResponse_httpStatus' - The response's http status code.+newUpdateConnectivityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateConnectivityResponse+newUpdateConnectivityResponse pHttpStatus_ =+ UpdateConnectivityResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateConnectivityResponse_clusterArn :: Lens.Lens' UpdateConnectivityResponse (Prelude.Maybe Prelude.Text)+updateConnectivityResponse_clusterArn = Lens.lens (\UpdateConnectivityResponse' {clusterArn} -> clusterArn) (\s@UpdateConnectivityResponse' {} a -> s {clusterArn = a} :: UpdateConnectivityResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateConnectivityResponse_clusterOperationArn :: Lens.Lens' UpdateConnectivityResponse (Prelude.Maybe Prelude.Text)+updateConnectivityResponse_clusterOperationArn = Lens.lens (\UpdateConnectivityResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateConnectivityResponse' {} a -> s {clusterOperationArn = a} :: UpdateConnectivityResponse)++-- | The response's http status code.+updateConnectivityResponse_httpStatus :: Lens.Lens' UpdateConnectivityResponse Prelude.Int+updateConnectivityResponse_httpStatus = Lens.lens (\UpdateConnectivityResponse' {httpStatus} -> httpStatus) (\s@UpdateConnectivityResponse' {} a -> s {httpStatus = a} :: UpdateConnectivityResponse)++instance Prelude.NFData UpdateConnectivityResponse where+ rnf UpdateConnectivityResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateMonitoring.hs view
@@ -0,0 +1,259 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateMonitoring+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the monitoring settings for the cluster. You can use this+-- operation to specify which Apache Kafka metrics you want Amazon MSK to+-- send to Amazon CloudWatch. You can also specify settings for open+-- monitoring with Prometheus.+module Amazonka.Kafka.UpdateMonitoring+ ( -- * Creating a Request+ UpdateMonitoring (..),+ newUpdateMonitoring,++ -- * Request Lenses+ updateMonitoring_enhancedMonitoring,+ updateMonitoring_loggingInfo,+ updateMonitoring_openMonitoring,+ updateMonitoring_clusterArn,+ updateMonitoring_currentVersion,++ -- * Destructuring the Response+ UpdateMonitoringResponse (..),+ newUpdateMonitoringResponse,++ -- * Response Lenses+ updateMonitoringResponse_clusterArn,+ updateMonitoringResponse_clusterOperationArn,+ updateMonitoringResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request body for UpdateMonitoring.+--+-- /See:/ 'newUpdateMonitoring' smart constructor.+data UpdateMonitoring = UpdateMonitoring'+ { -- | Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+ -- Amazon CloudWatch for this cluster.+ enhancedMonitoring :: Prelude.Maybe EnhancedMonitoring,+ loggingInfo :: Prelude.Maybe LoggingInfo,+ -- | The settings for open monitoring.+ openMonitoring :: Prelude.Maybe OpenMonitoringInfo,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | The version of the MSK cluster to update. Cluster versions aren\'t+ -- simple numbers. You can describe an MSK cluster to find its version.+ -- When this update operation is successful, it generates a new cluster+ -- version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMonitoring' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enhancedMonitoring', 'updateMonitoring_enhancedMonitoring' - Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+-- Amazon CloudWatch for this cluster.+--+-- 'loggingInfo', 'updateMonitoring_loggingInfo' - Undocumented member.+--+-- 'openMonitoring', 'updateMonitoring_openMonitoring' - The settings for open monitoring.+--+-- 'clusterArn', 'updateMonitoring_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'currentVersion', 'updateMonitoring_currentVersion' - The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+newUpdateMonitoring ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateMonitoring+newUpdateMonitoring pClusterArn_ pCurrentVersion_ =+ UpdateMonitoring'+ { enhancedMonitoring =+ Prelude.Nothing,+ loggingInfo = Prelude.Nothing,+ openMonitoring = Prelude.Nothing,+ clusterArn = pClusterArn_,+ currentVersion = pCurrentVersion_+ }++-- | Specifies which Apache Kafka metrics Amazon MSK gathers and sends to+-- Amazon CloudWatch for this cluster.+updateMonitoring_enhancedMonitoring :: Lens.Lens' UpdateMonitoring (Prelude.Maybe EnhancedMonitoring)+updateMonitoring_enhancedMonitoring = Lens.lens (\UpdateMonitoring' {enhancedMonitoring} -> enhancedMonitoring) (\s@UpdateMonitoring' {} a -> s {enhancedMonitoring = a} :: UpdateMonitoring)++-- | Undocumented member.+updateMonitoring_loggingInfo :: Lens.Lens' UpdateMonitoring (Prelude.Maybe LoggingInfo)+updateMonitoring_loggingInfo = Lens.lens (\UpdateMonitoring' {loggingInfo} -> loggingInfo) (\s@UpdateMonitoring' {} a -> s {loggingInfo = a} :: UpdateMonitoring)++-- | The settings for open monitoring.+updateMonitoring_openMonitoring :: Lens.Lens' UpdateMonitoring (Prelude.Maybe OpenMonitoringInfo)+updateMonitoring_openMonitoring = Lens.lens (\UpdateMonitoring' {openMonitoring} -> openMonitoring) (\s@UpdateMonitoring' {} a -> s {openMonitoring = a} :: UpdateMonitoring)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateMonitoring_clusterArn :: Lens.Lens' UpdateMonitoring Prelude.Text+updateMonitoring_clusterArn = Lens.lens (\UpdateMonitoring' {clusterArn} -> clusterArn) (\s@UpdateMonitoring' {} a -> s {clusterArn = a} :: UpdateMonitoring)++-- | The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+updateMonitoring_currentVersion :: Lens.Lens' UpdateMonitoring Prelude.Text+updateMonitoring_currentVersion = Lens.lens (\UpdateMonitoring' {currentVersion} -> currentVersion) (\s@UpdateMonitoring' {} a -> s {currentVersion = a} :: UpdateMonitoring)++instance Core.AWSRequest UpdateMonitoring where+ type+ AWSResponse UpdateMonitoring =+ UpdateMonitoringResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateMonitoringResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateMonitoring where+ hashWithSalt _salt UpdateMonitoring' {..} =+ _salt+ `Prelude.hashWithSalt` enhancedMonitoring+ `Prelude.hashWithSalt` loggingInfo+ `Prelude.hashWithSalt` openMonitoring+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateMonitoring where+ rnf UpdateMonitoring' {..} =+ Prelude.rnf enhancedMonitoring+ `Prelude.seq` Prelude.rnf loggingInfo+ `Prelude.seq` Prelude.rnf openMonitoring+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateMonitoring where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMonitoring where+ toJSON UpdateMonitoring' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enhancedMonitoring" Data..=)+ Prelude.<$> enhancedMonitoring,+ ("loggingInfo" Data..=) Prelude.<$> loggingInfo,+ ("openMonitoring" Data..=)+ Prelude.<$> openMonitoring,+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateMonitoring where+ toPath UpdateMonitoring' {..} =+ Prelude.mconcat+ [ "/v1/clusters/",+ Data.toBS clusterArn,+ "/monitoring"+ ]++instance Data.ToQuery UpdateMonitoring where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMonitoringResponse' smart constructor.+data UpdateMonitoringResponse = UpdateMonitoringResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateMonitoringResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateMonitoringResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateMonitoringResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateMonitoringResponse_httpStatus' - The response's http status code.+newUpdateMonitoringResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateMonitoringResponse+newUpdateMonitoringResponse pHttpStatus_ =+ UpdateMonitoringResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateMonitoringResponse_clusterArn :: Lens.Lens' UpdateMonitoringResponse (Prelude.Maybe Prelude.Text)+updateMonitoringResponse_clusterArn = Lens.lens (\UpdateMonitoringResponse' {clusterArn} -> clusterArn) (\s@UpdateMonitoringResponse' {} a -> s {clusterArn = a} :: UpdateMonitoringResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateMonitoringResponse_clusterOperationArn :: Lens.Lens' UpdateMonitoringResponse (Prelude.Maybe Prelude.Text)+updateMonitoringResponse_clusterOperationArn = Lens.lens (\UpdateMonitoringResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateMonitoringResponse' {} a -> s {clusterOperationArn = a} :: UpdateMonitoringResponse)++-- | The response's http status code.+updateMonitoringResponse_httpStatus :: Lens.Lens' UpdateMonitoringResponse Prelude.Int+updateMonitoringResponse_httpStatus = Lens.lens (\UpdateMonitoringResponse' {httpStatus} -> httpStatus) (\s@UpdateMonitoringResponse' {} a -> s {httpStatus = a} :: UpdateMonitoringResponse)++instance Prelude.NFData UpdateMonitoringResponse where+ rnf UpdateMonitoringResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateSecurity.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateSecurity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the security settings for the cluster. You can use this+-- operation to specify encryption and authentication on existing clusters.+module Amazonka.Kafka.UpdateSecurity+ ( -- * Creating a Request+ UpdateSecurity (..),+ newUpdateSecurity,++ -- * Request Lenses+ updateSecurity_clientAuthentication,+ updateSecurity_encryptionInfo,+ updateSecurity_clusterArn,+ updateSecurity_currentVersion,++ -- * Destructuring the Response+ UpdateSecurityResponse (..),+ newUpdateSecurityResponse,++ -- * Response Lenses+ updateSecurityResponse_clusterArn,+ updateSecurityResponse_clusterOperationArn,+ updateSecurityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSecurity' smart constructor.+data UpdateSecurity = UpdateSecurity'+ { -- | Includes all client authentication related information.+ clientAuthentication :: Prelude.Maybe ClientAuthentication,+ -- | Includes all encryption-related information.+ encryptionInfo :: Prelude.Maybe EncryptionInfo,+ -- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+ clusterArn :: Prelude.Text,+ -- | The version of the MSK cluster to update. Cluster versions aren\'t+ -- simple numbers. You can describe an MSK cluster to find its version.+ -- When this update operation is successful, it generates a new cluster+ -- version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSecurity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAuthentication', 'updateSecurity_clientAuthentication' - Includes all client authentication related information.+--+-- 'encryptionInfo', 'updateSecurity_encryptionInfo' - Includes all encryption-related information.+--+-- 'clusterArn', 'updateSecurity_clusterArn' - The Amazon Resource Name (ARN) that uniquely identifies the cluster.+--+-- 'currentVersion', 'updateSecurity_currentVersion' - The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+newUpdateSecurity ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateSecurity+newUpdateSecurity pClusterArn_ pCurrentVersion_ =+ UpdateSecurity'+ { clientAuthentication =+ Prelude.Nothing,+ encryptionInfo = Prelude.Nothing,+ clusterArn = pClusterArn_,+ currentVersion = pCurrentVersion_+ }++-- | Includes all client authentication related information.+updateSecurity_clientAuthentication :: Lens.Lens' UpdateSecurity (Prelude.Maybe ClientAuthentication)+updateSecurity_clientAuthentication = Lens.lens (\UpdateSecurity' {clientAuthentication} -> clientAuthentication) (\s@UpdateSecurity' {} a -> s {clientAuthentication = a} :: UpdateSecurity)++-- | Includes all encryption-related information.+updateSecurity_encryptionInfo :: Lens.Lens' UpdateSecurity (Prelude.Maybe EncryptionInfo)+updateSecurity_encryptionInfo = Lens.lens (\UpdateSecurity' {encryptionInfo} -> encryptionInfo) (\s@UpdateSecurity' {} a -> s {encryptionInfo = a} :: UpdateSecurity)++-- | The Amazon Resource Name (ARN) that uniquely identifies the cluster.+updateSecurity_clusterArn :: Lens.Lens' UpdateSecurity Prelude.Text+updateSecurity_clusterArn = Lens.lens (\UpdateSecurity' {clusterArn} -> clusterArn) (\s@UpdateSecurity' {} a -> s {clusterArn = a} :: UpdateSecurity)++-- | The version of the MSK cluster to update. Cluster versions aren\'t+-- simple numbers. You can describe an MSK cluster to find its version.+-- When this update operation is successful, it generates a new cluster+-- version.+updateSecurity_currentVersion :: Lens.Lens' UpdateSecurity Prelude.Text+updateSecurity_currentVersion = Lens.lens (\UpdateSecurity' {currentVersion} -> currentVersion) (\s@UpdateSecurity' {} a -> s {currentVersion = a} :: UpdateSecurity)++instance Core.AWSRequest UpdateSecurity where+ type+ AWSResponse UpdateSecurity =+ UpdateSecurityResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSecurityResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSecurity where+ hashWithSalt _salt UpdateSecurity' {..} =+ _salt+ `Prelude.hashWithSalt` clientAuthentication+ `Prelude.hashWithSalt` encryptionInfo+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateSecurity where+ rnf UpdateSecurity' {..} =+ Prelude.rnf clientAuthentication+ `Prelude.seq` Prelude.rnf encryptionInfo+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateSecurity where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSecurity where+ toJSON UpdateSecurity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientAuthentication" Data..=)+ Prelude.<$> clientAuthentication,+ ("encryptionInfo" Data..=)+ Prelude.<$> encryptionInfo,+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateSecurity where+ toPath UpdateSecurity' {..} =+ Prelude.mconcat+ ["/v1/clusters/", Data.toBS clusterArn, "/security"]++instance Data.ToQuery UpdateSecurity where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSecurityResponse' smart constructor.+data UpdateSecurityResponse = UpdateSecurityResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateSecurityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateSecurityResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateSecurityResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateSecurityResponse_httpStatus' - The response's http status code.+newUpdateSecurityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSecurityResponse+newUpdateSecurityResponse pHttpStatus_ =+ UpdateSecurityResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateSecurityResponse_clusterArn :: Lens.Lens' UpdateSecurityResponse (Prelude.Maybe Prelude.Text)+updateSecurityResponse_clusterArn = Lens.lens (\UpdateSecurityResponse' {clusterArn} -> clusterArn) (\s@UpdateSecurityResponse' {} a -> s {clusterArn = a} :: UpdateSecurityResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateSecurityResponse_clusterOperationArn :: Lens.Lens' UpdateSecurityResponse (Prelude.Maybe Prelude.Text)+updateSecurityResponse_clusterOperationArn = Lens.lens (\UpdateSecurityResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateSecurityResponse' {} a -> s {clusterOperationArn = a} :: UpdateSecurityResponse)++-- | The response's http status code.+updateSecurityResponse_httpStatus :: Lens.Lens' UpdateSecurityResponse Prelude.Int+updateSecurityResponse_httpStatus = Lens.lens (\UpdateSecurityResponse' {httpStatus} -> httpStatus) (\s@UpdateSecurityResponse' {} a -> s {httpStatus = a} :: UpdateSecurityResponse)++instance Prelude.NFData UpdateSecurityResponse where+ rnf UpdateSecurityResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/UpdateStorage.hs view
@@ -0,0 +1,246 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Kafka.UpdateStorage+-- 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 cluster broker volume size (or) sets cluster storage mode to+-- TIERED.+module Amazonka.Kafka.UpdateStorage+ ( -- * Creating a Request+ UpdateStorage (..),+ newUpdateStorage,++ -- * Request Lenses+ updateStorage_provisionedThroughput,+ updateStorage_storageMode,+ updateStorage_volumeSizeGB,+ updateStorage_clusterArn,+ updateStorage_currentVersion,++ -- * Destructuring the Response+ UpdateStorageResponse (..),+ newUpdateStorageResponse,++ -- * Response Lenses+ updateStorageResponse_clusterArn,+ updateStorageResponse_clusterOperationArn,+ updateStorageResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request object for UpdateStorage api. Its used to update the storage+-- attributes for the cluster.+--+-- /See:/ 'newUpdateStorage' smart constructor.+data UpdateStorage = UpdateStorage'+ { -- | EBS volume provisioned throughput information.+ provisionedThroughput :: Prelude.Maybe ProvisionedThroughput,+ -- | Controls storage mode for supported storage tiers.+ storageMode :: Prelude.Maybe StorageMode,+ -- | size of the EBS volume to update.+ volumeSizeGB :: Prelude.Maybe Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the cluster to be updated.+ clusterArn :: Prelude.Text,+ -- | The version of cluster to update from. A successful operation will then+ -- generate a new version.+ currentVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'provisionedThroughput', 'updateStorage_provisionedThroughput' - EBS volume provisioned throughput information.+--+-- 'storageMode', 'updateStorage_storageMode' - Controls storage mode for supported storage tiers.+--+-- 'volumeSizeGB', 'updateStorage_volumeSizeGB' - size of the EBS volume to update.+--+-- 'clusterArn', 'updateStorage_clusterArn' - The Amazon Resource Name (ARN) of the cluster to be updated.+--+-- 'currentVersion', 'updateStorage_currentVersion' - The version of cluster to update from. A successful operation will then+-- generate a new version.+newUpdateStorage ::+ -- | 'clusterArn'+ Prelude.Text ->+ -- | 'currentVersion'+ Prelude.Text ->+ UpdateStorage+newUpdateStorage pClusterArn_ pCurrentVersion_ =+ UpdateStorage'+ { provisionedThroughput =+ Prelude.Nothing,+ storageMode = Prelude.Nothing,+ volumeSizeGB = Prelude.Nothing,+ clusterArn = pClusterArn_,+ currentVersion = pCurrentVersion_+ }++-- | EBS volume provisioned throughput information.+updateStorage_provisionedThroughput :: Lens.Lens' UpdateStorage (Prelude.Maybe ProvisionedThroughput)+updateStorage_provisionedThroughput = Lens.lens (\UpdateStorage' {provisionedThroughput} -> provisionedThroughput) (\s@UpdateStorage' {} a -> s {provisionedThroughput = a} :: UpdateStorage)++-- | Controls storage mode for supported storage tiers.+updateStorage_storageMode :: Lens.Lens' UpdateStorage (Prelude.Maybe StorageMode)+updateStorage_storageMode = Lens.lens (\UpdateStorage' {storageMode} -> storageMode) (\s@UpdateStorage' {} a -> s {storageMode = a} :: UpdateStorage)++-- | size of the EBS volume to update.+updateStorage_volumeSizeGB :: Lens.Lens' UpdateStorage (Prelude.Maybe Prelude.Int)+updateStorage_volumeSizeGB = Lens.lens (\UpdateStorage' {volumeSizeGB} -> volumeSizeGB) (\s@UpdateStorage' {} a -> s {volumeSizeGB = a} :: UpdateStorage)++-- | The Amazon Resource Name (ARN) of the cluster to be updated.+updateStorage_clusterArn :: Lens.Lens' UpdateStorage Prelude.Text+updateStorage_clusterArn = Lens.lens (\UpdateStorage' {clusterArn} -> clusterArn) (\s@UpdateStorage' {} a -> s {clusterArn = a} :: UpdateStorage)++-- | The version of cluster to update from. A successful operation will then+-- generate a new version.+updateStorage_currentVersion :: Lens.Lens' UpdateStorage Prelude.Text+updateStorage_currentVersion = Lens.lens (\UpdateStorage' {currentVersion} -> currentVersion) (\s@UpdateStorage' {} a -> s {currentVersion = a} :: UpdateStorage)++instance Core.AWSRequest UpdateStorage where+ type+ AWSResponse UpdateStorage =+ UpdateStorageResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateStorageResponse'+ Prelude.<$> (x Data..?> "clusterArn")+ Prelude.<*> (x Data..?> "clusterOperationArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateStorage where+ hashWithSalt _salt UpdateStorage' {..} =+ _salt+ `Prelude.hashWithSalt` provisionedThroughput+ `Prelude.hashWithSalt` storageMode+ `Prelude.hashWithSalt` volumeSizeGB+ `Prelude.hashWithSalt` clusterArn+ `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateStorage where+ rnf UpdateStorage' {..} =+ Prelude.rnf provisionedThroughput+ `Prelude.seq` Prelude.rnf storageMode+ `Prelude.seq` Prelude.rnf volumeSizeGB+ `Prelude.seq` Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateStorage where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateStorage where+ toJSON UpdateStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("provisionedThroughput" Data..=)+ Prelude.<$> provisionedThroughput,+ ("storageMode" Data..=) Prelude.<$> storageMode,+ ("volumeSizeGB" Data..=) Prelude.<$> volumeSizeGB,+ Prelude.Just+ ("currentVersion" Data..= currentVersion)+ ]+ )++instance Data.ToPath UpdateStorage where+ toPath UpdateStorage' {..} =+ Prelude.mconcat+ ["/v1/clusters/", Data.toBS clusterArn, "/storage"]++instance Data.ToQuery UpdateStorage where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStorageResponse' smart constructor.+data UpdateStorageResponse = UpdateStorageResponse'+ { -- | The Amazon Resource Name (ARN) of the cluster.+ clusterArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the cluster operation.+ clusterOperationArn :: 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 'UpdateStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterArn', 'updateStorageResponse_clusterArn' - The Amazon Resource Name (ARN) of the cluster.+--+-- 'clusterOperationArn', 'updateStorageResponse_clusterOperationArn' - The Amazon Resource Name (ARN) of the cluster operation.+--+-- 'httpStatus', 'updateStorageResponse_httpStatus' - The response's http status code.+newUpdateStorageResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateStorageResponse+newUpdateStorageResponse pHttpStatus_ =+ UpdateStorageResponse'+ { clusterArn =+ Prelude.Nothing,+ clusterOperationArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the cluster.+updateStorageResponse_clusterArn :: Lens.Lens' UpdateStorageResponse (Prelude.Maybe Prelude.Text)+updateStorageResponse_clusterArn = Lens.lens (\UpdateStorageResponse' {clusterArn} -> clusterArn) (\s@UpdateStorageResponse' {} a -> s {clusterArn = a} :: UpdateStorageResponse)++-- | The Amazon Resource Name (ARN) of the cluster operation.+updateStorageResponse_clusterOperationArn :: Lens.Lens' UpdateStorageResponse (Prelude.Maybe Prelude.Text)+updateStorageResponse_clusterOperationArn = Lens.lens (\UpdateStorageResponse' {clusterOperationArn} -> clusterOperationArn) (\s@UpdateStorageResponse' {} a -> s {clusterOperationArn = a} :: UpdateStorageResponse)++-- | The response's http status code.+updateStorageResponse_httpStatus :: Lens.Lens' UpdateStorageResponse Prelude.Int+updateStorageResponse_httpStatus = Lens.lens (\UpdateStorageResponse' {httpStatus} -> httpStatus) (\s@UpdateStorageResponse' {} a -> s {httpStatus = a} :: UpdateStorageResponse)++instance Prelude.NFData UpdateStorageResponse where+ rnf UpdateStorageResponse' {..} =+ Prelude.rnf clusterArn+ `Prelude.seq` Prelude.rnf clusterOperationArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Kafka/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.Kafka.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.Kafka.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Kafka.Lens+import Amazonka.Kafka.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.Kafka+import Test.Amazonka.Kafka.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "Kafka"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/Kafka.hs view
@@ -0,0 +1,758 @@+{-# 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.Kafka+-- Copyright : (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.Kafka where++import Amazonka.Kafka+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Kafka.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"+-- [ requestBatchAssociateScramSecret $+-- newBatchAssociateScramSecret+--+-- , requestBatchDisassociateScramSecret $+-- newBatchDisassociateScramSecret+--+-- , requestCreateCluster $+-- newCreateCluster+--+-- , requestCreateClusterV2 $+-- newCreateClusterV2+--+-- , requestCreateConfiguration $+-- newCreateConfiguration+--+-- , requestDeleteCluster $+-- newDeleteCluster+--+-- , requestDeleteConfiguration $+-- newDeleteConfiguration+--+-- , requestDescribeCluster $+-- newDescribeCluster+--+-- , requestDescribeClusterOperation $+-- newDescribeClusterOperation+--+-- , requestDescribeClusterV2 $+-- newDescribeClusterV2+--+-- , requestDescribeConfiguration $+-- newDescribeConfiguration+--+-- , requestDescribeConfigurationRevision $+-- newDescribeConfigurationRevision+--+-- , requestGetBootstrapBrokers $+-- newGetBootstrapBrokers+--+-- , requestGetCompatibleKafkaVersions $+-- newGetCompatibleKafkaVersions+--+-- , requestListClusterOperations $+-- newListClusterOperations+--+-- , requestListClusters $+-- newListClusters+--+-- , requestListClustersV2 $+-- newListClustersV2+--+-- , requestListConfigurationRevisions $+-- newListConfigurationRevisions+--+-- , requestListConfigurations $+-- newListConfigurations+--+-- , requestListKafkaVersions $+-- newListKafkaVersions+--+-- , requestListNodes $+-- newListNodes+--+-- , requestListScramSecrets $+-- newListScramSecrets+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestRebootBroker $+-- newRebootBroker+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateBrokerCount $+-- newUpdateBrokerCount+--+-- , requestUpdateBrokerStorage $+-- newUpdateBrokerStorage+--+-- , requestUpdateBrokerType $+-- newUpdateBrokerType+--+-- , requestUpdateClusterConfiguration $+-- newUpdateClusterConfiguration+--+-- , requestUpdateClusterKafkaVersion $+-- newUpdateClusterKafkaVersion+--+-- , requestUpdateConfiguration $+-- newUpdateConfiguration+--+-- , requestUpdateConnectivity $+-- newUpdateConnectivity+--+-- , requestUpdateMonitoring $+-- newUpdateMonitoring+--+-- , requestUpdateSecurity $+-- newUpdateSecurity+--+-- , requestUpdateStorage $+-- newUpdateStorage+--+-- ]++-- , testGroup "response"+-- [ responseBatchAssociateScramSecret $+-- newBatchAssociateScramSecretResponse+--+-- , responseBatchDisassociateScramSecret $+-- newBatchDisassociateScramSecretResponse+--+-- , responseCreateCluster $+-- newCreateClusterResponse+--+-- , responseCreateClusterV2 $+-- newCreateClusterV2Response+--+-- , responseCreateConfiguration $+-- newCreateConfigurationResponse+--+-- , responseDeleteCluster $+-- newDeleteClusterResponse+--+-- , responseDeleteConfiguration $+-- newDeleteConfigurationResponse+--+-- , responseDescribeCluster $+-- newDescribeClusterResponse+--+-- , responseDescribeClusterOperation $+-- newDescribeClusterOperationResponse+--+-- , responseDescribeClusterV2 $+-- newDescribeClusterV2Response+--+-- , responseDescribeConfiguration $+-- newDescribeConfigurationResponse+--+-- , responseDescribeConfigurationRevision $+-- newDescribeConfigurationRevisionResponse+--+-- , responseGetBootstrapBrokers $+-- newGetBootstrapBrokersResponse+--+-- , responseGetCompatibleKafkaVersions $+-- newGetCompatibleKafkaVersionsResponse+--+-- , responseListClusterOperations $+-- newListClusterOperationsResponse+--+-- , responseListClusters $+-- newListClustersResponse+--+-- , responseListClustersV2 $+-- newListClustersV2Response+--+-- , responseListConfigurationRevisions $+-- newListConfigurationRevisionsResponse+--+-- , responseListConfigurations $+-- newListConfigurationsResponse+--+-- , responseListKafkaVersions $+-- newListKafkaVersionsResponse+--+-- , responseListNodes $+-- newListNodesResponse+--+-- , responseListScramSecrets $+-- newListScramSecretsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseRebootBroker $+-- newRebootBrokerResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateBrokerCount $+-- newUpdateBrokerCountResponse+--+-- , responseUpdateBrokerStorage $+-- newUpdateBrokerStorageResponse+--+-- , responseUpdateBrokerType $+-- newUpdateBrokerTypeResponse+--+-- , responseUpdateClusterConfiguration $+-- newUpdateClusterConfigurationResponse+--+-- , responseUpdateClusterKafkaVersion $+-- newUpdateClusterKafkaVersionResponse+--+-- , responseUpdateConfiguration $+-- newUpdateConfigurationResponse+--+-- , responseUpdateConnectivity $+-- newUpdateConnectivityResponse+--+-- , responseUpdateMonitoring $+-- newUpdateMonitoringResponse+--+-- , responseUpdateSecurity $+-- newUpdateSecurityResponse+--+-- , responseUpdateStorage $+-- newUpdateStorageResponse+--+-- ]+-- ]++-- Requests++requestBatchAssociateScramSecret :: BatchAssociateScramSecret -> TestTree+requestBatchAssociateScramSecret =+ req+ "BatchAssociateScramSecret"+ "fixture/BatchAssociateScramSecret.yaml"++requestBatchDisassociateScramSecret :: BatchDisassociateScramSecret -> TestTree+requestBatchDisassociateScramSecret =+ req+ "BatchDisassociateScramSecret"+ "fixture/BatchDisassociateScramSecret.yaml"++requestCreateCluster :: CreateCluster -> TestTree+requestCreateCluster =+ req+ "CreateCluster"+ "fixture/CreateCluster.yaml"++requestCreateClusterV2 :: CreateClusterV2 -> TestTree+requestCreateClusterV2 =+ req+ "CreateClusterV2"+ "fixture/CreateClusterV2.yaml"++requestCreateConfiguration :: CreateConfiguration -> TestTree+requestCreateConfiguration =+ req+ "CreateConfiguration"+ "fixture/CreateConfiguration.yaml"++requestDeleteCluster :: DeleteCluster -> TestTree+requestDeleteCluster =+ req+ "DeleteCluster"+ "fixture/DeleteCluster.yaml"++requestDeleteConfiguration :: DeleteConfiguration -> TestTree+requestDeleteConfiguration =+ req+ "DeleteConfiguration"+ "fixture/DeleteConfiguration.yaml"++requestDescribeCluster :: DescribeCluster -> TestTree+requestDescribeCluster =+ req+ "DescribeCluster"+ "fixture/DescribeCluster.yaml"++requestDescribeClusterOperation :: DescribeClusterOperation -> TestTree+requestDescribeClusterOperation =+ req+ "DescribeClusterOperation"+ "fixture/DescribeClusterOperation.yaml"++requestDescribeClusterV2 :: DescribeClusterV2 -> TestTree+requestDescribeClusterV2 =+ req+ "DescribeClusterV2"+ "fixture/DescribeClusterV2.yaml"++requestDescribeConfiguration :: DescribeConfiguration -> TestTree+requestDescribeConfiguration =+ req+ "DescribeConfiguration"+ "fixture/DescribeConfiguration.yaml"++requestDescribeConfigurationRevision :: DescribeConfigurationRevision -> TestTree+requestDescribeConfigurationRevision =+ req+ "DescribeConfigurationRevision"+ "fixture/DescribeConfigurationRevision.yaml"++requestGetBootstrapBrokers :: GetBootstrapBrokers -> TestTree+requestGetBootstrapBrokers =+ req+ "GetBootstrapBrokers"+ "fixture/GetBootstrapBrokers.yaml"++requestGetCompatibleKafkaVersions :: GetCompatibleKafkaVersions -> TestTree+requestGetCompatibleKafkaVersions =+ req+ "GetCompatibleKafkaVersions"+ "fixture/GetCompatibleKafkaVersions.yaml"++requestListClusterOperations :: ListClusterOperations -> TestTree+requestListClusterOperations =+ req+ "ListClusterOperations"+ "fixture/ListClusterOperations.yaml"++requestListClusters :: ListClusters -> TestTree+requestListClusters =+ req+ "ListClusters"+ "fixture/ListClusters.yaml"++requestListClustersV2 :: ListClustersV2 -> TestTree+requestListClustersV2 =+ req+ "ListClustersV2"+ "fixture/ListClustersV2.yaml"++requestListConfigurationRevisions :: ListConfigurationRevisions -> TestTree+requestListConfigurationRevisions =+ req+ "ListConfigurationRevisions"+ "fixture/ListConfigurationRevisions.yaml"++requestListConfigurations :: ListConfigurations -> TestTree+requestListConfigurations =+ req+ "ListConfigurations"+ "fixture/ListConfigurations.yaml"++requestListKafkaVersions :: ListKafkaVersions -> TestTree+requestListKafkaVersions =+ req+ "ListKafkaVersions"+ "fixture/ListKafkaVersions.yaml"++requestListNodes :: ListNodes -> TestTree+requestListNodes =+ req+ "ListNodes"+ "fixture/ListNodes.yaml"++requestListScramSecrets :: ListScramSecrets -> TestTree+requestListScramSecrets =+ req+ "ListScramSecrets"+ "fixture/ListScramSecrets.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestRebootBroker :: RebootBroker -> TestTree+requestRebootBroker =+ req+ "RebootBroker"+ "fixture/RebootBroker.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateBrokerCount :: UpdateBrokerCount -> TestTree+requestUpdateBrokerCount =+ req+ "UpdateBrokerCount"+ "fixture/UpdateBrokerCount.yaml"++requestUpdateBrokerStorage :: UpdateBrokerStorage -> TestTree+requestUpdateBrokerStorage =+ req+ "UpdateBrokerStorage"+ "fixture/UpdateBrokerStorage.yaml"++requestUpdateBrokerType :: UpdateBrokerType -> TestTree+requestUpdateBrokerType =+ req+ "UpdateBrokerType"+ "fixture/UpdateBrokerType.yaml"++requestUpdateClusterConfiguration :: UpdateClusterConfiguration -> TestTree+requestUpdateClusterConfiguration =+ req+ "UpdateClusterConfiguration"+ "fixture/UpdateClusterConfiguration.yaml"++requestUpdateClusterKafkaVersion :: UpdateClusterKafkaVersion -> TestTree+requestUpdateClusterKafkaVersion =+ req+ "UpdateClusterKafkaVersion"+ "fixture/UpdateClusterKafkaVersion.yaml"++requestUpdateConfiguration :: UpdateConfiguration -> TestTree+requestUpdateConfiguration =+ req+ "UpdateConfiguration"+ "fixture/UpdateConfiguration.yaml"++requestUpdateConnectivity :: UpdateConnectivity -> TestTree+requestUpdateConnectivity =+ req+ "UpdateConnectivity"+ "fixture/UpdateConnectivity.yaml"++requestUpdateMonitoring :: UpdateMonitoring -> TestTree+requestUpdateMonitoring =+ req+ "UpdateMonitoring"+ "fixture/UpdateMonitoring.yaml"++requestUpdateSecurity :: UpdateSecurity -> TestTree+requestUpdateSecurity =+ req+ "UpdateSecurity"+ "fixture/UpdateSecurity.yaml"++requestUpdateStorage :: UpdateStorage -> TestTree+requestUpdateStorage =+ req+ "UpdateStorage"+ "fixture/UpdateStorage.yaml"++-- Responses++responseBatchAssociateScramSecret :: BatchAssociateScramSecretResponse -> TestTree+responseBatchAssociateScramSecret =+ res+ "BatchAssociateScramSecretResponse"+ "fixture/BatchAssociateScramSecretResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchAssociateScramSecret)++responseBatchDisassociateScramSecret :: BatchDisassociateScramSecretResponse -> TestTree+responseBatchDisassociateScramSecret =+ res+ "BatchDisassociateScramSecretResponse"+ "fixture/BatchDisassociateScramSecretResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDisassociateScramSecret)++responseCreateCluster :: CreateClusterResponse -> TestTree+responseCreateCluster =+ res+ "CreateClusterResponse"+ "fixture/CreateClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCluster)++responseCreateClusterV2 :: CreateClusterV2Response -> TestTree+responseCreateClusterV2 =+ res+ "CreateClusterV2Response"+ "fixture/CreateClusterV2Response.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateClusterV2)++responseCreateConfiguration :: CreateConfigurationResponse -> TestTree+responseCreateConfiguration =+ res+ "CreateConfigurationResponse"+ "fixture/CreateConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateConfiguration)++responseDeleteCluster :: DeleteClusterResponse -> TestTree+responseDeleteCluster =+ res+ "DeleteClusterResponse"+ "fixture/DeleteClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCluster)++responseDeleteConfiguration :: DeleteConfigurationResponse -> TestTree+responseDeleteConfiguration =+ res+ "DeleteConfigurationResponse"+ "fixture/DeleteConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteConfiguration)++responseDescribeCluster :: DescribeClusterResponse -> TestTree+responseDescribeCluster =+ res+ "DescribeClusterResponse"+ "fixture/DescribeClusterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeCluster)++responseDescribeClusterOperation :: DescribeClusterOperationResponse -> TestTree+responseDescribeClusterOperation =+ res+ "DescribeClusterOperationResponse"+ "fixture/DescribeClusterOperationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeClusterOperation)++responseDescribeClusterV2 :: DescribeClusterV2Response -> TestTree+responseDescribeClusterV2 =+ res+ "DescribeClusterV2Response"+ "fixture/DescribeClusterV2Response.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeClusterV2)++responseDescribeConfiguration :: DescribeConfigurationResponse -> TestTree+responseDescribeConfiguration =+ res+ "DescribeConfigurationResponse"+ "fixture/DescribeConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeConfiguration)++responseDescribeConfigurationRevision :: DescribeConfigurationRevisionResponse -> TestTree+responseDescribeConfigurationRevision =+ res+ "DescribeConfigurationRevisionResponse"+ "fixture/DescribeConfigurationRevisionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeConfigurationRevision)++responseGetBootstrapBrokers :: GetBootstrapBrokersResponse -> TestTree+responseGetBootstrapBrokers =+ res+ "GetBootstrapBrokersResponse"+ "fixture/GetBootstrapBrokersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetBootstrapBrokers)++responseGetCompatibleKafkaVersions :: GetCompatibleKafkaVersionsResponse -> TestTree+responseGetCompatibleKafkaVersions =+ res+ "GetCompatibleKafkaVersionsResponse"+ "fixture/GetCompatibleKafkaVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetCompatibleKafkaVersions)++responseListClusterOperations :: ListClusterOperationsResponse -> TestTree+responseListClusterOperations =+ res+ "ListClusterOperationsResponse"+ "fixture/ListClusterOperationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListClusterOperations)++responseListClusters :: ListClustersResponse -> TestTree+responseListClusters =+ res+ "ListClustersResponse"+ "fixture/ListClustersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListClusters)++responseListClustersV2 :: ListClustersV2Response -> TestTree+responseListClustersV2 =+ res+ "ListClustersV2Response"+ "fixture/ListClustersV2Response.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListClustersV2)++responseListConfigurationRevisions :: ListConfigurationRevisionsResponse -> TestTree+responseListConfigurationRevisions =+ res+ "ListConfigurationRevisionsResponse"+ "fixture/ListConfigurationRevisionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListConfigurationRevisions)++responseListConfigurations :: ListConfigurationsResponse -> TestTree+responseListConfigurations =+ res+ "ListConfigurationsResponse"+ "fixture/ListConfigurationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListConfigurations)++responseListKafkaVersions :: ListKafkaVersionsResponse -> TestTree+responseListKafkaVersions =+ res+ "ListKafkaVersionsResponse"+ "fixture/ListKafkaVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListKafkaVersions)++responseListNodes :: ListNodesResponse -> TestTree+responseListNodes =+ res+ "ListNodesResponse"+ "fixture/ListNodesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListNodes)++responseListScramSecrets :: ListScramSecretsResponse -> TestTree+responseListScramSecrets =+ res+ "ListScramSecretsResponse"+ "fixture/ListScramSecretsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListScramSecrets)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseRebootBroker :: RebootBrokerResponse -> TestTree+responseRebootBroker =+ res+ "RebootBrokerResponse"+ "fixture/RebootBrokerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RebootBroker)++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)++responseUpdateBrokerCount :: UpdateBrokerCountResponse -> TestTree+responseUpdateBrokerCount =+ res+ "UpdateBrokerCountResponse"+ "fixture/UpdateBrokerCountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateBrokerCount)++responseUpdateBrokerStorage :: UpdateBrokerStorageResponse -> TestTree+responseUpdateBrokerStorage =+ res+ "UpdateBrokerStorageResponse"+ "fixture/UpdateBrokerStorageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateBrokerStorage)++responseUpdateBrokerType :: UpdateBrokerTypeResponse -> TestTree+responseUpdateBrokerType =+ res+ "UpdateBrokerTypeResponse"+ "fixture/UpdateBrokerTypeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateBrokerType)++responseUpdateClusterConfiguration :: UpdateClusterConfigurationResponse -> TestTree+responseUpdateClusterConfiguration =+ res+ "UpdateClusterConfigurationResponse"+ "fixture/UpdateClusterConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateClusterConfiguration)++responseUpdateClusterKafkaVersion :: UpdateClusterKafkaVersionResponse -> TestTree+responseUpdateClusterKafkaVersion =+ res+ "UpdateClusterKafkaVersionResponse"+ "fixture/UpdateClusterKafkaVersionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateClusterKafkaVersion)++responseUpdateConfiguration :: UpdateConfigurationResponse -> TestTree+responseUpdateConfiguration =+ res+ "UpdateConfigurationResponse"+ "fixture/UpdateConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateConfiguration)++responseUpdateConnectivity :: UpdateConnectivityResponse -> TestTree+responseUpdateConnectivity =+ res+ "UpdateConnectivityResponse"+ "fixture/UpdateConnectivityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateConnectivity)++responseUpdateMonitoring :: UpdateMonitoringResponse -> TestTree+responseUpdateMonitoring =+ res+ "UpdateMonitoringResponse"+ "fixture/UpdateMonitoringResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMonitoring)++responseUpdateSecurity :: UpdateSecurityResponse -> TestTree+responseUpdateSecurity =+ res+ "UpdateSecurityResponse"+ "fixture/UpdateSecurityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSecurity)++responseUpdateStorage :: UpdateStorageResponse -> TestTree+responseUpdateStorage =+ res+ "UpdateStorageResponse"+ "fixture/UpdateStorageResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateStorage)
+ test/Test/Amazonka/Kafka.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.Kafka+-- Copyright : (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.Kafka+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Kafka/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.Kafka.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.Kafka.Internal where