packages feed

amazonka-kafkaconnect (empty) → 2.0

raw patch · 106 files changed

+10971/−0 lines, 106 filesdep +amazonka-coredep +amazonka-kafkaconnectdep +amazonka-test

Dependencies added: amazonka-core, amazonka-kafkaconnect, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ 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 Connect SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-09-14@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-kafkaconnect)+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.KafkaConnect](http://hackage.haskell.org/package/amazonka-kafkaconnect/docs/Amazonka-KafkaConnect.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-kafkaconnect` 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-kafkaconnect.cabal view
@@ -0,0 +1,153 @@+cabal-version:      2.2+name:               amazonka-kafkaconnect+version:            2.0+synopsis:           Amazon Managed Streaming for Kafka Connect SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2021-09-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.KafkaConnect.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.KafkaConnect" 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-kafkaconnect++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.KafkaConnect+    Amazonka.KafkaConnect.CreateConnector+    Amazonka.KafkaConnect.CreateCustomPlugin+    Amazonka.KafkaConnect.CreateWorkerConfiguration+    Amazonka.KafkaConnect.DeleteConnector+    Amazonka.KafkaConnect.DeleteCustomPlugin+    Amazonka.KafkaConnect.DescribeConnector+    Amazonka.KafkaConnect.DescribeCustomPlugin+    Amazonka.KafkaConnect.DescribeWorkerConfiguration+    Amazonka.KafkaConnect.Lens+    Amazonka.KafkaConnect.ListConnectors+    Amazonka.KafkaConnect.ListCustomPlugins+    Amazonka.KafkaConnect.ListWorkerConfigurations+    Amazonka.KafkaConnect.Types+    Amazonka.KafkaConnect.Types.ApacheKafkaCluster+    Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription+    Amazonka.KafkaConnect.Types.AutoScaling+    Amazonka.KafkaConnect.Types.AutoScalingDescription+    Amazonka.KafkaConnect.Types.AutoScalingUpdate+    Amazonka.KafkaConnect.Types.Capacity+    Amazonka.KafkaConnect.Types.CapacityDescription+    Amazonka.KafkaConnect.Types.CapacityUpdate+    Amazonka.KafkaConnect.Types.CloudWatchLogsLogDelivery+    Amazonka.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription+    Amazonka.KafkaConnect.Types.ConnectorState+    Amazonka.KafkaConnect.Types.ConnectorSummary+    Amazonka.KafkaConnect.Types.CustomPlugin+    Amazonka.KafkaConnect.Types.CustomPluginContentType+    Amazonka.KafkaConnect.Types.CustomPluginDescription+    Amazonka.KafkaConnect.Types.CustomPluginFileDescription+    Amazonka.KafkaConnect.Types.CustomPluginLocation+    Amazonka.KafkaConnect.Types.CustomPluginLocationDescription+    Amazonka.KafkaConnect.Types.CustomPluginRevisionSummary+    Amazonka.KafkaConnect.Types.CustomPluginState+    Amazonka.KafkaConnect.Types.CustomPluginSummary+    Amazonka.KafkaConnect.Types.FirehoseLogDelivery+    Amazonka.KafkaConnect.Types.FirehoseLogDeliveryDescription+    Amazonka.KafkaConnect.Types.KafkaCluster+    Amazonka.KafkaConnect.Types.KafkaClusterClientAuthentication+    Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription+    Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationType+    Amazonka.KafkaConnect.Types.KafkaClusterDescription+    Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransit+    Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription+    Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+    Amazonka.KafkaConnect.Types.LogDelivery+    Amazonka.KafkaConnect.Types.LogDeliveryDescription+    Amazonka.KafkaConnect.Types.Plugin+    Amazonka.KafkaConnect.Types.PluginDescription+    Amazonka.KafkaConnect.Types.ProvisionedCapacity+    Amazonka.KafkaConnect.Types.ProvisionedCapacityDescription+    Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate+    Amazonka.KafkaConnect.Types.S3Location+    Amazonka.KafkaConnect.Types.S3LocationDescription+    Amazonka.KafkaConnect.Types.S3LogDelivery+    Amazonka.KafkaConnect.Types.S3LogDeliveryDescription+    Amazonka.KafkaConnect.Types.ScaleInPolicy+    Amazonka.KafkaConnect.Types.ScaleInPolicyDescription+    Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate+    Amazonka.KafkaConnect.Types.ScaleOutPolicy+    Amazonka.KafkaConnect.Types.ScaleOutPolicyDescription+    Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate+    Amazonka.KafkaConnect.Types.StateDescription+    Amazonka.KafkaConnect.Types.Vpc+    Amazonka.KafkaConnect.Types.VpcDescription+    Amazonka.KafkaConnect.Types.WorkerConfiguration+    Amazonka.KafkaConnect.Types.WorkerConfigurationDescription+    Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionDescription+    Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary+    Amazonka.KafkaConnect.Types.WorkerConfigurationSummary+    Amazonka.KafkaConnect.Types.WorkerLogDelivery+    Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription+    Amazonka.KafkaConnect.UpdateConnector+    Amazonka.KafkaConnect.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-kafkaconnect-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.KafkaConnect+    Test.Amazonka.KafkaConnect+    Test.Amazonka.KafkaConnect.Internal++  build-depends:+    , amazonka-core          >=2.0 && <2.1+    , amazonka-kafkaconnect+    , amazonka-test          >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/CreateConnectorResponse.proto view
+ fixture/CreateCustomPlugin.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/CreateCustomPluginResponse.proto view
+ fixture/CreateWorkerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/CreateWorkerConfigurationResponse.proto view
+ fixture/DeleteConnector.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/DeleteConnectorResponse.proto view
+ fixture/DeleteCustomPlugin.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/DeleteCustomPluginResponse.proto view
+ fixture/DescribeConnector.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/DescribeConnectorResponse.proto view
+ fixture/DescribeCustomPlugin.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/DescribeCustomPluginResponse.proto view
+ fixture/DescribeWorkerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/DescribeWorkerConfigurationResponse.proto view
+ fixture/ListConnectors.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/ListConnectorsResponse.proto view
+ fixture/ListCustomPlugins.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/ListCustomPluginsResponse.proto view
+ fixture/ListWorkerConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/ListWorkerConfigurationsResponse.proto view
+ fixture/UpdateConnector.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/kafkaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  kafkaconnect.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/UpdateConnectorResponse.proto view
+ gen/Amazonka/KafkaConnect.hs view
@@ -0,0 +1,394 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.KafkaConnect+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-09-14@ of the AWS service descriptions, licensed under Apache 2.0.+module Amazonka.KafkaConnect+  ( -- * 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++    -- ** CreateConnector+    CreateConnector (CreateConnector'),+    newCreateConnector,+    CreateConnectorResponse (CreateConnectorResponse'),+    newCreateConnectorResponse,++    -- ** CreateCustomPlugin+    CreateCustomPlugin (CreateCustomPlugin'),+    newCreateCustomPlugin,+    CreateCustomPluginResponse (CreateCustomPluginResponse'),+    newCreateCustomPluginResponse,++    -- ** CreateWorkerConfiguration+    CreateWorkerConfiguration (CreateWorkerConfiguration'),+    newCreateWorkerConfiguration,+    CreateWorkerConfigurationResponse (CreateWorkerConfigurationResponse'),+    newCreateWorkerConfigurationResponse,++    -- ** DeleteConnector+    DeleteConnector (DeleteConnector'),+    newDeleteConnector,+    DeleteConnectorResponse (DeleteConnectorResponse'),+    newDeleteConnectorResponse,++    -- ** DeleteCustomPlugin+    DeleteCustomPlugin (DeleteCustomPlugin'),+    newDeleteCustomPlugin,+    DeleteCustomPluginResponse (DeleteCustomPluginResponse'),+    newDeleteCustomPluginResponse,++    -- ** DescribeConnector+    DescribeConnector (DescribeConnector'),+    newDescribeConnector,+    DescribeConnectorResponse (DescribeConnectorResponse'),+    newDescribeConnectorResponse,++    -- ** DescribeCustomPlugin+    DescribeCustomPlugin (DescribeCustomPlugin'),+    newDescribeCustomPlugin,+    DescribeCustomPluginResponse (DescribeCustomPluginResponse'),+    newDescribeCustomPluginResponse,++    -- ** DescribeWorkerConfiguration+    DescribeWorkerConfiguration (DescribeWorkerConfiguration'),+    newDescribeWorkerConfiguration,+    DescribeWorkerConfigurationResponse (DescribeWorkerConfigurationResponse'),+    newDescribeWorkerConfigurationResponse,++    -- ** ListConnectors (Paginated)+    ListConnectors (ListConnectors'),+    newListConnectors,+    ListConnectorsResponse (ListConnectorsResponse'),+    newListConnectorsResponse,++    -- ** ListCustomPlugins (Paginated)+    ListCustomPlugins (ListCustomPlugins'),+    newListCustomPlugins,+    ListCustomPluginsResponse (ListCustomPluginsResponse'),+    newListCustomPluginsResponse,++    -- ** ListWorkerConfigurations (Paginated)+    ListWorkerConfigurations (ListWorkerConfigurations'),+    newListWorkerConfigurations,+    ListWorkerConfigurationsResponse (ListWorkerConfigurationsResponse'),+    newListWorkerConfigurationsResponse,++    -- ** UpdateConnector+    UpdateConnector (UpdateConnector'),+    newUpdateConnector,+    UpdateConnectorResponse (UpdateConnectorResponse'),+    newUpdateConnectorResponse,++    -- * Types++    -- ** ConnectorState+    ConnectorState (..),++    -- ** CustomPluginContentType+    CustomPluginContentType (..),++    -- ** CustomPluginState+    CustomPluginState (..),++    -- ** KafkaClusterClientAuthenticationType+    KafkaClusterClientAuthenticationType (..),++    -- ** KafkaClusterEncryptionInTransitType+    KafkaClusterEncryptionInTransitType (..),++    -- ** ApacheKafkaCluster+    ApacheKafkaCluster (ApacheKafkaCluster'),+    newApacheKafkaCluster,++    -- ** ApacheKafkaClusterDescription+    ApacheKafkaClusterDescription (ApacheKafkaClusterDescription'),+    newApacheKafkaClusterDescription,++    -- ** AutoScaling+    AutoScaling (AutoScaling'),+    newAutoScaling,++    -- ** AutoScalingDescription+    AutoScalingDescription (AutoScalingDescription'),+    newAutoScalingDescription,++    -- ** AutoScalingUpdate+    AutoScalingUpdate (AutoScalingUpdate'),+    newAutoScalingUpdate,++    -- ** Capacity+    Capacity (Capacity'),+    newCapacity,++    -- ** CapacityDescription+    CapacityDescription (CapacityDescription'),+    newCapacityDescription,++    -- ** CapacityUpdate+    CapacityUpdate (CapacityUpdate'),+    newCapacityUpdate,++    -- ** CloudWatchLogsLogDelivery+    CloudWatchLogsLogDelivery (CloudWatchLogsLogDelivery'),+    newCloudWatchLogsLogDelivery,++    -- ** CloudWatchLogsLogDeliveryDescription+    CloudWatchLogsLogDeliveryDescription (CloudWatchLogsLogDeliveryDescription'),+    newCloudWatchLogsLogDeliveryDescription,++    -- ** ConnectorSummary+    ConnectorSummary (ConnectorSummary'),+    newConnectorSummary,++    -- ** CustomPlugin+    CustomPlugin (CustomPlugin'),+    newCustomPlugin,++    -- ** CustomPluginDescription+    CustomPluginDescription (CustomPluginDescription'),+    newCustomPluginDescription,++    -- ** CustomPluginFileDescription+    CustomPluginFileDescription (CustomPluginFileDescription'),+    newCustomPluginFileDescription,++    -- ** CustomPluginLocation+    CustomPluginLocation (CustomPluginLocation'),+    newCustomPluginLocation,++    -- ** CustomPluginLocationDescription+    CustomPluginLocationDescription (CustomPluginLocationDescription'),+    newCustomPluginLocationDescription,++    -- ** CustomPluginRevisionSummary+    CustomPluginRevisionSummary (CustomPluginRevisionSummary'),+    newCustomPluginRevisionSummary,++    -- ** CustomPluginSummary+    CustomPluginSummary (CustomPluginSummary'),+    newCustomPluginSummary,++    -- ** FirehoseLogDelivery+    FirehoseLogDelivery (FirehoseLogDelivery'),+    newFirehoseLogDelivery,++    -- ** FirehoseLogDeliveryDescription+    FirehoseLogDeliveryDescription (FirehoseLogDeliveryDescription'),+    newFirehoseLogDeliveryDescription,++    -- ** KafkaCluster+    KafkaCluster (KafkaCluster'),+    newKafkaCluster,++    -- ** KafkaClusterClientAuthentication+    KafkaClusterClientAuthentication (KafkaClusterClientAuthentication'),+    newKafkaClusterClientAuthentication,++    -- ** KafkaClusterClientAuthenticationDescription+    KafkaClusterClientAuthenticationDescription (KafkaClusterClientAuthenticationDescription'),+    newKafkaClusterClientAuthenticationDescription,++    -- ** KafkaClusterDescription+    KafkaClusterDescription (KafkaClusterDescription'),+    newKafkaClusterDescription,++    -- ** KafkaClusterEncryptionInTransit+    KafkaClusterEncryptionInTransit (KafkaClusterEncryptionInTransit'),+    newKafkaClusterEncryptionInTransit,++    -- ** KafkaClusterEncryptionInTransitDescription+    KafkaClusterEncryptionInTransitDescription (KafkaClusterEncryptionInTransitDescription'),+    newKafkaClusterEncryptionInTransitDescription,++    -- ** LogDelivery+    LogDelivery (LogDelivery'),+    newLogDelivery,++    -- ** LogDeliveryDescription+    LogDeliveryDescription (LogDeliveryDescription'),+    newLogDeliveryDescription,++    -- ** Plugin+    Plugin (Plugin'),+    newPlugin,++    -- ** PluginDescription+    PluginDescription (PluginDescription'),+    newPluginDescription,++    -- ** ProvisionedCapacity+    ProvisionedCapacity (ProvisionedCapacity'),+    newProvisionedCapacity,++    -- ** ProvisionedCapacityDescription+    ProvisionedCapacityDescription (ProvisionedCapacityDescription'),+    newProvisionedCapacityDescription,++    -- ** ProvisionedCapacityUpdate+    ProvisionedCapacityUpdate (ProvisionedCapacityUpdate'),+    newProvisionedCapacityUpdate,++    -- ** S3Location+    S3Location (S3Location'),+    newS3Location,++    -- ** S3LocationDescription+    S3LocationDescription (S3LocationDescription'),+    newS3LocationDescription,++    -- ** S3LogDelivery+    S3LogDelivery (S3LogDelivery'),+    newS3LogDelivery,++    -- ** S3LogDeliveryDescription+    S3LogDeliveryDescription (S3LogDeliveryDescription'),+    newS3LogDeliveryDescription,++    -- ** ScaleInPolicy+    ScaleInPolicy (ScaleInPolicy'),+    newScaleInPolicy,++    -- ** ScaleInPolicyDescription+    ScaleInPolicyDescription (ScaleInPolicyDescription'),+    newScaleInPolicyDescription,++    -- ** ScaleInPolicyUpdate+    ScaleInPolicyUpdate (ScaleInPolicyUpdate'),+    newScaleInPolicyUpdate,++    -- ** ScaleOutPolicy+    ScaleOutPolicy (ScaleOutPolicy'),+    newScaleOutPolicy,++    -- ** ScaleOutPolicyDescription+    ScaleOutPolicyDescription (ScaleOutPolicyDescription'),+    newScaleOutPolicyDescription,++    -- ** ScaleOutPolicyUpdate+    ScaleOutPolicyUpdate (ScaleOutPolicyUpdate'),+    newScaleOutPolicyUpdate,++    -- ** StateDescription+    StateDescription (StateDescription'),+    newStateDescription,++    -- ** Vpc+    Vpc (Vpc'),+    newVpc,++    -- ** VpcDescription+    VpcDescription (VpcDescription'),+    newVpcDescription,++    -- ** WorkerConfiguration+    WorkerConfiguration (WorkerConfiguration'),+    newWorkerConfiguration,++    -- ** WorkerConfigurationDescription+    WorkerConfigurationDescription (WorkerConfigurationDescription'),+    newWorkerConfigurationDescription,++    -- ** WorkerConfigurationRevisionDescription+    WorkerConfigurationRevisionDescription (WorkerConfigurationRevisionDescription'),+    newWorkerConfigurationRevisionDescription,++    -- ** WorkerConfigurationRevisionSummary+    WorkerConfigurationRevisionSummary (WorkerConfigurationRevisionSummary'),+    newWorkerConfigurationRevisionSummary,++    -- ** WorkerConfigurationSummary+    WorkerConfigurationSummary (WorkerConfigurationSummary'),+    newWorkerConfigurationSummary,++    -- ** WorkerLogDelivery+    WorkerLogDelivery (WorkerLogDelivery'),+    newWorkerLogDelivery,++    -- ** WorkerLogDeliveryDescription+    WorkerLogDeliveryDescription (WorkerLogDeliveryDescription'),+    newWorkerLogDeliveryDescription,+  )+where++import Amazonka.KafkaConnect.CreateConnector+import Amazonka.KafkaConnect.CreateCustomPlugin+import Amazonka.KafkaConnect.CreateWorkerConfiguration+import Amazonka.KafkaConnect.DeleteConnector+import Amazonka.KafkaConnect.DeleteCustomPlugin+import Amazonka.KafkaConnect.DescribeConnector+import Amazonka.KafkaConnect.DescribeCustomPlugin+import Amazonka.KafkaConnect.DescribeWorkerConfiguration+import Amazonka.KafkaConnect.Lens+import Amazonka.KafkaConnect.ListConnectors+import Amazonka.KafkaConnect.ListCustomPlugins+import Amazonka.KafkaConnect.ListWorkerConfigurations+import Amazonka.KafkaConnect.Types+import Amazonka.KafkaConnect.UpdateConnector+import Amazonka.KafkaConnect.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 'KafkaConnect'.++-- $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/KafkaConnect/CreateConnector.hs view
@@ -0,0 +1,394 @@+{-# 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.KafkaConnect.CreateConnector+-- 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 connector using the specified properties.+module Amazonka.KafkaConnect.CreateConnector+  ( -- * Creating a Request+    CreateConnector (..),+    newCreateConnector,++    -- * Request Lenses+    createConnector_connectorDescription,+    createConnector_logDelivery,+    createConnector_workerConfiguration,+    createConnector_capacity,+    createConnector_connectorConfiguration,+    createConnector_connectorName,+    createConnector_kafkaCluster,+    createConnector_kafkaClusterClientAuthentication,+    createConnector_kafkaClusterEncryptionInTransit,+    createConnector_kafkaConnectVersion,+    createConnector_plugins,+    createConnector_serviceExecutionRoleArn,++    -- * Destructuring the Response+    CreateConnectorResponse (..),+    newCreateConnectorResponse,++    -- * Response Lenses+    createConnectorResponse_connectorArn,+    createConnectorResponse_connectorName,+    createConnectorResponse_connectorState,+    createConnectorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConnector' smart constructor.+data CreateConnector = CreateConnector'+  { -- | A summary description of the connector.+    connectorDescription :: Prelude.Maybe Prelude.Text,+    -- | Details about log delivery.+    logDelivery :: Prelude.Maybe LogDelivery,+    -- | Specifies which worker configuration to use with the connector.+    workerConfiguration :: Prelude.Maybe WorkerConfiguration,+    -- | Information about the capacity allocated to the connector. Exactly one+    -- of the two properties must be specified.+    capacity :: Capacity,+    -- | A map of keys to values that represent the configuration for the+    -- connector.+    connectorConfiguration :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the connector.+    connectorName :: Prelude.Text,+    -- | Specifies which Apache Kafka cluster to connect to.+    kafkaCluster :: KafkaCluster,+    -- | Details of the client authentication used by the Apache Kafka cluster.+    kafkaClusterClientAuthentication :: KafkaClusterClientAuthentication,+    -- | Details of encryption in transit to the Apache Kafka cluster.+    kafkaClusterEncryptionInTransit :: KafkaClusterEncryptionInTransit,+    -- | The version of Kafka Connect. It has to be compatible with both the+    -- Apache Kafka cluster\'s version and the plugins.+    kafkaConnectVersion :: Prelude.Text,+    -- | Specifies which plugins to use for the connector.+    plugins :: [Plugin],+    -- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+    -- access the Amazon Web Services resources that it needs. The types of+    -- resources depends on the logic of the connector. For example, a+    -- connector that has Amazon S3 as a destination must have permissions that+    -- allow it to write to the S3 destination bucket.+    serviceExecutionRoleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorDescription', 'createConnector_connectorDescription' - A summary description of the connector.+--+-- 'logDelivery', 'createConnector_logDelivery' - Details about log delivery.+--+-- 'workerConfiguration', 'createConnector_workerConfiguration' - Specifies which worker configuration to use with the connector.+--+-- 'capacity', 'createConnector_capacity' - Information about the capacity allocated to the connector. Exactly one+-- of the two properties must be specified.+--+-- 'connectorConfiguration', 'createConnector_connectorConfiguration' - A map of keys to values that represent the configuration for the+-- connector.+--+-- 'connectorName', 'createConnector_connectorName' - The name of the connector.+--+-- 'kafkaCluster', 'createConnector_kafkaCluster' - Specifies which Apache Kafka cluster to connect to.+--+-- 'kafkaClusterClientAuthentication', 'createConnector_kafkaClusterClientAuthentication' - Details of the client authentication used by the Apache Kafka cluster.+--+-- 'kafkaClusterEncryptionInTransit', 'createConnector_kafkaClusterEncryptionInTransit' - Details of encryption in transit to the Apache Kafka cluster.+--+-- 'kafkaConnectVersion', 'createConnector_kafkaConnectVersion' - The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+--+-- 'plugins', 'createConnector_plugins' - Specifies which plugins to use for the connector.+--+-- 'serviceExecutionRoleArn', 'createConnector_serviceExecutionRoleArn' - The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access the Amazon Web Services resources that it needs. The types of+-- resources depends on the logic of the connector. For example, a+-- connector that has Amazon S3 as a destination must have permissions that+-- allow it to write to the S3 destination bucket.+newCreateConnector ::+  -- | 'capacity'+  Capacity ->+  -- | 'connectorName'+  Prelude.Text ->+  -- | 'kafkaCluster'+  KafkaCluster ->+  -- | 'kafkaClusterClientAuthentication'+  KafkaClusterClientAuthentication ->+  -- | 'kafkaClusterEncryptionInTransit'+  KafkaClusterEncryptionInTransit ->+  -- | 'kafkaConnectVersion'+  Prelude.Text ->+  -- | 'serviceExecutionRoleArn'+  Prelude.Text ->+  CreateConnector+newCreateConnector+  pCapacity_+  pConnectorName_+  pKafkaCluster_+  pKafkaClusterClientAuthentication_+  pKafkaClusterEncryptionInTransit_+  pKafkaConnectVersion_+  pServiceExecutionRoleArn_ =+    CreateConnector'+      { connectorDescription =+          Prelude.Nothing,+        logDelivery = Prelude.Nothing,+        workerConfiguration = Prelude.Nothing,+        capacity = pCapacity_,+        connectorConfiguration = Prelude.mempty,+        connectorName = pConnectorName_,+        kafkaCluster = pKafkaCluster_,+        kafkaClusterClientAuthentication =+          pKafkaClusterClientAuthentication_,+        kafkaClusterEncryptionInTransit =+          pKafkaClusterEncryptionInTransit_,+        kafkaConnectVersion = pKafkaConnectVersion_,+        plugins = Prelude.mempty,+        serviceExecutionRoleArn = pServiceExecutionRoleArn_+      }++-- | A summary description of the connector.+createConnector_connectorDescription :: Lens.Lens' CreateConnector (Prelude.Maybe Prelude.Text)+createConnector_connectorDescription = Lens.lens (\CreateConnector' {connectorDescription} -> connectorDescription) (\s@CreateConnector' {} a -> s {connectorDescription = a} :: CreateConnector)++-- | Details about log delivery.+createConnector_logDelivery :: Lens.Lens' CreateConnector (Prelude.Maybe LogDelivery)+createConnector_logDelivery = Lens.lens (\CreateConnector' {logDelivery} -> logDelivery) (\s@CreateConnector' {} a -> s {logDelivery = a} :: CreateConnector)++-- | Specifies which worker configuration to use with the connector.+createConnector_workerConfiguration :: Lens.Lens' CreateConnector (Prelude.Maybe WorkerConfiguration)+createConnector_workerConfiguration = Lens.lens (\CreateConnector' {workerConfiguration} -> workerConfiguration) (\s@CreateConnector' {} a -> s {workerConfiguration = a} :: CreateConnector)++-- | Information about the capacity allocated to the connector. Exactly one+-- of the two properties must be specified.+createConnector_capacity :: Lens.Lens' CreateConnector Capacity+createConnector_capacity = Lens.lens (\CreateConnector' {capacity} -> capacity) (\s@CreateConnector' {} a -> s {capacity = a} :: CreateConnector)++-- | A map of keys to values that represent the configuration for the+-- connector.+createConnector_connectorConfiguration :: Lens.Lens' CreateConnector (Prelude.HashMap Prelude.Text Prelude.Text)+createConnector_connectorConfiguration = Lens.lens (\CreateConnector' {connectorConfiguration} -> connectorConfiguration) (\s@CreateConnector' {} a -> s {connectorConfiguration = a} :: CreateConnector) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The name of the connector.+createConnector_connectorName :: Lens.Lens' CreateConnector Prelude.Text+createConnector_connectorName = Lens.lens (\CreateConnector' {connectorName} -> connectorName) (\s@CreateConnector' {} a -> s {connectorName = a} :: CreateConnector)++-- | Specifies which Apache Kafka cluster to connect to.+createConnector_kafkaCluster :: Lens.Lens' CreateConnector KafkaCluster+createConnector_kafkaCluster = Lens.lens (\CreateConnector' {kafkaCluster} -> kafkaCluster) (\s@CreateConnector' {} a -> s {kafkaCluster = a} :: CreateConnector)++-- | Details of the client authentication used by the Apache Kafka cluster.+createConnector_kafkaClusterClientAuthentication :: Lens.Lens' CreateConnector KafkaClusterClientAuthentication+createConnector_kafkaClusterClientAuthentication = Lens.lens (\CreateConnector' {kafkaClusterClientAuthentication} -> kafkaClusterClientAuthentication) (\s@CreateConnector' {} a -> s {kafkaClusterClientAuthentication = a} :: CreateConnector)++-- | Details of encryption in transit to the Apache Kafka cluster.+createConnector_kafkaClusterEncryptionInTransit :: Lens.Lens' CreateConnector KafkaClusterEncryptionInTransit+createConnector_kafkaClusterEncryptionInTransit = Lens.lens (\CreateConnector' {kafkaClusterEncryptionInTransit} -> kafkaClusterEncryptionInTransit) (\s@CreateConnector' {} a -> s {kafkaClusterEncryptionInTransit = a} :: CreateConnector)++-- | The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+createConnector_kafkaConnectVersion :: Lens.Lens' CreateConnector Prelude.Text+createConnector_kafkaConnectVersion = Lens.lens (\CreateConnector' {kafkaConnectVersion} -> kafkaConnectVersion) (\s@CreateConnector' {} a -> s {kafkaConnectVersion = a} :: CreateConnector)++-- | Specifies which plugins to use for the connector.+createConnector_plugins :: Lens.Lens' CreateConnector [Plugin]+createConnector_plugins = Lens.lens (\CreateConnector' {plugins} -> plugins) (\s@CreateConnector' {} a -> s {plugins = a} :: CreateConnector) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access the Amazon Web Services resources that it needs. The types of+-- resources depends on the logic of the connector. For example, a+-- connector that has Amazon S3 as a destination must have permissions that+-- allow it to write to the S3 destination bucket.+createConnector_serviceExecutionRoleArn :: Lens.Lens' CreateConnector Prelude.Text+createConnector_serviceExecutionRoleArn = Lens.lens (\CreateConnector' {serviceExecutionRoleArn} -> serviceExecutionRoleArn) (\s@CreateConnector' {} a -> s {serviceExecutionRoleArn = a} :: CreateConnector)++instance Core.AWSRequest CreateConnector where+  type+    AWSResponse CreateConnector =+      CreateConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectorResponse'+            Prelude.<$> (x Data..?> "connectorArn")+            Prelude.<*> (x Data..?> "connectorName")+            Prelude.<*> (x Data..?> "connectorState")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateConnector where+  hashWithSalt _salt CreateConnector' {..} =+    _salt+      `Prelude.hashWithSalt` connectorDescription+      `Prelude.hashWithSalt` logDelivery+      `Prelude.hashWithSalt` workerConfiguration+      `Prelude.hashWithSalt` capacity+      `Prelude.hashWithSalt` connectorConfiguration+      `Prelude.hashWithSalt` connectorName+      `Prelude.hashWithSalt` kafkaCluster+      `Prelude.hashWithSalt` kafkaClusterClientAuthentication+      `Prelude.hashWithSalt` kafkaClusterEncryptionInTransit+      `Prelude.hashWithSalt` kafkaConnectVersion+      `Prelude.hashWithSalt` plugins+      `Prelude.hashWithSalt` serviceExecutionRoleArn++instance Prelude.NFData CreateConnector where+  rnf CreateConnector' {..} =+    Prelude.rnf connectorDescription+      `Prelude.seq` Prelude.rnf logDelivery+      `Prelude.seq` Prelude.rnf workerConfiguration+      `Prelude.seq` Prelude.rnf capacity+      `Prelude.seq` Prelude.rnf connectorConfiguration+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf kafkaCluster+      `Prelude.seq` Prelude.rnf kafkaClusterClientAuthentication+      `Prelude.seq` Prelude.rnf kafkaClusterEncryptionInTransit+      `Prelude.seq` Prelude.rnf kafkaConnectVersion+      `Prelude.seq` Prelude.rnf plugins+      `Prelude.seq` Prelude.rnf serviceExecutionRoleArn++instance Data.ToHeaders CreateConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnector where+  toJSON CreateConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorDescription" Data..=)+              Prelude.<$> connectorDescription,+            ("logDelivery" Data..=) Prelude.<$> logDelivery,+            ("workerConfiguration" Data..=)+              Prelude.<$> workerConfiguration,+            Prelude.Just ("capacity" Data..= capacity),+            Prelude.Just+              ( "connectorConfiguration"+                  Data..= connectorConfiguration+              ),+            Prelude.Just ("connectorName" Data..= connectorName),+            Prelude.Just ("kafkaCluster" Data..= kafkaCluster),+            Prelude.Just+              ( "kafkaClusterClientAuthentication"+                  Data..= kafkaClusterClientAuthentication+              ),+            Prelude.Just+              ( "kafkaClusterEncryptionInTransit"+                  Data..= kafkaClusterEncryptionInTransit+              ),+            Prelude.Just+              ("kafkaConnectVersion" Data..= kafkaConnectVersion),+            Prelude.Just ("plugins" Data..= plugins),+            Prelude.Just+              ( "serviceExecutionRoleArn"+                  Data..= serviceExecutionRoleArn+              )+          ]+      )++instance Data.ToPath CreateConnector where+  toPath = Prelude.const "/v1/connectors"++instance Data.ToQuery CreateConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectorResponse' smart constructor.+data CreateConnectorResponse = CreateConnectorResponse'+  { -- | The Amazon Resource Name (ARN) that Amazon assigned to the connector.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector.+    connectorName :: Prelude.Maybe Prelude.Text,+    -- | The state of the connector.+    connectorState :: Prelude.Maybe ConnectorState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'createConnectorResponse_connectorArn' - The Amazon Resource Name (ARN) that Amazon assigned to the connector.+--+-- 'connectorName', 'createConnectorResponse_connectorName' - The name of the connector.+--+-- 'connectorState', 'createConnectorResponse_connectorState' - The state of the connector.+--+-- 'httpStatus', 'createConnectorResponse_httpStatus' - The response's http status code.+newCreateConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateConnectorResponse+newCreateConnectorResponse pHttpStatus_ =+  CreateConnectorResponse'+    { connectorArn =+        Prelude.Nothing,+      connectorName = Prelude.Nothing,+      connectorState = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) that Amazon assigned to the connector.+createConnectorResponse_connectorArn :: Lens.Lens' CreateConnectorResponse (Prelude.Maybe Prelude.Text)+createConnectorResponse_connectorArn = Lens.lens (\CreateConnectorResponse' {connectorArn} -> connectorArn) (\s@CreateConnectorResponse' {} a -> s {connectorArn = a} :: CreateConnectorResponse)++-- | The name of the connector.+createConnectorResponse_connectorName :: Lens.Lens' CreateConnectorResponse (Prelude.Maybe Prelude.Text)+createConnectorResponse_connectorName = Lens.lens (\CreateConnectorResponse' {connectorName} -> connectorName) (\s@CreateConnectorResponse' {} a -> s {connectorName = a} :: CreateConnectorResponse)++-- | The state of the connector.+createConnectorResponse_connectorState :: Lens.Lens' CreateConnectorResponse (Prelude.Maybe ConnectorState)+createConnectorResponse_connectorState = Lens.lens (\CreateConnectorResponse' {connectorState} -> connectorState) (\s@CreateConnectorResponse' {} a -> s {connectorState = a} :: CreateConnectorResponse)++-- | The response's http status code.+createConnectorResponse_httpStatus :: Lens.Lens' CreateConnectorResponse Prelude.Int+createConnectorResponse_httpStatus = Lens.lens (\CreateConnectorResponse' {httpStatus} -> httpStatus) (\s@CreateConnectorResponse' {} a -> s {httpStatus = a} :: CreateConnectorResponse)++instance Prelude.NFData CreateConnectorResponse where+  rnf CreateConnectorResponse' {..} =+    Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf connectorState+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/CreateCustomPlugin.hs view
@@ -0,0 +1,251 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.CreateCustomPlugin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a custom plugin using the specified properties.+module Amazonka.KafkaConnect.CreateCustomPlugin+  ( -- * Creating a Request+    CreateCustomPlugin (..),+    newCreateCustomPlugin,++    -- * Request Lenses+    createCustomPlugin_description,+    createCustomPlugin_contentType,+    createCustomPlugin_location,+    createCustomPlugin_name,++    -- * Destructuring the Response+    CreateCustomPluginResponse (..),+    newCreateCustomPluginResponse,++    -- * Response Lenses+    createCustomPluginResponse_customPluginArn,+    createCustomPluginResponse_customPluginState,+    createCustomPluginResponse_name,+    createCustomPluginResponse_revision,+    createCustomPluginResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCustomPlugin' smart constructor.+data CreateCustomPlugin = CreateCustomPlugin'+  { -- | A summary description of the custom plugin.+    description :: Prelude.Maybe Prelude.Text,+    -- | The type of the plugin file.+    contentType :: CustomPluginContentType,+    -- | Information about the location of a custom plugin.+    location :: CustomPluginLocation,+    -- | The name of the custom plugin.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomPlugin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createCustomPlugin_description' - A summary description of the custom plugin.+--+-- 'contentType', 'createCustomPlugin_contentType' - The type of the plugin file.+--+-- 'location', 'createCustomPlugin_location' - Information about the location of a custom plugin.+--+-- 'name', 'createCustomPlugin_name' - The name of the custom plugin.+newCreateCustomPlugin ::+  -- | 'contentType'+  CustomPluginContentType ->+  -- | 'location'+  CustomPluginLocation ->+  -- | 'name'+  Prelude.Text ->+  CreateCustomPlugin+newCreateCustomPlugin pContentType_ pLocation_ pName_ =+  CreateCustomPlugin'+    { description = Prelude.Nothing,+      contentType = pContentType_,+      location = pLocation_,+      name = pName_+    }++-- | A summary description of the custom plugin.+createCustomPlugin_description :: Lens.Lens' CreateCustomPlugin (Prelude.Maybe Prelude.Text)+createCustomPlugin_description = Lens.lens (\CreateCustomPlugin' {description} -> description) (\s@CreateCustomPlugin' {} a -> s {description = a} :: CreateCustomPlugin)++-- | The type of the plugin file.+createCustomPlugin_contentType :: Lens.Lens' CreateCustomPlugin CustomPluginContentType+createCustomPlugin_contentType = Lens.lens (\CreateCustomPlugin' {contentType} -> contentType) (\s@CreateCustomPlugin' {} a -> s {contentType = a} :: CreateCustomPlugin)++-- | Information about the location of a custom plugin.+createCustomPlugin_location :: Lens.Lens' CreateCustomPlugin CustomPluginLocation+createCustomPlugin_location = Lens.lens (\CreateCustomPlugin' {location} -> location) (\s@CreateCustomPlugin' {} a -> s {location = a} :: CreateCustomPlugin)++-- | The name of the custom plugin.+createCustomPlugin_name :: Lens.Lens' CreateCustomPlugin Prelude.Text+createCustomPlugin_name = Lens.lens (\CreateCustomPlugin' {name} -> name) (\s@CreateCustomPlugin' {} a -> s {name = a} :: CreateCustomPlugin)++instance Core.AWSRequest CreateCustomPlugin where+  type+    AWSResponse CreateCustomPlugin =+      CreateCustomPluginResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateCustomPluginResponse'+            Prelude.<$> (x Data..?> "customPluginArn")+            Prelude.<*> (x Data..?> "customPluginState")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "revision")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateCustomPlugin where+  hashWithSalt _salt CreateCustomPlugin' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateCustomPlugin where+  rnf CreateCustomPlugin' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateCustomPlugin where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateCustomPlugin where+  toJSON CreateCustomPlugin' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            Prelude.Just ("contentType" Data..= contentType),+            Prelude.Just ("location" Data..= location),+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateCustomPlugin where+  toPath = Prelude.const "/v1/custom-plugins"++instance Data.ToQuery CreateCustomPlugin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCustomPluginResponse' smart constructor.+data CreateCustomPluginResponse = CreateCustomPluginResponse'+  { -- | The Amazon Resource Name (ARN) that Amazon assigned to the custom+    -- plugin.+    customPluginArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the custom plugin.+    customPluginState :: Prelude.Maybe CustomPluginState,+    -- | The name of the custom plugin.+    name :: Prelude.Maybe Prelude.Text,+    -- | The revision of the custom plugin.+    revision :: Prelude.Maybe Prelude.Integer,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomPluginResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'createCustomPluginResponse_customPluginArn' - The Amazon Resource Name (ARN) that Amazon assigned to the custom+-- plugin.+--+-- 'customPluginState', 'createCustomPluginResponse_customPluginState' - The state of the custom plugin.+--+-- 'name', 'createCustomPluginResponse_name' - The name of the custom plugin.+--+-- 'revision', 'createCustomPluginResponse_revision' - The revision of the custom plugin.+--+-- 'httpStatus', 'createCustomPluginResponse_httpStatus' - The response's http status code.+newCreateCustomPluginResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateCustomPluginResponse+newCreateCustomPluginResponse pHttpStatus_ =+  CreateCustomPluginResponse'+    { customPluginArn =+        Prelude.Nothing,+      customPluginState = Prelude.Nothing,+      name = Prelude.Nothing,+      revision = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) that Amazon assigned to the custom+-- plugin.+createCustomPluginResponse_customPluginArn :: Lens.Lens' CreateCustomPluginResponse (Prelude.Maybe Prelude.Text)+createCustomPluginResponse_customPluginArn = Lens.lens (\CreateCustomPluginResponse' {customPluginArn} -> customPluginArn) (\s@CreateCustomPluginResponse' {} a -> s {customPluginArn = a} :: CreateCustomPluginResponse)++-- | The state of the custom plugin.+createCustomPluginResponse_customPluginState :: Lens.Lens' CreateCustomPluginResponse (Prelude.Maybe CustomPluginState)+createCustomPluginResponse_customPluginState = Lens.lens (\CreateCustomPluginResponse' {customPluginState} -> customPluginState) (\s@CreateCustomPluginResponse' {} a -> s {customPluginState = a} :: CreateCustomPluginResponse)++-- | The name of the custom plugin.+createCustomPluginResponse_name :: Lens.Lens' CreateCustomPluginResponse (Prelude.Maybe Prelude.Text)+createCustomPluginResponse_name = Lens.lens (\CreateCustomPluginResponse' {name} -> name) (\s@CreateCustomPluginResponse' {} a -> s {name = a} :: CreateCustomPluginResponse)++-- | The revision of the custom plugin.+createCustomPluginResponse_revision :: Lens.Lens' CreateCustomPluginResponse (Prelude.Maybe Prelude.Integer)+createCustomPluginResponse_revision = Lens.lens (\CreateCustomPluginResponse' {revision} -> revision) (\s@CreateCustomPluginResponse' {} a -> s {revision = a} :: CreateCustomPluginResponse)++-- | The response's http status code.+createCustomPluginResponse_httpStatus :: Lens.Lens' CreateCustomPluginResponse Prelude.Int+createCustomPluginResponse_httpStatus = Lens.lens (\CreateCustomPluginResponse' {httpStatus} -> httpStatus) (\s@CreateCustomPluginResponse' {} a -> s {httpStatus = a} :: CreateCustomPluginResponse)++instance Prelude.NFData CreateCustomPluginResponse where+  rnf CreateCustomPluginResponse' {..} =+    Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf customPluginState+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf revision+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/CreateWorkerConfiguration.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.KafkaConnect.CreateWorkerConfiguration+-- 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 worker configuration using the specified properties.+module Amazonka.KafkaConnect.CreateWorkerConfiguration+  ( -- * Creating a Request+    CreateWorkerConfiguration (..),+    newCreateWorkerConfiguration,++    -- * Request Lenses+    createWorkerConfiguration_description,+    createWorkerConfiguration_name,+    createWorkerConfiguration_propertiesFileContent,++    -- * Destructuring the Response+    CreateWorkerConfigurationResponse (..),+    newCreateWorkerConfigurationResponse,++    -- * Response Lenses+    createWorkerConfigurationResponse_creationTime,+    createWorkerConfigurationResponse_latestRevision,+    createWorkerConfigurationResponse_name,+    createWorkerConfigurationResponse_workerConfigurationArn,+    createWorkerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWorkerConfiguration' smart constructor.+data CreateWorkerConfiguration = CreateWorkerConfiguration'+  { -- | A summary description of the worker configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the worker configuration.+    name :: Prelude.Text,+    -- | Base64 encoded contents of connect-distributed.properties file.+    propertiesFileContent :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createWorkerConfiguration_description' - A summary description of the worker configuration.+--+-- 'name', 'createWorkerConfiguration_name' - The name of the worker configuration.+--+-- 'propertiesFileContent', 'createWorkerConfiguration_propertiesFileContent' - Base64 encoded contents of connect-distributed.properties file.+newCreateWorkerConfiguration ::+  -- | 'name'+  Prelude.Text ->+  -- | 'propertiesFileContent'+  Prelude.Text ->+  CreateWorkerConfiguration+newCreateWorkerConfiguration+  pName_+  pPropertiesFileContent_ =+    CreateWorkerConfiguration'+      { description =+          Prelude.Nothing,+        name = pName_,+        propertiesFileContent =+          Data._Sensitive Lens.# pPropertiesFileContent_+      }++-- | A summary description of the worker configuration.+createWorkerConfiguration_description :: Lens.Lens' CreateWorkerConfiguration (Prelude.Maybe Prelude.Text)+createWorkerConfiguration_description = Lens.lens (\CreateWorkerConfiguration' {description} -> description) (\s@CreateWorkerConfiguration' {} a -> s {description = a} :: CreateWorkerConfiguration)++-- | The name of the worker configuration.+createWorkerConfiguration_name :: Lens.Lens' CreateWorkerConfiguration Prelude.Text+createWorkerConfiguration_name = Lens.lens (\CreateWorkerConfiguration' {name} -> name) (\s@CreateWorkerConfiguration' {} a -> s {name = a} :: CreateWorkerConfiguration)++-- | Base64 encoded contents of connect-distributed.properties file.+createWorkerConfiguration_propertiesFileContent :: Lens.Lens' CreateWorkerConfiguration Prelude.Text+createWorkerConfiguration_propertiesFileContent = Lens.lens (\CreateWorkerConfiguration' {propertiesFileContent} -> propertiesFileContent) (\s@CreateWorkerConfiguration' {} a -> s {propertiesFileContent = a} :: CreateWorkerConfiguration) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateWorkerConfiguration where+  type+    AWSResponse CreateWorkerConfiguration =+      CreateWorkerConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkerConfigurationResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "latestRevision")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "workerConfigurationArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkerConfiguration where+  hashWithSalt _salt CreateWorkerConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` propertiesFileContent++instance Prelude.NFData CreateWorkerConfiguration where+  rnf CreateWorkerConfiguration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf propertiesFileContent++instance Data.ToHeaders CreateWorkerConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkerConfiguration where+  toJSON CreateWorkerConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            Prelude.Just ("name" Data..= name),+            Prelude.Just+              ( "propertiesFileContent"+                  Data..= propertiesFileContent+              )+          ]+      )++instance Data.ToPath CreateWorkerConfiguration where+  toPath = Prelude.const "/v1/worker-configurations"++instance Data.ToQuery CreateWorkerConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWorkerConfigurationResponse' smart constructor.+data CreateWorkerConfigurationResponse = CreateWorkerConfigurationResponse'+  { -- | The time that the worker configuration was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The latest revision of the worker configuration.+    latestRevision :: Prelude.Maybe WorkerConfigurationRevisionSummary,+    -- | The name of the worker configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) that Amazon assigned to the worker+    -- configuration.+    workerConfigurationArn :: 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 'CreateWorkerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'createWorkerConfigurationResponse_creationTime' - The time that the worker configuration was created.+--+-- 'latestRevision', 'createWorkerConfigurationResponse_latestRevision' - The latest revision of the worker configuration.+--+-- 'name', 'createWorkerConfigurationResponse_name' - The name of the worker configuration.+--+-- 'workerConfigurationArn', 'createWorkerConfigurationResponse_workerConfigurationArn' - The Amazon Resource Name (ARN) that Amazon assigned to the worker+-- configuration.+--+-- 'httpStatus', 'createWorkerConfigurationResponse_httpStatus' - The response's http status code.+newCreateWorkerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkerConfigurationResponse+newCreateWorkerConfigurationResponse pHttpStatus_ =+  CreateWorkerConfigurationResponse'+    { creationTime =+        Prelude.Nothing,+      latestRevision = Prelude.Nothing,+      name = Prelude.Nothing,+      workerConfigurationArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time that the worker configuration was created.+createWorkerConfigurationResponse_creationTime :: Lens.Lens' CreateWorkerConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+createWorkerConfigurationResponse_creationTime = Lens.lens (\CreateWorkerConfigurationResponse' {creationTime} -> creationTime) (\s@CreateWorkerConfigurationResponse' {} a -> s {creationTime = a} :: CreateWorkerConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The latest revision of the worker configuration.+createWorkerConfigurationResponse_latestRevision :: Lens.Lens' CreateWorkerConfigurationResponse (Prelude.Maybe WorkerConfigurationRevisionSummary)+createWorkerConfigurationResponse_latestRevision = Lens.lens (\CreateWorkerConfigurationResponse' {latestRevision} -> latestRevision) (\s@CreateWorkerConfigurationResponse' {} a -> s {latestRevision = a} :: CreateWorkerConfigurationResponse)++-- | The name of the worker configuration.+createWorkerConfigurationResponse_name :: Lens.Lens' CreateWorkerConfigurationResponse (Prelude.Maybe Prelude.Text)+createWorkerConfigurationResponse_name = Lens.lens (\CreateWorkerConfigurationResponse' {name} -> name) (\s@CreateWorkerConfigurationResponse' {} a -> s {name = a} :: CreateWorkerConfigurationResponse)++-- | The Amazon Resource Name (ARN) that Amazon assigned to the worker+-- configuration.+createWorkerConfigurationResponse_workerConfigurationArn :: Lens.Lens' CreateWorkerConfigurationResponse (Prelude.Maybe Prelude.Text)+createWorkerConfigurationResponse_workerConfigurationArn = Lens.lens (\CreateWorkerConfigurationResponse' {workerConfigurationArn} -> workerConfigurationArn) (\s@CreateWorkerConfigurationResponse' {} a -> s {workerConfigurationArn = a} :: CreateWorkerConfigurationResponse)++-- | The response's http status code.+createWorkerConfigurationResponse_httpStatus :: Lens.Lens' CreateWorkerConfigurationResponse Prelude.Int+createWorkerConfigurationResponse_httpStatus = Lens.lens (\CreateWorkerConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateWorkerConfigurationResponse' {} a -> s {httpStatus = a} :: CreateWorkerConfigurationResponse)++instance+  Prelude.NFData+    CreateWorkerConfigurationResponse+  where+  rnf CreateWorkerConfigurationResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf latestRevision+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workerConfigurationArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/DeleteConnector.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.DeleteConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified connector.+module Amazonka.KafkaConnect.DeleteConnector+  ( -- * Creating a Request+    DeleteConnector (..),+    newDeleteConnector,++    -- * Request Lenses+    deleteConnector_currentVersion,+    deleteConnector_connectorArn,++    -- * Destructuring the Response+    DeleteConnectorResponse (..),+    newDeleteConnectorResponse,++    -- * Response Lenses+    deleteConnectorResponse_connectorArn,+    deleteConnectorResponse_connectorState,+    deleteConnectorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteConnector' smart constructor.+data DeleteConnector = DeleteConnector'+  { -- | The current version of the connector that you want to delete.+    currentVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the connector that you want to delete.+    connectorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConnector_currentVersion' - The current version of the connector that you want to delete.+--+-- 'connectorArn', 'deleteConnector_connectorArn' - The Amazon Resource Name (ARN) of the connector that you want to delete.+newDeleteConnector ::+  -- | 'connectorArn'+  Prelude.Text ->+  DeleteConnector+newDeleteConnector pConnectorArn_ =+  DeleteConnector'+    { currentVersion = Prelude.Nothing,+      connectorArn = pConnectorArn_+    }++-- | The current version of the connector that you want to delete.+deleteConnector_currentVersion :: Lens.Lens' DeleteConnector (Prelude.Maybe Prelude.Text)+deleteConnector_currentVersion = Lens.lens (\DeleteConnector' {currentVersion} -> currentVersion) (\s@DeleteConnector' {} a -> s {currentVersion = a} :: DeleteConnector)++-- | The Amazon Resource Name (ARN) of the connector that you want to delete.+deleteConnector_connectorArn :: Lens.Lens' DeleteConnector Prelude.Text+deleteConnector_connectorArn = Lens.lens (\DeleteConnector' {connectorArn} -> connectorArn) (\s@DeleteConnector' {} a -> s {connectorArn = a} :: DeleteConnector)++instance Core.AWSRequest DeleteConnector where+  type+    AWSResponse DeleteConnector =+      DeleteConnectorResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteConnectorResponse'+            Prelude.<$> (x Data..?> "connectorArn")+            Prelude.<*> (x Data..?> "connectorState")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteConnector where+  hashWithSalt _salt DeleteConnector' {..} =+    _salt+      `Prelude.hashWithSalt` currentVersion+      `Prelude.hashWithSalt` connectorArn++instance Prelude.NFData DeleteConnector where+  rnf DeleteConnector' {..} =+    Prelude.rnf currentVersion+      `Prelude.seq` Prelude.rnf connectorArn++instance Data.ToHeaders DeleteConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteConnector where+  toPath DeleteConnector' {..} =+    Prelude.mconcat+      ["/v1/connectors/", Data.toBS connectorArn]++instance Data.ToQuery DeleteConnector where+  toQuery DeleteConnector' {..} =+    Prelude.mconcat+      ["currentVersion" Data.=: currentVersion]++-- | /See:/ 'newDeleteConnectorResponse' smart constructor.+data DeleteConnectorResponse = DeleteConnectorResponse'+  { -- | The Amazon Resource Name (ARN) of the connector that you requested to+    -- delete.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the connector that you requested to delete.+    connectorState :: Prelude.Maybe ConnectorState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'deleteConnectorResponse_connectorArn' - The Amazon Resource Name (ARN) of the connector that you requested to+-- delete.+--+-- 'connectorState', 'deleteConnectorResponse_connectorState' - The state of the connector that you requested to delete.+--+-- 'httpStatus', 'deleteConnectorResponse_httpStatus' - The response's http status code.+newDeleteConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteConnectorResponse+newDeleteConnectorResponse pHttpStatus_ =+  DeleteConnectorResponse'+    { connectorArn =+        Prelude.Nothing,+      connectorState = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the connector that you requested to+-- delete.+deleteConnectorResponse_connectorArn :: Lens.Lens' DeleteConnectorResponse (Prelude.Maybe Prelude.Text)+deleteConnectorResponse_connectorArn = Lens.lens (\DeleteConnectorResponse' {connectorArn} -> connectorArn) (\s@DeleteConnectorResponse' {} a -> s {connectorArn = a} :: DeleteConnectorResponse)++-- | The state of the connector that you requested to delete.+deleteConnectorResponse_connectorState :: Lens.Lens' DeleteConnectorResponse (Prelude.Maybe ConnectorState)+deleteConnectorResponse_connectorState = Lens.lens (\DeleteConnectorResponse' {connectorState} -> connectorState) (\s@DeleteConnectorResponse' {} a -> s {connectorState = a} :: DeleteConnectorResponse)++-- | The response's http status code.+deleteConnectorResponse_httpStatus :: Lens.Lens' DeleteConnectorResponse Prelude.Int+deleteConnectorResponse_httpStatus = Lens.lens (\DeleteConnectorResponse' {httpStatus} -> httpStatus) (\s@DeleteConnectorResponse' {} a -> s {httpStatus = a} :: DeleteConnectorResponse)++instance Prelude.NFData DeleteConnectorResponse where+  rnf DeleteConnectorResponse' {..} =+    Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorState+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/DeleteCustomPlugin.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.DeleteCustomPlugin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a custom plugin.+module Amazonka.KafkaConnect.DeleteCustomPlugin+  ( -- * Creating a Request+    DeleteCustomPlugin (..),+    newDeleteCustomPlugin,++    -- * Request Lenses+    deleteCustomPlugin_customPluginArn,++    -- * Destructuring the Response+    DeleteCustomPluginResponse (..),+    newDeleteCustomPluginResponse,++    -- * Response Lenses+    deleteCustomPluginResponse_customPluginArn,+    deleteCustomPluginResponse_customPluginState,+    deleteCustomPluginResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCustomPlugin' smart constructor.+data DeleteCustomPlugin = DeleteCustomPlugin'+  { -- | The Amazon Resource Name (ARN) of the custom plugin that you want to+    -- delete.+    customPluginArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomPlugin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'deleteCustomPlugin_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin that you want to+-- delete.+newDeleteCustomPlugin ::+  -- | 'customPluginArn'+  Prelude.Text ->+  DeleteCustomPlugin+newDeleteCustomPlugin pCustomPluginArn_ =+  DeleteCustomPlugin'+    { customPluginArn =+        pCustomPluginArn_+    }++-- | The Amazon Resource Name (ARN) of the custom plugin that you want to+-- delete.+deleteCustomPlugin_customPluginArn :: Lens.Lens' DeleteCustomPlugin Prelude.Text+deleteCustomPlugin_customPluginArn = Lens.lens (\DeleteCustomPlugin' {customPluginArn} -> customPluginArn) (\s@DeleteCustomPlugin' {} a -> s {customPluginArn = a} :: DeleteCustomPlugin)++instance Core.AWSRequest DeleteCustomPlugin where+  type+    AWSResponse DeleteCustomPlugin =+      DeleteCustomPluginResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteCustomPluginResponse'+            Prelude.<$> (x Data..?> "customPluginArn")+            Prelude.<*> (x Data..?> "customPluginState")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteCustomPlugin where+  hashWithSalt _salt DeleteCustomPlugin' {..} =+    _salt `Prelude.hashWithSalt` customPluginArn++instance Prelude.NFData DeleteCustomPlugin where+  rnf DeleteCustomPlugin' {..} =+    Prelude.rnf customPluginArn++instance Data.ToHeaders DeleteCustomPlugin where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteCustomPlugin where+  toPath DeleteCustomPlugin' {..} =+    Prelude.mconcat+      ["/v1/custom-plugins/", Data.toBS customPluginArn]++instance Data.ToQuery DeleteCustomPlugin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCustomPluginResponse' smart constructor.+data DeleteCustomPluginResponse = DeleteCustomPluginResponse'+  { -- | The Amazon Resource Name (ARN) of the custom plugin that you requested+    -- to delete.+    customPluginArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the custom plugin.+    customPluginState :: Prelude.Maybe CustomPluginState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomPluginResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'deleteCustomPluginResponse_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin that you requested+-- to delete.+--+-- 'customPluginState', 'deleteCustomPluginResponse_customPluginState' - The state of the custom plugin.+--+-- 'httpStatus', 'deleteCustomPluginResponse_httpStatus' - The response's http status code.+newDeleteCustomPluginResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteCustomPluginResponse+newDeleteCustomPluginResponse pHttpStatus_ =+  DeleteCustomPluginResponse'+    { customPluginArn =+        Prelude.Nothing,+      customPluginState = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the custom plugin that you requested+-- to delete.+deleteCustomPluginResponse_customPluginArn :: Lens.Lens' DeleteCustomPluginResponse (Prelude.Maybe Prelude.Text)+deleteCustomPluginResponse_customPluginArn = Lens.lens (\DeleteCustomPluginResponse' {customPluginArn} -> customPluginArn) (\s@DeleteCustomPluginResponse' {} a -> s {customPluginArn = a} :: DeleteCustomPluginResponse)++-- | The state of the custom plugin.+deleteCustomPluginResponse_customPluginState :: Lens.Lens' DeleteCustomPluginResponse (Prelude.Maybe CustomPluginState)+deleteCustomPluginResponse_customPluginState = Lens.lens (\DeleteCustomPluginResponse' {customPluginState} -> customPluginState) (\s@DeleteCustomPluginResponse' {} a -> s {customPluginState = a} :: DeleteCustomPluginResponse)++-- | The response's http status code.+deleteCustomPluginResponse_httpStatus :: Lens.Lens' DeleteCustomPluginResponse Prelude.Int+deleteCustomPluginResponse_httpStatus = Lens.lens (\DeleteCustomPluginResponse' {httpStatus} -> httpStatus) (\s@DeleteCustomPluginResponse' {} a -> s {httpStatus = a} :: DeleteCustomPluginResponse)++instance Prelude.NFData DeleteCustomPluginResponse where+  rnf DeleteCustomPluginResponse' {..} =+    Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf customPluginState+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/DescribeConnector.hs view
@@ -0,0 +1,374 @@+{-# 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.KafkaConnect.DescribeConnector+-- 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 summary information about the connector.+module Amazonka.KafkaConnect.DescribeConnector+  ( -- * Creating a Request+    DescribeConnector (..),+    newDescribeConnector,++    -- * Request Lenses+    describeConnector_connectorArn,++    -- * Destructuring the Response+    DescribeConnectorResponse (..),+    newDescribeConnectorResponse,++    -- * Response Lenses+    describeConnectorResponse_capacity,+    describeConnectorResponse_connectorArn,+    describeConnectorResponse_connectorConfiguration,+    describeConnectorResponse_connectorDescription,+    describeConnectorResponse_connectorName,+    describeConnectorResponse_connectorState,+    describeConnectorResponse_creationTime,+    describeConnectorResponse_currentVersion,+    describeConnectorResponse_kafkaCluster,+    describeConnectorResponse_kafkaClusterClientAuthentication,+    describeConnectorResponse_kafkaClusterEncryptionInTransit,+    describeConnectorResponse_kafkaConnectVersion,+    describeConnectorResponse_logDelivery,+    describeConnectorResponse_plugins,+    describeConnectorResponse_serviceExecutionRoleArn,+    describeConnectorResponse_stateDescription,+    describeConnectorResponse_workerConfiguration,+    describeConnectorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeConnector' smart constructor.+data DescribeConnector = DescribeConnector'+  { -- | The Amazon Resource Name (ARN) of the connector that you want to+    -- describe.+    connectorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'describeConnector_connectorArn' - The Amazon Resource Name (ARN) of the connector that you want to+-- describe.+newDescribeConnector ::+  -- | 'connectorArn'+  Prelude.Text ->+  DescribeConnector+newDescribeConnector pConnectorArn_ =+  DescribeConnector' {connectorArn = pConnectorArn_}++-- | The Amazon Resource Name (ARN) of the connector that you want to+-- describe.+describeConnector_connectorArn :: Lens.Lens' DescribeConnector Prelude.Text+describeConnector_connectorArn = Lens.lens (\DescribeConnector' {connectorArn} -> connectorArn) (\s@DescribeConnector' {} a -> s {connectorArn = a} :: DescribeConnector)++instance Core.AWSRequest DescribeConnector where+  type+    AWSResponse DescribeConnector =+      DescribeConnectorResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeConnectorResponse'+            Prelude.<$> (x Data..?> "capacity")+            Prelude.<*> (x Data..?> "connectorArn")+            Prelude.<*> ( x+                            Data..?> "connectorConfiguration"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "connectorDescription")+            Prelude.<*> (x Data..?> "connectorName")+            Prelude.<*> (x Data..?> "connectorState")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "currentVersion")+            Prelude.<*> (x Data..?> "kafkaCluster")+            Prelude.<*> (x Data..?> "kafkaClusterClientAuthentication")+            Prelude.<*> (x Data..?> "kafkaClusterEncryptionInTransit")+            Prelude.<*> (x Data..?> "kafkaConnectVersion")+            Prelude.<*> (x Data..?> "logDelivery")+            Prelude.<*> (x Data..?> "plugins" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "serviceExecutionRoleArn")+            Prelude.<*> (x Data..?> "stateDescription")+            Prelude.<*> (x Data..?> "workerConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeConnector where+  hashWithSalt _salt DescribeConnector' {..} =+    _salt `Prelude.hashWithSalt` connectorArn++instance Prelude.NFData DescribeConnector where+  rnf DescribeConnector' {..} = Prelude.rnf connectorArn++instance Data.ToHeaders DescribeConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeConnector where+  toPath DescribeConnector' {..} =+    Prelude.mconcat+      ["/v1/connectors/", Data.toBS connectorArn]++instance Data.ToQuery DescribeConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConnectorResponse' smart constructor.+data DescribeConnectorResponse = DescribeConnectorResponse'+  { -- | Information about the capacity of the connector, whether it is auto+    -- scaled or provisioned.+    capacity :: Prelude.Maybe CapacityDescription,+    -- | The Amazon Resource Name (ARN) of the connector.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | A map of keys to values that represent the configuration for the+    -- connector.+    connectorConfiguration :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | A summary description of the connector.+    connectorDescription :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector.+    connectorName :: Prelude.Maybe Prelude.Text,+    -- | The state of the connector.+    connectorState :: Prelude.Maybe ConnectorState,+    -- | The time the connector was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The current version of the connector.+    currentVersion :: Prelude.Maybe Prelude.Text,+    -- | The Apache Kafka cluster that the connector is connected to.+    kafkaCluster :: Prelude.Maybe KafkaClusterDescription,+    -- | The type of client authentication used to connect to the Apache Kafka+    -- cluster. The value is NONE when no client authentication is used.+    kafkaClusterClientAuthentication :: Prelude.Maybe KafkaClusterClientAuthenticationDescription,+    -- | Details of encryption in transit to the Apache Kafka cluster.+    kafkaClusterEncryptionInTransit :: Prelude.Maybe KafkaClusterEncryptionInTransitDescription,+    -- | The version of Kafka Connect. It has to be compatible with both the+    -- Apache Kafka cluster\'s version and the plugins.+    kafkaConnectVersion :: Prelude.Maybe Prelude.Text,+    -- | Details about delivering logs to Amazon CloudWatch Logs.+    logDelivery :: Prelude.Maybe LogDeliveryDescription,+    -- | Specifies which plugins were used for this connector.+    plugins :: Prelude.Maybe [PluginDescription],+    -- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+    -- access Amazon Web Services resources.+    serviceExecutionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Details about the state of a connector.+    stateDescription :: Prelude.Maybe StateDescription,+    -- | Specifies which worker configuration was used for the connector.+    workerConfiguration :: Prelude.Maybe WorkerConfigurationDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacity', 'describeConnectorResponse_capacity' - Information about the capacity of the connector, whether it is auto+-- scaled or provisioned.+--+-- 'connectorArn', 'describeConnectorResponse_connectorArn' - The Amazon Resource Name (ARN) of the connector.+--+-- 'connectorConfiguration', 'describeConnectorResponse_connectorConfiguration' - A map of keys to values that represent the configuration for the+-- connector.+--+-- 'connectorDescription', 'describeConnectorResponse_connectorDescription' - A summary description of the connector.+--+-- 'connectorName', 'describeConnectorResponse_connectorName' - The name of the connector.+--+-- 'connectorState', 'describeConnectorResponse_connectorState' - The state of the connector.+--+-- 'creationTime', 'describeConnectorResponse_creationTime' - The time the connector was created.+--+-- 'currentVersion', 'describeConnectorResponse_currentVersion' - The current version of the connector.+--+-- 'kafkaCluster', 'describeConnectorResponse_kafkaCluster' - The Apache Kafka cluster that the connector is connected to.+--+-- 'kafkaClusterClientAuthentication', 'describeConnectorResponse_kafkaClusterClientAuthentication' - The type of client authentication used to connect to the Apache Kafka+-- cluster. The value is NONE when no client authentication is used.+--+-- 'kafkaClusterEncryptionInTransit', 'describeConnectorResponse_kafkaClusterEncryptionInTransit' - Details of encryption in transit to the Apache Kafka cluster.+--+-- 'kafkaConnectVersion', 'describeConnectorResponse_kafkaConnectVersion' - The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+--+-- 'logDelivery', 'describeConnectorResponse_logDelivery' - Details about delivering logs to Amazon CloudWatch Logs.+--+-- 'plugins', 'describeConnectorResponse_plugins' - Specifies which plugins were used for this connector.+--+-- 'serviceExecutionRoleArn', 'describeConnectorResponse_serviceExecutionRoleArn' - The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access Amazon Web Services resources.+--+-- 'stateDescription', 'describeConnectorResponse_stateDescription' - Details about the state of a connector.+--+-- 'workerConfiguration', 'describeConnectorResponse_workerConfiguration' - Specifies which worker configuration was used for the connector.+--+-- 'httpStatus', 'describeConnectorResponse_httpStatus' - The response's http status code.+newDescribeConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeConnectorResponse+newDescribeConnectorResponse pHttpStatus_ =+  DescribeConnectorResponse'+    { capacity =+        Prelude.Nothing,+      connectorArn = Prelude.Nothing,+      connectorConfiguration = Prelude.Nothing,+      connectorDescription = Prelude.Nothing,+      connectorName = Prelude.Nothing,+      connectorState = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentVersion = Prelude.Nothing,+      kafkaCluster = Prelude.Nothing,+      kafkaClusterClientAuthentication =+        Prelude.Nothing,+      kafkaClusterEncryptionInTransit =+        Prelude.Nothing,+      kafkaConnectVersion = Prelude.Nothing,+      logDelivery = Prelude.Nothing,+      plugins = Prelude.Nothing,+      serviceExecutionRoleArn = Prelude.Nothing,+      stateDescription = Prelude.Nothing,+      workerConfiguration = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the capacity of the connector, whether it is auto+-- scaled or provisioned.+describeConnectorResponse_capacity :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe CapacityDescription)+describeConnectorResponse_capacity = Lens.lens (\DescribeConnectorResponse' {capacity} -> capacity) (\s@DescribeConnectorResponse' {} a -> s {capacity = a} :: DescribeConnectorResponse)++-- | The Amazon Resource Name (ARN) of the connector.+describeConnectorResponse_connectorArn :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_connectorArn = Lens.lens (\DescribeConnectorResponse' {connectorArn} -> connectorArn) (\s@DescribeConnectorResponse' {} a -> s {connectorArn = a} :: DescribeConnectorResponse)++-- | A map of keys to values that represent the configuration for the+-- connector.+describeConnectorResponse_connectorConfiguration :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeConnectorResponse_connectorConfiguration = Lens.lens (\DescribeConnectorResponse' {connectorConfiguration} -> connectorConfiguration) (\s@DescribeConnectorResponse' {} a -> s {connectorConfiguration = a} :: DescribeConnectorResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | A summary description of the connector.+describeConnectorResponse_connectorDescription :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_connectorDescription = Lens.lens (\DescribeConnectorResponse' {connectorDescription} -> connectorDescription) (\s@DescribeConnectorResponse' {} a -> s {connectorDescription = a} :: DescribeConnectorResponse)++-- | The name of the connector.+describeConnectorResponse_connectorName :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_connectorName = Lens.lens (\DescribeConnectorResponse' {connectorName} -> connectorName) (\s@DescribeConnectorResponse' {} a -> s {connectorName = a} :: DescribeConnectorResponse)++-- | The state of the connector.+describeConnectorResponse_connectorState :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe ConnectorState)+describeConnectorResponse_connectorState = Lens.lens (\DescribeConnectorResponse' {connectorState} -> connectorState) (\s@DescribeConnectorResponse' {} a -> s {connectorState = a} :: DescribeConnectorResponse)++-- | The time the connector was created.+describeConnectorResponse_creationTime :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.UTCTime)+describeConnectorResponse_creationTime = Lens.lens (\DescribeConnectorResponse' {creationTime} -> creationTime) (\s@DescribeConnectorResponse' {} a -> s {creationTime = a} :: DescribeConnectorResponse) Prelude.. Lens.mapping Data._Time++-- | The current version of the connector.+describeConnectorResponse_currentVersion :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_currentVersion = Lens.lens (\DescribeConnectorResponse' {currentVersion} -> currentVersion) (\s@DescribeConnectorResponse' {} a -> s {currentVersion = a} :: DescribeConnectorResponse)++-- | The Apache Kafka cluster that the connector is connected to.+describeConnectorResponse_kafkaCluster :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe KafkaClusterDescription)+describeConnectorResponse_kafkaCluster = Lens.lens (\DescribeConnectorResponse' {kafkaCluster} -> kafkaCluster) (\s@DescribeConnectorResponse' {} a -> s {kafkaCluster = a} :: DescribeConnectorResponse)++-- | The type of client authentication used to connect to the Apache Kafka+-- cluster. The value is NONE when no client authentication is used.+describeConnectorResponse_kafkaClusterClientAuthentication :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe KafkaClusterClientAuthenticationDescription)+describeConnectorResponse_kafkaClusterClientAuthentication = Lens.lens (\DescribeConnectorResponse' {kafkaClusterClientAuthentication} -> kafkaClusterClientAuthentication) (\s@DescribeConnectorResponse' {} a -> s {kafkaClusterClientAuthentication = a} :: DescribeConnectorResponse)++-- | Details of encryption in transit to the Apache Kafka cluster.+describeConnectorResponse_kafkaClusterEncryptionInTransit :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe KafkaClusterEncryptionInTransitDescription)+describeConnectorResponse_kafkaClusterEncryptionInTransit = Lens.lens (\DescribeConnectorResponse' {kafkaClusterEncryptionInTransit} -> kafkaClusterEncryptionInTransit) (\s@DescribeConnectorResponse' {} a -> s {kafkaClusterEncryptionInTransit = a} :: DescribeConnectorResponse)++-- | The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+describeConnectorResponse_kafkaConnectVersion :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_kafkaConnectVersion = Lens.lens (\DescribeConnectorResponse' {kafkaConnectVersion} -> kafkaConnectVersion) (\s@DescribeConnectorResponse' {} a -> s {kafkaConnectVersion = a} :: DescribeConnectorResponse)++-- | Details about delivering logs to Amazon CloudWatch Logs.+describeConnectorResponse_logDelivery :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe LogDeliveryDescription)+describeConnectorResponse_logDelivery = Lens.lens (\DescribeConnectorResponse' {logDelivery} -> logDelivery) (\s@DescribeConnectorResponse' {} a -> s {logDelivery = a} :: DescribeConnectorResponse)++-- | Specifies which plugins were used for this connector.+describeConnectorResponse_plugins :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe [PluginDescription])+describeConnectorResponse_plugins = Lens.lens (\DescribeConnectorResponse' {plugins} -> plugins) (\s@DescribeConnectorResponse' {} a -> s {plugins = a} :: DescribeConnectorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access Amazon Web Services resources.+describeConnectorResponse_serviceExecutionRoleArn :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe Prelude.Text)+describeConnectorResponse_serviceExecutionRoleArn = Lens.lens (\DescribeConnectorResponse' {serviceExecutionRoleArn} -> serviceExecutionRoleArn) (\s@DescribeConnectorResponse' {} a -> s {serviceExecutionRoleArn = a} :: DescribeConnectorResponse)++-- | Details about the state of a connector.+describeConnectorResponse_stateDescription :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe StateDescription)+describeConnectorResponse_stateDescription = Lens.lens (\DescribeConnectorResponse' {stateDescription} -> stateDescription) (\s@DescribeConnectorResponse' {} a -> s {stateDescription = a} :: DescribeConnectorResponse)++-- | Specifies which worker configuration was used for the connector.+describeConnectorResponse_workerConfiguration :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe WorkerConfigurationDescription)+describeConnectorResponse_workerConfiguration = Lens.lens (\DescribeConnectorResponse' {workerConfiguration} -> workerConfiguration) (\s@DescribeConnectorResponse' {} a -> s {workerConfiguration = a} :: DescribeConnectorResponse)++-- | The response's http status code.+describeConnectorResponse_httpStatus :: Lens.Lens' DescribeConnectorResponse Prelude.Int+describeConnectorResponse_httpStatus = Lens.lens (\DescribeConnectorResponse' {httpStatus} -> httpStatus) (\s@DescribeConnectorResponse' {} a -> s {httpStatus = a} :: DescribeConnectorResponse)++instance Prelude.NFData DescribeConnectorResponse where+  rnf DescribeConnectorResponse' {..} =+    Prelude.rnf capacity+      `Prelude.seq` Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorConfiguration+      `Prelude.seq` Prelude.rnf connectorDescription+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf connectorState+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentVersion+      `Prelude.seq` Prelude.rnf kafkaCluster+      `Prelude.seq` Prelude.rnf kafkaClusterClientAuthentication+      `Prelude.seq` Prelude.rnf kafkaClusterEncryptionInTransit+      `Prelude.seq` Prelude.rnf kafkaConnectVersion+      `Prelude.seq` Prelude.rnf logDelivery+      `Prelude.seq` Prelude.rnf plugins+      `Prelude.seq` Prelude.rnf serviceExecutionRoleArn+      `Prelude.seq` Prelude.rnf stateDescription+      `Prelude.seq` Prelude.rnf workerConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/DescribeCustomPlugin.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.KafkaConnect.DescribeCustomPlugin+-- 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 summary description of the custom plugin.+module Amazonka.KafkaConnect.DescribeCustomPlugin+  ( -- * Creating a Request+    DescribeCustomPlugin (..),+    newDescribeCustomPlugin,++    -- * Request Lenses+    describeCustomPlugin_customPluginArn,++    -- * Destructuring the Response+    DescribeCustomPluginResponse (..),+    newDescribeCustomPluginResponse,++    -- * Response Lenses+    describeCustomPluginResponse_creationTime,+    describeCustomPluginResponse_customPluginArn,+    describeCustomPluginResponse_customPluginState,+    describeCustomPluginResponse_description,+    describeCustomPluginResponse_latestRevision,+    describeCustomPluginResponse_name,+    describeCustomPluginResponse_stateDescription,+    describeCustomPluginResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeCustomPlugin' smart constructor.+data DescribeCustomPlugin = DescribeCustomPlugin'+  { -- | Returns information about a custom plugin.+    customPluginArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeCustomPlugin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'describeCustomPlugin_customPluginArn' - Returns information about a custom plugin.+newDescribeCustomPlugin ::+  -- | 'customPluginArn'+  Prelude.Text ->+  DescribeCustomPlugin+newDescribeCustomPlugin pCustomPluginArn_ =+  DescribeCustomPlugin'+    { customPluginArn =+        pCustomPluginArn_+    }++-- | Returns information about a custom plugin.+describeCustomPlugin_customPluginArn :: Lens.Lens' DescribeCustomPlugin Prelude.Text+describeCustomPlugin_customPluginArn = Lens.lens (\DescribeCustomPlugin' {customPluginArn} -> customPluginArn) (\s@DescribeCustomPlugin' {} a -> s {customPluginArn = a} :: DescribeCustomPlugin)++instance Core.AWSRequest DescribeCustomPlugin where+  type+    AWSResponse DescribeCustomPlugin =+      DescribeCustomPluginResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeCustomPluginResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "customPluginArn")+            Prelude.<*> (x Data..?> "customPluginState")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "latestRevision")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "stateDescription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeCustomPlugin where+  hashWithSalt _salt DescribeCustomPlugin' {..} =+    _salt `Prelude.hashWithSalt` customPluginArn++instance Prelude.NFData DescribeCustomPlugin where+  rnf DescribeCustomPlugin' {..} =+    Prelude.rnf customPluginArn++instance Data.ToHeaders DescribeCustomPlugin where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeCustomPlugin where+  toPath DescribeCustomPlugin' {..} =+    Prelude.mconcat+      ["/v1/custom-plugins/", Data.toBS customPluginArn]++instance Data.ToQuery DescribeCustomPlugin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeCustomPluginResponse' smart constructor.+data DescribeCustomPluginResponse = DescribeCustomPluginResponse'+  { -- | The time that the custom plugin was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon Resource Name (ARN) of the custom plugin.+    customPluginArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the custom plugin.+    customPluginState :: Prelude.Maybe CustomPluginState,+    -- | The description of the custom plugin.+    description :: Prelude.Maybe Prelude.Text,+    -- | The latest successfully created revision of the custom plugin. If there+    -- are no successfully created revisions, this field will be absent.+    latestRevision :: Prelude.Maybe CustomPluginRevisionSummary,+    -- | The name of the custom plugin.+    name :: Prelude.Maybe Prelude.Text,+    -- | Details about the state of a custom plugin.+    stateDescription :: Prelude.Maybe StateDescription,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeCustomPluginResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeCustomPluginResponse_creationTime' - The time that the custom plugin was created.+--+-- 'customPluginArn', 'describeCustomPluginResponse_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin.+--+-- 'customPluginState', 'describeCustomPluginResponse_customPluginState' - The state of the custom plugin.+--+-- 'description', 'describeCustomPluginResponse_description' - The description of the custom plugin.+--+-- 'latestRevision', 'describeCustomPluginResponse_latestRevision' - The latest successfully created revision of the custom plugin. If there+-- are no successfully created revisions, this field will be absent.+--+-- 'name', 'describeCustomPluginResponse_name' - The name of the custom plugin.+--+-- 'stateDescription', 'describeCustomPluginResponse_stateDescription' - Details about the state of a custom plugin.+--+-- 'httpStatus', 'describeCustomPluginResponse_httpStatus' - The response's http status code.+newDescribeCustomPluginResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeCustomPluginResponse+newDescribeCustomPluginResponse pHttpStatus_ =+  DescribeCustomPluginResponse'+    { creationTime =+        Prelude.Nothing,+      customPluginArn = Prelude.Nothing,+      customPluginState = Prelude.Nothing,+      description = Prelude.Nothing,+      latestRevision = Prelude.Nothing,+      name = Prelude.Nothing,+      stateDescription = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time that the custom plugin was created.+describeCustomPluginResponse_creationTime :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe Prelude.UTCTime)+describeCustomPluginResponse_creationTime = Lens.lens (\DescribeCustomPluginResponse' {creationTime} -> creationTime) (\s@DescribeCustomPluginResponse' {} a -> s {creationTime = a} :: DescribeCustomPluginResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the custom plugin.+describeCustomPluginResponse_customPluginArn :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe Prelude.Text)+describeCustomPluginResponse_customPluginArn = Lens.lens (\DescribeCustomPluginResponse' {customPluginArn} -> customPluginArn) (\s@DescribeCustomPluginResponse' {} a -> s {customPluginArn = a} :: DescribeCustomPluginResponse)++-- | The state of the custom plugin.+describeCustomPluginResponse_customPluginState :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe CustomPluginState)+describeCustomPluginResponse_customPluginState = Lens.lens (\DescribeCustomPluginResponse' {customPluginState} -> customPluginState) (\s@DescribeCustomPluginResponse' {} a -> s {customPluginState = a} :: DescribeCustomPluginResponse)++-- | The description of the custom plugin.+describeCustomPluginResponse_description :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe Prelude.Text)+describeCustomPluginResponse_description = Lens.lens (\DescribeCustomPluginResponse' {description} -> description) (\s@DescribeCustomPluginResponse' {} a -> s {description = a} :: DescribeCustomPluginResponse)++-- | The latest successfully created revision of the custom plugin. If there+-- are no successfully created revisions, this field will be absent.+describeCustomPluginResponse_latestRevision :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe CustomPluginRevisionSummary)+describeCustomPluginResponse_latestRevision = Lens.lens (\DescribeCustomPluginResponse' {latestRevision} -> latestRevision) (\s@DescribeCustomPluginResponse' {} a -> s {latestRevision = a} :: DescribeCustomPluginResponse)++-- | The name of the custom plugin.+describeCustomPluginResponse_name :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe Prelude.Text)+describeCustomPluginResponse_name = Lens.lens (\DescribeCustomPluginResponse' {name} -> name) (\s@DescribeCustomPluginResponse' {} a -> s {name = a} :: DescribeCustomPluginResponse)++-- | Details about the state of a custom plugin.+describeCustomPluginResponse_stateDescription :: Lens.Lens' DescribeCustomPluginResponse (Prelude.Maybe StateDescription)+describeCustomPluginResponse_stateDescription = Lens.lens (\DescribeCustomPluginResponse' {stateDescription} -> stateDescription) (\s@DescribeCustomPluginResponse' {} a -> s {stateDescription = a} :: DescribeCustomPluginResponse)++-- | The response's http status code.+describeCustomPluginResponse_httpStatus :: Lens.Lens' DescribeCustomPluginResponse Prelude.Int+describeCustomPluginResponse_httpStatus = Lens.lens (\DescribeCustomPluginResponse' {httpStatus} -> httpStatus) (\s@DescribeCustomPluginResponse' {} a -> s {httpStatus = a} :: DescribeCustomPluginResponse)++instance Prelude.NFData DescribeCustomPluginResponse where+  rnf DescribeCustomPluginResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf customPluginState+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf latestRevision+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf stateDescription+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/DescribeWorkerConfiguration.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.DescribeWorkerConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a worker configuration.+module Amazonka.KafkaConnect.DescribeWorkerConfiguration+  ( -- * Creating a Request+    DescribeWorkerConfiguration (..),+    newDescribeWorkerConfiguration,++    -- * Request Lenses+    describeWorkerConfiguration_workerConfigurationArn,++    -- * Destructuring the Response+    DescribeWorkerConfigurationResponse (..),+    newDescribeWorkerConfigurationResponse,++    -- * Response Lenses+    describeWorkerConfigurationResponse_creationTime,+    describeWorkerConfigurationResponse_description,+    describeWorkerConfigurationResponse_latestRevision,+    describeWorkerConfigurationResponse_name,+    describeWorkerConfigurationResponse_workerConfigurationArn,+    describeWorkerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeWorkerConfiguration' smart constructor.+data DescribeWorkerConfiguration = DescribeWorkerConfiguration'+  { -- | The Amazon Resource Name (ARN) of the worker configuration that you want+    -- to get information about.+    workerConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWorkerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'workerConfigurationArn', 'describeWorkerConfiguration_workerConfigurationArn' - The Amazon Resource Name (ARN) of the worker configuration that you want+-- to get information about.+newDescribeWorkerConfiguration ::+  -- | 'workerConfigurationArn'+  Prelude.Text ->+  DescribeWorkerConfiguration+newDescribeWorkerConfiguration+  pWorkerConfigurationArn_ =+    DescribeWorkerConfiguration'+      { workerConfigurationArn =+          pWorkerConfigurationArn_+      }++-- | The Amazon Resource Name (ARN) of the worker configuration that you want+-- to get information about.+describeWorkerConfiguration_workerConfigurationArn :: Lens.Lens' DescribeWorkerConfiguration Prelude.Text+describeWorkerConfiguration_workerConfigurationArn = Lens.lens (\DescribeWorkerConfiguration' {workerConfigurationArn} -> workerConfigurationArn) (\s@DescribeWorkerConfiguration' {} a -> s {workerConfigurationArn = a} :: DescribeWorkerConfiguration)++instance Core.AWSRequest DescribeWorkerConfiguration where+  type+    AWSResponse DescribeWorkerConfiguration =+      DescribeWorkerConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeWorkerConfigurationResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "latestRevision")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "workerConfigurationArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeWorkerConfiguration where+  hashWithSalt _salt DescribeWorkerConfiguration' {..} =+    _salt `Prelude.hashWithSalt` workerConfigurationArn++instance Prelude.NFData DescribeWorkerConfiguration where+  rnf DescribeWorkerConfiguration' {..} =+    Prelude.rnf workerConfigurationArn++instance Data.ToHeaders DescribeWorkerConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeWorkerConfiguration where+  toPath DescribeWorkerConfiguration' {..} =+    Prelude.mconcat+      [ "/v1/worker-configurations/",+        Data.toBS workerConfigurationArn+      ]++instance Data.ToQuery DescribeWorkerConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeWorkerConfigurationResponse' smart constructor.+data DescribeWorkerConfigurationResponse = DescribeWorkerConfigurationResponse'+  { -- | The time that the worker configuration was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the worker configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The latest revision of the custom configuration.+    latestRevision :: Prelude.Maybe WorkerConfigurationRevisionDescription,+    -- | The name of the worker configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the custom configuration.+    workerConfigurationArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWorkerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'describeWorkerConfigurationResponse_creationTime' - The time that the worker configuration was created.+--+-- 'description', 'describeWorkerConfigurationResponse_description' - The description of the worker configuration.+--+-- 'latestRevision', 'describeWorkerConfigurationResponse_latestRevision' - The latest revision of the custom configuration.+--+-- 'name', 'describeWorkerConfigurationResponse_name' - The name of the worker configuration.+--+-- 'workerConfigurationArn', 'describeWorkerConfigurationResponse_workerConfigurationArn' - The Amazon Resource Name (ARN) of the custom configuration.+--+-- 'httpStatus', 'describeWorkerConfigurationResponse_httpStatus' - The response's http status code.+newDescribeWorkerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeWorkerConfigurationResponse+newDescribeWorkerConfigurationResponse pHttpStatus_ =+  DescribeWorkerConfigurationResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      latestRevision = Prelude.Nothing,+      name = Prelude.Nothing,+      workerConfigurationArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time that the worker configuration was created.+describeWorkerConfigurationResponse_creationTime :: Lens.Lens' DescribeWorkerConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+describeWorkerConfigurationResponse_creationTime = Lens.lens (\DescribeWorkerConfigurationResponse' {creationTime} -> creationTime) (\s@DescribeWorkerConfigurationResponse' {} a -> s {creationTime = a} :: DescribeWorkerConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the worker configuration.+describeWorkerConfigurationResponse_description :: Lens.Lens' DescribeWorkerConfigurationResponse (Prelude.Maybe Prelude.Text)+describeWorkerConfigurationResponse_description = Lens.lens (\DescribeWorkerConfigurationResponse' {description} -> description) (\s@DescribeWorkerConfigurationResponse' {} a -> s {description = a} :: DescribeWorkerConfigurationResponse)++-- | The latest revision of the custom configuration.+describeWorkerConfigurationResponse_latestRevision :: Lens.Lens' DescribeWorkerConfigurationResponse (Prelude.Maybe WorkerConfigurationRevisionDescription)+describeWorkerConfigurationResponse_latestRevision = Lens.lens (\DescribeWorkerConfigurationResponse' {latestRevision} -> latestRevision) (\s@DescribeWorkerConfigurationResponse' {} a -> s {latestRevision = a} :: DescribeWorkerConfigurationResponse)++-- | The name of the worker configuration.+describeWorkerConfigurationResponse_name :: Lens.Lens' DescribeWorkerConfigurationResponse (Prelude.Maybe Prelude.Text)+describeWorkerConfigurationResponse_name = Lens.lens (\DescribeWorkerConfigurationResponse' {name} -> name) (\s@DescribeWorkerConfigurationResponse' {} a -> s {name = a} :: DescribeWorkerConfigurationResponse)++-- | The Amazon Resource Name (ARN) of the custom configuration.+describeWorkerConfigurationResponse_workerConfigurationArn :: Lens.Lens' DescribeWorkerConfigurationResponse (Prelude.Maybe Prelude.Text)+describeWorkerConfigurationResponse_workerConfigurationArn = Lens.lens (\DescribeWorkerConfigurationResponse' {workerConfigurationArn} -> workerConfigurationArn) (\s@DescribeWorkerConfigurationResponse' {} a -> s {workerConfigurationArn = a} :: DescribeWorkerConfigurationResponse)++-- | The response's http status code.+describeWorkerConfigurationResponse_httpStatus :: Lens.Lens' DescribeWorkerConfigurationResponse Prelude.Int+describeWorkerConfigurationResponse_httpStatus = Lens.lens (\DescribeWorkerConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeWorkerConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeWorkerConfigurationResponse)++instance+  Prelude.NFData+    DescribeWorkerConfigurationResponse+  where+  rnf DescribeWorkerConfigurationResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf latestRevision+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workerConfigurationArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/Lens.hs view
@@ -0,0 +1,444 @@+{-# 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.KafkaConnect.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.KafkaConnect.Lens+  ( -- * Operations++    -- ** CreateConnector+    createConnector_connectorDescription,+    createConnector_logDelivery,+    createConnector_workerConfiguration,+    createConnector_capacity,+    createConnector_connectorConfiguration,+    createConnector_connectorName,+    createConnector_kafkaCluster,+    createConnector_kafkaClusterClientAuthentication,+    createConnector_kafkaClusterEncryptionInTransit,+    createConnector_kafkaConnectVersion,+    createConnector_plugins,+    createConnector_serviceExecutionRoleArn,+    createConnectorResponse_connectorArn,+    createConnectorResponse_connectorName,+    createConnectorResponse_connectorState,+    createConnectorResponse_httpStatus,++    -- ** CreateCustomPlugin+    createCustomPlugin_description,+    createCustomPlugin_contentType,+    createCustomPlugin_location,+    createCustomPlugin_name,+    createCustomPluginResponse_customPluginArn,+    createCustomPluginResponse_customPluginState,+    createCustomPluginResponse_name,+    createCustomPluginResponse_revision,+    createCustomPluginResponse_httpStatus,++    -- ** CreateWorkerConfiguration+    createWorkerConfiguration_description,+    createWorkerConfiguration_name,+    createWorkerConfiguration_propertiesFileContent,+    createWorkerConfigurationResponse_creationTime,+    createWorkerConfigurationResponse_latestRevision,+    createWorkerConfigurationResponse_name,+    createWorkerConfigurationResponse_workerConfigurationArn,+    createWorkerConfigurationResponse_httpStatus,++    -- ** DeleteConnector+    deleteConnector_currentVersion,+    deleteConnector_connectorArn,+    deleteConnectorResponse_connectorArn,+    deleteConnectorResponse_connectorState,+    deleteConnectorResponse_httpStatus,++    -- ** DeleteCustomPlugin+    deleteCustomPlugin_customPluginArn,+    deleteCustomPluginResponse_customPluginArn,+    deleteCustomPluginResponse_customPluginState,+    deleteCustomPluginResponse_httpStatus,++    -- ** DescribeConnector+    describeConnector_connectorArn,+    describeConnectorResponse_capacity,+    describeConnectorResponse_connectorArn,+    describeConnectorResponse_connectorConfiguration,+    describeConnectorResponse_connectorDescription,+    describeConnectorResponse_connectorName,+    describeConnectorResponse_connectorState,+    describeConnectorResponse_creationTime,+    describeConnectorResponse_currentVersion,+    describeConnectorResponse_kafkaCluster,+    describeConnectorResponse_kafkaClusterClientAuthentication,+    describeConnectorResponse_kafkaClusterEncryptionInTransit,+    describeConnectorResponse_kafkaConnectVersion,+    describeConnectorResponse_logDelivery,+    describeConnectorResponse_plugins,+    describeConnectorResponse_serviceExecutionRoleArn,+    describeConnectorResponse_stateDescription,+    describeConnectorResponse_workerConfiguration,+    describeConnectorResponse_httpStatus,++    -- ** DescribeCustomPlugin+    describeCustomPlugin_customPluginArn,+    describeCustomPluginResponse_creationTime,+    describeCustomPluginResponse_customPluginArn,+    describeCustomPluginResponse_customPluginState,+    describeCustomPluginResponse_description,+    describeCustomPluginResponse_latestRevision,+    describeCustomPluginResponse_name,+    describeCustomPluginResponse_stateDescription,+    describeCustomPluginResponse_httpStatus,++    -- ** DescribeWorkerConfiguration+    describeWorkerConfiguration_workerConfigurationArn,+    describeWorkerConfigurationResponse_creationTime,+    describeWorkerConfigurationResponse_description,+    describeWorkerConfigurationResponse_latestRevision,+    describeWorkerConfigurationResponse_name,+    describeWorkerConfigurationResponse_workerConfigurationArn,+    describeWorkerConfigurationResponse_httpStatus,++    -- ** ListConnectors+    listConnectors_connectorNamePrefix,+    listConnectors_maxResults,+    listConnectors_nextToken,+    listConnectorsResponse_connectors,+    listConnectorsResponse_nextToken,+    listConnectorsResponse_httpStatus,++    -- ** ListCustomPlugins+    listCustomPlugins_maxResults,+    listCustomPlugins_nextToken,+    listCustomPluginsResponse_customPlugins,+    listCustomPluginsResponse_nextToken,+    listCustomPluginsResponse_httpStatus,++    -- ** ListWorkerConfigurations+    listWorkerConfigurations_maxResults,+    listWorkerConfigurations_nextToken,+    listWorkerConfigurationsResponse_nextToken,+    listWorkerConfigurationsResponse_workerConfigurations,+    listWorkerConfigurationsResponse_httpStatus,++    -- ** UpdateConnector+    updateConnector_capacity,+    updateConnector_connectorArn,+    updateConnector_currentVersion,+    updateConnectorResponse_connectorArn,+    updateConnectorResponse_connectorState,+    updateConnectorResponse_httpStatus,++    -- * Types++    -- ** ApacheKafkaCluster+    apacheKafkaCluster_bootstrapServers,+    apacheKafkaCluster_vpc,++    -- ** ApacheKafkaClusterDescription+    apacheKafkaClusterDescription_bootstrapServers,+    apacheKafkaClusterDescription_vpc,++    -- ** AutoScaling+    autoScaling_scaleInPolicy,+    autoScaling_scaleOutPolicy,+    autoScaling_maxWorkerCount,+    autoScaling_mcuCount,+    autoScaling_minWorkerCount,++    -- ** AutoScalingDescription+    autoScalingDescription_maxWorkerCount,+    autoScalingDescription_mcuCount,+    autoScalingDescription_minWorkerCount,+    autoScalingDescription_scaleInPolicy,+    autoScalingDescription_scaleOutPolicy,++    -- ** AutoScalingUpdate+    autoScalingUpdate_maxWorkerCount,+    autoScalingUpdate_mcuCount,+    autoScalingUpdate_minWorkerCount,+    autoScalingUpdate_scaleInPolicy,+    autoScalingUpdate_scaleOutPolicy,++    -- ** Capacity+    capacity_autoScaling,+    capacity_provisionedCapacity,++    -- ** CapacityDescription+    capacityDescription_autoScaling,+    capacityDescription_provisionedCapacity,++    -- ** CapacityUpdate+    capacityUpdate_autoScaling,+    capacityUpdate_provisionedCapacity,++    -- ** CloudWatchLogsLogDelivery+    cloudWatchLogsLogDelivery_logGroup,+    cloudWatchLogsLogDelivery_enabled,++    -- ** CloudWatchLogsLogDeliveryDescription+    cloudWatchLogsLogDeliveryDescription_enabled,+    cloudWatchLogsLogDeliveryDescription_logGroup,++    -- ** ConnectorSummary+    connectorSummary_capacity,+    connectorSummary_connectorArn,+    connectorSummary_connectorDescription,+    connectorSummary_connectorName,+    connectorSummary_connectorState,+    connectorSummary_creationTime,+    connectorSummary_currentVersion,+    connectorSummary_kafkaCluster,+    connectorSummary_kafkaClusterClientAuthentication,+    connectorSummary_kafkaClusterEncryptionInTransit,+    connectorSummary_kafkaConnectVersion,+    connectorSummary_logDelivery,+    connectorSummary_plugins,+    connectorSummary_serviceExecutionRoleArn,+    connectorSummary_workerConfiguration,++    -- ** CustomPlugin+    customPlugin_customPluginArn,+    customPlugin_revision,++    -- ** CustomPluginDescription+    customPluginDescription_customPluginArn,+    customPluginDescription_revision,++    -- ** CustomPluginFileDescription+    customPluginFileDescription_fileMd5,+    customPluginFileDescription_fileSize,++    -- ** CustomPluginLocation+    customPluginLocation_s3Location,++    -- ** CustomPluginLocationDescription+    customPluginLocationDescription_s3Location,++    -- ** CustomPluginRevisionSummary+    customPluginRevisionSummary_contentType,+    customPluginRevisionSummary_creationTime,+    customPluginRevisionSummary_description,+    customPluginRevisionSummary_fileDescription,+    customPluginRevisionSummary_location,+    customPluginRevisionSummary_revision,++    -- ** CustomPluginSummary+    customPluginSummary_creationTime,+    customPluginSummary_customPluginArn,+    customPluginSummary_customPluginState,+    customPluginSummary_description,+    customPluginSummary_latestRevision,+    customPluginSummary_name,++    -- ** FirehoseLogDelivery+    firehoseLogDelivery_deliveryStream,+    firehoseLogDelivery_enabled,++    -- ** FirehoseLogDeliveryDescription+    firehoseLogDeliveryDescription_deliveryStream,+    firehoseLogDeliveryDescription_enabled,++    -- ** KafkaCluster+    kafkaCluster_apacheKafkaCluster,++    -- ** KafkaClusterClientAuthentication+    kafkaClusterClientAuthentication_authenticationType,++    -- ** KafkaClusterClientAuthenticationDescription+    kafkaClusterClientAuthenticationDescription_authenticationType,++    -- ** KafkaClusterDescription+    kafkaClusterDescription_apacheKafkaCluster,++    -- ** KafkaClusterEncryptionInTransit+    kafkaClusterEncryptionInTransit_encryptionType,++    -- ** KafkaClusterEncryptionInTransitDescription+    kafkaClusterEncryptionInTransitDescription_encryptionType,++    -- ** LogDelivery+    logDelivery_workerLogDelivery,++    -- ** LogDeliveryDescription+    logDeliveryDescription_workerLogDelivery,++    -- ** Plugin+    plugin_customPlugin,++    -- ** PluginDescription+    pluginDescription_customPlugin,++    -- ** ProvisionedCapacity+    provisionedCapacity_mcuCount,+    provisionedCapacity_workerCount,++    -- ** ProvisionedCapacityDescription+    provisionedCapacityDescription_mcuCount,+    provisionedCapacityDescription_workerCount,++    -- ** ProvisionedCapacityUpdate+    provisionedCapacityUpdate_mcuCount,+    provisionedCapacityUpdate_workerCount,++    -- ** S3Location+    s3Location_objectVersion,+    s3Location_bucketArn,+    s3Location_fileKey,++    -- ** S3LocationDescription+    s3LocationDescription_bucketArn,+    s3LocationDescription_fileKey,+    s3LocationDescription_objectVersion,++    -- ** S3LogDelivery+    s3LogDelivery_bucket,+    s3LogDelivery_prefix,+    s3LogDelivery_enabled,++    -- ** S3LogDeliveryDescription+    s3LogDeliveryDescription_bucket,+    s3LogDeliveryDescription_enabled,+    s3LogDeliveryDescription_prefix,++    -- ** ScaleInPolicy+    scaleInPolicy_cpuUtilizationPercentage,++    -- ** ScaleInPolicyDescription+    scaleInPolicyDescription_cpuUtilizationPercentage,++    -- ** ScaleInPolicyUpdate+    scaleInPolicyUpdate_cpuUtilizationPercentage,++    -- ** ScaleOutPolicy+    scaleOutPolicy_cpuUtilizationPercentage,++    -- ** ScaleOutPolicyDescription+    scaleOutPolicyDescription_cpuUtilizationPercentage,++    -- ** ScaleOutPolicyUpdate+    scaleOutPolicyUpdate_cpuUtilizationPercentage,++    -- ** StateDescription+    stateDescription_code,+    stateDescription_message,++    -- ** Vpc+    vpc_securityGroups,+    vpc_subnets,++    -- ** VpcDescription+    vpcDescription_securityGroups,+    vpcDescription_subnets,++    -- ** WorkerConfiguration+    workerConfiguration_revision,+    workerConfiguration_workerConfigurationArn,++    -- ** WorkerConfigurationDescription+    workerConfigurationDescription_revision,+    workerConfigurationDescription_workerConfigurationArn,++    -- ** WorkerConfigurationRevisionDescription+    workerConfigurationRevisionDescription_creationTime,+    workerConfigurationRevisionDescription_description,+    workerConfigurationRevisionDescription_propertiesFileContent,+    workerConfigurationRevisionDescription_revision,++    -- ** WorkerConfigurationRevisionSummary+    workerConfigurationRevisionSummary_creationTime,+    workerConfigurationRevisionSummary_description,+    workerConfigurationRevisionSummary_revision,++    -- ** WorkerConfigurationSummary+    workerConfigurationSummary_creationTime,+    workerConfigurationSummary_description,+    workerConfigurationSummary_latestRevision,+    workerConfigurationSummary_name,+    workerConfigurationSummary_workerConfigurationArn,++    -- ** WorkerLogDelivery+    workerLogDelivery_cloudWatchLogs,+    workerLogDelivery_firehose,+    workerLogDelivery_s3,++    -- ** WorkerLogDeliveryDescription+    workerLogDeliveryDescription_cloudWatchLogs,+    workerLogDeliveryDescription_firehose,+    workerLogDeliveryDescription_s3,+  )+where++import Amazonka.KafkaConnect.CreateConnector+import Amazonka.KafkaConnect.CreateCustomPlugin+import Amazonka.KafkaConnect.CreateWorkerConfiguration+import Amazonka.KafkaConnect.DeleteConnector+import Amazonka.KafkaConnect.DeleteCustomPlugin+import Amazonka.KafkaConnect.DescribeConnector+import Amazonka.KafkaConnect.DescribeCustomPlugin+import Amazonka.KafkaConnect.DescribeWorkerConfiguration+import Amazonka.KafkaConnect.ListConnectors+import Amazonka.KafkaConnect.ListCustomPlugins+import Amazonka.KafkaConnect.ListWorkerConfigurations+import Amazonka.KafkaConnect.Types.ApacheKafkaCluster+import Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription+import Amazonka.KafkaConnect.Types.AutoScaling+import Amazonka.KafkaConnect.Types.AutoScalingDescription+import Amazonka.KafkaConnect.Types.AutoScalingUpdate+import Amazonka.KafkaConnect.Types.Capacity+import Amazonka.KafkaConnect.Types.CapacityDescription+import Amazonka.KafkaConnect.Types.CapacityUpdate+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDelivery+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription+import Amazonka.KafkaConnect.Types.ConnectorSummary+import Amazonka.KafkaConnect.Types.CustomPlugin+import Amazonka.KafkaConnect.Types.CustomPluginDescription+import Amazonka.KafkaConnect.Types.CustomPluginFileDescription+import Amazonka.KafkaConnect.Types.CustomPluginLocation+import Amazonka.KafkaConnect.Types.CustomPluginLocationDescription+import Amazonka.KafkaConnect.Types.CustomPluginRevisionSummary+import Amazonka.KafkaConnect.Types.CustomPluginSummary+import Amazonka.KafkaConnect.Types.FirehoseLogDelivery+import Amazonka.KafkaConnect.Types.FirehoseLogDeliveryDescription+import Amazonka.KafkaConnect.Types.KafkaCluster+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthentication+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription+import Amazonka.KafkaConnect.Types.KafkaClusterDescription+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransit+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription+import Amazonka.KafkaConnect.Types.LogDelivery+import Amazonka.KafkaConnect.Types.LogDeliveryDescription+import Amazonka.KafkaConnect.Types.Plugin+import Amazonka.KafkaConnect.Types.PluginDescription+import Amazonka.KafkaConnect.Types.ProvisionedCapacity+import Amazonka.KafkaConnect.Types.ProvisionedCapacityDescription+import Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate+import Amazonka.KafkaConnect.Types.S3Location+import Amazonka.KafkaConnect.Types.S3LocationDescription+import Amazonka.KafkaConnect.Types.S3LogDelivery+import Amazonka.KafkaConnect.Types.S3LogDeliveryDescription+import Amazonka.KafkaConnect.Types.ScaleInPolicy+import Amazonka.KafkaConnect.Types.ScaleInPolicyDescription+import Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate+import Amazonka.KafkaConnect.Types.ScaleOutPolicy+import Amazonka.KafkaConnect.Types.ScaleOutPolicyDescription+import Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate+import Amazonka.KafkaConnect.Types.StateDescription+import Amazonka.KafkaConnect.Types.Vpc+import Amazonka.KafkaConnect.Types.VpcDescription+import Amazonka.KafkaConnect.Types.WorkerConfiguration+import Amazonka.KafkaConnect.Types.WorkerConfigurationDescription+import Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionDescription+import Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary+import Amazonka.KafkaConnect.Types.WorkerConfigurationSummary+import Amazonka.KafkaConnect.Types.WorkerLogDelivery+import Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription+import Amazonka.KafkaConnect.UpdateConnector
+ gen/Amazonka/KafkaConnect/ListConnectors.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.KafkaConnect.ListConnectors+-- 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 connectors in this account and Region. The+-- list is limited to connectors whose name starts with the specified+-- prefix. The response also includes a description of each of the listed+-- connectors.+--+-- This operation returns paginated results.+module Amazonka.KafkaConnect.ListConnectors+  ( -- * Creating a Request+    ListConnectors (..),+    newListConnectors,++    -- * Request Lenses+    listConnectors_connectorNamePrefix,+    listConnectors_maxResults,+    listConnectors_nextToken,++    -- * Destructuring the Response+    ListConnectorsResponse (..),+    newListConnectorsResponse,++    -- * Response Lenses+    listConnectorsResponse_connectors,+    listConnectorsResponse_nextToken,+    listConnectorsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListConnectors' smart constructor.+data ListConnectors = ListConnectors'+  { -- | The name prefix that you want to use to search for and list connectors.+    connectorNamePrefix :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of connectors to list in one response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the response of a ListConnectors operation is truncated, it will+    -- include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where the previous operation left off.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorNamePrefix', 'listConnectors_connectorNamePrefix' - The name prefix that you want to use to search for and list connectors.+--+-- 'maxResults', 'listConnectors_maxResults' - The maximum number of connectors to list in one response.+--+-- 'nextToken', 'listConnectors_nextToken' - If the response of a ListConnectors operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+newListConnectors ::+  ListConnectors+newListConnectors =+  ListConnectors'+    { connectorNamePrefix =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The name prefix that you want to use to search for and list connectors.+listConnectors_connectorNamePrefix :: Lens.Lens' ListConnectors (Prelude.Maybe Prelude.Text)+listConnectors_connectorNamePrefix = Lens.lens (\ListConnectors' {connectorNamePrefix} -> connectorNamePrefix) (\s@ListConnectors' {} a -> s {connectorNamePrefix = a} :: ListConnectors)++-- | The maximum number of connectors to list in one response.+listConnectors_maxResults :: Lens.Lens' ListConnectors (Prelude.Maybe Prelude.Natural)+listConnectors_maxResults = Lens.lens (\ListConnectors' {maxResults} -> maxResults) (\s@ListConnectors' {} a -> s {maxResults = a} :: ListConnectors)++-- | If the response of a ListConnectors operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+listConnectors_nextToken :: Lens.Lens' ListConnectors (Prelude.Maybe Prelude.Text)+listConnectors_nextToken = Lens.lens (\ListConnectors' {nextToken} -> nextToken) (\s@ListConnectors' {} a -> s {nextToken = a} :: ListConnectors)++instance Core.AWSPager ListConnectors where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listConnectorsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listConnectorsResponse_connectors+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listConnectors_nextToken+          Lens..~ rs+          Lens.^? listConnectorsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListConnectors where+  type+    AWSResponse ListConnectors =+      ListConnectorsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConnectorsResponse'+            Prelude.<$> (x Data..?> "connectors" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListConnectors where+  hashWithSalt _salt ListConnectors' {..} =+    _salt+      `Prelude.hashWithSalt` connectorNamePrefix+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConnectors where+  rnf ListConnectors' {..} =+    Prelude.rnf connectorNamePrefix+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConnectors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListConnectors where+  toPath = Prelude.const "/v1/connectors"++instance Data.ToQuery ListConnectors where+  toQuery ListConnectors' {..} =+    Prelude.mconcat+      [ "connectorNamePrefix" Data.=: connectorNamePrefix,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListConnectorsResponse' smart constructor.+data ListConnectorsResponse = ListConnectorsResponse'+  { -- | An array of connector descriptions.+    connectors :: Prelude.Maybe [ConnectorSummary],+    -- | If the response of a ListConnectors operation is truncated, it will+    -- include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where it left off.+    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 'ListConnectorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectors', 'listConnectorsResponse_connectors' - An array of connector descriptions.+--+-- 'nextToken', 'listConnectorsResponse_nextToken' - If the response of a ListConnectors operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where it left off.+--+-- 'httpStatus', 'listConnectorsResponse_httpStatus' - The response's http status code.+newListConnectorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConnectorsResponse+newListConnectorsResponse pHttpStatus_ =+  ListConnectorsResponse'+    { connectors =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of connector descriptions.+listConnectorsResponse_connectors :: Lens.Lens' ListConnectorsResponse (Prelude.Maybe [ConnectorSummary])+listConnectorsResponse_connectors = Lens.lens (\ListConnectorsResponse' {connectors} -> connectors) (\s@ListConnectorsResponse' {} a -> s {connectors = a} :: ListConnectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response of a ListConnectors operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where it left off.+listConnectorsResponse_nextToken :: Lens.Lens' ListConnectorsResponse (Prelude.Maybe Prelude.Text)+listConnectorsResponse_nextToken = Lens.lens (\ListConnectorsResponse' {nextToken} -> nextToken) (\s@ListConnectorsResponse' {} a -> s {nextToken = a} :: ListConnectorsResponse)++-- | The response's http status code.+listConnectorsResponse_httpStatus :: Lens.Lens' ListConnectorsResponse Prelude.Int+listConnectorsResponse_httpStatus = Lens.lens (\ListConnectorsResponse' {httpStatus} -> httpStatus) (\s@ListConnectorsResponse' {} a -> s {httpStatus = a} :: ListConnectorsResponse)++instance Prelude.NFData ListConnectorsResponse where+  rnf ListConnectorsResponse' {..} =+    Prelude.rnf connectors+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/ListCustomPlugins.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.KafkaConnect.ListCustomPlugins+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all of the custom plugins in this account and Region.+--+-- This operation returns paginated results.+module Amazonka.KafkaConnect.ListCustomPlugins+  ( -- * Creating a Request+    ListCustomPlugins (..),+    newListCustomPlugins,++    -- * Request Lenses+    listCustomPlugins_maxResults,+    listCustomPlugins_nextToken,++    -- * Destructuring the Response+    ListCustomPluginsResponse (..),+    newListCustomPluginsResponse,++    -- * Response Lenses+    listCustomPluginsResponse_customPlugins,+    listCustomPluginsResponse_nextToken,+    listCustomPluginsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCustomPlugins' smart constructor.+data ListCustomPlugins = ListCustomPlugins'+  { -- | The maximum number of custom plugins to list in one response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the response of a ListCustomPlugins operation is truncated, it will+    -- include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where the previous operation left off.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomPlugins' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listCustomPlugins_maxResults' - The maximum number of custom plugins to list in one response.+--+-- 'nextToken', 'listCustomPlugins_nextToken' - If the response of a ListCustomPlugins operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+newListCustomPlugins ::+  ListCustomPlugins+newListCustomPlugins =+  ListCustomPlugins'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of custom plugins to list in one response.+listCustomPlugins_maxResults :: Lens.Lens' ListCustomPlugins (Prelude.Maybe Prelude.Natural)+listCustomPlugins_maxResults = Lens.lens (\ListCustomPlugins' {maxResults} -> maxResults) (\s@ListCustomPlugins' {} a -> s {maxResults = a} :: ListCustomPlugins)++-- | If the response of a ListCustomPlugins operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+listCustomPlugins_nextToken :: Lens.Lens' ListCustomPlugins (Prelude.Maybe Prelude.Text)+listCustomPlugins_nextToken = Lens.lens (\ListCustomPlugins' {nextToken} -> nextToken) (\s@ListCustomPlugins' {} a -> s {nextToken = a} :: ListCustomPlugins)++instance Core.AWSPager ListCustomPlugins where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listCustomPluginsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listCustomPluginsResponse_customPlugins+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listCustomPlugins_nextToken+          Lens..~ rs+          Lens.^? listCustomPluginsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListCustomPlugins where+  type+    AWSResponse ListCustomPlugins =+      ListCustomPluginsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCustomPluginsResponse'+            Prelude.<$> (x Data..?> "customPlugins" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCustomPlugins where+  hashWithSalt _salt ListCustomPlugins' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCustomPlugins where+  rnf ListCustomPlugins' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCustomPlugins where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCustomPlugins where+  toPath = Prelude.const "/v1/custom-plugins"++instance Data.ToQuery ListCustomPlugins where+  toQuery ListCustomPlugins' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListCustomPluginsResponse' smart constructor.+data ListCustomPluginsResponse = ListCustomPluginsResponse'+  { -- | An array of custom plugin descriptions.+    customPlugins :: Prelude.Maybe [CustomPluginSummary],+    -- | If the response of a ListCustomPlugins operation is truncated, it will+    -- include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where the previous operation left off.+    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 'ListCustomPluginsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPlugins', 'listCustomPluginsResponse_customPlugins' - An array of custom plugin descriptions.+--+-- 'nextToken', 'listCustomPluginsResponse_nextToken' - If the response of a ListCustomPlugins operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+--+-- 'httpStatus', 'listCustomPluginsResponse_httpStatus' - The response's http status code.+newListCustomPluginsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCustomPluginsResponse+newListCustomPluginsResponse pHttpStatus_ =+  ListCustomPluginsResponse'+    { customPlugins =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of custom plugin descriptions.+listCustomPluginsResponse_customPlugins :: Lens.Lens' ListCustomPluginsResponse (Prelude.Maybe [CustomPluginSummary])+listCustomPluginsResponse_customPlugins = Lens.lens (\ListCustomPluginsResponse' {customPlugins} -> customPlugins) (\s@ListCustomPluginsResponse' {} a -> s {customPlugins = a} :: ListCustomPluginsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response of a ListCustomPlugins operation is truncated, it will+-- include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+listCustomPluginsResponse_nextToken :: Lens.Lens' ListCustomPluginsResponse (Prelude.Maybe Prelude.Text)+listCustomPluginsResponse_nextToken = Lens.lens (\ListCustomPluginsResponse' {nextToken} -> nextToken) (\s@ListCustomPluginsResponse' {} a -> s {nextToken = a} :: ListCustomPluginsResponse)++-- | The response's http status code.+listCustomPluginsResponse_httpStatus :: Lens.Lens' ListCustomPluginsResponse Prelude.Int+listCustomPluginsResponse_httpStatus = Lens.lens (\ListCustomPluginsResponse' {httpStatus} -> httpStatus) (\s@ListCustomPluginsResponse' {} a -> s {httpStatus = a} :: ListCustomPluginsResponse)++instance Prelude.NFData ListCustomPluginsResponse where+  rnf ListCustomPluginsResponse' {..} =+    Prelude.rnf customPlugins+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/ListWorkerConfigurations.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.KafkaConnect.ListWorkerConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all of the worker configurations in this account and+-- Region.+--+-- This operation returns paginated results.+module Amazonka.KafkaConnect.ListWorkerConfigurations+  ( -- * Creating a Request+    ListWorkerConfigurations (..),+    newListWorkerConfigurations,++    -- * Request Lenses+    listWorkerConfigurations_maxResults,+    listWorkerConfigurations_nextToken,++    -- * Destructuring the Response+    ListWorkerConfigurationsResponse (..),+    newListWorkerConfigurationsResponse,++    -- * Response Lenses+    listWorkerConfigurationsResponse_nextToken,+    listWorkerConfigurationsResponse_workerConfigurations,+    listWorkerConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWorkerConfigurations' smart constructor.+data ListWorkerConfigurations = ListWorkerConfigurations'+  { -- | The maximum number of worker configurations to list in one response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the response of a ListWorkerConfigurations operation is truncated, it+    -- will include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where the previous operation left off.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkerConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWorkerConfigurations_maxResults' - The maximum number of worker configurations to list in one response.+--+-- 'nextToken', 'listWorkerConfigurations_nextToken' - If the response of a ListWorkerConfigurations operation is truncated, it+-- will include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+newListWorkerConfigurations ::+  ListWorkerConfigurations+newListWorkerConfigurations =+  ListWorkerConfigurations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of worker configurations to list in one response.+listWorkerConfigurations_maxResults :: Lens.Lens' ListWorkerConfigurations (Prelude.Maybe Prelude.Natural)+listWorkerConfigurations_maxResults = Lens.lens (\ListWorkerConfigurations' {maxResults} -> maxResults) (\s@ListWorkerConfigurations' {} a -> s {maxResults = a} :: ListWorkerConfigurations)++-- | If the response of a ListWorkerConfigurations operation is truncated, it+-- will include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+listWorkerConfigurations_nextToken :: Lens.Lens' ListWorkerConfigurations (Prelude.Maybe Prelude.Text)+listWorkerConfigurations_nextToken = Lens.lens (\ListWorkerConfigurations' {nextToken} -> nextToken) (\s@ListWorkerConfigurations' {} a -> s {nextToken = a} :: ListWorkerConfigurations)++instance Core.AWSPager ListWorkerConfigurations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWorkerConfigurationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listWorkerConfigurationsResponse_workerConfigurations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWorkerConfigurations_nextToken+          Lens..~ rs+          Lens.^? listWorkerConfigurationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWorkerConfigurations where+  type+    AWSResponse ListWorkerConfigurations =+      ListWorkerConfigurationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkerConfigurationsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> ( x+                            Data..?> "workerConfigurations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWorkerConfigurations where+  hashWithSalt _salt ListWorkerConfigurations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWorkerConfigurations where+  rnf ListWorkerConfigurations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWorkerConfigurations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkerConfigurations where+  toPath = Prelude.const "/v1/worker-configurations"++instance Data.ToQuery ListWorkerConfigurations where+  toQuery ListWorkerConfigurations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListWorkerConfigurationsResponse' smart constructor.+data ListWorkerConfigurationsResponse = ListWorkerConfigurationsResponse'+  { -- | If the response of a ListWorkerConfigurations operation is truncated, it+    -- will include a NextToken. Send this NextToken in a subsequent request to+    -- continue listing from where the previous operation left off.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of worker configuration descriptions.+    workerConfigurations :: Prelude.Maybe [WorkerConfigurationSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkerConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWorkerConfigurationsResponse_nextToken' - If the response of a ListWorkerConfigurations operation is truncated, it+-- will include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+--+-- 'workerConfigurations', 'listWorkerConfigurationsResponse_workerConfigurations' - An array of worker configuration descriptions.+--+-- 'httpStatus', 'listWorkerConfigurationsResponse_httpStatus' - The response's http status code.+newListWorkerConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkerConfigurationsResponse+newListWorkerConfigurationsResponse pHttpStatus_ =+  ListWorkerConfigurationsResponse'+    { nextToken =+        Prelude.Nothing,+      workerConfigurations = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the response of a ListWorkerConfigurations operation is truncated, it+-- will include a NextToken. Send this NextToken in a subsequent request to+-- continue listing from where the previous operation left off.+listWorkerConfigurationsResponse_nextToken :: Lens.Lens' ListWorkerConfigurationsResponse (Prelude.Maybe Prelude.Text)+listWorkerConfigurationsResponse_nextToken = Lens.lens (\ListWorkerConfigurationsResponse' {nextToken} -> nextToken) (\s@ListWorkerConfigurationsResponse' {} a -> s {nextToken = a} :: ListWorkerConfigurationsResponse)++-- | An array of worker configuration descriptions.+listWorkerConfigurationsResponse_workerConfigurations :: Lens.Lens' ListWorkerConfigurationsResponse (Prelude.Maybe [WorkerConfigurationSummary])+listWorkerConfigurationsResponse_workerConfigurations = Lens.lens (\ListWorkerConfigurationsResponse' {workerConfigurations} -> workerConfigurations) (\s@ListWorkerConfigurationsResponse' {} a -> s {workerConfigurations = a} :: ListWorkerConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWorkerConfigurationsResponse_httpStatus :: Lens.Lens' ListWorkerConfigurationsResponse Prelude.Int+listWorkerConfigurationsResponse_httpStatus = Lens.lens (\ListWorkerConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListWorkerConfigurationsResponse' {} a -> s {httpStatus = a} :: ListWorkerConfigurationsResponse)++instance+  Prelude.NFData+    ListWorkerConfigurationsResponse+  where+  rnf ListWorkerConfigurationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workerConfigurations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/Types.hs view
@@ -0,0 +1,591 @@+{-# 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.KafkaConnect.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.KafkaConnect.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadRequestException,+    _ConflictException,+    _ForbiddenException,+    _InternalServerErrorException,+    _NotFoundException,+    _ServiceUnavailableException,+    _TooManyRequestsException,+    _UnauthorizedException,++    -- * ConnectorState+    ConnectorState (..),++    -- * CustomPluginContentType+    CustomPluginContentType (..),++    -- * CustomPluginState+    CustomPluginState (..),++    -- * KafkaClusterClientAuthenticationType+    KafkaClusterClientAuthenticationType (..),++    -- * KafkaClusterEncryptionInTransitType+    KafkaClusterEncryptionInTransitType (..),++    -- * ApacheKafkaCluster+    ApacheKafkaCluster (..),+    newApacheKafkaCluster,+    apacheKafkaCluster_bootstrapServers,+    apacheKafkaCluster_vpc,++    -- * ApacheKafkaClusterDescription+    ApacheKafkaClusterDescription (..),+    newApacheKafkaClusterDescription,+    apacheKafkaClusterDescription_bootstrapServers,+    apacheKafkaClusterDescription_vpc,++    -- * AutoScaling+    AutoScaling (..),+    newAutoScaling,+    autoScaling_scaleInPolicy,+    autoScaling_scaleOutPolicy,+    autoScaling_maxWorkerCount,+    autoScaling_mcuCount,+    autoScaling_minWorkerCount,++    -- * AutoScalingDescription+    AutoScalingDescription (..),+    newAutoScalingDescription,+    autoScalingDescription_maxWorkerCount,+    autoScalingDescription_mcuCount,+    autoScalingDescription_minWorkerCount,+    autoScalingDescription_scaleInPolicy,+    autoScalingDescription_scaleOutPolicy,++    -- * AutoScalingUpdate+    AutoScalingUpdate (..),+    newAutoScalingUpdate,+    autoScalingUpdate_maxWorkerCount,+    autoScalingUpdate_mcuCount,+    autoScalingUpdate_minWorkerCount,+    autoScalingUpdate_scaleInPolicy,+    autoScalingUpdate_scaleOutPolicy,++    -- * Capacity+    Capacity (..),+    newCapacity,+    capacity_autoScaling,+    capacity_provisionedCapacity,++    -- * CapacityDescription+    CapacityDescription (..),+    newCapacityDescription,+    capacityDescription_autoScaling,+    capacityDescription_provisionedCapacity,++    -- * CapacityUpdate+    CapacityUpdate (..),+    newCapacityUpdate,+    capacityUpdate_autoScaling,+    capacityUpdate_provisionedCapacity,++    -- * CloudWatchLogsLogDelivery+    CloudWatchLogsLogDelivery (..),+    newCloudWatchLogsLogDelivery,+    cloudWatchLogsLogDelivery_logGroup,+    cloudWatchLogsLogDelivery_enabled,++    -- * CloudWatchLogsLogDeliveryDescription+    CloudWatchLogsLogDeliveryDescription (..),+    newCloudWatchLogsLogDeliveryDescription,+    cloudWatchLogsLogDeliveryDescription_enabled,+    cloudWatchLogsLogDeliveryDescription_logGroup,++    -- * ConnectorSummary+    ConnectorSummary (..),+    newConnectorSummary,+    connectorSummary_capacity,+    connectorSummary_connectorArn,+    connectorSummary_connectorDescription,+    connectorSummary_connectorName,+    connectorSummary_connectorState,+    connectorSummary_creationTime,+    connectorSummary_currentVersion,+    connectorSummary_kafkaCluster,+    connectorSummary_kafkaClusterClientAuthentication,+    connectorSummary_kafkaClusterEncryptionInTransit,+    connectorSummary_kafkaConnectVersion,+    connectorSummary_logDelivery,+    connectorSummary_plugins,+    connectorSummary_serviceExecutionRoleArn,+    connectorSummary_workerConfiguration,++    -- * CustomPlugin+    CustomPlugin (..),+    newCustomPlugin,+    customPlugin_customPluginArn,+    customPlugin_revision,++    -- * CustomPluginDescription+    CustomPluginDescription (..),+    newCustomPluginDescription,+    customPluginDescription_customPluginArn,+    customPluginDescription_revision,++    -- * CustomPluginFileDescription+    CustomPluginFileDescription (..),+    newCustomPluginFileDescription,+    customPluginFileDescription_fileMd5,+    customPluginFileDescription_fileSize,++    -- * CustomPluginLocation+    CustomPluginLocation (..),+    newCustomPluginLocation,+    customPluginLocation_s3Location,++    -- * CustomPluginLocationDescription+    CustomPluginLocationDescription (..),+    newCustomPluginLocationDescription,+    customPluginLocationDescription_s3Location,++    -- * CustomPluginRevisionSummary+    CustomPluginRevisionSummary (..),+    newCustomPluginRevisionSummary,+    customPluginRevisionSummary_contentType,+    customPluginRevisionSummary_creationTime,+    customPluginRevisionSummary_description,+    customPluginRevisionSummary_fileDescription,+    customPluginRevisionSummary_location,+    customPluginRevisionSummary_revision,++    -- * CustomPluginSummary+    CustomPluginSummary (..),+    newCustomPluginSummary,+    customPluginSummary_creationTime,+    customPluginSummary_customPluginArn,+    customPluginSummary_customPluginState,+    customPluginSummary_description,+    customPluginSummary_latestRevision,+    customPluginSummary_name,++    -- * FirehoseLogDelivery+    FirehoseLogDelivery (..),+    newFirehoseLogDelivery,+    firehoseLogDelivery_deliveryStream,+    firehoseLogDelivery_enabled,++    -- * FirehoseLogDeliveryDescription+    FirehoseLogDeliveryDescription (..),+    newFirehoseLogDeliveryDescription,+    firehoseLogDeliveryDescription_deliveryStream,+    firehoseLogDeliveryDescription_enabled,++    -- * KafkaCluster+    KafkaCluster (..),+    newKafkaCluster,+    kafkaCluster_apacheKafkaCluster,++    -- * KafkaClusterClientAuthentication+    KafkaClusterClientAuthentication (..),+    newKafkaClusterClientAuthentication,+    kafkaClusterClientAuthentication_authenticationType,++    -- * KafkaClusterClientAuthenticationDescription+    KafkaClusterClientAuthenticationDescription (..),+    newKafkaClusterClientAuthenticationDescription,+    kafkaClusterClientAuthenticationDescription_authenticationType,++    -- * KafkaClusterDescription+    KafkaClusterDescription (..),+    newKafkaClusterDescription,+    kafkaClusterDescription_apacheKafkaCluster,++    -- * KafkaClusterEncryptionInTransit+    KafkaClusterEncryptionInTransit (..),+    newKafkaClusterEncryptionInTransit,+    kafkaClusterEncryptionInTransit_encryptionType,++    -- * KafkaClusterEncryptionInTransitDescription+    KafkaClusterEncryptionInTransitDescription (..),+    newKafkaClusterEncryptionInTransitDescription,+    kafkaClusterEncryptionInTransitDescription_encryptionType,++    -- * LogDelivery+    LogDelivery (..),+    newLogDelivery,+    logDelivery_workerLogDelivery,++    -- * LogDeliveryDescription+    LogDeliveryDescription (..),+    newLogDeliveryDescription,+    logDeliveryDescription_workerLogDelivery,++    -- * Plugin+    Plugin (..),+    newPlugin,+    plugin_customPlugin,++    -- * PluginDescription+    PluginDescription (..),+    newPluginDescription,+    pluginDescription_customPlugin,++    -- * ProvisionedCapacity+    ProvisionedCapacity (..),+    newProvisionedCapacity,+    provisionedCapacity_mcuCount,+    provisionedCapacity_workerCount,++    -- * ProvisionedCapacityDescription+    ProvisionedCapacityDescription (..),+    newProvisionedCapacityDescription,+    provisionedCapacityDescription_mcuCount,+    provisionedCapacityDescription_workerCount,++    -- * ProvisionedCapacityUpdate+    ProvisionedCapacityUpdate (..),+    newProvisionedCapacityUpdate,+    provisionedCapacityUpdate_mcuCount,+    provisionedCapacityUpdate_workerCount,++    -- * S3Location+    S3Location (..),+    newS3Location,+    s3Location_objectVersion,+    s3Location_bucketArn,+    s3Location_fileKey,++    -- * S3LocationDescription+    S3LocationDescription (..),+    newS3LocationDescription,+    s3LocationDescription_bucketArn,+    s3LocationDescription_fileKey,+    s3LocationDescription_objectVersion,++    -- * S3LogDelivery+    S3LogDelivery (..),+    newS3LogDelivery,+    s3LogDelivery_bucket,+    s3LogDelivery_prefix,+    s3LogDelivery_enabled,++    -- * S3LogDeliveryDescription+    S3LogDeliveryDescription (..),+    newS3LogDeliveryDescription,+    s3LogDeliveryDescription_bucket,+    s3LogDeliveryDescription_enabled,+    s3LogDeliveryDescription_prefix,++    -- * ScaleInPolicy+    ScaleInPolicy (..),+    newScaleInPolicy,+    scaleInPolicy_cpuUtilizationPercentage,++    -- * ScaleInPolicyDescription+    ScaleInPolicyDescription (..),+    newScaleInPolicyDescription,+    scaleInPolicyDescription_cpuUtilizationPercentage,++    -- * ScaleInPolicyUpdate+    ScaleInPolicyUpdate (..),+    newScaleInPolicyUpdate,+    scaleInPolicyUpdate_cpuUtilizationPercentage,++    -- * ScaleOutPolicy+    ScaleOutPolicy (..),+    newScaleOutPolicy,+    scaleOutPolicy_cpuUtilizationPercentage,++    -- * ScaleOutPolicyDescription+    ScaleOutPolicyDescription (..),+    newScaleOutPolicyDescription,+    scaleOutPolicyDescription_cpuUtilizationPercentage,++    -- * ScaleOutPolicyUpdate+    ScaleOutPolicyUpdate (..),+    newScaleOutPolicyUpdate,+    scaleOutPolicyUpdate_cpuUtilizationPercentage,++    -- * StateDescription+    StateDescription (..),+    newStateDescription,+    stateDescription_code,+    stateDescription_message,++    -- * Vpc+    Vpc (..),+    newVpc,+    vpc_securityGroups,+    vpc_subnets,++    -- * VpcDescription+    VpcDescription (..),+    newVpcDescription,+    vpcDescription_securityGroups,+    vpcDescription_subnets,++    -- * WorkerConfiguration+    WorkerConfiguration (..),+    newWorkerConfiguration,+    workerConfiguration_revision,+    workerConfiguration_workerConfigurationArn,++    -- * WorkerConfigurationDescription+    WorkerConfigurationDescription (..),+    newWorkerConfigurationDescription,+    workerConfigurationDescription_revision,+    workerConfigurationDescription_workerConfigurationArn,++    -- * WorkerConfigurationRevisionDescription+    WorkerConfigurationRevisionDescription (..),+    newWorkerConfigurationRevisionDescription,+    workerConfigurationRevisionDescription_creationTime,+    workerConfigurationRevisionDescription_description,+    workerConfigurationRevisionDescription_propertiesFileContent,+    workerConfigurationRevisionDescription_revision,++    -- * WorkerConfigurationRevisionSummary+    WorkerConfigurationRevisionSummary (..),+    newWorkerConfigurationRevisionSummary,+    workerConfigurationRevisionSummary_creationTime,+    workerConfigurationRevisionSummary_description,+    workerConfigurationRevisionSummary_revision,++    -- * WorkerConfigurationSummary+    WorkerConfigurationSummary (..),+    newWorkerConfigurationSummary,+    workerConfigurationSummary_creationTime,+    workerConfigurationSummary_description,+    workerConfigurationSummary_latestRevision,+    workerConfigurationSummary_name,+    workerConfigurationSummary_workerConfigurationArn,++    -- * WorkerLogDelivery+    WorkerLogDelivery (..),+    newWorkerLogDelivery,+    workerLogDelivery_cloudWatchLogs,+    workerLogDelivery_firehose,+    workerLogDelivery_s3,++    -- * WorkerLogDeliveryDescription+    WorkerLogDeliveryDescription (..),+    newWorkerLogDeliveryDescription,+    workerLogDeliveryDescription_cloudWatchLogs,+    workerLogDeliveryDescription_firehose,+    workerLogDeliveryDescription_s3,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.KafkaConnect.Types.ApacheKafkaCluster+import Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription+import Amazonka.KafkaConnect.Types.AutoScaling+import Amazonka.KafkaConnect.Types.AutoScalingDescription+import Amazonka.KafkaConnect.Types.AutoScalingUpdate+import Amazonka.KafkaConnect.Types.Capacity+import Amazonka.KafkaConnect.Types.CapacityDescription+import Amazonka.KafkaConnect.Types.CapacityUpdate+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDelivery+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription+import Amazonka.KafkaConnect.Types.ConnectorState+import Amazonka.KafkaConnect.Types.ConnectorSummary+import Amazonka.KafkaConnect.Types.CustomPlugin+import Amazonka.KafkaConnect.Types.CustomPluginContentType+import Amazonka.KafkaConnect.Types.CustomPluginDescription+import Amazonka.KafkaConnect.Types.CustomPluginFileDescription+import Amazonka.KafkaConnect.Types.CustomPluginLocation+import Amazonka.KafkaConnect.Types.CustomPluginLocationDescription+import Amazonka.KafkaConnect.Types.CustomPluginRevisionSummary+import Amazonka.KafkaConnect.Types.CustomPluginState+import Amazonka.KafkaConnect.Types.CustomPluginSummary+import Amazonka.KafkaConnect.Types.FirehoseLogDelivery+import Amazonka.KafkaConnect.Types.FirehoseLogDeliveryDescription+import Amazonka.KafkaConnect.Types.KafkaCluster+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthentication+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationType+import Amazonka.KafkaConnect.Types.KafkaClusterDescription+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransit+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+import Amazonka.KafkaConnect.Types.LogDelivery+import Amazonka.KafkaConnect.Types.LogDeliveryDescription+import Amazonka.KafkaConnect.Types.Plugin+import Amazonka.KafkaConnect.Types.PluginDescription+import Amazonka.KafkaConnect.Types.ProvisionedCapacity+import Amazonka.KafkaConnect.Types.ProvisionedCapacityDescription+import Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate+import Amazonka.KafkaConnect.Types.S3Location+import Amazonka.KafkaConnect.Types.S3LocationDescription+import Amazonka.KafkaConnect.Types.S3LogDelivery+import Amazonka.KafkaConnect.Types.S3LogDeliveryDescription+import Amazonka.KafkaConnect.Types.ScaleInPolicy+import Amazonka.KafkaConnect.Types.ScaleInPolicyDescription+import Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate+import Amazonka.KafkaConnect.Types.ScaleOutPolicy+import Amazonka.KafkaConnect.Types.ScaleOutPolicyDescription+import Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate+import Amazonka.KafkaConnect.Types.StateDescription+import Amazonka.KafkaConnect.Types.Vpc+import Amazonka.KafkaConnect.Types.VpcDescription+import Amazonka.KafkaConnect.Types.WorkerConfiguration+import Amazonka.KafkaConnect.Types.WorkerConfigurationDescription+import Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionDescription+import Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary+import Amazonka.KafkaConnect.Types.WorkerConfigurationSummary+import Amazonka.KafkaConnect.Types.WorkerLogDelivery+import Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-09-14@ of the Amazon Managed Streaming for Kafka Connect SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "KafkaConnect",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "kafkaconnect",+      Core.signingName = "kafkaconnect",+      Core.version = "2021-09-14",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "KafkaConnect",+      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++-- | HTTP Status Code 400: Bad request due to incorrect input. Correct your+-- request and then retry it.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | HTTP Status Code 409: Conflict. A resource with this name already+-- exists. Retry your request with another name.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | HTTP Status Code 403: Access forbidden. Correct your credentials and+-- then retry your request.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+  Core._MatchServiceError+    defaultService+    "ForbiddenException"+    Prelude.. Core.hasStatus 403++-- | HTTP Status Code 500: Unexpected internal server error. Retrying your+-- request might resolve the issue.+_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerErrorException =+  Core._MatchServiceError+    defaultService+    "InternalServerErrorException"+    Prelude.. Core.hasStatus 500++-- | HTTP Status Code 404: Resource not found due to incorrect input. Correct+-- your request and then retry it.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | HTTP Status Code 503: Service Unavailable. Retrying your request in some+-- time might resolve the issue.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ServiceUnavailableException"+    Prelude.. Core.hasStatus 503++-- | HTTP Status Code 429: Limit exceeded. Resource limit reached.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+  Core._MatchServiceError+    defaultService+    "TooManyRequestsException"+    Prelude.. Core.hasStatus 429++-- | HTTP Status Code 401: Unauthorized request. The provided credentials+-- couldn\'t be validated.+_UnauthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedException =+  Core._MatchServiceError+    defaultService+    "UnauthorizedException"+    Prelude.. Core.hasStatus 401
+ gen/Amazonka/KafkaConnect/Types/ApacheKafkaCluster.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.KafkaConnect.Types.ApacheKafkaCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ApacheKafkaCluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.Vpc+import qualified Amazonka.Prelude as Prelude++-- | The details of the Apache Kafka cluster to which the connector is+-- connected.+--+-- /See:/ 'newApacheKafkaCluster' smart constructor.+data ApacheKafkaCluster = ApacheKafkaCluster'+  { -- | The bootstrap servers of the cluster.+    bootstrapServers :: Prelude.Text,+    -- | Details of an Amazon VPC which has network connectivity to the Apache+    -- Kafka cluster.+    vpc :: Vpc+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApacheKafkaCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bootstrapServers', 'apacheKafkaCluster_bootstrapServers' - The bootstrap servers of the cluster.+--+-- 'vpc', 'apacheKafkaCluster_vpc' - Details of an Amazon VPC which has network connectivity to the Apache+-- Kafka cluster.+newApacheKafkaCluster ::+  -- | 'bootstrapServers'+  Prelude.Text ->+  -- | 'vpc'+  Vpc ->+  ApacheKafkaCluster+newApacheKafkaCluster pBootstrapServers_ pVpc_ =+  ApacheKafkaCluster'+    { bootstrapServers =+        pBootstrapServers_,+      vpc = pVpc_+    }++-- | The bootstrap servers of the cluster.+apacheKafkaCluster_bootstrapServers :: Lens.Lens' ApacheKafkaCluster Prelude.Text+apacheKafkaCluster_bootstrapServers = Lens.lens (\ApacheKafkaCluster' {bootstrapServers} -> bootstrapServers) (\s@ApacheKafkaCluster' {} a -> s {bootstrapServers = a} :: ApacheKafkaCluster)++-- | Details of an Amazon VPC which has network connectivity to the Apache+-- Kafka cluster.+apacheKafkaCluster_vpc :: Lens.Lens' ApacheKafkaCluster Vpc+apacheKafkaCluster_vpc = Lens.lens (\ApacheKafkaCluster' {vpc} -> vpc) (\s@ApacheKafkaCluster' {} a -> s {vpc = a} :: ApacheKafkaCluster)++instance Prelude.Hashable ApacheKafkaCluster where+  hashWithSalt _salt ApacheKafkaCluster' {..} =+    _salt+      `Prelude.hashWithSalt` bootstrapServers+      `Prelude.hashWithSalt` vpc++instance Prelude.NFData ApacheKafkaCluster where+  rnf ApacheKafkaCluster' {..} =+    Prelude.rnf bootstrapServers+      `Prelude.seq` Prelude.rnf vpc++instance Data.ToJSON ApacheKafkaCluster where+  toJSON ApacheKafkaCluster' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("bootstrapServers" Data..= bootstrapServers),+            Prelude.Just ("vpc" Data..= vpc)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/ApacheKafkaClusterDescription.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.VpcDescription+import qualified Amazonka.Prelude as Prelude++-- | The description of the Apache Kafka cluster to which the connector is+-- connected.+--+-- /See:/ 'newApacheKafkaClusterDescription' smart constructor.+data ApacheKafkaClusterDescription = ApacheKafkaClusterDescription'+  { -- | The bootstrap servers of the cluster.+    bootstrapServers :: Prelude.Maybe Prelude.Text,+    -- | Details of an Amazon VPC which has network connectivity to the Apache+    -- Kafka cluster.+    vpc :: Prelude.Maybe VpcDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApacheKafkaClusterDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bootstrapServers', 'apacheKafkaClusterDescription_bootstrapServers' - The bootstrap servers of the cluster.+--+-- 'vpc', 'apacheKafkaClusterDescription_vpc' - Details of an Amazon VPC which has network connectivity to the Apache+-- Kafka cluster.+newApacheKafkaClusterDescription ::+  ApacheKafkaClusterDescription+newApacheKafkaClusterDescription =+  ApacheKafkaClusterDescription'+    { bootstrapServers =+        Prelude.Nothing,+      vpc = Prelude.Nothing+    }++-- | The bootstrap servers of the cluster.+apacheKafkaClusterDescription_bootstrapServers :: Lens.Lens' ApacheKafkaClusterDescription (Prelude.Maybe Prelude.Text)+apacheKafkaClusterDescription_bootstrapServers = Lens.lens (\ApacheKafkaClusterDescription' {bootstrapServers} -> bootstrapServers) (\s@ApacheKafkaClusterDescription' {} a -> s {bootstrapServers = a} :: ApacheKafkaClusterDescription)++-- | Details of an Amazon VPC which has network connectivity to the Apache+-- Kafka cluster.+apacheKafkaClusterDescription_vpc :: Lens.Lens' ApacheKafkaClusterDescription (Prelude.Maybe VpcDescription)+apacheKafkaClusterDescription_vpc = Lens.lens (\ApacheKafkaClusterDescription' {vpc} -> vpc) (\s@ApacheKafkaClusterDescription' {} a -> s {vpc = a} :: ApacheKafkaClusterDescription)++instance Data.FromJSON ApacheKafkaClusterDescription where+  parseJSON =+    Data.withObject+      "ApacheKafkaClusterDescription"+      ( \x ->+          ApacheKafkaClusterDescription'+            Prelude.<$> (x Data..:? "bootstrapServers")+            Prelude.<*> (x Data..:? "vpc")+      )++instance+  Prelude.Hashable+    ApacheKafkaClusterDescription+  where+  hashWithSalt _salt ApacheKafkaClusterDescription' {..} =+    _salt+      `Prelude.hashWithSalt` bootstrapServers+      `Prelude.hashWithSalt` vpc++instance Prelude.NFData ApacheKafkaClusterDescription where+  rnf ApacheKafkaClusterDescription' {..} =+    Prelude.rnf bootstrapServers+      `Prelude.seq` Prelude.rnf vpc
+ gen/Amazonka/KafkaConnect/Types/AutoScaling.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.KafkaConnect.Types.AutoScaling+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.AutoScaling where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.ScaleInPolicy+import Amazonka.KafkaConnect.Types.ScaleOutPolicy+import qualified Amazonka.Prelude as Prelude++-- | Specifies how the connector scales.+--+-- /See:/ 'newAutoScaling' smart constructor.+data AutoScaling = AutoScaling'+  { -- | The sacle-in policy for the connector.+    scaleInPolicy :: Prelude.Maybe ScaleInPolicy,+    -- | The sacle-out policy for the connector.+    scaleOutPolicy :: Prelude.Maybe ScaleOutPolicy,+    -- | The maximum number of workers allocated to the connector.+    maxWorkerCount :: Prelude.Natural,+    -- | The number of microcontroller units (MCUs) allocated to each connector+    -- worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Natural,+    -- | The minimum number of workers allocated to the connector.+    minWorkerCount :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoScaling' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scaleInPolicy', 'autoScaling_scaleInPolicy' - The sacle-in policy for the connector.+--+-- 'scaleOutPolicy', 'autoScaling_scaleOutPolicy' - The sacle-out policy for the connector.+--+-- 'maxWorkerCount', 'autoScaling_maxWorkerCount' - The maximum number of workers allocated to the connector.+--+-- 'mcuCount', 'autoScaling_mcuCount' - The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+--+-- 'minWorkerCount', 'autoScaling_minWorkerCount' - The minimum number of workers allocated to the connector.+newAutoScaling ::+  -- | 'maxWorkerCount'+  Prelude.Natural ->+  -- | 'mcuCount'+  Prelude.Natural ->+  -- | 'minWorkerCount'+  Prelude.Natural ->+  AutoScaling+newAutoScaling+  pMaxWorkerCount_+  pMcuCount_+  pMinWorkerCount_ =+    AutoScaling'+      { scaleInPolicy = Prelude.Nothing,+        scaleOutPolicy = Prelude.Nothing,+        maxWorkerCount = pMaxWorkerCount_,+        mcuCount = pMcuCount_,+        minWorkerCount = pMinWorkerCount_+      }++-- | The sacle-in policy for the connector.+autoScaling_scaleInPolicy :: Lens.Lens' AutoScaling (Prelude.Maybe ScaleInPolicy)+autoScaling_scaleInPolicy = Lens.lens (\AutoScaling' {scaleInPolicy} -> scaleInPolicy) (\s@AutoScaling' {} a -> s {scaleInPolicy = a} :: AutoScaling)++-- | The sacle-out policy for the connector.+autoScaling_scaleOutPolicy :: Lens.Lens' AutoScaling (Prelude.Maybe ScaleOutPolicy)+autoScaling_scaleOutPolicy = Lens.lens (\AutoScaling' {scaleOutPolicy} -> scaleOutPolicy) (\s@AutoScaling' {} a -> s {scaleOutPolicy = a} :: AutoScaling)++-- | The maximum number of workers allocated to the connector.+autoScaling_maxWorkerCount :: Lens.Lens' AutoScaling Prelude.Natural+autoScaling_maxWorkerCount = Lens.lens (\AutoScaling' {maxWorkerCount} -> maxWorkerCount) (\s@AutoScaling' {} a -> s {maxWorkerCount = a} :: AutoScaling)++-- | The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+autoScaling_mcuCount :: Lens.Lens' AutoScaling Prelude.Natural+autoScaling_mcuCount = Lens.lens (\AutoScaling' {mcuCount} -> mcuCount) (\s@AutoScaling' {} a -> s {mcuCount = a} :: AutoScaling)++-- | The minimum number of workers allocated to the connector.+autoScaling_minWorkerCount :: Lens.Lens' AutoScaling Prelude.Natural+autoScaling_minWorkerCount = Lens.lens (\AutoScaling' {minWorkerCount} -> minWorkerCount) (\s@AutoScaling' {} a -> s {minWorkerCount = a} :: AutoScaling)++instance Prelude.Hashable AutoScaling where+  hashWithSalt _salt AutoScaling' {..} =+    _salt+      `Prelude.hashWithSalt` scaleInPolicy+      `Prelude.hashWithSalt` scaleOutPolicy+      `Prelude.hashWithSalt` maxWorkerCount+      `Prelude.hashWithSalt` mcuCount+      `Prelude.hashWithSalt` minWorkerCount++instance Prelude.NFData AutoScaling where+  rnf AutoScaling' {..} =+    Prelude.rnf scaleInPolicy+      `Prelude.seq` Prelude.rnf scaleOutPolicy+      `Prelude.seq` Prelude.rnf maxWorkerCount+      `Prelude.seq` Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf minWorkerCount++instance Data.ToJSON AutoScaling where+  toJSON AutoScaling' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("scaleInPolicy" Data..=) Prelude.<$> scaleInPolicy,+            ("scaleOutPolicy" Data..=)+              Prelude.<$> scaleOutPolicy,+            Prelude.Just+              ("maxWorkerCount" Data..= maxWorkerCount),+            Prelude.Just ("mcuCount" Data..= mcuCount),+            Prelude.Just+              ("minWorkerCount" Data..= minWorkerCount)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/AutoScalingDescription.hs view
@@ -0,0 +1,126 @@+{-# 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.KafkaConnect.Types.AutoScalingDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.AutoScalingDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.ScaleInPolicyDescription+import Amazonka.KafkaConnect.Types.ScaleOutPolicyDescription+import qualified Amazonka.Prelude as Prelude++-- | Information about the auto scaling parameters for the connector.+--+-- /See:/ 'newAutoScalingDescription' smart constructor.+data AutoScalingDescription = AutoScalingDescription'+  { -- | The maximum number of workers allocated to the connector.+    maxWorkerCount :: Prelude.Maybe Prelude.Int,+    -- | The number of microcontroller units (MCUs) allocated to each connector+    -- worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Maybe Prelude.Int,+    -- | The minimum number of workers allocated to the connector.+    minWorkerCount :: Prelude.Maybe Prelude.Int,+    -- | The sacle-in policy for the connector.+    scaleInPolicy :: Prelude.Maybe ScaleInPolicyDescription,+    -- | The sacle-out policy for the connector.>+    scaleOutPolicy :: Prelude.Maybe ScaleOutPolicyDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoScalingDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxWorkerCount', 'autoScalingDescription_maxWorkerCount' - The maximum number of workers allocated to the connector.+--+-- 'mcuCount', 'autoScalingDescription_mcuCount' - The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+--+-- 'minWorkerCount', 'autoScalingDescription_minWorkerCount' - The minimum number of workers allocated to the connector.+--+-- 'scaleInPolicy', 'autoScalingDescription_scaleInPolicy' - The sacle-in policy for the connector.+--+-- 'scaleOutPolicy', 'autoScalingDescription_scaleOutPolicy' - The sacle-out policy for the connector.>+newAutoScalingDescription ::+  AutoScalingDescription+newAutoScalingDescription =+  AutoScalingDescription'+    { maxWorkerCount =+        Prelude.Nothing,+      mcuCount = Prelude.Nothing,+      minWorkerCount = Prelude.Nothing,+      scaleInPolicy = Prelude.Nothing,+      scaleOutPolicy = Prelude.Nothing+    }++-- | The maximum number of workers allocated to the connector.+autoScalingDescription_maxWorkerCount :: Lens.Lens' AutoScalingDescription (Prelude.Maybe Prelude.Int)+autoScalingDescription_maxWorkerCount = Lens.lens (\AutoScalingDescription' {maxWorkerCount} -> maxWorkerCount) (\s@AutoScalingDescription' {} a -> s {maxWorkerCount = a} :: AutoScalingDescription)++-- | The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+autoScalingDescription_mcuCount :: Lens.Lens' AutoScalingDescription (Prelude.Maybe Prelude.Int)+autoScalingDescription_mcuCount = Lens.lens (\AutoScalingDescription' {mcuCount} -> mcuCount) (\s@AutoScalingDescription' {} a -> s {mcuCount = a} :: AutoScalingDescription)++-- | The minimum number of workers allocated to the connector.+autoScalingDescription_minWorkerCount :: Lens.Lens' AutoScalingDescription (Prelude.Maybe Prelude.Int)+autoScalingDescription_minWorkerCount = Lens.lens (\AutoScalingDescription' {minWorkerCount} -> minWorkerCount) (\s@AutoScalingDescription' {} a -> s {minWorkerCount = a} :: AutoScalingDescription)++-- | The sacle-in policy for the connector.+autoScalingDescription_scaleInPolicy :: Lens.Lens' AutoScalingDescription (Prelude.Maybe ScaleInPolicyDescription)+autoScalingDescription_scaleInPolicy = Lens.lens (\AutoScalingDescription' {scaleInPolicy} -> scaleInPolicy) (\s@AutoScalingDescription' {} a -> s {scaleInPolicy = a} :: AutoScalingDescription)++-- | The sacle-out policy for the connector.>+autoScalingDescription_scaleOutPolicy :: Lens.Lens' AutoScalingDescription (Prelude.Maybe ScaleOutPolicyDescription)+autoScalingDescription_scaleOutPolicy = Lens.lens (\AutoScalingDescription' {scaleOutPolicy} -> scaleOutPolicy) (\s@AutoScalingDescription' {} a -> s {scaleOutPolicy = a} :: AutoScalingDescription)++instance Data.FromJSON AutoScalingDescription where+  parseJSON =+    Data.withObject+      "AutoScalingDescription"+      ( \x ->+          AutoScalingDescription'+            Prelude.<$> (x Data..:? "maxWorkerCount")+            Prelude.<*> (x Data..:? "mcuCount")+            Prelude.<*> (x Data..:? "minWorkerCount")+            Prelude.<*> (x Data..:? "scaleInPolicy")+            Prelude.<*> (x Data..:? "scaleOutPolicy")+      )++instance Prelude.Hashable AutoScalingDescription where+  hashWithSalt _salt AutoScalingDescription' {..} =+    _salt+      `Prelude.hashWithSalt` maxWorkerCount+      `Prelude.hashWithSalt` mcuCount+      `Prelude.hashWithSalt` minWorkerCount+      `Prelude.hashWithSalt` scaleInPolicy+      `Prelude.hashWithSalt` scaleOutPolicy++instance Prelude.NFData AutoScalingDescription where+  rnf AutoScalingDescription' {..} =+    Prelude.rnf maxWorkerCount+      `Prelude.seq` Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf minWorkerCount+      `Prelude.seq` Prelude.rnf scaleInPolicy+      `Prelude.seq` Prelude.rnf scaleOutPolicy
+ gen/Amazonka/KafkaConnect/Types/AutoScalingUpdate.hs view
@@ -0,0 +1,143 @@+{-# 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.KafkaConnect.Types.AutoScalingUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.AutoScalingUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate+import Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate+import qualified Amazonka.Prelude as Prelude++-- | The updates to the auto scaling parameters for the connector.+--+-- /See:/ 'newAutoScalingUpdate' smart constructor.+data AutoScalingUpdate = AutoScalingUpdate'+  { -- | The target maximum number of workers allocated to the connector.+    maxWorkerCount :: Prelude.Natural,+    -- | The target number of microcontroller units (MCUs) allocated to each+    -- connector worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Natural,+    -- | The target minimum number of workers allocated to the connector.+    minWorkerCount :: Prelude.Natural,+    -- | The target sacle-in policy for the connector.+    scaleInPolicy :: ScaleInPolicyUpdate,+    -- | The target sacle-out policy for the connector.+    scaleOutPolicy :: ScaleOutPolicyUpdate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoScalingUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxWorkerCount', 'autoScalingUpdate_maxWorkerCount' - The target maximum number of workers allocated to the connector.+--+-- 'mcuCount', 'autoScalingUpdate_mcuCount' - The target number of microcontroller units (MCUs) allocated to each+-- connector worker. The valid values are 1,2,4,8.+--+-- 'minWorkerCount', 'autoScalingUpdate_minWorkerCount' - The target minimum number of workers allocated to the connector.+--+-- 'scaleInPolicy', 'autoScalingUpdate_scaleInPolicy' - The target sacle-in policy for the connector.+--+-- 'scaleOutPolicy', 'autoScalingUpdate_scaleOutPolicy' - The target sacle-out policy for the connector.+newAutoScalingUpdate ::+  -- | 'maxWorkerCount'+  Prelude.Natural ->+  -- | 'mcuCount'+  Prelude.Natural ->+  -- | 'minWorkerCount'+  Prelude.Natural ->+  -- | 'scaleInPolicy'+  ScaleInPolicyUpdate ->+  -- | 'scaleOutPolicy'+  ScaleOutPolicyUpdate ->+  AutoScalingUpdate+newAutoScalingUpdate+  pMaxWorkerCount_+  pMcuCount_+  pMinWorkerCount_+  pScaleInPolicy_+  pScaleOutPolicy_ =+    AutoScalingUpdate'+      { maxWorkerCount =+          pMaxWorkerCount_,+        mcuCount = pMcuCount_,+        minWorkerCount = pMinWorkerCount_,+        scaleInPolicy = pScaleInPolicy_,+        scaleOutPolicy = pScaleOutPolicy_+      }++-- | The target maximum number of workers allocated to the connector.+autoScalingUpdate_maxWorkerCount :: Lens.Lens' AutoScalingUpdate Prelude.Natural+autoScalingUpdate_maxWorkerCount = Lens.lens (\AutoScalingUpdate' {maxWorkerCount} -> maxWorkerCount) (\s@AutoScalingUpdate' {} a -> s {maxWorkerCount = a} :: AutoScalingUpdate)++-- | The target number of microcontroller units (MCUs) allocated to each+-- connector worker. The valid values are 1,2,4,8.+autoScalingUpdate_mcuCount :: Lens.Lens' AutoScalingUpdate Prelude.Natural+autoScalingUpdate_mcuCount = Lens.lens (\AutoScalingUpdate' {mcuCount} -> mcuCount) (\s@AutoScalingUpdate' {} a -> s {mcuCount = a} :: AutoScalingUpdate)++-- | The target minimum number of workers allocated to the connector.+autoScalingUpdate_minWorkerCount :: Lens.Lens' AutoScalingUpdate Prelude.Natural+autoScalingUpdate_minWorkerCount = Lens.lens (\AutoScalingUpdate' {minWorkerCount} -> minWorkerCount) (\s@AutoScalingUpdate' {} a -> s {minWorkerCount = a} :: AutoScalingUpdate)++-- | The target sacle-in policy for the connector.+autoScalingUpdate_scaleInPolicy :: Lens.Lens' AutoScalingUpdate ScaleInPolicyUpdate+autoScalingUpdate_scaleInPolicy = Lens.lens (\AutoScalingUpdate' {scaleInPolicy} -> scaleInPolicy) (\s@AutoScalingUpdate' {} a -> s {scaleInPolicy = a} :: AutoScalingUpdate)++-- | The target sacle-out policy for the connector.+autoScalingUpdate_scaleOutPolicy :: Lens.Lens' AutoScalingUpdate ScaleOutPolicyUpdate+autoScalingUpdate_scaleOutPolicy = Lens.lens (\AutoScalingUpdate' {scaleOutPolicy} -> scaleOutPolicy) (\s@AutoScalingUpdate' {} a -> s {scaleOutPolicy = a} :: AutoScalingUpdate)++instance Prelude.Hashable AutoScalingUpdate where+  hashWithSalt _salt AutoScalingUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` maxWorkerCount+      `Prelude.hashWithSalt` mcuCount+      `Prelude.hashWithSalt` minWorkerCount+      `Prelude.hashWithSalt` scaleInPolicy+      `Prelude.hashWithSalt` scaleOutPolicy++instance Prelude.NFData AutoScalingUpdate where+  rnf AutoScalingUpdate' {..} =+    Prelude.rnf maxWorkerCount+      `Prelude.seq` Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf minWorkerCount+      `Prelude.seq` Prelude.rnf scaleInPolicy+      `Prelude.seq` Prelude.rnf scaleOutPolicy++instance Data.ToJSON AutoScalingUpdate where+  toJSON AutoScalingUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("maxWorkerCount" Data..= maxWorkerCount),+            Prelude.Just ("mcuCount" Data..= mcuCount),+            Prelude.Just+              ("minWorkerCount" Data..= minWorkerCount),+            Prelude.Just ("scaleInPolicy" Data..= scaleInPolicy),+            Prelude.Just+              ("scaleOutPolicy" Data..= scaleOutPolicy)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/Capacity.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.KafkaConnect.Types.Capacity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.Capacity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.AutoScaling+import Amazonka.KafkaConnect.Types.ProvisionedCapacity+import qualified Amazonka.Prelude as Prelude++-- | Information about the capacity of the connector, whether it is auto+-- scaled or provisioned.+--+-- /See:/ 'newCapacity' smart constructor.+data Capacity = Capacity'+  { -- | Information about the auto scaling parameters for the connector.+    autoScaling :: Prelude.Maybe AutoScaling,+    -- | Details about a fixed capacity allocated to a connector.+    provisionedCapacity :: Prelude.Maybe ProvisionedCapacity+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Capacity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScaling', 'capacity_autoScaling' - Information about the auto scaling parameters for the connector.+--+-- 'provisionedCapacity', 'capacity_provisionedCapacity' - Details about a fixed capacity allocated to a connector.+newCapacity ::+  Capacity+newCapacity =+  Capacity'+    { autoScaling = Prelude.Nothing,+      provisionedCapacity = Prelude.Nothing+    }++-- | Information about the auto scaling parameters for the connector.+capacity_autoScaling :: Lens.Lens' Capacity (Prelude.Maybe AutoScaling)+capacity_autoScaling = Lens.lens (\Capacity' {autoScaling} -> autoScaling) (\s@Capacity' {} a -> s {autoScaling = a} :: Capacity)++-- | Details about a fixed capacity allocated to a connector.+capacity_provisionedCapacity :: Lens.Lens' Capacity (Prelude.Maybe ProvisionedCapacity)+capacity_provisionedCapacity = Lens.lens (\Capacity' {provisionedCapacity} -> provisionedCapacity) (\s@Capacity' {} a -> s {provisionedCapacity = a} :: Capacity)++instance Prelude.Hashable Capacity where+  hashWithSalt _salt Capacity' {..} =+    _salt+      `Prelude.hashWithSalt` autoScaling+      `Prelude.hashWithSalt` provisionedCapacity++instance Prelude.NFData Capacity where+  rnf Capacity' {..} =+    Prelude.rnf autoScaling+      `Prelude.seq` Prelude.rnf provisionedCapacity++instance Data.ToJSON Capacity where+  toJSON Capacity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("autoScaling" Data..=) Prelude.<$> autoScaling,+            ("provisionedCapacity" Data..=)+              Prelude.<$> provisionedCapacity+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/CapacityDescription.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.KafkaConnect.Types.CapacityDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CapacityDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.AutoScalingDescription+import Amazonka.KafkaConnect.Types.ProvisionedCapacityDescription+import qualified Amazonka.Prelude as Prelude++-- | A description of the connector\'s capacity.+--+-- /See:/ 'newCapacityDescription' smart constructor.+data CapacityDescription = CapacityDescription'+  { -- | Describes the connector\'s auto scaling capacity.+    autoScaling :: Prelude.Maybe AutoScalingDescription,+    -- | Describes a connector\'s provisioned capacity.+    provisionedCapacity :: Prelude.Maybe ProvisionedCapacityDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CapacityDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScaling', 'capacityDescription_autoScaling' - Describes the connector\'s auto scaling capacity.+--+-- 'provisionedCapacity', 'capacityDescription_provisionedCapacity' - Describes a connector\'s provisioned capacity.+newCapacityDescription ::+  CapacityDescription+newCapacityDescription =+  CapacityDescription'+    { autoScaling = Prelude.Nothing,+      provisionedCapacity = Prelude.Nothing+    }++-- | Describes the connector\'s auto scaling capacity.+capacityDescription_autoScaling :: Lens.Lens' CapacityDescription (Prelude.Maybe AutoScalingDescription)+capacityDescription_autoScaling = Lens.lens (\CapacityDescription' {autoScaling} -> autoScaling) (\s@CapacityDescription' {} a -> s {autoScaling = a} :: CapacityDescription)++-- | Describes a connector\'s provisioned capacity.+capacityDescription_provisionedCapacity :: Lens.Lens' CapacityDescription (Prelude.Maybe ProvisionedCapacityDescription)+capacityDescription_provisionedCapacity = Lens.lens (\CapacityDescription' {provisionedCapacity} -> provisionedCapacity) (\s@CapacityDescription' {} a -> s {provisionedCapacity = a} :: CapacityDescription)++instance Data.FromJSON CapacityDescription where+  parseJSON =+    Data.withObject+      "CapacityDescription"+      ( \x ->+          CapacityDescription'+            Prelude.<$> (x Data..:? "autoScaling")+            Prelude.<*> (x Data..:? "provisionedCapacity")+      )++instance Prelude.Hashable CapacityDescription where+  hashWithSalt _salt CapacityDescription' {..} =+    _salt+      `Prelude.hashWithSalt` autoScaling+      `Prelude.hashWithSalt` provisionedCapacity++instance Prelude.NFData CapacityDescription where+  rnf CapacityDescription' {..} =+    Prelude.rnf autoScaling+      `Prelude.seq` Prelude.rnf provisionedCapacity
+ gen/Amazonka/KafkaConnect/Types/CapacityUpdate.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.KafkaConnect.Types.CapacityUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CapacityUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.AutoScalingUpdate+import Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate+import qualified Amazonka.Prelude as Prelude++-- | The target capacity for the connector. The capacity can be auto scaled+-- or provisioned.+--+-- /See:/ 'newCapacityUpdate' smart constructor.+data CapacityUpdate = CapacityUpdate'+  { -- | The target auto scaling setting.+    autoScaling :: Prelude.Maybe AutoScalingUpdate,+    -- | The target settings for provisioned capacity.+    provisionedCapacity :: Prelude.Maybe ProvisionedCapacityUpdate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CapacityUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoScaling', 'capacityUpdate_autoScaling' - The target auto scaling setting.+--+-- 'provisionedCapacity', 'capacityUpdate_provisionedCapacity' - The target settings for provisioned capacity.+newCapacityUpdate ::+  CapacityUpdate+newCapacityUpdate =+  CapacityUpdate'+    { autoScaling = Prelude.Nothing,+      provisionedCapacity = Prelude.Nothing+    }++-- | The target auto scaling setting.+capacityUpdate_autoScaling :: Lens.Lens' CapacityUpdate (Prelude.Maybe AutoScalingUpdate)+capacityUpdate_autoScaling = Lens.lens (\CapacityUpdate' {autoScaling} -> autoScaling) (\s@CapacityUpdate' {} a -> s {autoScaling = a} :: CapacityUpdate)++-- | The target settings for provisioned capacity.+capacityUpdate_provisionedCapacity :: Lens.Lens' CapacityUpdate (Prelude.Maybe ProvisionedCapacityUpdate)+capacityUpdate_provisionedCapacity = Lens.lens (\CapacityUpdate' {provisionedCapacity} -> provisionedCapacity) (\s@CapacityUpdate' {} a -> s {provisionedCapacity = a} :: CapacityUpdate)++instance Prelude.Hashable CapacityUpdate where+  hashWithSalt _salt CapacityUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` autoScaling+      `Prelude.hashWithSalt` provisionedCapacity++instance Prelude.NFData CapacityUpdate where+  rnf CapacityUpdate' {..} =+    Prelude.rnf autoScaling+      `Prelude.seq` Prelude.rnf provisionedCapacity++instance Data.ToJSON CapacityUpdate where+  toJSON CapacityUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("autoScaling" Data..=) Prelude.<$> autoScaling,+            ("provisionedCapacity" Data..=)+              Prelude.<$> provisionedCapacity+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/CloudWatchLogsLogDelivery.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.KafkaConnect.Types.CloudWatchLogsLogDelivery+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CloudWatchLogsLogDelivery 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 settings for delivering connector logs to Amazon CloudWatch Logs.+--+-- /See:/ 'newCloudWatchLogsLogDelivery' smart constructor.+data CloudWatchLogsLogDelivery = CloudWatchLogsLogDelivery'+  { -- | The name of the CloudWatch log group that is the destination for log+    -- delivery.+    logGroup :: Prelude.Maybe Prelude.Text,+    -- | Whether log delivery to Amazon CloudWatch Logs is enabled.+    enabled :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchLogsLogDelivery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'cloudWatchLogsLogDelivery_logGroup' - The name of the CloudWatch log group that is the destination for log+-- delivery.+--+-- 'enabled', 'cloudWatchLogsLogDelivery_enabled' - Whether log delivery to Amazon CloudWatch Logs is enabled.+newCloudWatchLogsLogDelivery ::+  -- | 'enabled'+  Prelude.Bool ->+  CloudWatchLogsLogDelivery+newCloudWatchLogsLogDelivery pEnabled_ =+  CloudWatchLogsLogDelivery'+    { logGroup =+        Prelude.Nothing,+      enabled = pEnabled_+    }++-- | The name of the CloudWatch log group that is the destination for log+-- delivery.+cloudWatchLogsLogDelivery_logGroup :: Lens.Lens' CloudWatchLogsLogDelivery (Prelude.Maybe Prelude.Text)+cloudWatchLogsLogDelivery_logGroup = Lens.lens (\CloudWatchLogsLogDelivery' {logGroup} -> logGroup) (\s@CloudWatchLogsLogDelivery' {} a -> s {logGroup = a} :: CloudWatchLogsLogDelivery)++-- | Whether log delivery to Amazon CloudWatch Logs is enabled.+cloudWatchLogsLogDelivery_enabled :: Lens.Lens' CloudWatchLogsLogDelivery Prelude.Bool+cloudWatchLogsLogDelivery_enabled = Lens.lens (\CloudWatchLogsLogDelivery' {enabled} -> enabled) (\s@CloudWatchLogsLogDelivery' {} a -> s {enabled = a} :: CloudWatchLogsLogDelivery)++instance Prelude.Hashable CloudWatchLogsLogDelivery where+  hashWithSalt _salt CloudWatchLogsLogDelivery' {..} =+    _salt+      `Prelude.hashWithSalt` logGroup+      `Prelude.hashWithSalt` enabled++instance Prelude.NFData CloudWatchLogsLogDelivery where+  rnf CloudWatchLogsLogDelivery' {..} =+    Prelude.rnf logGroup+      `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON CloudWatchLogsLogDelivery where+  toJSON CloudWatchLogsLogDelivery' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("logGroup" Data..=) Prelude.<$> logGroup,+            Prelude.Just ("enabled" Data..= enabled)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/CloudWatchLogsLogDeliveryDescription.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.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A description of the log delivery settings.+--+-- /See:/ 'newCloudWatchLogsLogDeliveryDescription' smart constructor.+data CloudWatchLogsLogDeliveryDescription = CloudWatchLogsLogDeliveryDescription'+  { -- | Whether log delivery to Amazon CloudWatch Logs is enabled.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | The name of the CloudWatch log group that is the destination for log+    -- delivery.+    logGroup :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchLogsLogDeliveryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'cloudWatchLogsLogDeliveryDescription_enabled' - Whether log delivery to Amazon CloudWatch Logs is enabled.+--+-- 'logGroup', 'cloudWatchLogsLogDeliveryDescription_logGroup' - The name of the CloudWatch log group that is the destination for log+-- delivery.+newCloudWatchLogsLogDeliveryDescription ::+  CloudWatchLogsLogDeliveryDescription+newCloudWatchLogsLogDeliveryDescription =+  CloudWatchLogsLogDeliveryDescription'+    { enabled =+        Prelude.Nothing,+      logGroup = Prelude.Nothing+    }++-- | Whether log delivery to Amazon CloudWatch Logs is enabled.+cloudWatchLogsLogDeliveryDescription_enabled :: Lens.Lens' CloudWatchLogsLogDeliveryDescription (Prelude.Maybe Prelude.Bool)+cloudWatchLogsLogDeliveryDescription_enabled = Lens.lens (\CloudWatchLogsLogDeliveryDescription' {enabled} -> enabled) (\s@CloudWatchLogsLogDeliveryDescription' {} a -> s {enabled = a} :: CloudWatchLogsLogDeliveryDescription)++-- | The name of the CloudWatch log group that is the destination for log+-- delivery.+cloudWatchLogsLogDeliveryDescription_logGroup :: Lens.Lens' CloudWatchLogsLogDeliveryDescription (Prelude.Maybe Prelude.Text)+cloudWatchLogsLogDeliveryDescription_logGroup = Lens.lens (\CloudWatchLogsLogDeliveryDescription' {logGroup} -> logGroup) (\s@CloudWatchLogsLogDeliveryDescription' {} a -> s {logGroup = a} :: CloudWatchLogsLogDeliveryDescription)++instance+  Data.FromJSON+    CloudWatchLogsLogDeliveryDescription+  where+  parseJSON =+    Data.withObject+      "CloudWatchLogsLogDeliveryDescription"+      ( \x ->+          CloudWatchLogsLogDeliveryDescription'+            Prelude.<$> (x Data..:? "enabled")+            Prelude.<*> (x Data..:? "logGroup")+      )++instance+  Prelude.Hashable+    CloudWatchLogsLogDeliveryDescription+  where+  hashWithSalt+    _salt+    CloudWatchLogsLogDeliveryDescription' {..} =+      _salt+        `Prelude.hashWithSalt` enabled+        `Prelude.hashWithSalt` logGroup++instance+  Prelude.NFData+    CloudWatchLogsLogDeliveryDescription+  where+  rnf CloudWatchLogsLogDeliveryDescription' {..} =+    Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf logGroup
+ gen/Amazonka/KafkaConnect/Types/ConnectorState.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.KafkaConnect.Types.ConnectorState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ConnectorState+  ( ConnectorState+      ( ..,+        ConnectorState_CREATING,+        ConnectorState_DELETING,+        ConnectorState_FAILED,+        ConnectorState_RUNNING,+        ConnectorState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectorState = ConnectorState'+  { fromConnectorState ::+      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 ConnectorState_CREATING :: ConnectorState+pattern ConnectorState_CREATING = ConnectorState' "CREATING"++pattern ConnectorState_DELETING :: ConnectorState+pattern ConnectorState_DELETING = ConnectorState' "DELETING"++pattern ConnectorState_FAILED :: ConnectorState+pattern ConnectorState_FAILED = ConnectorState' "FAILED"++pattern ConnectorState_RUNNING :: ConnectorState+pattern ConnectorState_RUNNING = ConnectorState' "RUNNING"++pattern ConnectorState_UPDATING :: ConnectorState+pattern ConnectorState_UPDATING = ConnectorState' "UPDATING"++{-# COMPLETE+  ConnectorState_CREATING,+  ConnectorState_DELETING,+  ConnectorState_FAILED,+  ConnectorState_RUNNING,+  ConnectorState_UPDATING,+  ConnectorState'+  #-}
+ gen/Amazonka/KafkaConnect/Types/ConnectorSummary.hs view
@@ -0,0 +1,260 @@+{-# 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.KafkaConnect.Types.ConnectorSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ConnectorSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CapacityDescription+import Amazonka.KafkaConnect.Types.ConnectorState+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription+import Amazonka.KafkaConnect.Types.KafkaClusterDescription+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription+import Amazonka.KafkaConnect.Types.LogDeliveryDescription+import Amazonka.KafkaConnect.Types.PluginDescription+import Amazonka.KafkaConnect.Types.WorkerConfigurationDescription+import qualified Amazonka.Prelude as Prelude++-- | Summary of a connector.+--+-- /See:/ 'newConnectorSummary' smart constructor.+data ConnectorSummary = ConnectorSummary'+  { -- | The connector\'s compute capacity settings.+    capacity :: Prelude.Maybe CapacityDescription,+    -- | The Amazon Resource Name (ARN) of the connector.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | The description of the connector.+    connectorDescription :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector.+    connectorName :: Prelude.Maybe Prelude.Text,+    -- | The state of the connector.+    connectorState :: Prelude.Maybe ConnectorState,+    -- | The time that the connector was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The current version of the connector.+    currentVersion :: Prelude.Maybe Prelude.Text,+    -- | The details of the Apache Kafka cluster to which the connector is+    -- connected.+    kafkaCluster :: Prelude.Maybe KafkaClusterDescription,+    -- | The type of client authentication used to connect to the Apache Kafka+    -- cluster. The value is NONE when no client authentication is used.+    kafkaClusterClientAuthentication :: Prelude.Maybe KafkaClusterClientAuthenticationDescription,+    -- | Details of encryption in transit to the Apache Kafka cluster.+    kafkaClusterEncryptionInTransit :: Prelude.Maybe KafkaClusterEncryptionInTransitDescription,+    -- | The version of Kafka Connect. It has to be compatible with both the+    -- Apache Kafka cluster\'s version and the plugins.+    kafkaConnectVersion :: Prelude.Maybe Prelude.Text,+    -- | The settings for delivering connector logs to Amazon CloudWatch Logs.+    logDelivery :: Prelude.Maybe LogDeliveryDescription,+    -- | Specifies which plugins were used for this connector.+    plugins :: Prelude.Maybe [PluginDescription],+    -- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+    -- access Amazon Web Services resources.+    serviceExecutionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The worker configurations that are in use with the connector.+    workerConfiguration :: Prelude.Maybe WorkerConfigurationDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacity', 'connectorSummary_capacity' - The connector\'s compute capacity settings.+--+-- 'connectorArn', 'connectorSummary_connectorArn' - The Amazon Resource Name (ARN) of the connector.+--+-- 'connectorDescription', 'connectorSummary_connectorDescription' - The description of the connector.+--+-- 'connectorName', 'connectorSummary_connectorName' - The name of the connector.+--+-- 'connectorState', 'connectorSummary_connectorState' - The state of the connector.+--+-- 'creationTime', 'connectorSummary_creationTime' - The time that the connector was created.+--+-- 'currentVersion', 'connectorSummary_currentVersion' - The current version of the connector.+--+-- 'kafkaCluster', 'connectorSummary_kafkaCluster' - The details of the Apache Kafka cluster to which the connector is+-- connected.+--+-- 'kafkaClusterClientAuthentication', 'connectorSummary_kafkaClusterClientAuthentication' - The type of client authentication used to connect to the Apache Kafka+-- cluster. The value is NONE when no client authentication is used.+--+-- 'kafkaClusterEncryptionInTransit', 'connectorSummary_kafkaClusterEncryptionInTransit' - Details of encryption in transit to the Apache Kafka cluster.+--+-- 'kafkaConnectVersion', 'connectorSummary_kafkaConnectVersion' - The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+--+-- 'logDelivery', 'connectorSummary_logDelivery' - The settings for delivering connector logs to Amazon CloudWatch Logs.+--+-- 'plugins', 'connectorSummary_plugins' - Specifies which plugins were used for this connector.+--+-- 'serviceExecutionRoleArn', 'connectorSummary_serviceExecutionRoleArn' - The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access Amazon Web Services resources.+--+-- 'workerConfiguration', 'connectorSummary_workerConfiguration' - The worker configurations that are in use with the connector.+newConnectorSummary ::+  ConnectorSummary+newConnectorSummary =+  ConnectorSummary'+    { capacity = Prelude.Nothing,+      connectorArn = Prelude.Nothing,+      connectorDescription = Prelude.Nothing,+      connectorName = Prelude.Nothing,+      connectorState = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentVersion = Prelude.Nothing,+      kafkaCluster = Prelude.Nothing,+      kafkaClusterClientAuthentication = Prelude.Nothing,+      kafkaClusterEncryptionInTransit = Prelude.Nothing,+      kafkaConnectVersion = Prelude.Nothing,+      logDelivery = Prelude.Nothing,+      plugins = Prelude.Nothing,+      serviceExecutionRoleArn = Prelude.Nothing,+      workerConfiguration = Prelude.Nothing+    }++-- | The connector\'s compute capacity settings.+connectorSummary_capacity :: Lens.Lens' ConnectorSummary (Prelude.Maybe CapacityDescription)+connectorSummary_capacity = Lens.lens (\ConnectorSummary' {capacity} -> capacity) (\s@ConnectorSummary' {} a -> s {capacity = a} :: ConnectorSummary)++-- | The Amazon Resource Name (ARN) of the connector.+connectorSummary_connectorArn :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_connectorArn = Lens.lens (\ConnectorSummary' {connectorArn} -> connectorArn) (\s@ConnectorSummary' {} a -> s {connectorArn = a} :: ConnectorSummary)++-- | The description of the connector.+connectorSummary_connectorDescription :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_connectorDescription = Lens.lens (\ConnectorSummary' {connectorDescription} -> connectorDescription) (\s@ConnectorSummary' {} a -> s {connectorDescription = a} :: ConnectorSummary)++-- | The name of the connector.+connectorSummary_connectorName :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_connectorName = Lens.lens (\ConnectorSummary' {connectorName} -> connectorName) (\s@ConnectorSummary' {} a -> s {connectorName = a} :: ConnectorSummary)++-- | The state of the connector.+connectorSummary_connectorState :: Lens.Lens' ConnectorSummary (Prelude.Maybe ConnectorState)+connectorSummary_connectorState = Lens.lens (\ConnectorSummary' {connectorState} -> connectorState) (\s@ConnectorSummary' {} a -> s {connectorState = a} :: ConnectorSummary)++-- | The time that the connector was created.+connectorSummary_creationTime :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.UTCTime)+connectorSummary_creationTime = Lens.lens (\ConnectorSummary' {creationTime} -> creationTime) (\s@ConnectorSummary' {} a -> s {creationTime = a} :: ConnectorSummary) Prelude.. Lens.mapping Data._Time++-- | The current version of the connector.+connectorSummary_currentVersion :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_currentVersion = Lens.lens (\ConnectorSummary' {currentVersion} -> currentVersion) (\s@ConnectorSummary' {} a -> s {currentVersion = a} :: ConnectorSummary)++-- | The details of the Apache Kafka cluster to which the connector is+-- connected.+connectorSummary_kafkaCluster :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterDescription)+connectorSummary_kafkaCluster = Lens.lens (\ConnectorSummary' {kafkaCluster} -> kafkaCluster) (\s@ConnectorSummary' {} a -> s {kafkaCluster = a} :: ConnectorSummary)++-- | The type of client authentication used to connect to the Apache Kafka+-- cluster. The value is NONE when no client authentication is used.+connectorSummary_kafkaClusterClientAuthentication :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterClientAuthenticationDescription)+connectorSummary_kafkaClusterClientAuthentication = Lens.lens (\ConnectorSummary' {kafkaClusterClientAuthentication} -> kafkaClusterClientAuthentication) (\s@ConnectorSummary' {} a -> s {kafkaClusterClientAuthentication = a} :: ConnectorSummary)++-- | Details of encryption in transit to the Apache Kafka cluster.+connectorSummary_kafkaClusterEncryptionInTransit :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterEncryptionInTransitDescription)+connectorSummary_kafkaClusterEncryptionInTransit = Lens.lens (\ConnectorSummary' {kafkaClusterEncryptionInTransit} -> kafkaClusterEncryptionInTransit) (\s@ConnectorSummary' {} a -> s {kafkaClusterEncryptionInTransit = a} :: ConnectorSummary)++-- | The version of Kafka Connect. It has to be compatible with both the+-- Apache Kafka cluster\'s version and the plugins.+connectorSummary_kafkaConnectVersion :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_kafkaConnectVersion = Lens.lens (\ConnectorSummary' {kafkaConnectVersion} -> kafkaConnectVersion) (\s@ConnectorSummary' {} a -> s {kafkaConnectVersion = a} :: ConnectorSummary)++-- | The settings for delivering connector logs to Amazon CloudWatch Logs.+connectorSummary_logDelivery :: Lens.Lens' ConnectorSummary (Prelude.Maybe LogDeliveryDescription)+connectorSummary_logDelivery = Lens.lens (\ConnectorSummary' {logDelivery} -> logDelivery) (\s@ConnectorSummary' {} a -> s {logDelivery = a} :: ConnectorSummary)++-- | Specifies which plugins were used for this connector.+connectorSummary_plugins :: Lens.Lens' ConnectorSummary (Prelude.Maybe [PluginDescription])+connectorSummary_plugins = Lens.lens (\ConnectorSummary' {plugins} -> plugins) (\s@ConnectorSummary' {} a -> s {plugins = a} :: ConnectorSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the IAM role used by the connector to+-- access Amazon Web Services resources.+connectorSummary_serviceExecutionRoleArn :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)+connectorSummary_serviceExecutionRoleArn = Lens.lens (\ConnectorSummary' {serviceExecutionRoleArn} -> serviceExecutionRoleArn) (\s@ConnectorSummary' {} a -> s {serviceExecutionRoleArn = a} :: ConnectorSummary)++-- | The worker configurations that are in use with the connector.+connectorSummary_workerConfiguration :: Lens.Lens' ConnectorSummary (Prelude.Maybe WorkerConfigurationDescription)+connectorSummary_workerConfiguration = Lens.lens (\ConnectorSummary' {workerConfiguration} -> workerConfiguration) (\s@ConnectorSummary' {} a -> s {workerConfiguration = a} :: ConnectorSummary)++instance Data.FromJSON ConnectorSummary where+  parseJSON =+    Data.withObject+      "ConnectorSummary"+      ( \x ->+          ConnectorSummary'+            Prelude.<$> (x Data..:? "capacity")+            Prelude.<*> (x Data..:? "connectorArn")+            Prelude.<*> (x Data..:? "connectorDescription")+            Prelude.<*> (x Data..:? "connectorName")+            Prelude.<*> (x Data..:? "connectorState")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "currentVersion")+            Prelude.<*> (x Data..:? "kafkaCluster")+            Prelude.<*> (x Data..:? "kafkaClusterClientAuthentication")+            Prelude.<*> (x Data..:? "kafkaClusterEncryptionInTransit")+            Prelude.<*> (x Data..:? "kafkaConnectVersion")+            Prelude.<*> (x Data..:? "logDelivery")+            Prelude.<*> (x Data..:? "plugins" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "serviceExecutionRoleArn")+            Prelude.<*> (x Data..:? "workerConfiguration")+      )++instance Prelude.Hashable ConnectorSummary where+  hashWithSalt _salt ConnectorSummary' {..} =+    _salt+      `Prelude.hashWithSalt` capacity+      `Prelude.hashWithSalt` connectorArn+      `Prelude.hashWithSalt` connectorDescription+      `Prelude.hashWithSalt` connectorName+      `Prelude.hashWithSalt` connectorState+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` currentVersion+      `Prelude.hashWithSalt` kafkaCluster+      `Prelude.hashWithSalt` kafkaClusterClientAuthentication+      `Prelude.hashWithSalt` kafkaClusterEncryptionInTransit+      `Prelude.hashWithSalt` kafkaConnectVersion+      `Prelude.hashWithSalt` logDelivery+      `Prelude.hashWithSalt` plugins+      `Prelude.hashWithSalt` serviceExecutionRoleArn+      `Prelude.hashWithSalt` workerConfiguration++instance Prelude.NFData ConnectorSummary where+  rnf ConnectorSummary' {..} =+    Prelude.rnf capacity+      `Prelude.seq` Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorDescription+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf connectorState+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentVersion+      `Prelude.seq` Prelude.rnf kafkaCluster+      `Prelude.seq` Prelude.rnf kafkaClusterClientAuthentication+      `Prelude.seq` Prelude.rnf kafkaClusterEncryptionInTransit+      `Prelude.seq` Prelude.rnf kafkaConnectVersion+      `Prelude.seq` Prelude.rnf logDelivery+      `Prelude.seq` Prelude.rnf plugins+      `Prelude.seq` Prelude.rnf serviceExecutionRoleArn+      `Prelude.seq` Prelude.rnf workerConfiguration
+ gen/Amazonka/KafkaConnect/Types/CustomPlugin.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.KafkaConnect.Types.CustomPlugin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPlugin where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A plugin is an AWS resource that contains the code that defines a+-- connector\'s logic.+--+-- /See:/ 'newCustomPlugin' smart constructor.+data CustomPlugin = CustomPlugin'+  { -- | The Amazon Resource Name (ARN) of the custom plugin.+    customPluginArn :: Prelude.Text,+    -- | The revision of the custom plugin.+    revision :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPlugin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'customPlugin_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin.+--+-- 'revision', 'customPlugin_revision' - The revision of the custom plugin.+newCustomPlugin ::+  -- | 'customPluginArn'+  Prelude.Text ->+  -- | 'revision'+  Prelude.Natural ->+  CustomPlugin+newCustomPlugin pCustomPluginArn_ pRevision_ =+  CustomPlugin'+    { customPluginArn = pCustomPluginArn_,+      revision = pRevision_+    }++-- | The Amazon Resource Name (ARN) of the custom plugin.+customPlugin_customPluginArn :: Lens.Lens' CustomPlugin Prelude.Text+customPlugin_customPluginArn = Lens.lens (\CustomPlugin' {customPluginArn} -> customPluginArn) (\s@CustomPlugin' {} a -> s {customPluginArn = a} :: CustomPlugin)++-- | The revision of the custom plugin.+customPlugin_revision :: Lens.Lens' CustomPlugin Prelude.Natural+customPlugin_revision = Lens.lens (\CustomPlugin' {revision} -> revision) (\s@CustomPlugin' {} a -> s {revision = a} :: CustomPlugin)++instance Prelude.Hashable CustomPlugin where+  hashWithSalt _salt CustomPlugin' {..} =+    _salt+      `Prelude.hashWithSalt` customPluginArn+      `Prelude.hashWithSalt` revision++instance Prelude.NFData CustomPlugin where+  rnf CustomPlugin' {..} =+    Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf revision++instance Data.ToJSON CustomPlugin where+  toJSON CustomPlugin' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("customPluginArn" Data..= customPluginArn),+            Prelude.Just ("revision" Data..= revision)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/CustomPluginContentType.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.KafkaConnect.Types.CustomPluginContentType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginContentType+  ( CustomPluginContentType+      ( ..,+        CustomPluginContentType_JAR,+        CustomPluginContentType_ZIP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomPluginContentType = CustomPluginContentType'+  { fromCustomPluginContentType ::+      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 CustomPluginContentType_JAR :: CustomPluginContentType+pattern CustomPluginContentType_JAR = CustomPluginContentType' "JAR"++pattern CustomPluginContentType_ZIP :: CustomPluginContentType+pattern CustomPluginContentType_ZIP = CustomPluginContentType' "ZIP"++{-# COMPLETE+  CustomPluginContentType_JAR,+  CustomPluginContentType_ZIP,+  CustomPluginContentType'+  #-}
+ gen/Amazonka/KafkaConnect/Types/CustomPluginDescription.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.KafkaConnect.Types.CustomPluginDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginDescription 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 about a custom plugin.+--+-- /See:/ 'newCustomPluginDescription' smart constructor.+data CustomPluginDescription = CustomPluginDescription'+  { -- | The Amazon Resource Name (ARN) of the custom plugin.+    customPluginArn :: Prelude.Maybe Prelude.Text,+    -- | The revision of the custom plugin.+    revision :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPluginArn', 'customPluginDescription_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin.+--+-- 'revision', 'customPluginDescription_revision' - The revision of the custom plugin.+newCustomPluginDescription ::+  CustomPluginDescription+newCustomPluginDescription =+  CustomPluginDescription'+    { customPluginArn =+        Prelude.Nothing,+      revision = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the custom plugin.+customPluginDescription_customPluginArn :: Lens.Lens' CustomPluginDescription (Prelude.Maybe Prelude.Text)+customPluginDescription_customPluginArn = Lens.lens (\CustomPluginDescription' {customPluginArn} -> customPluginArn) (\s@CustomPluginDescription' {} a -> s {customPluginArn = a} :: CustomPluginDescription)++-- | The revision of the custom plugin.+customPluginDescription_revision :: Lens.Lens' CustomPluginDescription (Prelude.Maybe Prelude.Integer)+customPluginDescription_revision = Lens.lens (\CustomPluginDescription' {revision} -> revision) (\s@CustomPluginDescription' {} a -> s {revision = a} :: CustomPluginDescription)++instance Data.FromJSON CustomPluginDescription where+  parseJSON =+    Data.withObject+      "CustomPluginDescription"+      ( \x ->+          CustomPluginDescription'+            Prelude.<$> (x Data..:? "customPluginArn")+            Prelude.<*> (x Data..:? "revision")+      )++instance Prelude.Hashable CustomPluginDescription where+  hashWithSalt _salt CustomPluginDescription' {..} =+    _salt+      `Prelude.hashWithSalt` customPluginArn+      `Prelude.hashWithSalt` revision++instance Prelude.NFData CustomPluginDescription where+  rnf CustomPluginDescription' {..} =+    Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf revision
+ gen/Amazonka/KafkaConnect/Types/CustomPluginFileDescription.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.KafkaConnect.Types.CustomPluginFileDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginFileDescription 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 about a custom plugin file.+--+-- /See:/ 'newCustomPluginFileDescription' smart constructor.+data CustomPluginFileDescription = CustomPluginFileDescription'+  { -- | The hex-encoded MD5 checksum of the custom plugin file. You can use it+    -- to validate the file.+    fileMd5 :: Prelude.Maybe Prelude.Text,+    -- | The size in bytes of the custom plugin file. You can use it to validate+    -- the file.+    fileSize :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginFileDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileMd5', 'customPluginFileDescription_fileMd5' - The hex-encoded MD5 checksum of the custom plugin file. You can use it+-- to validate the file.+--+-- 'fileSize', 'customPluginFileDescription_fileSize' - The size in bytes of the custom plugin file. You can use it to validate+-- the file.+newCustomPluginFileDescription ::+  CustomPluginFileDescription+newCustomPluginFileDescription =+  CustomPluginFileDescription'+    { fileMd5 =+        Prelude.Nothing,+      fileSize = Prelude.Nothing+    }++-- | The hex-encoded MD5 checksum of the custom plugin file. You can use it+-- to validate the file.+customPluginFileDescription_fileMd5 :: Lens.Lens' CustomPluginFileDescription (Prelude.Maybe Prelude.Text)+customPluginFileDescription_fileMd5 = Lens.lens (\CustomPluginFileDescription' {fileMd5} -> fileMd5) (\s@CustomPluginFileDescription' {} a -> s {fileMd5 = a} :: CustomPluginFileDescription)++-- | The size in bytes of the custom plugin file. You can use it to validate+-- the file.+customPluginFileDescription_fileSize :: Lens.Lens' CustomPluginFileDescription (Prelude.Maybe Prelude.Integer)+customPluginFileDescription_fileSize = Lens.lens (\CustomPluginFileDescription' {fileSize} -> fileSize) (\s@CustomPluginFileDescription' {} a -> s {fileSize = a} :: CustomPluginFileDescription)++instance Data.FromJSON CustomPluginFileDescription where+  parseJSON =+    Data.withObject+      "CustomPluginFileDescription"+      ( \x ->+          CustomPluginFileDescription'+            Prelude.<$> (x Data..:? "fileMd5")+            Prelude.<*> (x Data..:? "fileSize")+      )++instance Prelude.Hashable CustomPluginFileDescription where+  hashWithSalt _salt CustomPluginFileDescription' {..} =+    _salt+      `Prelude.hashWithSalt` fileMd5+      `Prelude.hashWithSalt` fileSize++instance Prelude.NFData CustomPluginFileDescription where+  rnf CustomPluginFileDescription' {..} =+    Prelude.rnf fileMd5+      `Prelude.seq` Prelude.rnf fileSize
+ gen/Amazonka/KafkaConnect/Types/CustomPluginLocation.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.KafkaConnect.Types.CustomPluginLocation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.S3Location+import qualified Amazonka.Prelude as Prelude++-- | Information about the location of a custom plugin.+--+-- /See:/ 'newCustomPluginLocation' smart constructor.+data CustomPluginLocation = CustomPluginLocation'+  { -- | The S3 bucket Amazon Resource Name (ARN), file key, and object version+    -- of the plugin file stored in Amazon S3.+    s3Location :: S3Location+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Location', 'customPluginLocation_s3Location' - The S3 bucket Amazon Resource Name (ARN), file key, and object version+-- of the plugin file stored in Amazon S3.+newCustomPluginLocation ::+  -- | 's3Location'+  S3Location ->+  CustomPluginLocation+newCustomPluginLocation pS3Location_ =+  CustomPluginLocation' {s3Location = pS3Location_}++-- | The S3 bucket Amazon Resource Name (ARN), file key, and object version+-- of the plugin file stored in Amazon S3.+customPluginLocation_s3Location :: Lens.Lens' CustomPluginLocation S3Location+customPluginLocation_s3Location = Lens.lens (\CustomPluginLocation' {s3Location} -> s3Location) (\s@CustomPluginLocation' {} a -> s {s3Location = a} :: CustomPluginLocation)++instance Prelude.Hashable CustomPluginLocation where+  hashWithSalt _salt CustomPluginLocation' {..} =+    _salt `Prelude.hashWithSalt` s3Location++instance Prelude.NFData CustomPluginLocation where+  rnf CustomPluginLocation' {..} =+    Prelude.rnf s3Location++instance Data.ToJSON CustomPluginLocation where+  toJSON CustomPluginLocation' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("s3Location" Data..= s3Location)]+      )
+ gen/Amazonka/KafkaConnect/Types/CustomPluginLocationDescription.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.KafkaConnect.Types.CustomPluginLocationDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginLocationDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.S3LocationDescription+import qualified Amazonka.Prelude as Prelude++-- | Information about the location of a custom plugin.+--+-- /See:/ 'newCustomPluginLocationDescription' smart constructor.+data CustomPluginLocationDescription = CustomPluginLocationDescription'+  { -- | The S3 bucket Amazon Resource Name (ARN), file key, and object version+    -- of the plugin file stored in Amazon S3.+    s3Location :: Prelude.Maybe S3LocationDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginLocationDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Location', 'customPluginLocationDescription_s3Location' - The S3 bucket Amazon Resource Name (ARN), file key, and object version+-- of the plugin file stored in Amazon S3.+newCustomPluginLocationDescription ::+  CustomPluginLocationDescription+newCustomPluginLocationDescription =+  CustomPluginLocationDescription'+    { s3Location =+        Prelude.Nothing+    }++-- | The S3 bucket Amazon Resource Name (ARN), file key, and object version+-- of the plugin file stored in Amazon S3.+customPluginLocationDescription_s3Location :: Lens.Lens' CustomPluginLocationDescription (Prelude.Maybe S3LocationDescription)+customPluginLocationDescription_s3Location = Lens.lens (\CustomPluginLocationDescription' {s3Location} -> s3Location) (\s@CustomPluginLocationDescription' {} a -> s {s3Location = a} :: CustomPluginLocationDescription)++instance+  Data.FromJSON+    CustomPluginLocationDescription+  where+  parseJSON =+    Data.withObject+      "CustomPluginLocationDescription"+      ( \x ->+          CustomPluginLocationDescription'+            Prelude.<$> (x Data..:? "s3Location")+      )++instance+  Prelude.Hashable+    CustomPluginLocationDescription+  where+  hashWithSalt+    _salt+    CustomPluginLocationDescription' {..} =+      _salt `Prelude.hashWithSalt` s3Location++instance+  Prelude.NFData+    CustomPluginLocationDescription+  where+  rnf CustomPluginLocationDescription' {..} =+    Prelude.rnf s3Location
+ gen/Amazonka/KafkaConnect/Types/CustomPluginRevisionSummary.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.KafkaConnect.Types.CustomPluginRevisionSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginRevisionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CustomPluginContentType+import Amazonka.KafkaConnect.Types.CustomPluginFileDescription+import Amazonka.KafkaConnect.Types.CustomPluginLocationDescription+import qualified Amazonka.Prelude as Prelude++-- | Details about the revision of a custom plugin.+--+-- /See:/ 'newCustomPluginRevisionSummary' smart constructor.+data CustomPluginRevisionSummary = CustomPluginRevisionSummary'+  { -- | The format of the plugin file.+    contentType :: Prelude.Maybe CustomPluginContentType,+    -- | The time that the custom plugin was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the custom plugin.+    description :: Prelude.Maybe Prelude.Text,+    -- | Details about the custom plugin file.+    fileDescription :: Prelude.Maybe CustomPluginFileDescription,+    -- | Information about the location of the custom plugin.+    location :: Prelude.Maybe CustomPluginLocationDescription,+    -- | The revision of the custom plugin.+    revision :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginRevisionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentType', 'customPluginRevisionSummary_contentType' - The format of the plugin file.+--+-- 'creationTime', 'customPluginRevisionSummary_creationTime' - The time that the custom plugin was created.+--+-- 'description', 'customPluginRevisionSummary_description' - The description of the custom plugin.+--+-- 'fileDescription', 'customPluginRevisionSummary_fileDescription' - Details about the custom plugin file.+--+-- 'location', 'customPluginRevisionSummary_location' - Information about the location of the custom plugin.+--+-- 'revision', 'customPluginRevisionSummary_revision' - The revision of the custom plugin.+newCustomPluginRevisionSummary ::+  CustomPluginRevisionSummary+newCustomPluginRevisionSummary =+  CustomPluginRevisionSummary'+    { contentType =+        Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      fileDescription = Prelude.Nothing,+      location = Prelude.Nothing,+      revision = Prelude.Nothing+    }++-- | The format of the plugin file.+customPluginRevisionSummary_contentType :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe CustomPluginContentType)+customPluginRevisionSummary_contentType = Lens.lens (\CustomPluginRevisionSummary' {contentType} -> contentType) (\s@CustomPluginRevisionSummary' {} a -> s {contentType = a} :: CustomPluginRevisionSummary)++-- | The time that the custom plugin was created.+customPluginRevisionSummary_creationTime :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe Prelude.UTCTime)+customPluginRevisionSummary_creationTime = Lens.lens (\CustomPluginRevisionSummary' {creationTime} -> creationTime) (\s@CustomPluginRevisionSummary' {} a -> s {creationTime = a} :: CustomPluginRevisionSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the custom plugin.+customPluginRevisionSummary_description :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe Prelude.Text)+customPluginRevisionSummary_description = Lens.lens (\CustomPluginRevisionSummary' {description} -> description) (\s@CustomPluginRevisionSummary' {} a -> s {description = a} :: CustomPluginRevisionSummary)++-- | Details about the custom plugin file.+customPluginRevisionSummary_fileDescription :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe CustomPluginFileDescription)+customPluginRevisionSummary_fileDescription = Lens.lens (\CustomPluginRevisionSummary' {fileDescription} -> fileDescription) (\s@CustomPluginRevisionSummary' {} a -> s {fileDescription = a} :: CustomPluginRevisionSummary)++-- | Information about the location of the custom plugin.+customPluginRevisionSummary_location :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe CustomPluginLocationDescription)+customPluginRevisionSummary_location = Lens.lens (\CustomPluginRevisionSummary' {location} -> location) (\s@CustomPluginRevisionSummary' {} a -> s {location = a} :: CustomPluginRevisionSummary)++-- | The revision of the custom plugin.+customPluginRevisionSummary_revision :: Lens.Lens' CustomPluginRevisionSummary (Prelude.Maybe Prelude.Integer)+customPluginRevisionSummary_revision = Lens.lens (\CustomPluginRevisionSummary' {revision} -> revision) (\s@CustomPluginRevisionSummary' {} a -> s {revision = a} :: CustomPluginRevisionSummary)++instance Data.FromJSON CustomPluginRevisionSummary where+  parseJSON =+    Data.withObject+      "CustomPluginRevisionSummary"+      ( \x ->+          CustomPluginRevisionSummary'+            Prelude.<$> (x Data..:? "contentType")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "fileDescription")+            Prelude.<*> (x Data..:? "location")+            Prelude.<*> (x Data..:? "revision")+      )++instance Prelude.Hashable CustomPluginRevisionSummary where+  hashWithSalt _salt CustomPluginRevisionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` fileDescription+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` revision++instance Prelude.NFData CustomPluginRevisionSummary where+  rnf CustomPluginRevisionSummary' {..} =+    Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf fileDescription+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf revision
+ gen/Amazonka/KafkaConnect/Types/CustomPluginState.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.CustomPluginState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginState+  ( CustomPluginState+      ( ..,+        CustomPluginState_ACTIVE,+        CustomPluginState_CREATE_FAILED,+        CustomPluginState_CREATING,+        CustomPluginState_DELETING,+        CustomPluginState_UPDATE_FAILED,+        CustomPluginState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomPluginState = CustomPluginState'+  { fromCustomPluginState ::+      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 CustomPluginState_ACTIVE :: CustomPluginState+pattern CustomPluginState_ACTIVE = CustomPluginState' "ACTIVE"++pattern CustomPluginState_CREATE_FAILED :: CustomPluginState+pattern CustomPluginState_CREATE_FAILED = CustomPluginState' "CREATE_FAILED"++pattern CustomPluginState_CREATING :: CustomPluginState+pattern CustomPluginState_CREATING = CustomPluginState' "CREATING"++pattern CustomPluginState_DELETING :: CustomPluginState+pattern CustomPluginState_DELETING = CustomPluginState' "DELETING"++pattern CustomPluginState_UPDATE_FAILED :: CustomPluginState+pattern CustomPluginState_UPDATE_FAILED = CustomPluginState' "UPDATE_FAILED"++pattern CustomPluginState_UPDATING :: CustomPluginState+pattern CustomPluginState_UPDATING = CustomPluginState' "UPDATING"++{-# COMPLETE+  CustomPluginState_ACTIVE,+  CustomPluginState_CREATE_FAILED,+  CustomPluginState_CREATING,+  CustomPluginState_DELETING,+  CustomPluginState_UPDATE_FAILED,+  CustomPluginState_UPDATING,+  CustomPluginState'+  #-}
+ gen/Amazonka/KafkaConnect/Types/CustomPluginSummary.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.KafkaConnect.Types.CustomPluginSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.CustomPluginSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CustomPluginRevisionSummary+import Amazonka.KafkaConnect.Types.CustomPluginState+import qualified Amazonka.Prelude as Prelude++-- | A summary of the custom plugin.+--+-- /See:/ 'newCustomPluginSummary' smart constructor.+data CustomPluginSummary = CustomPluginSummary'+  { -- | The time that the custom plugin was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon Resource Name (ARN) of the custom plugin.+    customPluginArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the custom plugin.+    customPluginState :: Prelude.Maybe CustomPluginState,+    -- | A description of the custom plugin.+    description :: Prelude.Maybe Prelude.Text,+    -- | The latest revision of the custom plugin.+    latestRevision :: Prelude.Maybe CustomPluginRevisionSummary,+    -- | The name of the custom plugin.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomPluginSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'customPluginSummary_creationTime' - The time that the custom plugin was created.+--+-- 'customPluginArn', 'customPluginSummary_customPluginArn' - The Amazon Resource Name (ARN) of the custom plugin.+--+-- 'customPluginState', 'customPluginSummary_customPluginState' - The state of the custom plugin.+--+-- 'description', 'customPluginSummary_description' - A description of the custom plugin.+--+-- 'latestRevision', 'customPluginSummary_latestRevision' - The latest revision of the custom plugin.+--+-- 'name', 'customPluginSummary_name' - The name of the custom plugin.+newCustomPluginSummary ::+  CustomPluginSummary+newCustomPluginSummary =+  CustomPluginSummary'+    { creationTime =+        Prelude.Nothing,+      customPluginArn = Prelude.Nothing,+      customPluginState = Prelude.Nothing,+      description = Prelude.Nothing,+      latestRevision = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The time that the custom plugin was created.+customPluginSummary_creationTime :: Lens.Lens' CustomPluginSummary (Prelude.Maybe Prelude.UTCTime)+customPluginSummary_creationTime = Lens.lens (\CustomPluginSummary' {creationTime} -> creationTime) (\s@CustomPluginSummary' {} a -> s {creationTime = a} :: CustomPluginSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the custom plugin.+customPluginSummary_customPluginArn :: Lens.Lens' CustomPluginSummary (Prelude.Maybe Prelude.Text)+customPluginSummary_customPluginArn = Lens.lens (\CustomPluginSummary' {customPluginArn} -> customPluginArn) (\s@CustomPluginSummary' {} a -> s {customPluginArn = a} :: CustomPluginSummary)++-- | The state of the custom plugin.+customPluginSummary_customPluginState :: Lens.Lens' CustomPluginSummary (Prelude.Maybe CustomPluginState)+customPluginSummary_customPluginState = Lens.lens (\CustomPluginSummary' {customPluginState} -> customPluginState) (\s@CustomPluginSummary' {} a -> s {customPluginState = a} :: CustomPluginSummary)++-- | A description of the custom plugin.+customPluginSummary_description :: Lens.Lens' CustomPluginSummary (Prelude.Maybe Prelude.Text)+customPluginSummary_description = Lens.lens (\CustomPluginSummary' {description} -> description) (\s@CustomPluginSummary' {} a -> s {description = a} :: CustomPluginSummary)++-- | The latest revision of the custom plugin.+customPluginSummary_latestRevision :: Lens.Lens' CustomPluginSummary (Prelude.Maybe CustomPluginRevisionSummary)+customPluginSummary_latestRevision = Lens.lens (\CustomPluginSummary' {latestRevision} -> latestRevision) (\s@CustomPluginSummary' {} a -> s {latestRevision = a} :: CustomPluginSummary)++-- | The name of the custom plugin.+customPluginSummary_name :: Lens.Lens' CustomPluginSummary (Prelude.Maybe Prelude.Text)+customPluginSummary_name = Lens.lens (\CustomPluginSummary' {name} -> name) (\s@CustomPluginSummary' {} a -> s {name = a} :: CustomPluginSummary)++instance Data.FromJSON CustomPluginSummary where+  parseJSON =+    Data.withObject+      "CustomPluginSummary"+      ( \x ->+          CustomPluginSummary'+            Prelude.<$> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "customPluginArn")+            Prelude.<*> (x Data..:? "customPluginState")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "latestRevision")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable CustomPluginSummary where+  hashWithSalt _salt CustomPluginSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` customPluginArn+      `Prelude.hashWithSalt` customPluginState+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` latestRevision+      `Prelude.hashWithSalt` name++instance Prelude.NFData CustomPluginSummary where+  rnf CustomPluginSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf customPluginArn+      `Prelude.seq` Prelude.rnf customPluginState+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf latestRevision+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/KafkaConnect/Types/FirehoseLogDelivery.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.FirehoseLogDelivery+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.FirehoseLogDelivery 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 settings for delivering logs to Amazon Kinesis Data Firehose.+--+-- /See:/ 'newFirehoseLogDelivery' smart constructor.+data FirehoseLogDelivery = FirehoseLogDelivery'+  { -- | The name of the Kinesis Data Firehose delivery stream that is the+    -- destination for log delivery.+    deliveryStream :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether connector logs get delivered to Amazon Kinesis Data+    -- Firehose.+    enabled :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirehoseLogDelivery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'firehoseLogDelivery_deliveryStream' - The name of the Kinesis Data Firehose delivery stream that is the+-- destination for log delivery.+--+-- 'enabled', 'firehoseLogDelivery_enabled' - Specifies whether connector logs get delivered to Amazon Kinesis Data+-- Firehose.+newFirehoseLogDelivery ::+  -- | 'enabled'+  Prelude.Bool ->+  FirehoseLogDelivery+newFirehoseLogDelivery pEnabled_ =+  FirehoseLogDelivery'+    { deliveryStream =+        Prelude.Nothing,+      enabled = pEnabled_+    }++-- | The name of the Kinesis Data Firehose delivery stream that is the+-- destination for log delivery.+firehoseLogDelivery_deliveryStream :: Lens.Lens' FirehoseLogDelivery (Prelude.Maybe Prelude.Text)+firehoseLogDelivery_deliveryStream = Lens.lens (\FirehoseLogDelivery' {deliveryStream} -> deliveryStream) (\s@FirehoseLogDelivery' {} a -> s {deliveryStream = a} :: FirehoseLogDelivery)++-- | Specifies whether connector logs get delivered to Amazon Kinesis Data+-- Firehose.+firehoseLogDelivery_enabled :: Lens.Lens' FirehoseLogDelivery Prelude.Bool+firehoseLogDelivery_enabled = Lens.lens (\FirehoseLogDelivery' {enabled} -> enabled) (\s@FirehoseLogDelivery' {} a -> s {enabled = a} :: FirehoseLogDelivery)++instance Prelude.Hashable FirehoseLogDelivery where+  hashWithSalt _salt FirehoseLogDelivery' {..} =+    _salt+      `Prelude.hashWithSalt` deliveryStream+      `Prelude.hashWithSalt` enabled++instance Prelude.NFData FirehoseLogDelivery where+  rnf FirehoseLogDelivery' {..} =+    Prelude.rnf deliveryStream+      `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON FirehoseLogDelivery where+  toJSON FirehoseLogDelivery' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("deliveryStream" Data..=)+              Prelude.<$> deliveryStream,+            Prelude.Just ("enabled" Data..= enabled)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/FirehoseLogDeliveryDescription.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.KafkaConnect.Types.FirehoseLogDeliveryDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.FirehoseLogDeliveryDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A description of the settings for delivering logs to Amazon Kinesis Data+-- Firehose.+--+-- /See:/ 'newFirehoseLogDeliveryDescription' smart constructor.+data FirehoseLogDeliveryDescription = FirehoseLogDeliveryDescription'+  { -- | The name of the Kinesis Data Firehose delivery stream that is the+    -- destination for log delivery.+    deliveryStream :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether connector logs get delivered to Amazon Kinesis Data+    -- Firehose.+    enabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirehoseLogDeliveryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'firehoseLogDeliveryDescription_deliveryStream' - The name of the Kinesis Data Firehose delivery stream that is the+-- destination for log delivery.+--+-- 'enabled', 'firehoseLogDeliveryDescription_enabled' - Specifies whether connector logs get delivered to Amazon Kinesis Data+-- Firehose.+newFirehoseLogDeliveryDescription ::+  FirehoseLogDeliveryDescription+newFirehoseLogDeliveryDescription =+  FirehoseLogDeliveryDescription'+    { deliveryStream =+        Prelude.Nothing,+      enabled = Prelude.Nothing+    }++-- | The name of the Kinesis Data Firehose delivery stream that is the+-- destination for log delivery.+firehoseLogDeliveryDescription_deliveryStream :: Lens.Lens' FirehoseLogDeliveryDescription (Prelude.Maybe Prelude.Text)+firehoseLogDeliveryDescription_deliveryStream = Lens.lens (\FirehoseLogDeliveryDescription' {deliveryStream} -> deliveryStream) (\s@FirehoseLogDeliveryDescription' {} a -> s {deliveryStream = a} :: FirehoseLogDeliveryDescription)++-- | Specifies whether connector logs get delivered to Amazon Kinesis Data+-- Firehose.+firehoseLogDeliveryDescription_enabled :: Lens.Lens' FirehoseLogDeliveryDescription (Prelude.Maybe Prelude.Bool)+firehoseLogDeliveryDescription_enabled = Lens.lens (\FirehoseLogDeliveryDescription' {enabled} -> enabled) (\s@FirehoseLogDeliveryDescription' {} a -> s {enabled = a} :: FirehoseLogDeliveryDescription)++instance Data.FromJSON FirehoseLogDeliveryDescription where+  parseJSON =+    Data.withObject+      "FirehoseLogDeliveryDescription"+      ( \x ->+          FirehoseLogDeliveryDescription'+            Prelude.<$> (x Data..:? "deliveryStream")+            Prelude.<*> (x Data..:? "enabled")+      )++instance+  Prelude.Hashable+    FirehoseLogDeliveryDescription+  where+  hashWithSalt+    _salt+    FirehoseLogDeliveryDescription' {..} =+      _salt+        `Prelude.hashWithSalt` deliveryStream+        `Prelude.hashWithSalt` enabled++instance+  Prelude.NFData+    FirehoseLogDeliveryDescription+  where+  rnf FirehoseLogDeliveryDescription' {..} =+    Prelude.rnf deliveryStream+      `Prelude.seq` Prelude.rnf enabled
+ gen/Amazonka/KafkaConnect/Types/KafkaCluster.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.KafkaConnect.Types.KafkaCluster+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaCluster where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.ApacheKafkaCluster+import qualified Amazonka.Prelude as Prelude++-- | The details of the Apache Kafka cluster to which the connector is+-- connected.+--+-- /See:/ 'newKafkaCluster' smart constructor.+data KafkaCluster = KafkaCluster'+  { -- | The Apache Kafka cluster to which the connector is connected.+    apacheKafkaCluster :: ApacheKafkaCluster+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaCluster' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apacheKafkaCluster', 'kafkaCluster_apacheKafkaCluster' - The Apache Kafka cluster to which the connector is connected.+newKafkaCluster ::+  -- | 'apacheKafkaCluster'+  ApacheKafkaCluster ->+  KafkaCluster+newKafkaCluster pApacheKafkaCluster_ =+  KafkaCluster'+    { apacheKafkaCluster =+        pApacheKafkaCluster_+    }++-- | The Apache Kafka cluster to which the connector is connected.+kafkaCluster_apacheKafkaCluster :: Lens.Lens' KafkaCluster ApacheKafkaCluster+kafkaCluster_apacheKafkaCluster = Lens.lens (\KafkaCluster' {apacheKafkaCluster} -> apacheKafkaCluster) (\s@KafkaCluster' {} a -> s {apacheKafkaCluster = a} :: KafkaCluster)++instance Prelude.Hashable KafkaCluster where+  hashWithSalt _salt KafkaCluster' {..} =+    _salt `Prelude.hashWithSalt` apacheKafkaCluster++instance Prelude.NFData KafkaCluster where+  rnf KafkaCluster' {..} =+    Prelude.rnf apacheKafkaCluster++instance Data.ToJSON KafkaCluster where+  toJSON KafkaCluster' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("apacheKafkaCluster" Data..= apacheKafkaCluster)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterClientAuthentication.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.KafkaConnect.Types.KafkaClusterClientAuthentication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterClientAuthentication where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationType+import qualified Amazonka.Prelude as Prelude++-- | The client authentication information used in order to authenticate with+-- the Apache Kafka cluster.+--+-- /See:/ 'newKafkaClusterClientAuthentication' smart constructor.+data KafkaClusterClientAuthentication = KafkaClusterClientAuthentication'+  { -- | The type of client authentication used to connect to the Apache Kafka+    -- cluster. Value NONE means that no client authentication is used.+    authenticationType :: KafkaClusterClientAuthenticationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaClusterClientAuthentication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authenticationType', 'kafkaClusterClientAuthentication_authenticationType' - The type of client authentication used to connect to the Apache Kafka+-- cluster. Value NONE means that no client authentication is used.+newKafkaClusterClientAuthentication ::+  -- | 'authenticationType'+  KafkaClusterClientAuthenticationType ->+  KafkaClusterClientAuthentication+newKafkaClusterClientAuthentication+  pAuthenticationType_ =+    KafkaClusterClientAuthentication'+      { authenticationType =+          pAuthenticationType_+      }++-- | The type of client authentication used to connect to the Apache Kafka+-- cluster. Value NONE means that no client authentication is used.+kafkaClusterClientAuthentication_authenticationType :: Lens.Lens' KafkaClusterClientAuthentication KafkaClusterClientAuthenticationType+kafkaClusterClientAuthentication_authenticationType = Lens.lens (\KafkaClusterClientAuthentication' {authenticationType} -> authenticationType) (\s@KafkaClusterClientAuthentication' {} a -> s {authenticationType = a} :: KafkaClusterClientAuthentication)++instance+  Prelude.Hashable+    KafkaClusterClientAuthentication+  where+  hashWithSalt+    _salt+    KafkaClusterClientAuthentication' {..} =+      _salt `Prelude.hashWithSalt` authenticationType++instance+  Prelude.NFData+    KafkaClusterClientAuthentication+  where+  rnf KafkaClusterClientAuthentication' {..} =+    Prelude.rnf authenticationType++instance Data.ToJSON KafkaClusterClientAuthentication where+  toJSON KafkaClusterClientAuthentication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("authenticationType" Data..= authenticationType)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterClientAuthenticationDescription.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.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationType+import qualified Amazonka.Prelude as Prelude++-- | The client authentication information used in order to authenticate with+-- the Apache Kafka cluster.+--+-- /See:/ 'newKafkaClusterClientAuthenticationDescription' smart constructor.+data KafkaClusterClientAuthenticationDescription = KafkaClusterClientAuthenticationDescription'+  { -- | The type of client authentication used to connect to the Apache Kafka+    -- cluster. Value NONE means that no client authentication is used.+    authenticationType :: Prelude.Maybe KafkaClusterClientAuthenticationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaClusterClientAuthenticationDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authenticationType', 'kafkaClusterClientAuthenticationDescription_authenticationType' - The type of client authentication used to connect to the Apache Kafka+-- cluster. Value NONE means that no client authentication is used.+newKafkaClusterClientAuthenticationDescription ::+  KafkaClusterClientAuthenticationDescription+newKafkaClusterClientAuthenticationDescription =+  KafkaClusterClientAuthenticationDescription'+    { authenticationType =+        Prelude.Nothing+    }++-- | The type of client authentication used to connect to the Apache Kafka+-- cluster. Value NONE means that no client authentication is used.+kafkaClusterClientAuthenticationDescription_authenticationType :: Lens.Lens' KafkaClusterClientAuthenticationDescription (Prelude.Maybe KafkaClusterClientAuthenticationType)+kafkaClusterClientAuthenticationDescription_authenticationType = Lens.lens (\KafkaClusterClientAuthenticationDescription' {authenticationType} -> authenticationType) (\s@KafkaClusterClientAuthenticationDescription' {} a -> s {authenticationType = a} :: KafkaClusterClientAuthenticationDescription)++instance+  Data.FromJSON+    KafkaClusterClientAuthenticationDescription+  where+  parseJSON =+    Data.withObject+      "KafkaClusterClientAuthenticationDescription"+      ( \x ->+          KafkaClusterClientAuthenticationDescription'+            Prelude.<$> (x Data..:? "authenticationType")+      )++instance+  Prelude.Hashable+    KafkaClusterClientAuthenticationDescription+  where+  hashWithSalt+    _salt+    KafkaClusterClientAuthenticationDescription' {..} =+      _salt `Prelude.hashWithSalt` authenticationType++instance+  Prelude.NFData+    KafkaClusterClientAuthenticationDescription+  where+  rnf KafkaClusterClientAuthenticationDescription' {..} =+    Prelude.rnf authenticationType
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterClientAuthenticationType.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.KafkaConnect.Types.KafkaClusterClientAuthenticationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationType+  ( KafkaClusterClientAuthenticationType+      ( ..,+        KafkaClusterClientAuthenticationType_IAM,+        KafkaClusterClientAuthenticationType_NONE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KafkaClusterClientAuthenticationType = KafkaClusterClientAuthenticationType'+  { fromKafkaClusterClientAuthenticationType ::+      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 KafkaClusterClientAuthenticationType_IAM :: KafkaClusterClientAuthenticationType+pattern KafkaClusterClientAuthenticationType_IAM = KafkaClusterClientAuthenticationType' "IAM"++pattern KafkaClusterClientAuthenticationType_NONE :: KafkaClusterClientAuthenticationType+pattern KafkaClusterClientAuthenticationType_NONE = KafkaClusterClientAuthenticationType' "NONE"++{-# COMPLETE+  KafkaClusterClientAuthenticationType_IAM,+  KafkaClusterClientAuthenticationType_NONE,+  KafkaClusterClientAuthenticationType'+  #-}
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterDescription.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.KafkaConnect.Types.KafkaClusterDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.ApacheKafkaClusterDescription+import qualified Amazonka.Prelude as Prelude++-- | Details of how to connect to the Apache Kafka cluster.+--+-- /See:/ 'newKafkaClusterDescription' smart constructor.+data KafkaClusterDescription = KafkaClusterDescription'+  { -- | The Apache Kafka cluster to which the connector is connected.+    apacheKafkaCluster :: Prelude.Maybe ApacheKafkaClusterDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaClusterDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apacheKafkaCluster', 'kafkaClusterDescription_apacheKafkaCluster' - The Apache Kafka cluster to which the connector is connected.+newKafkaClusterDescription ::+  KafkaClusterDescription+newKafkaClusterDescription =+  KafkaClusterDescription'+    { apacheKafkaCluster =+        Prelude.Nothing+    }++-- | The Apache Kafka cluster to which the connector is connected.+kafkaClusterDescription_apacheKafkaCluster :: Lens.Lens' KafkaClusterDescription (Prelude.Maybe ApacheKafkaClusterDescription)+kafkaClusterDescription_apacheKafkaCluster = Lens.lens (\KafkaClusterDescription' {apacheKafkaCluster} -> apacheKafkaCluster) (\s@KafkaClusterDescription' {} a -> s {apacheKafkaCluster = a} :: KafkaClusterDescription)++instance Data.FromJSON KafkaClusterDescription where+  parseJSON =+    Data.withObject+      "KafkaClusterDescription"+      ( \x ->+          KafkaClusterDescription'+            Prelude.<$> (x Data..:? "apacheKafkaCluster")+      )++instance Prelude.Hashable KafkaClusterDescription where+  hashWithSalt _salt KafkaClusterDescription' {..} =+    _salt `Prelude.hashWithSalt` apacheKafkaCluster++instance Prelude.NFData KafkaClusterDescription where+  rnf KafkaClusterDescription' {..} =+    Prelude.rnf apacheKafkaCluster
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterEncryptionInTransit.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.KafkaConnect.Types.KafkaClusterEncryptionInTransit+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransit where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+import qualified Amazonka.Prelude as Prelude++-- | Details of encryption in transit to the Apache Kafka cluster.+--+-- /See:/ 'newKafkaClusterEncryptionInTransit' smart constructor.+data KafkaClusterEncryptionInTransit = KafkaClusterEncryptionInTransit'+  { -- | The type of encryption in transit to the Apache Kafka cluster.+    encryptionType :: KafkaClusterEncryptionInTransitType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaClusterEncryptionInTransit' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionType', 'kafkaClusterEncryptionInTransit_encryptionType' - The type of encryption in transit to the Apache Kafka cluster.+newKafkaClusterEncryptionInTransit ::+  -- | 'encryptionType'+  KafkaClusterEncryptionInTransitType ->+  KafkaClusterEncryptionInTransit+newKafkaClusterEncryptionInTransit pEncryptionType_ =+  KafkaClusterEncryptionInTransit'+    { encryptionType =+        pEncryptionType_+    }++-- | The type of encryption in transit to the Apache Kafka cluster.+kafkaClusterEncryptionInTransit_encryptionType :: Lens.Lens' KafkaClusterEncryptionInTransit KafkaClusterEncryptionInTransitType+kafkaClusterEncryptionInTransit_encryptionType = Lens.lens (\KafkaClusterEncryptionInTransit' {encryptionType} -> encryptionType) (\s@KafkaClusterEncryptionInTransit' {} a -> s {encryptionType = a} :: KafkaClusterEncryptionInTransit)++instance+  Prelude.Hashable+    KafkaClusterEncryptionInTransit+  where+  hashWithSalt+    _salt+    KafkaClusterEncryptionInTransit' {..} =+      _salt `Prelude.hashWithSalt` encryptionType++instance+  Prelude.NFData+    KafkaClusterEncryptionInTransit+  where+  rnf KafkaClusterEncryptionInTransit' {..} =+    Prelude.rnf encryptionType++instance Data.ToJSON KafkaClusterEncryptionInTransit where+  toJSON KafkaClusterEncryptionInTransit' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("encryptionType" Data..= encryptionType)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterEncryptionInTransitDescription.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.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+import qualified Amazonka.Prelude as Prelude++-- | The description of the encryption in transit to the Apache Kafka+-- cluster.+--+-- /See:/ 'newKafkaClusterEncryptionInTransitDescription' smart constructor.+data KafkaClusterEncryptionInTransitDescription = KafkaClusterEncryptionInTransitDescription'+  { -- | The type of encryption in transit to the Apache Kafka cluster.+    encryptionType :: Prelude.Maybe KafkaClusterEncryptionInTransitType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KafkaClusterEncryptionInTransitDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionType', 'kafkaClusterEncryptionInTransitDescription_encryptionType' - The type of encryption in transit to the Apache Kafka cluster.+newKafkaClusterEncryptionInTransitDescription ::+  KafkaClusterEncryptionInTransitDescription+newKafkaClusterEncryptionInTransitDescription =+  KafkaClusterEncryptionInTransitDescription'+    { encryptionType =+        Prelude.Nothing+    }++-- | The type of encryption in transit to the Apache Kafka cluster.+kafkaClusterEncryptionInTransitDescription_encryptionType :: Lens.Lens' KafkaClusterEncryptionInTransitDescription (Prelude.Maybe KafkaClusterEncryptionInTransitType)+kafkaClusterEncryptionInTransitDescription_encryptionType = Lens.lens (\KafkaClusterEncryptionInTransitDescription' {encryptionType} -> encryptionType) (\s@KafkaClusterEncryptionInTransitDescription' {} a -> s {encryptionType = a} :: KafkaClusterEncryptionInTransitDescription)++instance+  Data.FromJSON+    KafkaClusterEncryptionInTransitDescription+  where+  parseJSON =+    Data.withObject+      "KafkaClusterEncryptionInTransitDescription"+      ( \x ->+          KafkaClusterEncryptionInTransitDescription'+            Prelude.<$> (x Data..:? "encryptionType")+      )++instance+  Prelude.Hashable+    KafkaClusterEncryptionInTransitDescription+  where+  hashWithSalt+    _salt+    KafkaClusterEncryptionInTransitDescription' {..} =+      _salt `Prelude.hashWithSalt` encryptionType++instance+  Prelude.NFData+    KafkaClusterEncryptionInTransitDescription+  where+  rnf KafkaClusterEncryptionInTransitDescription' {..} =+    Prelude.rnf encryptionType
+ gen/Amazonka/KafkaConnect/Types/KafkaClusterEncryptionInTransitType.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.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitType+  ( KafkaClusterEncryptionInTransitType+      ( ..,+        KafkaClusterEncryptionInTransitType_PLAINTEXT,+        KafkaClusterEncryptionInTransitType_TLS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KafkaClusterEncryptionInTransitType = KafkaClusterEncryptionInTransitType'+  { fromKafkaClusterEncryptionInTransitType ::+      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 KafkaClusterEncryptionInTransitType_PLAINTEXT :: KafkaClusterEncryptionInTransitType+pattern KafkaClusterEncryptionInTransitType_PLAINTEXT = KafkaClusterEncryptionInTransitType' "PLAINTEXT"++pattern KafkaClusterEncryptionInTransitType_TLS :: KafkaClusterEncryptionInTransitType+pattern KafkaClusterEncryptionInTransitType_TLS = KafkaClusterEncryptionInTransitType' "TLS"++{-# COMPLETE+  KafkaClusterEncryptionInTransitType_PLAINTEXT,+  KafkaClusterEncryptionInTransitType_TLS,+  KafkaClusterEncryptionInTransitType'+  #-}
+ gen/Amazonka/KafkaConnect/Types/LogDelivery.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.KafkaConnect.Types.LogDelivery+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.LogDelivery where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.WorkerLogDelivery+import qualified Amazonka.Prelude as Prelude++-- | Details about log delivery.+--+-- /See:/ 'newLogDelivery' smart constructor.+data LogDelivery = LogDelivery'+  { -- | The workers can send worker logs to different destination types. This+    -- configuration specifies the details of these destinations.+    workerLogDelivery :: WorkerLogDelivery+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogDelivery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'workerLogDelivery', 'logDelivery_workerLogDelivery' - The workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+newLogDelivery ::+  -- | 'workerLogDelivery'+  WorkerLogDelivery ->+  LogDelivery+newLogDelivery pWorkerLogDelivery_ =+  LogDelivery'+    { workerLogDelivery =+        pWorkerLogDelivery_+    }++-- | The workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+logDelivery_workerLogDelivery :: Lens.Lens' LogDelivery WorkerLogDelivery+logDelivery_workerLogDelivery = Lens.lens (\LogDelivery' {workerLogDelivery} -> workerLogDelivery) (\s@LogDelivery' {} a -> s {workerLogDelivery = a} :: LogDelivery)++instance Prelude.Hashable LogDelivery where+  hashWithSalt _salt LogDelivery' {..} =+    _salt `Prelude.hashWithSalt` workerLogDelivery++instance Prelude.NFData LogDelivery where+  rnf LogDelivery' {..} = Prelude.rnf workerLogDelivery++instance Data.ToJSON LogDelivery where+  toJSON LogDelivery' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("workerLogDelivery" Data..= workerLogDelivery)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/LogDeliveryDescription.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.KafkaConnect.Types.LogDeliveryDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.LogDeliveryDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription+import qualified Amazonka.Prelude as Prelude++-- | The description of the log delivery settings.+--+-- /See:/ 'newLogDeliveryDescription' smart constructor.+data LogDeliveryDescription = LogDeliveryDescription'+  { -- | The workers can send worker logs to different destination types. This+    -- configuration specifies the details of these destinations.+    workerLogDelivery :: Prelude.Maybe WorkerLogDeliveryDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogDeliveryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'workerLogDelivery', 'logDeliveryDescription_workerLogDelivery' - The workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+newLogDeliveryDescription ::+  LogDeliveryDescription+newLogDeliveryDescription =+  LogDeliveryDescription'+    { workerLogDelivery =+        Prelude.Nothing+    }++-- | The workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+logDeliveryDescription_workerLogDelivery :: Lens.Lens' LogDeliveryDescription (Prelude.Maybe WorkerLogDeliveryDescription)+logDeliveryDescription_workerLogDelivery = Lens.lens (\LogDeliveryDescription' {workerLogDelivery} -> workerLogDelivery) (\s@LogDeliveryDescription' {} a -> s {workerLogDelivery = a} :: LogDeliveryDescription)++instance Data.FromJSON LogDeliveryDescription where+  parseJSON =+    Data.withObject+      "LogDeliveryDescription"+      ( \x ->+          LogDeliveryDescription'+            Prelude.<$> (x Data..:? "workerLogDelivery")+      )++instance Prelude.Hashable LogDeliveryDescription where+  hashWithSalt _salt LogDeliveryDescription' {..} =+    _salt `Prelude.hashWithSalt` workerLogDelivery++instance Prelude.NFData LogDeliveryDescription where+  rnf LogDeliveryDescription' {..} =+    Prelude.rnf workerLogDelivery
+ gen/Amazonka/KafkaConnect/Types/Plugin.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.KafkaConnect.Types.Plugin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.Plugin where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CustomPlugin+import qualified Amazonka.Prelude as Prelude++-- | A plugin is an AWS resource that contains the code that defines your+-- connector logic.+--+-- /See:/ 'newPlugin' smart constructor.+data Plugin = Plugin'+  { -- | Details about a custom plugin.+    customPlugin :: CustomPlugin+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Plugin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPlugin', 'plugin_customPlugin' - Details about a custom plugin.+newPlugin ::+  -- | 'customPlugin'+  CustomPlugin ->+  Plugin+newPlugin pCustomPlugin_ =+  Plugin' {customPlugin = pCustomPlugin_}++-- | Details about a custom plugin.+plugin_customPlugin :: Lens.Lens' Plugin CustomPlugin+plugin_customPlugin = Lens.lens (\Plugin' {customPlugin} -> customPlugin) (\s@Plugin' {} a -> s {customPlugin = a} :: Plugin)++instance Prelude.Hashable Plugin where+  hashWithSalt _salt Plugin' {..} =+    _salt `Prelude.hashWithSalt` customPlugin++instance Prelude.NFData Plugin where+  rnf Plugin' {..} = Prelude.rnf customPlugin++instance Data.ToJSON Plugin where+  toJSON Plugin' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("customPlugin" Data..= customPlugin)]+      )
+ gen/Amazonka/KafkaConnect/Types/PluginDescription.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.PluginDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.PluginDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CustomPluginDescription+import qualified Amazonka.Prelude as Prelude++-- | The description of the plugin.+--+-- /See:/ 'newPluginDescription' smart constructor.+data PluginDescription = PluginDescription'+  { -- | Details about a custom plugin.+    customPlugin :: Prelude.Maybe CustomPluginDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PluginDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customPlugin', 'pluginDescription_customPlugin' - Details about a custom plugin.+newPluginDescription ::+  PluginDescription+newPluginDescription =+  PluginDescription' {customPlugin = Prelude.Nothing}++-- | Details about a custom plugin.+pluginDescription_customPlugin :: Lens.Lens' PluginDescription (Prelude.Maybe CustomPluginDescription)+pluginDescription_customPlugin = Lens.lens (\PluginDescription' {customPlugin} -> customPlugin) (\s@PluginDescription' {} a -> s {customPlugin = a} :: PluginDescription)++instance Data.FromJSON PluginDescription where+  parseJSON =+    Data.withObject+      "PluginDescription"+      ( \x ->+          PluginDescription'+            Prelude.<$> (x Data..:? "customPlugin")+      )++instance Prelude.Hashable PluginDescription where+  hashWithSalt _salt PluginDescription' {..} =+    _salt `Prelude.hashWithSalt` customPlugin++instance Prelude.NFData PluginDescription where+  rnf PluginDescription' {..} = Prelude.rnf customPlugin
+ gen/Amazonka/KafkaConnect/Types/ProvisionedCapacity.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ProvisionedCapacity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ProvisionedCapacity 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 about a connector\'s provisioned capacity.+--+-- /See:/ 'newProvisionedCapacity' smart constructor.+data ProvisionedCapacity = ProvisionedCapacity'+  { -- | The number of microcontroller units (MCUs) allocated to each connector+    -- worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Natural,+    -- | The number of workers that are allocated to the connector.+    workerCount :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionedCapacity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mcuCount', 'provisionedCapacity_mcuCount' - The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+--+-- 'workerCount', 'provisionedCapacity_workerCount' - The number of workers that are allocated to the connector.+newProvisionedCapacity ::+  -- | 'mcuCount'+  Prelude.Natural ->+  -- | 'workerCount'+  Prelude.Natural ->+  ProvisionedCapacity+newProvisionedCapacity pMcuCount_ pWorkerCount_ =+  ProvisionedCapacity'+    { mcuCount = pMcuCount_,+      workerCount = pWorkerCount_+    }++-- | The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+provisionedCapacity_mcuCount :: Lens.Lens' ProvisionedCapacity Prelude.Natural+provisionedCapacity_mcuCount = Lens.lens (\ProvisionedCapacity' {mcuCount} -> mcuCount) (\s@ProvisionedCapacity' {} a -> s {mcuCount = a} :: ProvisionedCapacity)++-- | The number of workers that are allocated to the connector.+provisionedCapacity_workerCount :: Lens.Lens' ProvisionedCapacity Prelude.Natural+provisionedCapacity_workerCount = Lens.lens (\ProvisionedCapacity' {workerCount} -> workerCount) (\s@ProvisionedCapacity' {} a -> s {workerCount = a} :: ProvisionedCapacity)++instance Prelude.Hashable ProvisionedCapacity where+  hashWithSalt _salt ProvisionedCapacity' {..} =+    _salt+      `Prelude.hashWithSalt` mcuCount+      `Prelude.hashWithSalt` workerCount++instance Prelude.NFData ProvisionedCapacity where+  rnf ProvisionedCapacity' {..} =+    Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf workerCount++instance Data.ToJSON ProvisionedCapacity where+  toJSON ProvisionedCapacity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("mcuCount" Data..= mcuCount),+            Prelude.Just ("workerCount" Data..= workerCount)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/ProvisionedCapacityDescription.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.KafkaConnect.Types.ProvisionedCapacityDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ProvisionedCapacityDescription 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 description of a connector\'s provisioned capacity.+--+-- /See:/ 'newProvisionedCapacityDescription' smart constructor.+data ProvisionedCapacityDescription = ProvisionedCapacityDescription'+  { -- | The number of microcontroller units (MCUs) allocated to each connector+    -- worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Maybe Prelude.Int,+    -- | The number of workers that are allocated to the connector.+    workerCount :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionedCapacityDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mcuCount', 'provisionedCapacityDescription_mcuCount' - The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+--+-- 'workerCount', 'provisionedCapacityDescription_workerCount' - The number of workers that are allocated to the connector.+newProvisionedCapacityDescription ::+  ProvisionedCapacityDescription+newProvisionedCapacityDescription =+  ProvisionedCapacityDescription'+    { mcuCount =+        Prelude.Nothing,+      workerCount = Prelude.Nothing+    }++-- | The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+provisionedCapacityDescription_mcuCount :: Lens.Lens' ProvisionedCapacityDescription (Prelude.Maybe Prelude.Int)+provisionedCapacityDescription_mcuCount = Lens.lens (\ProvisionedCapacityDescription' {mcuCount} -> mcuCount) (\s@ProvisionedCapacityDescription' {} a -> s {mcuCount = a} :: ProvisionedCapacityDescription)++-- | The number of workers that are allocated to the connector.+provisionedCapacityDescription_workerCount :: Lens.Lens' ProvisionedCapacityDescription (Prelude.Maybe Prelude.Int)+provisionedCapacityDescription_workerCount = Lens.lens (\ProvisionedCapacityDescription' {workerCount} -> workerCount) (\s@ProvisionedCapacityDescription' {} a -> s {workerCount = a} :: ProvisionedCapacityDescription)++instance Data.FromJSON ProvisionedCapacityDescription where+  parseJSON =+    Data.withObject+      "ProvisionedCapacityDescription"+      ( \x ->+          ProvisionedCapacityDescription'+            Prelude.<$> (x Data..:? "mcuCount")+            Prelude.<*> (x Data..:? "workerCount")+      )++instance+  Prelude.Hashable+    ProvisionedCapacityDescription+  where+  hashWithSalt+    _salt+    ProvisionedCapacityDescription' {..} =+      _salt+        `Prelude.hashWithSalt` mcuCount+        `Prelude.hashWithSalt` workerCount++instance+  Prelude.NFData+    ProvisionedCapacityDescription+  where+  rnf ProvisionedCapacityDescription' {..} =+    Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf workerCount
+ gen/Amazonka/KafkaConnect/Types/ProvisionedCapacityUpdate.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ProvisionedCapacityUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An update to a connector\'s fixed capacity.+--+-- /See:/ 'newProvisionedCapacityUpdate' smart constructor.+data ProvisionedCapacityUpdate = ProvisionedCapacityUpdate'+  { -- | The number of microcontroller units (MCUs) allocated to each connector+    -- worker. The valid values are 1,2,4,8.+    mcuCount :: Prelude.Natural,+    -- | The number of workers that are allocated to the connector.+    workerCount :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionedCapacityUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mcuCount', 'provisionedCapacityUpdate_mcuCount' - The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+--+-- 'workerCount', 'provisionedCapacityUpdate_workerCount' - The number of workers that are allocated to the connector.+newProvisionedCapacityUpdate ::+  -- | 'mcuCount'+  Prelude.Natural ->+  -- | 'workerCount'+  Prelude.Natural ->+  ProvisionedCapacityUpdate+newProvisionedCapacityUpdate pMcuCount_ pWorkerCount_ =+  ProvisionedCapacityUpdate'+    { mcuCount = pMcuCount_,+      workerCount = pWorkerCount_+    }++-- | The number of microcontroller units (MCUs) allocated to each connector+-- worker. The valid values are 1,2,4,8.+provisionedCapacityUpdate_mcuCount :: Lens.Lens' ProvisionedCapacityUpdate Prelude.Natural+provisionedCapacityUpdate_mcuCount = Lens.lens (\ProvisionedCapacityUpdate' {mcuCount} -> mcuCount) (\s@ProvisionedCapacityUpdate' {} a -> s {mcuCount = a} :: ProvisionedCapacityUpdate)++-- | The number of workers that are allocated to the connector.+provisionedCapacityUpdate_workerCount :: Lens.Lens' ProvisionedCapacityUpdate Prelude.Natural+provisionedCapacityUpdate_workerCount = Lens.lens (\ProvisionedCapacityUpdate' {workerCount} -> workerCount) (\s@ProvisionedCapacityUpdate' {} a -> s {workerCount = a} :: ProvisionedCapacityUpdate)++instance Prelude.Hashable ProvisionedCapacityUpdate where+  hashWithSalt _salt ProvisionedCapacityUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` mcuCount+      `Prelude.hashWithSalt` workerCount++instance Prelude.NFData ProvisionedCapacityUpdate where+  rnf ProvisionedCapacityUpdate' {..} =+    Prelude.rnf mcuCount+      `Prelude.seq` Prelude.rnf workerCount++instance Data.ToJSON ProvisionedCapacityUpdate where+  toJSON ProvisionedCapacityUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("mcuCount" Data..= mcuCount),+            Prelude.Just ("workerCount" Data..= workerCount)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/S3Location.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.KafkaConnect.Types.S3Location+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.S3Location 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 location of an object in Amazon S3.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+  { -- | The version of an object in an S3 bucket.+    objectVersion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of an S3 bucket.+    bucketArn :: Prelude.Text,+    -- | The file key for an object in an S3 bucket.+    fileKey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectVersion', 's3Location_objectVersion' - The version of an object in an S3 bucket.+--+-- 'bucketArn', 's3Location_bucketArn' - The Amazon Resource Name (ARN) of an S3 bucket.+--+-- 'fileKey', 's3Location_fileKey' - The file key for an object in an S3 bucket.+newS3Location ::+  -- | 'bucketArn'+  Prelude.Text ->+  -- | 'fileKey'+  Prelude.Text ->+  S3Location+newS3Location pBucketArn_ pFileKey_ =+  S3Location'+    { objectVersion = Prelude.Nothing,+      bucketArn = pBucketArn_,+      fileKey = pFileKey_+    }++-- | The version of an object in an S3 bucket.+s3Location_objectVersion :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_objectVersion = Lens.lens (\S3Location' {objectVersion} -> objectVersion) (\s@S3Location' {} a -> s {objectVersion = a} :: S3Location)++-- | The Amazon Resource Name (ARN) of an S3 bucket.+s3Location_bucketArn :: Lens.Lens' S3Location Prelude.Text+s3Location_bucketArn = Lens.lens (\S3Location' {bucketArn} -> bucketArn) (\s@S3Location' {} a -> s {bucketArn = a} :: S3Location)++-- | The file key for an object in an S3 bucket.+s3Location_fileKey :: Lens.Lens' S3Location Prelude.Text+s3Location_fileKey = Lens.lens (\S3Location' {fileKey} -> fileKey) (\s@S3Location' {} a -> s {fileKey = a} :: S3Location)++instance Prelude.Hashable S3Location where+  hashWithSalt _salt S3Location' {..} =+    _salt+      `Prelude.hashWithSalt` objectVersion+      `Prelude.hashWithSalt` bucketArn+      `Prelude.hashWithSalt` fileKey++instance Prelude.NFData S3Location where+  rnf S3Location' {..} =+    Prelude.rnf objectVersion+      `Prelude.seq` Prelude.rnf bucketArn+      `Prelude.seq` Prelude.rnf fileKey++instance Data.ToJSON S3Location where+  toJSON S3Location' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("objectVersion" Data..=) Prelude.<$> objectVersion,+            Prelude.Just ("bucketArn" Data..= bucketArn),+            Prelude.Just ("fileKey" Data..= fileKey)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/S3LocationDescription.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.KafkaConnect.Types.S3LocationDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.S3LocationDescription 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 description of the location of an object in Amazon S3.+--+-- /See:/ 'newS3LocationDescription' smart constructor.+data S3LocationDescription = S3LocationDescription'+  { -- | The Amazon Resource Name (ARN) of an S3 bucket.+    bucketArn :: Prelude.Maybe Prelude.Text,+    -- | The file key for an object in an S3 bucket.+    fileKey :: Prelude.Maybe Prelude.Text,+    -- | The version of an object in an S3 bucket.+    objectVersion :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3LocationDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketArn', 's3LocationDescription_bucketArn' - The Amazon Resource Name (ARN) of an S3 bucket.+--+-- 'fileKey', 's3LocationDescription_fileKey' - The file key for an object in an S3 bucket.+--+-- 'objectVersion', 's3LocationDescription_objectVersion' - The version of an object in an S3 bucket.+newS3LocationDescription ::+  S3LocationDescription+newS3LocationDescription =+  S3LocationDescription'+    { bucketArn = Prelude.Nothing,+      fileKey = Prelude.Nothing,+      objectVersion = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of an S3 bucket.+s3LocationDescription_bucketArn :: Lens.Lens' S3LocationDescription (Prelude.Maybe Prelude.Text)+s3LocationDescription_bucketArn = Lens.lens (\S3LocationDescription' {bucketArn} -> bucketArn) (\s@S3LocationDescription' {} a -> s {bucketArn = a} :: S3LocationDescription)++-- | The file key for an object in an S3 bucket.+s3LocationDescription_fileKey :: Lens.Lens' S3LocationDescription (Prelude.Maybe Prelude.Text)+s3LocationDescription_fileKey = Lens.lens (\S3LocationDescription' {fileKey} -> fileKey) (\s@S3LocationDescription' {} a -> s {fileKey = a} :: S3LocationDescription)++-- | The version of an object in an S3 bucket.+s3LocationDescription_objectVersion :: Lens.Lens' S3LocationDescription (Prelude.Maybe Prelude.Text)+s3LocationDescription_objectVersion = Lens.lens (\S3LocationDescription' {objectVersion} -> objectVersion) (\s@S3LocationDescription' {} a -> s {objectVersion = a} :: S3LocationDescription)++instance Data.FromJSON S3LocationDescription where+  parseJSON =+    Data.withObject+      "S3LocationDescription"+      ( \x ->+          S3LocationDescription'+            Prelude.<$> (x Data..:? "bucketArn")+            Prelude.<*> (x Data..:? "fileKey")+            Prelude.<*> (x Data..:? "objectVersion")+      )++instance Prelude.Hashable S3LocationDescription where+  hashWithSalt _salt S3LocationDescription' {..} =+    _salt+      `Prelude.hashWithSalt` bucketArn+      `Prelude.hashWithSalt` fileKey+      `Prelude.hashWithSalt` objectVersion++instance Prelude.NFData S3LocationDescription where+  rnf S3LocationDescription' {..} =+    Prelude.rnf bucketArn+      `Prelude.seq` Prelude.rnf fileKey+      `Prelude.seq` Prelude.rnf objectVersion
+ gen/Amazonka/KafkaConnect/Types/S3LogDelivery.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.KafkaConnect.Types.S3LogDelivery+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.S3LogDelivery 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 about delivering logs to Amazon S3.+--+-- /See:/ 'newS3LogDelivery' smart constructor.+data S3LogDelivery = S3LogDelivery'+  { -- | The name of the S3 bucket that is the destination for log delivery.+    bucket :: Prelude.Maybe Prelude.Text,+    -- | The S3 prefix that is the destination for log delivery.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether connector logs get sent to the specified Amazon S3+    -- destination.+    enabled :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3LogDelivery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 's3LogDelivery_bucket' - The name of the S3 bucket that is the destination for log delivery.+--+-- 'prefix', 's3LogDelivery_prefix' - The S3 prefix that is the destination for log delivery.+--+-- 'enabled', 's3LogDelivery_enabled' - Specifies whether connector logs get sent to the specified Amazon S3+-- destination.+newS3LogDelivery ::+  -- | 'enabled'+  Prelude.Bool ->+  S3LogDelivery+newS3LogDelivery pEnabled_ =+  S3LogDelivery'+    { bucket = Prelude.Nothing,+      prefix = Prelude.Nothing,+      enabled = pEnabled_+    }++-- | The name of the S3 bucket that is the destination for log delivery.+s3LogDelivery_bucket :: Lens.Lens' S3LogDelivery (Prelude.Maybe Prelude.Text)+s3LogDelivery_bucket = Lens.lens (\S3LogDelivery' {bucket} -> bucket) (\s@S3LogDelivery' {} a -> s {bucket = a} :: S3LogDelivery)++-- | The S3 prefix that is the destination for log delivery.+s3LogDelivery_prefix :: Lens.Lens' S3LogDelivery (Prelude.Maybe Prelude.Text)+s3LogDelivery_prefix = Lens.lens (\S3LogDelivery' {prefix} -> prefix) (\s@S3LogDelivery' {} a -> s {prefix = a} :: S3LogDelivery)++-- | Specifies whether connector logs get sent to the specified Amazon S3+-- destination.+s3LogDelivery_enabled :: Lens.Lens' S3LogDelivery Prelude.Bool+s3LogDelivery_enabled = Lens.lens (\S3LogDelivery' {enabled} -> enabled) (\s@S3LogDelivery' {} a -> s {enabled = a} :: S3LogDelivery)++instance Prelude.Hashable S3LogDelivery where+  hashWithSalt _salt S3LogDelivery' {..} =+    _salt+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` enabled++instance Prelude.NFData S3LogDelivery where+  rnf S3LogDelivery' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON S3LogDelivery where+  toJSON S3LogDelivery' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucket" Data..=) Prelude.<$> bucket,+            ("prefix" Data..=) Prelude.<$> prefix,+            Prelude.Just ("enabled" Data..= enabled)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/S3LogDeliveryDescription.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.KafkaConnect.Types.S3LogDeliveryDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.S3LogDeliveryDescription 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 description of the details about delivering logs to Amazon S3.+--+-- /See:/ 'newS3LogDeliveryDescription' smart constructor.+data S3LogDeliveryDescription = S3LogDeliveryDescription'+  { -- | The name of the S3 bucket that is the destination for log delivery.+    bucket :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether connector logs get sent to the specified Amazon S3+    -- destination.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | The S3 prefix that is the destination for log delivery.+    prefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3LogDeliveryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 's3LogDeliveryDescription_bucket' - The name of the S3 bucket that is the destination for log delivery.+--+-- 'enabled', 's3LogDeliveryDescription_enabled' - Specifies whether connector logs get sent to the specified Amazon S3+-- destination.+--+-- 'prefix', 's3LogDeliveryDescription_prefix' - The S3 prefix that is the destination for log delivery.+newS3LogDeliveryDescription ::+  S3LogDeliveryDescription+newS3LogDeliveryDescription =+  S3LogDeliveryDescription'+    { bucket = Prelude.Nothing,+      enabled = Prelude.Nothing,+      prefix = Prelude.Nothing+    }++-- | The name of the S3 bucket that is the destination for log delivery.+s3LogDeliveryDescription_bucket :: Lens.Lens' S3LogDeliveryDescription (Prelude.Maybe Prelude.Text)+s3LogDeliveryDescription_bucket = Lens.lens (\S3LogDeliveryDescription' {bucket} -> bucket) (\s@S3LogDeliveryDescription' {} a -> s {bucket = a} :: S3LogDeliveryDescription)++-- | Specifies whether connector logs get sent to the specified Amazon S3+-- destination.+s3LogDeliveryDescription_enabled :: Lens.Lens' S3LogDeliveryDescription (Prelude.Maybe Prelude.Bool)+s3LogDeliveryDescription_enabled = Lens.lens (\S3LogDeliveryDescription' {enabled} -> enabled) (\s@S3LogDeliveryDescription' {} a -> s {enabled = a} :: S3LogDeliveryDescription)++-- | The S3 prefix that is the destination for log delivery.+s3LogDeliveryDescription_prefix :: Lens.Lens' S3LogDeliveryDescription (Prelude.Maybe Prelude.Text)+s3LogDeliveryDescription_prefix = Lens.lens (\S3LogDeliveryDescription' {prefix} -> prefix) (\s@S3LogDeliveryDescription' {} a -> s {prefix = a} :: S3LogDeliveryDescription)++instance Data.FromJSON S3LogDeliveryDescription where+  parseJSON =+    Data.withObject+      "S3LogDeliveryDescription"+      ( \x ->+          S3LogDeliveryDescription'+            Prelude.<$> (x Data..:? "bucket")+            Prelude.<*> (x Data..:? "enabled")+            Prelude.<*> (x Data..:? "prefix")+      )++instance Prelude.Hashable S3LogDeliveryDescription where+  hashWithSalt _salt S3LogDeliveryDescription' {..} =+    _salt+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` prefix++instance Prelude.NFData S3LogDeliveryDescription where+  rnf S3LogDeliveryDescription' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf prefix
+ gen/Amazonka/KafkaConnect/Types/ScaleInPolicy.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ScaleInPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleInPolicy 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 scale-in policy for the connector.+--+-- /See:/ 'newScaleInPolicy' smart constructor.+data ScaleInPolicy = ScaleInPolicy'+  { -- | Specifies the CPU utilization percentage threshold at which you want+    -- connector scale in to be triggered.+    cpuUtilizationPercentage :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleInPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleInPolicy_cpuUtilizationPercentage' - Specifies the CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+newScaleInPolicy ::+  -- | 'cpuUtilizationPercentage'+  Prelude.Natural ->+  ScaleInPolicy+newScaleInPolicy pCpuUtilizationPercentage_ =+  ScaleInPolicy'+    { cpuUtilizationPercentage =+        pCpuUtilizationPercentage_+    }++-- | Specifies the CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+scaleInPolicy_cpuUtilizationPercentage :: Lens.Lens' ScaleInPolicy Prelude.Natural+scaleInPolicy_cpuUtilizationPercentage = Lens.lens (\ScaleInPolicy' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleInPolicy' {} a -> s {cpuUtilizationPercentage = a} :: ScaleInPolicy)++instance Prelude.Hashable ScaleInPolicy where+  hashWithSalt _salt ScaleInPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleInPolicy where+  rnf ScaleInPolicy' {..} =+    Prelude.rnf cpuUtilizationPercentage++instance Data.ToJSON ScaleInPolicy where+  toJSON ScaleInPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "cpuUtilizationPercentage"+                  Data..= cpuUtilizationPercentage+              )+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/ScaleInPolicyDescription.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.KafkaConnect.Types.ScaleInPolicyDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleInPolicyDescription 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 description of the scale-in policy for the connector.+--+-- /See:/ 'newScaleInPolicyDescription' smart constructor.+data ScaleInPolicyDescription = ScaleInPolicyDescription'+  { -- | Specifies the CPU utilization percentage threshold at which you want+    -- connector scale in to be triggered.+    cpuUtilizationPercentage :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleInPolicyDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleInPolicyDescription_cpuUtilizationPercentage' - Specifies the CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+newScaleInPolicyDescription ::+  ScaleInPolicyDescription+newScaleInPolicyDescription =+  ScaleInPolicyDescription'+    { cpuUtilizationPercentage =+        Prelude.Nothing+    }++-- | Specifies the CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+scaleInPolicyDescription_cpuUtilizationPercentage :: Lens.Lens' ScaleInPolicyDescription (Prelude.Maybe Prelude.Int)+scaleInPolicyDescription_cpuUtilizationPercentage = Lens.lens (\ScaleInPolicyDescription' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleInPolicyDescription' {} a -> s {cpuUtilizationPercentage = a} :: ScaleInPolicyDescription)++instance Data.FromJSON ScaleInPolicyDescription where+  parseJSON =+    Data.withObject+      "ScaleInPolicyDescription"+      ( \x ->+          ScaleInPolicyDescription'+            Prelude.<$> (x Data..:? "cpuUtilizationPercentage")+      )++instance Prelude.Hashable ScaleInPolicyDescription where+  hashWithSalt _salt ScaleInPolicyDescription' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleInPolicyDescription where+  rnf ScaleInPolicyDescription' {..} =+    Prelude.rnf cpuUtilizationPercentage
+ gen/Amazonka/KafkaConnect/Types/ScaleInPolicyUpdate.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleInPolicyUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An update to the connector\'s scale-in policy.+--+-- /See:/ 'newScaleInPolicyUpdate' smart constructor.+data ScaleInPolicyUpdate = ScaleInPolicyUpdate'+  { -- | The target CPU utilization percentage threshold at which you want+    -- connector scale in to be triggered.+    cpuUtilizationPercentage :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleInPolicyUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleInPolicyUpdate_cpuUtilizationPercentage' - The target CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+newScaleInPolicyUpdate ::+  -- | 'cpuUtilizationPercentage'+  Prelude.Natural ->+  ScaleInPolicyUpdate+newScaleInPolicyUpdate pCpuUtilizationPercentage_ =+  ScaleInPolicyUpdate'+    { cpuUtilizationPercentage =+        pCpuUtilizationPercentage_+    }++-- | The target CPU utilization percentage threshold at which you want+-- connector scale in to be triggered.+scaleInPolicyUpdate_cpuUtilizationPercentage :: Lens.Lens' ScaleInPolicyUpdate Prelude.Natural+scaleInPolicyUpdate_cpuUtilizationPercentage = Lens.lens (\ScaleInPolicyUpdate' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleInPolicyUpdate' {} a -> s {cpuUtilizationPercentage = a} :: ScaleInPolicyUpdate)++instance Prelude.Hashable ScaleInPolicyUpdate where+  hashWithSalt _salt ScaleInPolicyUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleInPolicyUpdate where+  rnf ScaleInPolicyUpdate' {..} =+    Prelude.rnf cpuUtilizationPercentage++instance Data.ToJSON ScaleInPolicyUpdate where+  toJSON ScaleInPolicyUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "cpuUtilizationPercentage"+                  Data..= cpuUtilizationPercentage+              )+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/ScaleOutPolicy.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ScaleOutPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleOutPolicy 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 scale-out policy for the connector.+--+-- /See:/ 'newScaleOutPolicy' smart constructor.+data ScaleOutPolicy = ScaleOutPolicy'+  { -- | The CPU utilization percentage threshold at which you want connector+    -- scale out to be triggered.+    cpuUtilizationPercentage :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleOutPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleOutPolicy_cpuUtilizationPercentage' - The CPU utilization percentage threshold at which you want connector+-- scale out to be triggered.+newScaleOutPolicy ::+  -- | 'cpuUtilizationPercentage'+  Prelude.Natural ->+  ScaleOutPolicy+newScaleOutPolicy pCpuUtilizationPercentage_ =+  ScaleOutPolicy'+    { cpuUtilizationPercentage =+        pCpuUtilizationPercentage_+    }++-- | The CPU utilization percentage threshold at which you want connector+-- scale out to be triggered.+scaleOutPolicy_cpuUtilizationPercentage :: Lens.Lens' ScaleOutPolicy Prelude.Natural+scaleOutPolicy_cpuUtilizationPercentage = Lens.lens (\ScaleOutPolicy' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleOutPolicy' {} a -> s {cpuUtilizationPercentage = a} :: ScaleOutPolicy)++instance Prelude.Hashable ScaleOutPolicy where+  hashWithSalt _salt ScaleOutPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleOutPolicy where+  rnf ScaleOutPolicy' {..} =+    Prelude.rnf cpuUtilizationPercentage++instance Data.ToJSON ScaleOutPolicy where+  toJSON ScaleOutPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "cpuUtilizationPercentage"+                  Data..= cpuUtilizationPercentage+              )+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/ScaleOutPolicyDescription.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.KafkaConnect.Types.ScaleOutPolicyDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleOutPolicyDescription 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 description of the scale-out policy for the connector.+--+-- /See:/ 'newScaleOutPolicyDescription' smart constructor.+data ScaleOutPolicyDescription = ScaleOutPolicyDescription'+  { -- | The CPU utilization percentage threshold at which you want connector+    -- scale out to be triggered.+    cpuUtilizationPercentage :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleOutPolicyDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleOutPolicyDescription_cpuUtilizationPercentage' - The CPU utilization percentage threshold at which you want connector+-- scale out to be triggered.+newScaleOutPolicyDescription ::+  ScaleOutPolicyDescription+newScaleOutPolicyDescription =+  ScaleOutPolicyDescription'+    { cpuUtilizationPercentage =+        Prelude.Nothing+    }++-- | The CPU utilization percentage threshold at which you want connector+-- scale out to be triggered.+scaleOutPolicyDescription_cpuUtilizationPercentage :: Lens.Lens' ScaleOutPolicyDescription (Prelude.Maybe Prelude.Int)+scaleOutPolicyDescription_cpuUtilizationPercentage = Lens.lens (\ScaleOutPolicyDescription' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleOutPolicyDescription' {} a -> s {cpuUtilizationPercentage = a} :: ScaleOutPolicyDescription)++instance Data.FromJSON ScaleOutPolicyDescription where+  parseJSON =+    Data.withObject+      "ScaleOutPolicyDescription"+      ( \x ->+          ScaleOutPolicyDescription'+            Prelude.<$> (x Data..:? "cpuUtilizationPercentage")+      )++instance Prelude.Hashable ScaleOutPolicyDescription where+  hashWithSalt _salt ScaleOutPolicyDescription' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleOutPolicyDescription where+  rnf ScaleOutPolicyDescription' {..} =+    Prelude.rnf cpuUtilizationPercentage
+ gen/Amazonka/KafkaConnect/Types/ScaleOutPolicyUpdate.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.ScaleOutPolicyUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An update to the connector\'s scale-out policy.+--+-- /See:/ 'newScaleOutPolicyUpdate' smart constructor.+data ScaleOutPolicyUpdate = ScaleOutPolicyUpdate'+  { -- | The target CPU utilization percentage threshold at which you want+    -- connector scale out to be triggered.+    cpuUtilizationPercentage :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScaleOutPolicyUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpuUtilizationPercentage', 'scaleOutPolicyUpdate_cpuUtilizationPercentage' - The target CPU utilization percentage threshold at which you want+-- connector scale out to be triggered.+newScaleOutPolicyUpdate ::+  -- | 'cpuUtilizationPercentage'+  Prelude.Natural ->+  ScaleOutPolicyUpdate+newScaleOutPolicyUpdate pCpuUtilizationPercentage_ =+  ScaleOutPolicyUpdate'+    { cpuUtilizationPercentage =+        pCpuUtilizationPercentage_+    }++-- | The target CPU utilization percentage threshold at which you want+-- connector scale out to be triggered.+scaleOutPolicyUpdate_cpuUtilizationPercentage :: Lens.Lens' ScaleOutPolicyUpdate Prelude.Natural+scaleOutPolicyUpdate_cpuUtilizationPercentage = Lens.lens (\ScaleOutPolicyUpdate' {cpuUtilizationPercentage} -> cpuUtilizationPercentage) (\s@ScaleOutPolicyUpdate' {} a -> s {cpuUtilizationPercentage = a} :: ScaleOutPolicyUpdate)++instance Prelude.Hashable ScaleOutPolicyUpdate where+  hashWithSalt _salt ScaleOutPolicyUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` cpuUtilizationPercentage++instance Prelude.NFData ScaleOutPolicyUpdate where+  rnf ScaleOutPolicyUpdate' {..} =+    Prelude.rnf cpuUtilizationPercentage++instance Data.ToJSON ScaleOutPolicyUpdate where+  toJSON ScaleOutPolicyUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "cpuUtilizationPercentage"+                  Data..= cpuUtilizationPercentage+              )+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/StateDescription.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.KafkaConnect.Types.StateDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.StateDescription 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 about the state of a resource.+--+-- /See:/ 'newStateDescription' smart constructor.+data StateDescription = StateDescription'+  { -- | A code that describes the state of a resource.+    code :: Prelude.Maybe Prelude.Text,+    -- | A message that describes the state of a resource.+    message :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StateDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stateDescription_code' - A code that describes the state of a resource.+--+-- 'message', 'stateDescription_message' - A message that describes the state of a resource.+newStateDescription ::+  StateDescription+newStateDescription =+  StateDescription'+    { code = Prelude.Nothing,+      message = Prelude.Nothing+    }++-- | A code that describes the state of a resource.+stateDescription_code :: Lens.Lens' StateDescription (Prelude.Maybe Prelude.Text)+stateDescription_code = Lens.lens (\StateDescription' {code} -> code) (\s@StateDescription' {} a -> s {code = a} :: StateDescription)++-- | A message that describes the state of a resource.+stateDescription_message :: Lens.Lens' StateDescription (Prelude.Maybe Prelude.Text)+stateDescription_message = Lens.lens (\StateDescription' {message} -> message) (\s@StateDescription' {} a -> s {message = a} :: StateDescription)++instance Data.FromJSON StateDescription where+  parseJSON =+    Data.withObject+      "StateDescription"+      ( \x ->+          StateDescription'+            Prelude.<$> (x Data..:? "code")+            Prelude.<*> (x Data..:? "message")+      )++instance Prelude.Hashable StateDescription where+  hashWithSalt _salt StateDescription' {..} =+    _salt+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` message++instance Prelude.NFData StateDescription where+  rnf StateDescription' {..} =+    Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/KafkaConnect/Types/Vpc.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.KafkaConnect.Types.Vpc+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.Vpc 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 VPC in which the connector resides.+--+-- /See:/ 'newVpc' smart constructor.+data Vpc = Vpc'+  { -- | The security groups for the connector.+    securityGroups :: Prelude.Maybe [Prelude.Text],+    -- | The subnets for the connector.+    subnets :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Vpc' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroups', 'vpc_securityGroups' - The security groups for the connector.+--+-- 'subnets', 'vpc_subnets' - The subnets for the connector.+newVpc ::+  Vpc+newVpc =+  Vpc'+    { securityGroups = Prelude.Nothing,+      subnets = Prelude.mempty+    }++-- | The security groups for the connector.+vpc_securityGroups :: Lens.Lens' Vpc (Prelude.Maybe [Prelude.Text])+vpc_securityGroups = Lens.lens (\Vpc' {securityGroups} -> securityGroups) (\s@Vpc' {} a -> s {securityGroups = a} :: Vpc) Prelude.. Lens.mapping Lens.coerced++-- | The subnets for the connector.+vpc_subnets :: Lens.Lens' Vpc [Prelude.Text]+vpc_subnets = Lens.lens (\Vpc' {subnets} -> subnets) (\s@Vpc' {} a -> s {subnets = a} :: Vpc) Prelude.. Lens.coerced++instance Prelude.Hashable Vpc where+  hashWithSalt _salt Vpc' {..} =+    _salt+      `Prelude.hashWithSalt` securityGroups+      `Prelude.hashWithSalt` subnets++instance Prelude.NFData Vpc where+  rnf Vpc' {..} =+    Prelude.rnf securityGroups+      `Prelude.seq` Prelude.rnf subnets++instance Data.ToJSON Vpc where+  toJSON Vpc' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("securityGroups" Data..=)+              Prelude.<$> securityGroups,+            Prelude.Just ("subnets" Data..= subnets)+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/VpcDescription.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.KafkaConnect.Types.VpcDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.VpcDescription 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 description of the VPC in which the connector resides.+--+-- /See:/ 'newVpcDescription' smart constructor.+data VpcDescription = VpcDescription'+  { -- | The security groups for the connector.+    securityGroups :: Prelude.Maybe [Prelude.Text],+    -- | The subnets for the connector.+    subnets :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroups', 'vpcDescription_securityGroups' - The security groups for the connector.+--+-- 'subnets', 'vpcDescription_subnets' - The subnets for the connector.+newVpcDescription ::+  VpcDescription+newVpcDescription =+  VpcDescription'+    { securityGroups = Prelude.Nothing,+      subnets = Prelude.Nothing+    }++-- | The security groups for the connector.+vpcDescription_securityGroups :: Lens.Lens' VpcDescription (Prelude.Maybe [Prelude.Text])+vpcDescription_securityGroups = Lens.lens (\VpcDescription' {securityGroups} -> securityGroups) (\s@VpcDescription' {} a -> s {securityGroups = a} :: VpcDescription) Prelude.. Lens.mapping Lens.coerced++-- | The subnets for the connector.+vpcDescription_subnets :: Lens.Lens' VpcDescription (Prelude.Maybe [Prelude.Text])+vpcDescription_subnets = Lens.lens (\VpcDescription' {subnets} -> subnets) (\s@VpcDescription' {} a -> s {subnets = a} :: VpcDescription) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VpcDescription where+  parseJSON =+    Data.withObject+      "VpcDescription"+      ( \x ->+          VpcDescription'+            Prelude.<$> (x Data..:? "securityGroups" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "subnets" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable VpcDescription where+  hashWithSalt _salt VpcDescription' {..} =+    _salt+      `Prelude.hashWithSalt` securityGroups+      `Prelude.hashWithSalt` subnets++instance Prelude.NFData VpcDescription where+  rnf VpcDescription' {..} =+    Prelude.rnf securityGroups+      `Prelude.seq` Prelude.rnf subnets
+ gen/Amazonka/KafkaConnect/Types/WorkerConfiguration.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.WorkerConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerConfiguration 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 workers, which are the processes that run the+-- connector logic.+--+-- /See:/ 'newWorkerConfiguration' smart constructor.+data WorkerConfiguration = WorkerConfiguration'+  { -- | The revision of the worker configuration.+    revision :: Prelude.Natural,+    -- | The Amazon Resource Name (ARN) of the worker configuration.+    workerConfigurationArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'workerConfiguration_revision' - The revision of the worker configuration.+--+-- 'workerConfigurationArn', 'workerConfiguration_workerConfigurationArn' - The Amazon Resource Name (ARN) of the worker configuration.+newWorkerConfiguration ::+  -- | 'revision'+  Prelude.Natural ->+  -- | 'workerConfigurationArn'+  Prelude.Text ->+  WorkerConfiguration+newWorkerConfiguration+  pRevision_+  pWorkerConfigurationArn_ =+    WorkerConfiguration'+      { revision = pRevision_,+        workerConfigurationArn = pWorkerConfigurationArn_+      }++-- | The revision of the worker configuration.+workerConfiguration_revision :: Lens.Lens' WorkerConfiguration Prelude.Natural+workerConfiguration_revision = Lens.lens (\WorkerConfiguration' {revision} -> revision) (\s@WorkerConfiguration' {} a -> s {revision = a} :: WorkerConfiguration)++-- | The Amazon Resource Name (ARN) of the worker configuration.+workerConfiguration_workerConfigurationArn :: Lens.Lens' WorkerConfiguration Prelude.Text+workerConfiguration_workerConfigurationArn = Lens.lens (\WorkerConfiguration' {workerConfigurationArn} -> workerConfigurationArn) (\s@WorkerConfiguration' {} a -> s {workerConfigurationArn = a} :: WorkerConfiguration)++instance Prelude.Hashable WorkerConfiguration where+  hashWithSalt _salt WorkerConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` revision+      `Prelude.hashWithSalt` workerConfigurationArn++instance Prelude.NFData WorkerConfiguration where+  rnf WorkerConfiguration' {..} =+    Prelude.rnf revision+      `Prelude.seq` Prelude.rnf workerConfigurationArn++instance Data.ToJSON WorkerConfiguration where+  toJSON WorkerConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("revision" Data..= revision),+            Prelude.Just+              ( "workerConfigurationArn"+                  Data..= workerConfigurationArn+              )+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/WorkerConfigurationDescription.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.WorkerConfigurationDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerConfigurationDescription 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 description of the worker configuration.+--+-- /See:/ 'newWorkerConfigurationDescription' smart constructor.+data WorkerConfigurationDescription = WorkerConfigurationDescription'+  { -- | The revision of the worker configuration.+    revision :: Prelude.Maybe Prelude.Integer,+    -- | The Amazon Resource Name (ARN) of the worker configuration.+    workerConfigurationArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerConfigurationDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'workerConfigurationDescription_revision' - The revision of the worker configuration.+--+-- 'workerConfigurationArn', 'workerConfigurationDescription_workerConfigurationArn' - The Amazon Resource Name (ARN) of the worker configuration.+newWorkerConfigurationDescription ::+  WorkerConfigurationDescription+newWorkerConfigurationDescription =+  WorkerConfigurationDescription'+    { revision =+        Prelude.Nothing,+      workerConfigurationArn = Prelude.Nothing+    }++-- | The revision of the worker configuration.+workerConfigurationDescription_revision :: Lens.Lens' WorkerConfigurationDescription (Prelude.Maybe Prelude.Integer)+workerConfigurationDescription_revision = Lens.lens (\WorkerConfigurationDescription' {revision} -> revision) (\s@WorkerConfigurationDescription' {} a -> s {revision = a} :: WorkerConfigurationDescription)++-- | The Amazon Resource Name (ARN) of the worker configuration.+workerConfigurationDescription_workerConfigurationArn :: Lens.Lens' WorkerConfigurationDescription (Prelude.Maybe Prelude.Text)+workerConfigurationDescription_workerConfigurationArn = Lens.lens (\WorkerConfigurationDescription' {workerConfigurationArn} -> workerConfigurationArn) (\s@WorkerConfigurationDescription' {} a -> s {workerConfigurationArn = a} :: WorkerConfigurationDescription)++instance Data.FromJSON WorkerConfigurationDescription where+  parseJSON =+    Data.withObject+      "WorkerConfigurationDescription"+      ( \x ->+          WorkerConfigurationDescription'+            Prelude.<$> (x Data..:? "revision")+            Prelude.<*> (x Data..:? "workerConfigurationArn")+      )++instance+  Prelude.Hashable+    WorkerConfigurationDescription+  where+  hashWithSalt+    _salt+    WorkerConfigurationDescription' {..} =+      _salt+        `Prelude.hashWithSalt` revision+        `Prelude.hashWithSalt` workerConfigurationArn++instance+  Prelude.NFData+    WorkerConfigurationDescription+  where+  rnf WorkerConfigurationDescription' {..} =+    Prelude.rnf revision+      `Prelude.seq` Prelude.rnf workerConfigurationArn
+ gen/Amazonka/KafkaConnect/Types/WorkerConfigurationRevisionDescription.hs view
@@ -0,0 +1,121 @@+{-# 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.KafkaConnect.Types.WorkerConfigurationRevisionDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionDescription 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 description of the worker configuration revision.+--+-- /See:/ 'newWorkerConfigurationRevisionDescription' smart constructor.+data WorkerConfigurationRevisionDescription = WorkerConfigurationRevisionDescription'+  { -- | The time that the worker configuration was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the worker configuration revision.+    description :: Prelude.Maybe Prelude.Text,+    -- | Base64 encoded contents of the connect-distributed.properties file.+    propertiesFileContent :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The description of a revision of the worker configuration.+    revision :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerConfigurationRevisionDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'workerConfigurationRevisionDescription_creationTime' - The time that the worker configuration was created.+--+-- 'description', 'workerConfigurationRevisionDescription_description' - The description of the worker configuration revision.+--+-- 'propertiesFileContent', 'workerConfigurationRevisionDescription_propertiesFileContent' - Base64 encoded contents of the connect-distributed.properties file.+--+-- 'revision', 'workerConfigurationRevisionDescription_revision' - The description of a revision of the worker configuration.+newWorkerConfigurationRevisionDescription ::+  WorkerConfigurationRevisionDescription+newWorkerConfigurationRevisionDescription =+  WorkerConfigurationRevisionDescription'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      propertiesFileContent =+        Prelude.Nothing,+      revision = Prelude.Nothing+    }++-- | The time that the worker configuration was created.+workerConfigurationRevisionDescription_creationTime :: Lens.Lens' WorkerConfigurationRevisionDescription (Prelude.Maybe Prelude.UTCTime)+workerConfigurationRevisionDescription_creationTime = Lens.lens (\WorkerConfigurationRevisionDescription' {creationTime} -> creationTime) (\s@WorkerConfigurationRevisionDescription' {} a -> s {creationTime = a} :: WorkerConfigurationRevisionDescription) Prelude.. Lens.mapping Data._Time++-- | The description of the worker configuration revision.+workerConfigurationRevisionDescription_description :: Lens.Lens' WorkerConfigurationRevisionDescription (Prelude.Maybe Prelude.Text)+workerConfigurationRevisionDescription_description = Lens.lens (\WorkerConfigurationRevisionDescription' {description} -> description) (\s@WorkerConfigurationRevisionDescription' {} a -> s {description = a} :: WorkerConfigurationRevisionDescription)++-- | Base64 encoded contents of the connect-distributed.properties file.+workerConfigurationRevisionDescription_propertiesFileContent :: Lens.Lens' WorkerConfigurationRevisionDescription (Prelude.Maybe Prelude.Text)+workerConfigurationRevisionDescription_propertiesFileContent = Lens.lens (\WorkerConfigurationRevisionDescription' {propertiesFileContent} -> propertiesFileContent) (\s@WorkerConfigurationRevisionDescription' {} a -> s {propertiesFileContent = a} :: WorkerConfigurationRevisionDescription) Prelude.. Lens.mapping Data._Sensitive++-- | The description of a revision of the worker configuration.+workerConfigurationRevisionDescription_revision :: Lens.Lens' WorkerConfigurationRevisionDescription (Prelude.Maybe Prelude.Integer)+workerConfigurationRevisionDescription_revision = Lens.lens (\WorkerConfigurationRevisionDescription' {revision} -> revision) (\s@WorkerConfigurationRevisionDescription' {} a -> s {revision = a} :: WorkerConfigurationRevisionDescription)++instance+  Data.FromJSON+    WorkerConfigurationRevisionDescription+  where+  parseJSON =+    Data.withObject+      "WorkerConfigurationRevisionDescription"+      ( \x ->+          WorkerConfigurationRevisionDescription'+            Prelude.<$> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "propertiesFileContent")+            Prelude.<*> (x Data..:? "revision")+      )++instance+  Prelude.Hashable+    WorkerConfigurationRevisionDescription+  where+  hashWithSalt+    _salt+    WorkerConfigurationRevisionDescription' {..} =+      _salt+        `Prelude.hashWithSalt` creationTime+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` propertiesFileContent+        `Prelude.hashWithSalt` revision++instance+  Prelude.NFData+    WorkerConfigurationRevisionDescription+  where+  rnf WorkerConfigurationRevisionDescription' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf propertiesFileContent+      `Prelude.seq` Prelude.rnf revision
+ gen/Amazonka/KafkaConnect/Types/WorkerConfigurationRevisionSummary.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary 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 summary of a worker configuration revision.+--+-- /See:/ 'newWorkerConfigurationRevisionSummary' smart constructor.+data WorkerConfigurationRevisionSummary = WorkerConfigurationRevisionSummary'+  { -- | The time that a worker configuration revision was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of a worker configuration revision.+    description :: Prelude.Maybe Prelude.Text,+    -- | The revision of a worker configuration.+    revision :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerConfigurationRevisionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'workerConfigurationRevisionSummary_creationTime' - The time that a worker configuration revision was created.+--+-- 'description', 'workerConfigurationRevisionSummary_description' - The description of a worker configuration revision.+--+-- 'revision', 'workerConfigurationRevisionSummary_revision' - The revision of a worker configuration.+newWorkerConfigurationRevisionSummary ::+  WorkerConfigurationRevisionSummary+newWorkerConfigurationRevisionSummary =+  WorkerConfigurationRevisionSummary'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      revision = Prelude.Nothing+    }++-- | The time that a worker configuration revision was created.+workerConfigurationRevisionSummary_creationTime :: Lens.Lens' WorkerConfigurationRevisionSummary (Prelude.Maybe Prelude.UTCTime)+workerConfigurationRevisionSummary_creationTime = Lens.lens (\WorkerConfigurationRevisionSummary' {creationTime} -> creationTime) (\s@WorkerConfigurationRevisionSummary' {} a -> s {creationTime = a} :: WorkerConfigurationRevisionSummary) Prelude.. Lens.mapping Data._Time++-- | The description of a worker configuration revision.+workerConfigurationRevisionSummary_description :: Lens.Lens' WorkerConfigurationRevisionSummary (Prelude.Maybe Prelude.Text)+workerConfigurationRevisionSummary_description = Lens.lens (\WorkerConfigurationRevisionSummary' {description} -> description) (\s@WorkerConfigurationRevisionSummary' {} a -> s {description = a} :: WorkerConfigurationRevisionSummary)++-- | The revision of a worker configuration.+workerConfigurationRevisionSummary_revision :: Lens.Lens' WorkerConfigurationRevisionSummary (Prelude.Maybe Prelude.Integer)+workerConfigurationRevisionSummary_revision = Lens.lens (\WorkerConfigurationRevisionSummary' {revision} -> revision) (\s@WorkerConfigurationRevisionSummary' {} a -> s {revision = a} :: WorkerConfigurationRevisionSummary)++instance+  Data.FromJSON+    WorkerConfigurationRevisionSummary+  where+  parseJSON =+    Data.withObject+      "WorkerConfigurationRevisionSummary"+      ( \x ->+          WorkerConfigurationRevisionSummary'+            Prelude.<$> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "revision")+      )++instance+  Prelude.Hashable+    WorkerConfigurationRevisionSummary+  where+  hashWithSalt+    _salt+    WorkerConfigurationRevisionSummary' {..} =+      _salt+        `Prelude.hashWithSalt` creationTime+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` revision++instance+  Prelude.NFData+    WorkerConfigurationRevisionSummary+  where+  rnf WorkerConfigurationRevisionSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf revision
+ gen/Amazonka/KafkaConnect/Types/WorkerConfigurationSummary.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.WorkerConfigurationSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerConfigurationSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.WorkerConfigurationRevisionSummary+import qualified Amazonka.Prelude as Prelude++-- | The summary of a worker configuration.+--+-- /See:/ 'newWorkerConfigurationSummary' smart constructor.+data WorkerConfigurationSummary = WorkerConfigurationSummary'+  { -- | The time that a worker configuration was created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of a worker configuration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The latest revision of a worker configuration.+    latestRevision :: Prelude.Maybe WorkerConfigurationRevisionSummary,+    -- | The name of the worker configuration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the worker configuration.+    workerConfigurationArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerConfigurationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'workerConfigurationSummary_creationTime' - The time that a worker configuration was created.+--+-- 'description', 'workerConfigurationSummary_description' - The description of a worker configuration.+--+-- 'latestRevision', 'workerConfigurationSummary_latestRevision' - The latest revision of a worker configuration.+--+-- 'name', 'workerConfigurationSummary_name' - The name of the worker configuration.+--+-- 'workerConfigurationArn', 'workerConfigurationSummary_workerConfigurationArn' - The Amazon Resource Name (ARN) of the worker configuration.+newWorkerConfigurationSummary ::+  WorkerConfigurationSummary+newWorkerConfigurationSummary =+  WorkerConfigurationSummary'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      latestRevision = Prelude.Nothing,+      name = Prelude.Nothing,+      workerConfigurationArn = Prelude.Nothing+    }++-- | The time that a worker configuration was created.+workerConfigurationSummary_creationTime :: Lens.Lens' WorkerConfigurationSummary (Prelude.Maybe Prelude.UTCTime)+workerConfigurationSummary_creationTime = Lens.lens (\WorkerConfigurationSummary' {creationTime} -> creationTime) (\s@WorkerConfigurationSummary' {} a -> s {creationTime = a} :: WorkerConfigurationSummary) Prelude.. Lens.mapping Data._Time++-- | The description of a worker configuration.+workerConfigurationSummary_description :: Lens.Lens' WorkerConfigurationSummary (Prelude.Maybe Prelude.Text)+workerConfigurationSummary_description = Lens.lens (\WorkerConfigurationSummary' {description} -> description) (\s@WorkerConfigurationSummary' {} a -> s {description = a} :: WorkerConfigurationSummary)++-- | The latest revision of a worker configuration.+workerConfigurationSummary_latestRevision :: Lens.Lens' WorkerConfigurationSummary (Prelude.Maybe WorkerConfigurationRevisionSummary)+workerConfigurationSummary_latestRevision = Lens.lens (\WorkerConfigurationSummary' {latestRevision} -> latestRevision) (\s@WorkerConfigurationSummary' {} a -> s {latestRevision = a} :: WorkerConfigurationSummary)++-- | The name of the worker configuration.+workerConfigurationSummary_name :: Lens.Lens' WorkerConfigurationSummary (Prelude.Maybe Prelude.Text)+workerConfigurationSummary_name = Lens.lens (\WorkerConfigurationSummary' {name} -> name) (\s@WorkerConfigurationSummary' {} a -> s {name = a} :: WorkerConfigurationSummary)++-- | The Amazon Resource Name (ARN) of the worker configuration.+workerConfigurationSummary_workerConfigurationArn :: Lens.Lens' WorkerConfigurationSummary (Prelude.Maybe Prelude.Text)+workerConfigurationSummary_workerConfigurationArn = Lens.lens (\WorkerConfigurationSummary' {workerConfigurationArn} -> workerConfigurationArn) (\s@WorkerConfigurationSummary' {} a -> s {workerConfigurationArn = a} :: WorkerConfigurationSummary)++instance Data.FromJSON WorkerConfigurationSummary where+  parseJSON =+    Data.withObject+      "WorkerConfigurationSummary"+      ( \x ->+          WorkerConfigurationSummary'+            Prelude.<$> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "latestRevision")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "workerConfigurationArn")+      )++instance Prelude.Hashable WorkerConfigurationSummary where+  hashWithSalt _salt WorkerConfigurationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` latestRevision+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` workerConfigurationArn++instance Prelude.NFData WorkerConfigurationSummary where+  rnf WorkerConfigurationSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf latestRevision+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workerConfigurationArn
+ gen/Amazonka/KafkaConnect/Types/WorkerLogDelivery.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.KafkaConnect.Types.WorkerLogDelivery+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerLogDelivery where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDelivery+import Amazonka.KafkaConnect.Types.FirehoseLogDelivery+import Amazonka.KafkaConnect.Types.S3LogDelivery+import qualified Amazonka.Prelude as Prelude++-- | Workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+--+-- /See:/ 'newWorkerLogDelivery' smart constructor.+data WorkerLogDelivery = WorkerLogDelivery'+  { -- | Details about delivering logs to Amazon CloudWatch Logs.+    cloudWatchLogs :: Prelude.Maybe CloudWatchLogsLogDelivery,+    -- | Details about delivering logs to Amazon Kinesis Data Firehose.+    firehose :: Prelude.Maybe FirehoseLogDelivery,+    -- | Details about delivering logs to Amazon S3.+    s3 :: Prelude.Maybe S3LogDelivery+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerLogDelivery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'workerLogDelivery_cloudWatchLogs' - Details about delivering logs to Amazon CloudWatch Logs.+--+-- 'firehose', 'workerLogDelivery_firehose' - Details about delivering logs to Amazon Kinesis Data Firehose.+--+-- 's3', 'workerLogDelivery_s3' - Details about delivering logs to Amazon S3.+newWorkerLogDelivery ::+  WorkerLogDelivery+newWorkerLogDelivery =+  WorkerLogDelivery'+    { cloudWatchLogs =+        Prelude.Nothing,+      firehose = Prelude.Nothing,+      s3 = Prelude.Nothing+    }++-- | Details about delivering logs to Amazon CloudWatch Logs.+workerLogDelivery_cloudWatchLogs :: Lens.Lens' WorkerLogDelivery (Prelude.Maybe CloudWatchLogsLogDelivery)+workerLogDelivery_cloudWatchLogs = Lens.lens (\WorkerLogDelivery' {cloudWatchLogs} -> cloudWatchLogs) (\s@WorkerLogDelivery' {} a -> s {cloudWatchLogs = a} :: WorkerLogDelivery)++-- | Details about delivering logs to Amazon Kinesis Data Firehose.+workerLogDelivery_firehose :: Lens.Lens' WorkerLogDelivery (Prelude.Maybe FirehoseLogDelivery)+workerLogDelivery_firehose = Lens.lens (\WorkerLogDelivery' {firehose} -> firehose) (\s@WorkerLogDelivery' {} a -> s {firehose = a} :: WorkerLogDelivery)++-- | Details about delivering logs to Amazon S3.+workerLogDelivery_s3 :: Lens.Lens' WorkerLogDelivery (Prelude.Maybe S3LogDelivery)+workerLogDelivery_s3 = Lens.lens (\WorkerLogDelivery' {s3} -> s3) (\s@WorkerLogDelivery' {} a -> s {s3 = a} :: WorkerLogDelivery)++instance Prelude.Hashable WorkerLogDelivery where+  hashWithSalt _salt WorkerLogDelivery' {..} =+    _salt+      `Prelude.hashWithSalt` cloudWatchLogs+      `Prelude.hashWithSalt` firehose+      `Prelude.hashWithSalt` s3++instance Prelude.NFData WorkerLogDelivery where+  rnf WorkerLogDelivery' {..} =+    Prelude.rnf cloudWatchLogs+      `Prelude.seq` Prelude.rnf firehose+      `Prelude.seq` Prelude.rnf s3++instance Data.ToJSON WorkerLogDelivery where+  toJSON WorkerLogDelivery' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cloudWatchLogs" Data..=)+              Prelude.<$> cloudWatchLogs,+            ("firehose" Data..=) Prelude.<$> firehose,+            ("s3" Data..=) Prelude.<$> s3+          ]+      )
+ gen/Amazonka/KafkaConnect/Types/WorkerLogDeliveryDescription.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.KafkaConnect.Types.WorkerLogDeliveryDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types.CloudWatchLogsLogDeliveryDescription+import Amazonka.KafkaConnect.Types.FirehoseLogDeliveryDescription+import Amazonka.KafkaConnect.Types.S3LogDeliveryDescription+import qualified Amazonka.Prelude as Prelude++-- | Workers can send worker logs to different destination types. This+-- configuration specifies the details of these destinations.+--+-- /See:/ 'newWorkerLogDeliveryDescription' smart constructor.+data WorkerLogDeliveryDescription = WorkerLogDeliveryDescription'+  { -- | Details about delivering logs to Amazon CloudWatch Logs.+    cloudWatchLogs :: Prelude.Maybe CloudWatchLogsLogDeliveryDescription,+    -- | Details about delivering logs to Amazon Kinesis Data Firehose.+    firehose :: Prelude.Maybe FirehoseLogDeliveryDescription,+    -- | Details about delivering logs to Amazon S3.+    s3 :: Prelude.Maybe S3LogDeliveryDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkerLogDeliveryDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'workerLogDeliveryDescription_cloudWatchLogs' - Details about delivering logs to Amazon CloudWatch Logs.+--+-- 'firehose', 'workerLogDeliveryDescription_firehose' - Details about delivering logs to Amazon Kinesis Data Firehose.+--+-- 's3', 'workerLogDeliveryDescription_s3' - Details about delivering logs to Amazon S3.+newWorkerLogDeliveryDescription ::+  WorkerLogDeliveryDescription+newWorkerLogDeliveryDescription =+  WorkerLogDeliveryDescription'+    { cloudWatchLogs =+        Prelude.Nothing,+      firehose = Prelude.Nothing,+      s3 = Prelude.Nothing+    }++-- | Details about delivering logs to Amazon CloudWatch Logs.+workerLogDeliveryDescription_cloudWatchLogs :: Lens.Lens' WorkerLogDeliveryDescription (Prelude.Maybe CloudWatchLogsLogDeliveryDescription)+workerLogDeliveryDescription_cloudWatchLogs = Lens.lens (\WorkerLogDeliveryDescription' {cloudWatchLogs} -> cloudWatchLogs) (\s@WorkerLogDeliveryDescription' {} a -> s {cloudWatchLogs = a} :: WorkerLogDeliveryDescription)++-- | Details about delivering logs to Amazon Kinesis Data Firehose.+workerLogDeliveryDescription_firehose :: Lens.Lens' WorkerLogDeliveryDescription (Prelude.Maybe FirehoseLogDeliveryDescription)+workerLogDeliveryDescription_firehose = Lens.lens (\WorkerLogDeliveryDescription' {firehose} -> firehose) (\s@WorkerLogDeliveryDescription' {} a -> s {firehose = a} :: WorkerLogDeliveryDescription)++-- | Details about delivering logs to Amazon S3.+workerLogDeliveryDescription_s3 :: Lens.Lens' WorkerLogDeliveryDescription (Prelude.Maybe S3LogDeliveryDescription)+workerLogDeliveryDescription_s3 = Lens.lens (\WorkerLogDeliveryDescription' {s3} -> s3) (\s@WorkerLogDeliveryDescription' {} a -> s {s3 = a} :: WorkerLogDeliveryDescription)++instance Data.FromJSON WorkerLogDeliveryDescription where+  parseJSON =+    Data.withObject+      "WorkerLogDeliveryDescription"+      ( \x ->+          WorkerLogDeliveryDescription'+            Prelude.<$> (x Data..:? "cloudWatchLogs")+            Prelude.<*> (x Data..:? "firehose")+            Prelude.<*> (x Data..:? "s3")+      )++instance+  Prelude.Hashable+    WorkerLogDeliveryDescription+  where+  hashWithSalt _salt WorkerLogDeliveryDescription' {..} =+    _salt+      `Prelude.hashWithSalt` cloudWatchLogs+      `Prelude.hashWithSalt` firehose+      `Prelude.hashWithSalt` s3++instance Prelude.NFData WorkerLogDeliveryDescription where+  rnf WorkerLogDeliveryDescription' {..} =+    Prelude.rnf cloudWatchLogs+      `Prelude.seq` Prelude.rnf firehose+      `Prelude.seq` Prelude.rnf s3
+ gen/Amazonka/KafkaConnect/UpdateConnector.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.KafkaConnect.UpdateConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified connector.+module Amazonka.KafkaConnect.UpdateConnector+  ( -- * Creating a Request+    UpdateConnector (..),+    newUpdateConnector,++    -- * Request Lenses+    updateConnector_capacity,+    updateConnector_connectorArn,+    updateConnector_currentVersion,++    -- * Destructuring the Response+    UpdateConnectorResponse (..),+    newUpdateConnectorResponse,++    -- * Response Lenses+    updateConnectorResponse_connectorArn,+    updateConnectorResponse_connectorState,+    updateConnectorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateConnector' smart constructor.+data UpdateConnector = UpdateConnector'+  { -- | The target capacity.+    capacity :: CapacityUpdate,+    -- | The Amazon Resource Name (ARN) of the connector that you want to update.+    connectorArn :: Prelude.Text,+    -- | The current version of the connector that you want to update.+    currentVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacity', 'updateConnector_capacity' - The target capacity.+--+-- 'connectorArn', 'updateConnector_connectorArn' - The Amazon Resource Name (ARN) of the connector that you want to update.+--+-- 'currentVersion', 'updateConnector_currentVersion' - The current version of the connector that you want to update.+newUpdateConnector ::+  -- | 'capacity'+  CapacityUpdate ->+  -- | 'connectorArn'+  Prelude.Text ->+  -- | 'currentVersion'+  Prelude.Text ->+  UpdateConnector+newUpdateConnector+  pCapacity_+  pConnectorArn_+  pCurrentVersion_ =+    UpdateConnector'+      { capacity = pCapacity_,+        connectorArn = pConnectorArn_,+        currentVersion = pCurrentVersion_+      }++-- | The target capacity.+updateConnector_capacity :: Lens.Lens' UpdateConnector CapacityUpdate+updateConnector_capacity = Lens.lens (\UpdateConnector' {capacity} -> capacity) (\s@UpdateConnector' {} a -> s {capacity = a} :: UpdateConnector)++-- | The Amazon Resource Name (ARN) of the connector that you want to update.+updateConnector_connectorArn :: Lens.Lens' UpdateConnector Prelude.Text+updateConnector_connectorArn = Lens.lens (\UpdateConnector' {connectorArn} -> connectorArn) (\s@UpdateConnector' {} a -> s {connectorArn = a} :: UpdateConnector)++-- | The current version of the connector that you want to update.+updateConnector_currentVersion :: Lens.Lens' UpdateConnector Prelude.Text+updateConnector_currentVersion = Lens.lens (\UpdateConnector' {currentVersion} -> currentVersion) (\s@UpdateConnector' {} a -> s {currentVersion = a} :: UpdateConnector)++instance Core.AWSRequest UpdateConnector where+  type+    AWSResponse UpdateConnector =+      UpdateConnectorResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateConnectorResponse'+            Prelude.<$> (x Data..?> "connectorArn")+            Prelude.<*> (x Data..?> "connectorState")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateConnector where+  hashWithSalt _salt UpdateConnector' {..} =+    _salt+      `Prelude.hashWithSalt` capacity+      `Prelude.hashWithSalt` connectorArn+      `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData UpdateConnector where+  rnf UpdateConnector' {..} =+    Prelude.rnf capacity+      `Prelude.seq` Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf currentVersion++instance Data.ToHeaders UpdateConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateConnector where+  toJSON UpdateConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("capacity" Data..= capacity)]+      )++instance Data.ToPath UpdateConnector where+  toPath UpdateConnector' {..} =+    Prelude.mconcat+      ["/v1/connectors/", Data.toBS connectorArn]++instance Data.ToQuery UpdateConnector where+  toQuery UpdateConnector' {..} =+    Prelude.mconcat+      ["currentVersion" Data.=: currentVersion]++-- | /See:/ 'newUpdateConnectorResponse' smart constructor.+data UpdateConnectorResponse = UpdateConnectorResponse'+  { -- | The Amazon Resource Name (ARN) of the connector.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | The state of the connector.+    connectorState :: Prelude.Maybe ConnectorState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'updateConnectorResponse_connectorArn' - The Amazon Resource Name (ARN) of the connector.+--+-- 'connectorState', 'updateConnectorResponse_connectorState' - The state of the connector.+--+-- 'httpStatus', 'updateConnectorResponse_httpStatus' - The response's http status code.+newUpdateConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateConnectorResponse+newUpdateConnectorResponse pHttpStatus_ =+  UpdateConnectorResponse'+    { connectorArn =+        Prelude.Nothing,+      connectorState = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the connector.+updateConnectorResponse_connectorArn :: Lens.Lens' UpdateConnectorResponse (Prelude.Maybe Prelude.Text)+updateConnectorResponse_connectorArn = Lens.lens (\UpdateConnectorResponse' {connectorArn} -> connectorArn) (\s@UpdateConnectorResponse' {} a -> s {connectorArn = a} :: UpdateConnectorResponse)++-- | The state of the connector.+updateConnectorResponse_connectorState :: Lens.Lens' UpdateConnectorResponse (Prelude.Maybe ConnectorState)+updateConnectorResponse_connectorState = Lens.lens (\UpdateConnectorResponse' {connectorState} -> connectorState) (\s@UpdateConnectorResponse' {} a -> s {connectorState = a} :: UpdateConnectorResponse)++-- | The response's http status code.+updateConnectorResponse_httpStatus :: Lens.Lens' UpdateConnectorResponse Prelude.Int+updateConnectorResponse_httpStatus = Lens.lens (\UpdateConnectorResponse' {httpStatus} -> httpStatus) (\s@UpdateConnectorResponse' {} a -> s {httpStatus = a} :: UpdateConnectorResponse)++instance Prelude.NFData UpdateConnectorResponse where+  rnf UpdateConnectorResponse' {..} =+    Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorState+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/KafkaConnect/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.KafkaConnect.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.KafkaConnect.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.KafkaConnect.Lens+import Amazonka.KafkaConnect.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.KafkaConnect+import Test.Amazonka.KafkaConnect.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "KafkaConnect"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/KafkaConnect.hs view
@@ -0,0 +1,278 @@+{-# 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.KafkaConnect+-- Copyright   : (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.KafkaConnect where++import Amazonka.KafkaConnect+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.KafkaConnect.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"+--         [ requestCreateConnector $+--             newCreateConnector+--+--         , requestCreateCustomPlugin $+--             newCreateCustomPlugin+--+--         , requestCreateWorkerConfiguration $+--             newCreateWorkerConfiguration+--+--         , requestDeleteConnector $+--             newDeleteConnector+--+--         , requestDeleteCustomPlugin $+--             newDeleteCustomPlugin+--+--         , requestDescribeConnector $+--             newDescribeConnector+--+--         , requestDescribeCustomPlugin $+--             newDescribeCustomPlugin+--+--         , requestDescribeWorkerConfiguration $+--             newDescribeWorkerConfiguration+--+--         , requestListConnectors $+--             newListConnectors+--+--         , requestListCustomPlugins $+--             newListCustomPlugins+--+--         , requestListWorkerConfigurations $+--             newListWorkerConfigurations+--+--         , requestUpdateConnector $+--             newUpdateConnector+--+--           ]++--     , testGroup "response"+--         [ responseCreateConnector $+--             newCreateConnectorResponse+--+--         , responseCreateCustomPlugin $+--             newCreateCustomPluginResponse+--+--         , responseCreateWorkerConfiguration $+--             newCreateWorkerConfigurationResponse+--+--         , responseDeleteConnector $+--             newDeleteConnectorResponse+--+--         , responseDeleteCustomPlugin $+--             newDeleteCustomPluginResponse+--+--         , responseDescribeConnector $+--             newDescribeConnectorResponse+--+--         , responseDescribeCustomPlugin $+--             newDescribeCustomPluginResponse+--+--         , responseDescribeWorkerConfiguration $+--             newDescribeWorkerConfigurationResponse+--+--         , responseListConnectors $+--             newListConnectorsResponse+--+--         , responseListCustomPlugins $+--             newListCustomPluginsResponse+--+--         , responseListWorkerConfigurations $+--             newListWorkerConfigurationsResponse+--+--         , responseUpdateConnector $+--             newUpdateConnectorResponse+--+--           ]+--     ]++-- Requests++requestCreateConnector :: CreateConnector -> TestTree+requestCreateConnector =+  req+    "CreateConnector"+    "fixture/CreateConnector.yaml"++requestCreateCustomPlugin :: CreateCustomPlugin -> TestTree+requestCreateCustomPlugin =+  req+    "CreateCustomPlugin"+    "fixture/CreateCustomPlugin.yaml"++requestCreateWorkerConfiguration :: CreateWorkerConfiguration -> TestTree+requestCreateWorkerConfiguration =+  req+    "CreateWorkerConfiguration"+    "fixture/CreateWorkerConfiguration.yaml"++requestDeleteConnector :: DeleteConnector -> TestTree+requestDeleteConnector =+  req+    "DeleteConnector"+    "fixture/DeleteConnector.yaml"++requestDeleteCustomPlugin :: DeleteCustomPlugin -> TestTree+requestDeleteCustomPlugin =+  req+    "DeleteCustomPlugin"+    "fixture/DeleteCustomPlugin.yaml"++requestDescribeConnector :: DescribeConnector -> TestTree+requestDescribeConnector =+  req+    "DescribeConnector"+    "fixture/DescribeConnector.yaml"++requestDescribeCustomPlugin :: DescribeCustomPlugin -> TestTree+requestDescribeCustomPlugin =+  req+    "DescribeCustomPlugin"+    "fixture/DescribeCustomPlugin.yaml"++requestDescribeWorkerConfiguration :: DescribeWorkerConfiguration -> TestTree+requestDescribeWorkerConfiguration =+  req+    "DescribeWorkerConfiguration"+    "fixture/DescribeWorkerConfiguration.yaml"++requestListConnectors :: ListConnectors -> TestTree+requestListConnectors =+  req+    "ListConnectors"+    "fixture/ListConnectors.yaml"++requestListCustomPlugins :: ListCustomPlugins -> TestTree+requestListCustomPlugins =+  req+    "ListCustomPlugins"+    "fixture/ListCustomPlugins.yaml"++requestListWorkerConfigurations :: ListWorkerConfigurations -> TestTree+requestListWorkerConfigurations =+  req+    "ListWorkerConfigurations"+    "fixture/ListWorkerConfigurations.yaml"++requestUpdateConnector :: UpdateConnector -> TestTree+requestUpdateConnector =+  req+    "UpdateConnector"+    "fixture/UpdateConnector.yaml"++-- Responses++responseCreateConnector :: CreateConnectorResponse -> TestTree+responseCreateConnector =+  res+    "CreateConnectorResponse"+    "fixture/CreateConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnector)++responseCreateCustomPlugin :: CreateCustomPluginResponse -> TestTree+responseCreateCustomPlugin =+  res+    "CreateCustomPluginResponse"+    "fixture/CreateCustomPluginResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateCustomPlugin)++responseCreateWorkerConfiguration :: CreateWorkerConfigurationResponse -> TestTree+responseCreateWorkerConfiguration =+  res+    "CreateWorkerConfigurationResponse"+    "fixture/CreateWorkerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkerConfiguration)++responseDeleteConnector :: DeleteConnectorResponse -> TestTree+responseDeleteConnector =+  res+    "DeleteConnectorResponse"+    "fixture/DeleteConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteConnector)++responseDeleteCustomPlugin :: DeleteCustomPluginResponse -> TestTree+responseDeleteCustomPlugin =+  res+    "DeleteCustomPluginResponse"+    "fixture/DeleteCustomPluginResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteCustomPlugin)++responseDescribeConnector :: DescribeConnectorResponse -> TestTree+responseDescribeConnector =+  res+    "DescribeConnectorResponse"+    "fixture/DescribeConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeConnector)++responseDescribeCustomPlugin :: DescribeCustomPluginResponse -> TestTree+responseDescribeCustomPlugin =+  res+    "DescribeCustomPluginResponse"+    "fixture/DescribeCustomPluginResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeCustomPlugin)++responseDescribeWorkerConfiguration :: DescribeWorkerConfigurationResponse -> TestTree+responseDescribeWorkerConfiguration =+  res+    "DescribeWorkerConfigurationResponse"+    "fixture/DescribeWorkerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeWorkerConfiguration)++responseListConnectors :: ListConnectorsResponse -> TestTree+responseListConnectors =+  res+    "ListConnectorsResponse"+    "fixture/ListConnectorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConnectors)++responseListCustomPlugins :: ListCustomPluginsResponse -> TestTree+responseListCustomPlugins =+  res+    "ListCustomPluginsResponse"+    "fixture/ListCustomPluginsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCustomPlugins)++responseListWorkerConfigurations :: ListWorkerConfigurationsResponse -> TestTree+responseListWorkerConfigurations =+  res+    "ListWorkerConfigurationsResponse"+    "fixture/ListWorkerConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkerConfigurations)++responseUpdateConnector :: UpdateConnectorResponse -> TestTree+responseUpdateConnector =+  res+    "UpdateConnectorResponse"+    "fixture/UpdateConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateConnector)
+ test/Test/Amazonka/KafkaConnect.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.KafkaConnect+-- Copyright   : (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.KafkaConnect+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/KafkaConnect/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.KafkaConnect.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.KafkaConnect.Internal where