packages feed

amazonka-pipes (empty) → 2.0

raw patch · 118 files changed

+15190/−0 lines, 118 filesdep +amazonka-coredep +amazonka-pipesdep +amazonka-test

Dependencies added: amazonka-core, amazonka-pipes, 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 EventBridge Pipes SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2015-10-07@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-pipes)+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.Pipes](http://hackage.haskell.org/package/amazonka-pipes/docs/Amazonka-Pipes.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-pipes` 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-pipes.cabal view
@@ -0,0 +1,169 @@+cabal-version:      2.2+name:               amazonka-pipes+version:            2.0+synopsis:           Amazon EventBridge Pipes 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 @2015-10-07@ 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.Pipes.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.Pipes" 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-pipes++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.Pipes+    Amazonka.Pipes.CreatePipe+    Amazonka.Pipes.DeletePipe+    Amazonka.Pipes.DescribePipe+    Amazonka.Pipes.Lens+    Amazonka.Pipes.ListPipes+    Amazonka.Pipes.ListTagsForResource+    Amazonka.Pipes.StartPipe+    Amazonka.Pipes.StopPipe+    Amazonka.Pipes.TagResource+    Amazonka.Pipes.Types+    Amazonka.Pipes.Types.AssignPublicIp+    Amazonka.Pipes.Types.AwsVpcConfiguration+    Amazonka.Pipes.Types.BatchArrayProperties+    Amazonka.Pipes.Types.BatchContainerOverrides+    Amazonka.Pipes.Types.BatchEnvironmentVariable+    Amazonka.Pipes.Types.BatchJobDependency+    Amazonka.Pipes.Types.BatchJobDependencyType+    Amazonka.Pipes.Types.BatchResourceRequirement+    Amazonka.Pipes.Types.BatchResourceRequirementType+    Amazonka.Pipes.Types.BatchRetryStrategy+    Amazonka.Pipes.Types.CapacityProviderStrategyItem+    Amazonka.Pipes.Types.DeadLetterConfig+    Amazonka.Pipes.Types.DynamoDBStreamStartPosition+    Amazonka.Pipes.Types.EcsContainerOverride+    Amazonka.Pipes.Types.EcsEnvironmentFile+    Amazonka.Pipes.Types.EcsEnvironmentFileType+    Amazonka.Pipes.Types.EcsEnvironmentVariable+    Amazonka.Pipes.Types.EcsEphemeralStorage+    Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride+    Amazonka.Pipes.Types.EcsResourceRequirement+    Amazonka.Pipes.Types.EcsResourceRequirementType+    Amazonka.Pipes.Types.EcsTaskOverride+    Amazonka.Pipes.Types.Filter+    Amazonka.Pipes.Types.FilterCriteria+    Amazonka.Pipes.Types.KinesisStreamStartPosition+    Amazonka.Pipes.Types.LaunchType+    Amazonka.Pipes.Types.MQBrokerAccessCredentials+    Amazonka.Pipes.Types.MSKAccessCredentials+    Amazonka.Pipes.Types.MSKStartPosition+    Amazonka.Pipes.Types.NetworkConfiguration+    Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+    Amazonka.Pipes.Types.Pipe+    Amazonka.Pipes.Types.PipeEnrichmentHttpParameters+    Amazonka.Pipes.Types.PipeEnrichmentParameters+    Amazonka.Pipes.Types.PipeSourceActiveMQBrokerParameters+    Amazonka.Pipes.Types.PipeSourceDynamoDBStreamParameters+    Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters+    Amazonka.Pipes.Types.PipeSourceManagedStreamingKafkaParameters+    Amazonka.Pipes.Types.PipeSourceParameters+    Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters+    Amazonka.Pipes.Types.PipeSourceSelfManagedKafkaParameters+    Amazonka.Pipes.Types.PipeSourceSqsQueueParameters+    Amazonka.Pipes.Types.PipeState+    Amazonka.Pipes.Types.PipeTargetBatchJobParameters+    Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters+    Amazonka.Pipes.Types.PipeTargetEcsTaskParameters+    Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters+    Amazonka.Pipes.Types.PipeTargetHttpParameters+    Amazonka.Pipes.Types.PipeTargetInvocationType+    Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters+    Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters+    Amazonka.Pipes.Types.PipeTargetParameters+    Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters+    Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters+    Amazonka.Pipes.Types.PipeTargetSqsQueueParameters+    Amazonka.Pipes.Types.PipeTargetStateMachineParameters+    Amazonka.Pipes.Types.PlacementConstraint+    Amazonka.Pipes.Types.PlacementConstraintType+    Amazonka.Pipes.Types.PlacementStrategy+    Amazonka.Pipes.Types.PlacementStrategyType+    Amazonka.Pipes.Types.PropagateTags+    Amazonka.Pipes.Types.RequestedPipeState+    Amazonka.Pipes.Types.RequestedPipeStateDescribeResponse+    Amazonka.Pipes.Types.SageMakerPipelineParameter+    Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+    Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+    Amazonka.Pipes.Types.SelfManagedKafkaStartPosition+    Amazonka.Pipes.Types.Tag+    Amazonka.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters+    Amazonka.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters+    Amazonka.Pipes.Types.UpdatePipeSourceKinesisStreamParameters+    Amazonka.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters+    Amazonka.Pipes.Types.UpdatePipeSourceParameters+    Amazonka.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters+    Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters+    Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters+    Amazonka.Pipes.UntagResource+    Amazonka.Pipes.UpdatePipe+    Amazonka.Pipes.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-pipes-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.Pipes+    Test.Amazonka.Pipes+    Test.Amazonka.Pipes.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-pipes+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreatePipe.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/CreatePipeResponse.proto view
+ fixture/DeletePipe.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/DeletePipeResponse.proto view
+ fixture/DescribePipe.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/DescribePipeResponse.proto view
+ fixture/ListPipes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/ListPipesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/StartPipe.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/StartPipeResponse.proto view
+ fixture/StopPipe.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/StopPipeResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdatePipe.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pipes/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  pipes.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/UpdatePipeResponse.proto view
+ gen/Amazonka/Pipes.hs view
@@ -0,0 +1,441 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Pipes+-- 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 @2015-10-07@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon EventBridge Pipes connects event sources to targets. Pipes+-- reduces the need for specialized knowledge and integration code when+-- developing event driven architectures. This helps ensures consistency+-- across your company’s applications. With Pipes, the target can be any+-- available EventBridge target. To set up a pipe, you select the event+-- source, add optional event filtering, define optional enrichment, and+-- select the target for the event data.+module Amazonka.Pipes+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** ConflictException+    _ConflictException,++    -- ** InternalException+    _InternalException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreatePipe+    CreatePipe (CreatePipe'),+    newCreatePipe,+    CreatePipeResponse (CreatePipeResponse'),+    newCreatePipeResponse,++    -- ** DeletePipe+    DeletePipe (DeletePipe'),+    newDeletePipe,+    DeletePipeResponse (DeletePipeResponse'),+    newDeletePipeResponse,++    -- ** DescribePipe+    DescribePipe (DescribePipe'),+    newDescribePipe,+    DescribePipeResponse (DescribePipeResponse'),+    newDescribePipeResponse,++    -- ** ListPipes (Paginated)+    ListPipes (ListPipes'),+    newListPipes,+    ListPipesResponse (ListPipesResponse'),+    newListPipesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartPipe+    StartPipe (StartPipe'),+    newStartPipe,+    StartPipeResponse (StartPipeResponse'),+    newStartPipeResponse,++    -- ** StopPipe+    StopPipe (StopPipe'),+    newStopPipe,+    StopPipeResponse (StopPipeResponse'),+    newStopPipeResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdatePipe+    UpdatePipe (UpdatePipe'),+    newUpdatePipe,+    UpdatePipeResponse (UpdatePipeResponse'),+    newUpdatePipeResponse,++    -- * Types++    -- ** AssignPublicIp+    AssignPublicIp (..),++    -- ** BatchJobDependencyType+    BatchJobDependencyType (..),++    -- ** BatchResourceRequirementType+    BatchResourceRequirementType (..),++    -- ** DynamoDBStreamStartPosition+    DynamoDBStreamStartPosition (..),++    -- ** EcsEnvironmentFileType+    EcsEnvironmentFileType (..),++    -- ** EcsResourceRequirementType+    EcsResourceRequirementType (..),++    -- ** KinesisStreamStartPosition+    KinesisStreamStartPosition (..),++    -- ** LaunchType+    LaunchType (..),++    -- ** MSKStartPosition+    MSKStartPosition (..),++    -- ** OnPartialBatchItemFailureStreams+    OnPartialBatchItemFailureStreams (..),++    -- ** PipeState+    PipeState (..),++    -- ** PipeTargetInvocationType+    PipeTargetInvocationType (..),++    -- ** PlacementConstraintType+    PlacementConstraintType (..),++    -- ** PlacementStrategyType+    PlacementStrategyType (..),++    -- ** PropagateTags+    PropagateTags (..),++    -- ** RequestedPipeState+    RequestedPipeState (..),++    -- ** RequestedPipeStateDescribeResponse+    RequestedPipeStateDescribeResponse (..),++    -- ** SelfManagedKafkaStartPosition+    SelfManagedKafkaStartPosition (..),++    -- ** AwsVpcConfiguration+    AwsVpcConfiguration (AwsVpcConfiguration'),+    newAwsVpcConfiguration,++    -- ** BatchArrayProperties+    BatchArrayProperties (BatchArrayProperties'),+    newBatchArrayProperties,++    -- ** BatchContainerOverrides+    BatchContainerOverrides (BatchContainerOverrides'),+    newBatchContainerOverrides,++    -- ** BatchEnvironmentVariable+    BatchEnvironmentVariable (BatchEnvironmentVariable'),+    newBatchEnvironmentVariable,++    -- ** BatchJobDependency+    BatchJobDependency (BatchJobDependency'),+    newBatchJobDependency,++    -- ** BatchResourceRequirement+    BatchResourceRequirement (BatchResourceRequirement'),+    newBatchResourceRequirement,++    -- ** BatchRetryStrategy+    BatchRetryStrategy (BatchRetryStrategy'),+    newBatchRetryStrategy,++    -- ** CapacityProviderStrategyItem+    CapacityProviderStrategyItem (CapacityProviderStrategyItem'),+    newCapacityProviderStrategyItem,++    -- ** DeadLetterConfig+    DeadLetterConfig (DeadLetterConfig'),+    newDeadLetterConfig,++    -- ** EcsContainerOverride+    EcsContainerOverride (EcsContainerOverride'),+    newEcsContainerOverride,++    -- ** EcsEnvironmentFile+    EcsEnvironmentFile (EcsEnvironmentFile'),+    newEcsEnvironmentFile,++    -- ** EcsEnvironmentVariable+    EcsEnvironmentVariable (EcsEnvironmentVariable'),+    newEcsEnvironmentVariable,++    -- ** EcsEphemeralStorage+    EcsEphemeralStorage (EcsEphemeralStorage'),+    newEcsEphemeralStorage,++    -- ** EcsInferenceAcceleratorOverride+    EcsInferenceAcceleratorOverride (EcsInferenceAcceleratorOverride'),+    newEcsInferenceAcceleratorOverride,++    -- ** EcsResourceRequirement+    EcsResourceRequirement (EcsResourceRequirement'),+    newEcsResourceRequirement,++    -- ** EcsTaskOverride+    EcsTaskOverride (EcsTaskOverride'),+    newEcsTaskOverride,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** FilterCriteria+    FilterCriteria (FilterCriteria'),+    newFilterCriteria,++    -- ** MQBrokerAccessCredentials+    MQBrokerAccessCredentials (MQBrokerAccessCredentials'),+    newMQBrokerAccessCredentials,++    -- ** MSKAccessCredentials+    MSKAccessCredentials (MSKAccessCredentials'),+    newMSKAccessCredentials,++    -- ** NetworkConfiguration+    NetworkConfiguration (NetworkConfiguration'),+    newNetworkConfiguration,++    -- ** Pipe+    Pipe (Pipe'),+    newPipe,++    -- ** PipeEnrichmentHttpParameters+    PipeEnrichmentHttpParameters (PipeEnrichmentHttpParameters'),+    newPipeEnrichmentHttpParameters,++    -- ** PipeEnrichmentParameters+    PipeEnrichmentParameters (PipeEnrichmentParameters'),+    newPipeEnrichmentParameters,++    -- ** PipeSourceActiveMQBrokerParameters+    PipeSourceActiveMQBrokerParameters (PipeSourceActiveMQBrokerParameters'),+    newPipeSourceActiveMQBrokerParameters,++    -- ** PipeSourceDynamoDBStreamParameters+    PipeSourceDynamoDBStreamParameters (PipeSourceDynamoDBStreamParameters'),+    newPipeSourceDynamoDBStreamParameters,++    -- ** PipeSourceKinesisStreamParameters+    PipeSourceKinesisStreamParameters (PipeSourceKinesisStreamParameters'),+    newPipeSourceKinesisStreamParameters,++    -- ** PipeSourceManagedStreamingKafkaParameters+    PipeSourceManagedStreamingKafkaParameters (PipeSourceManagedStreamingKafkaParameters'),+    newPipeSourceManagedStreamingKafkaParameters,++    -- ** PipeSourceParameters+    PipeSourceParameters (PipeSourceParameters'),+    newPipeSourceParameters,++    -- ** PipeSourceRabbitMQBrokerParameters+    PipeSourceRabbitMQBrokerParameters (PipeSourceRabbitMQBrokerParameters'),+    newPipeSourceRabbitMQBrokerParameters,++    -- ** PipeSourceSelfManagedKafkaParameters+    PipeSourceSelfManagedKafkaParameters (PipeSourceSelfManagedKafkaParameters'),+    newPipeSourceSelfManagedKafkaParameters,++    -- ** PipeSourceSqsQueueParameters+    PipeSourceSqsQueueParameters (PipeSourceSqsQueueParameters'),+    newPipeSourceSqsQueueParameters,++    -- ** PipeTargetBatchJobParameters+    PipeTargetBatchJobParameters (PipeTargetBatchJobParameters'),+    newPipeTargetBatchJobParameters,++    -- ** PipeTargetCloudWatchLogsParameters+    PipeTargetCloudWatchLogsParameters (PipeTargetCloudWatchLogsParameters'),+    newPipeTargetCloudWatchLogsParameters,++    -- ** PipeTargetEcsTaskParameters+    PipeTargetEcsTaskParameters (PipeTargetEcsTaskParameters'),+    newPipeTargetEcsTaskParameters,++    -- ** PipeTargetEventBridgeEventBusParameters+    PipeTargetEventBridgeEventBusParameters (PipeTargetEventBridgeEventBusParameters'),+    newPipeTargetEventBridgeEventBusParameters,++    -- ** PipeTargetHttpParameters+    PipeTargetHttpParameters (PipeTargetHttpParameters'),+    newPipeTargetHttpParameters,++    -- ** PipeTargetKinesisStreamParameters+    PipeTargetKinesisStreamParameters (PipeTargetKinesisStreamParameters'),+    newPipeTargetKinesisStreamParameters,++    -- ** PipeTargetLambdaFunctionParameters+    PipeTargetLambdaFunctionParameters (PipeTargetLambdaFunctionParameters'),+    newPipeTargetLambdaFunctionParameters,++    -- ** PipeTargetParameters+    PipeTargetParameters (PipeTargetParameters'),+    newPipeTargetParameters,++    -- ** PipeTargetRedshiftDataParameters+    PipeTargetRedshiftDataParameters (PipeTargetRedshiftDataParameters'),+    newPipeTargetRedshiftDataParameters,++    -- ** PipeTargetSageMakerPipelineParameters+    PipeTargetSageMakerPipelineParameters (PipeTargetSageMakerPipelineParameters'),+    newPipeTargetSageMakerPipelineParameters,++    -- ** PipeTargetSqsQueueParameters+    PipeTargetSqsQueueParameters (PipeTargetSqsQueueParameters'),+    newPipeTargetSqsQueueParameters,++    -- ** PipeTargetStateMachineParameters+    PipeTargetStateMachineParameters (PipeTargetStateMachineParameters'),+    newPipeTargetStateMachineParameters,++    -- ** PlacementConstraint+    PlacementConstraint (PlacementConstraint'),+    newPlacementConstraint,++    -- ** PlacementStrategy+    PlacementStrategy (PlacementStrategy'),+    newPlacementStrategy,++    -- ** SageMakerPipelineParameter+    SageMakerPipelineParameter (SageMakerPipelineParameter'),+    newSageMakerPipelineParameter,++    -- ** SelfManagedKafkaAccessConfigurationCredentials+    SelfManagedKafkaAccessConfigurationCredentials (SelfManagedKafkaAccessConfigurationCredentials'),+    newSelfManagedKafkaAccessConfigurationCredentials,++    -- ** SelfManagedKafkaAccessConfigurationVpc+    SelfManagedKafkaAccessConfigurationVpc (SelfManagedKafkaAccessConfigurationVpc'),+    newSelfManagedKafkaAccessConfigurationVpc,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** UpdatePipeSourceActiveMQBrokerParameters+    UpdatePipeSourceActiveMQBrokerParameters (UpdatePipeSourceActiveMQBrokerParameters'),+    newUpdatePipeSourceActiveMQBrokerParameters,++    -- ** UpdatePipeSourceDynamoDBStreamParameters+    UpdatePipeSourceDynamoDBStreamParameters (UpdatePipeSourceDynamoDBStreamParameters'),+    newUpdatePipeSourceDynamoDBStreamParameters,++    -- ** UpdatePipeSourceKinesisStreamParameters+    UpdatePipeSourceKinesisStreamParameters (UpdatePipeSourceKinesisStreamParameters'),+    newUpdatePipeSourceKinesisStreamParameters,++    -- ** UpdatePipeSourceManagedStreamingKafkaParameters+    UpdatePipeSourceManagedStreamingKafkaParameters (UpdatePipeSourceManagedStreamingKafkaParameters'),+    newUpdatePipeSourceManagedStreamingKafkaParameters,++    -- ** UpdatePipeSourceParameters+    UpdatePipeSourceParameters (UpdatePipeSourceParameters'),+    newUpdatePipeSourceParameters,++    -- ** UpdatePipeSourceRabbitMQBrokerParameters+    UpdatePipeSourceRabbitMQBrokerParameters (UpdatePipeSourceRabbitMQBrokerParameters'),+    newUpdatePipeSourceRabbitMQBrokerParameters,++    -- ** UpdatePipeSourceSelfManagedKafkaParameters+    UpdatePipeSourceSelfManagedKafkaParameters (UpdatePipeSourceSelfManagedKafkaParameters'),+    newUpdatePipeSourceSelfManagedKafkaParameters,++    -- ** UpdatePipeSourceSqsQueueParameters+    UpdatePipeSourceSqsQueueParameters (UpdatePipeSourceSqsQueueParameters'),+    newUpdatePipeSourceSqsQueueParameters,+  )+where++import Amazonka.Pipes.CreatePipe+import Amazonka.Pipes.DeletePipe+import Amazonka.Pipes.DescribePipe+import Amazonka.Pipes.Lens+import Amazonka.Pipes.ListPipes+import Amazonka.Pipes.ListTagsForResource+import Amazonka.Pipes.StartPipe+import Amazonka.Pipes.StopPipe+import Amazonka.Pipes.TagResource+import Amazonka.Pipes.Types+import Amazonka.Pipes.UntagResource+import Amazonka.Pipes.UpdatePipe+import Amazonka.Pipes.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 'Pipes'.++-- $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/Pipes/CreatePipe.hs view
@@ -0,0 +1,372 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.CreatePipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a pipe. Amazon EventBridge Pipes connect event sources to targets+-- and reduces the need for specialized knowledge and integration code.+module Amazonka.Pipes.CreatePipe+  ( -- * Creating a Request+    CreatePipe (..),+    newCreatePipe,++    -- * Request Lenses+    createPipe_description,+    createPipe_desiredState,+    createPipe_enrichment,+    createPipe_enrichmentParameters,+    createPipe_sourceParameters,+    createPipe_tags,+    createPipe_targetParameters,+    createPipe_name,+    createPipe_roleArn,+    createPipe_source,+    createPipe_target,++    -- * Destructuring the Response+    CreatePipeResponse (..),+    newCreatePipeResponse,++    -- * Response Lenses+    createPipeResponse_arn,+    createPipeResponse_creationTime,+    createPipeResponse_currentState,+    createPipeResponse_desiredState,+    createPipeResponse_lastModifiedTime,+    createPipeResponse_name,+    createPipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePipe' smart constructor.+data CreatePipe = CreatePipe'+  { -- | A description of the pipe.+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | The ARN of the enrichment resource.+    enrichment :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up enrichment on your pipe.+    enrichmentParameters :: Prelude.Maybe PipeEnrichmentParameters,+    -- | The parameters required to set up a source for your pipe.+    sourceParameters :: Prelude.Maybe PipeSourceParameters,+    -- | The list of key-value pairs to associate with the pipe.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The parameters required to set up a target for your pipe.+    targetParameters :: Prelude.Maybe PipeTargetParameters,+    -- | The name of the pipe.+    name :: Prelude.Text,+    -- | The ARN of the role that allows the pipe to send data to the target.+    roleArn :: Prelude.Text,+    -- | The ARN of the source resource.+    source :: Prelude.Text,+    -- | The ARN of the target resource.+    target :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPipe_description' - A description of the pipe.+--+-- 'desiredState', 'createPipe_desiredState' - The state the pipe should be in.+--+-- 'enrichment', 'createPipe_enrichment' - The ARN of the enrichment resource.+--+-- 'enrichmentParameters', 'createPipe_enrichmentParameters' - The parameters required to set up enrichment on your pipe.+--+-- 'sourceParameters', 'createPipe_sourceParameters' - The parameters required to set up a source for your pipe.+--+-- 'tags', 'createPipe_tags' - The list of key-value pairs to associate with the pipe.+--+-- 'targetParameters', 'createPipe_targetParameters' - The parameters required to set up a target for your pipe.+--+-- 'name', 'createPipe_name' - The name of the pipe.+--+-- 'roleArn', 'createPipe_roleArn' - The ARN of the role that allows the pipe to send data to the target.+--+-- 'source', 'createPipe_source' - The ARN of the source resource.+--+-- 'target', 'createPipe_target' - The ARN of the target resource.+newCreatePipe ::+  -- | 'name'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  -- | 'source'+  Prelude.Text ->+  -- | 'target'+  Prelude.Text ->+  CreatePipe+newCreatePipe pName_ pRoleArn_ pSource_ pTarget_ =+  CreatePipe'+    { description = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      enrichment = Prelude.Nothing,+      enrichmentParameters = Prelude.Nothing,+      sourceParameters = Prelude.Nothing,+      tags = Prelude.Nothing,+      targetParameters = Prelude.Nothing,+      name = pName_,+      roleArn = pRoleArn_,+      source = pSource_,+      target = pTarget_+    }++-- | A description of the pipe.+createPipe_description :: Lens.Lens' CreatePipe (Prelude.Maybe Prelude.Text)+createPipe_description = Lens.lens (\CreatePipe' {description} -> description) (\s@CreatePipe' {} a -> s {description = a} :: CreatePipe) Prelude.. Lens.mapping Data._Sensitive++-- | The state the pipe should be in.+createPipe_desiredState :: Lens.Lens' CreatePipe (Prelude.Maybe RequestedPipeState)+createPipe_desiredState = Lens.lens (\CreatePipe' {desiredState} -> desiredState) (\s@CreatePipe' {} a -> s {desiredState = a} :: CreatePipe)++-- | The ARN of the enrichment resource.+createPipe_enrichment :: Lens.Lens' CreatePipe (Prelude.Maybe Prelude.Text)+createPipe_enrichment = Lens.lens (\CreatePipe' {enrichment} -> enrichment) (\s@CreatePipe' {} a -> s {enrichment = a} :: CreatePipe)++-- | The parameters required to set up enrichment on your pipe.+createPipe_enrichmentParameters :: Lens.Lens' CreatePipe (Prelude.Maybe PipeEnrichmentParameters)+createPipe_enrichmentParameters = Lens.lens (\CreatePipe' {enrichmentParameters} -> enrichmentParameters) (\s@CreatePipe' {} a -> s {enrichmentParameters = a} :: CreatePipe)++-- | The parameters required to set up a source for your pipe.+createPipe_sourceParameters :: Lens.Lens' CreatePipe (Prelude.Maybe PipeSourceParameters)+createPipe_sourceParameters = Lens.lens (\CreatePipe' {sourceParameters} -> sourceParameters) (\s@CreatePipe' {} a -> s {sourceParameters = a} :: CreatePipe)++-- | The list of key-value pairs to associate with the pipe.+createPipe_tags :: Lens.Lens' CreatePipe (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPipe_tags = Lens.lens (\CreatePipe' {tags} -> tags) (\s@CreatePipe' {} a -> s {tags = a} :: CreatePipe) Prelude.. Lens.mapping Lens.coerced++-- | The parameters required to set up a target for your pipe.+createPipe_targetParameters :: Lens.Lens' CreatePipe (Prelude.Maybe PipeTargetParameters)+createPipe_targetParameters = Lens.lens (\CreatePipe' {targetParameters} -> targetParameters) (\s@CreatePipe' {} a -> s {targetParameters = a} :: CreatePipe)++-- | The name of the pipe.+createPipe_name :: Lens.Lens' CreatePipe Prelude.Text+createPipe_name = Lens.lens (\CreatePipe' {name} -> name) (\s@CreatePipe' {} a -> s {name = a} :: CreatePipe)++-- | The ARN of the role that allows the pipe to send data to the target.+createPipe_roleArn :: Lens.Lens' CreatePipe Prelude.Text+createPipe_roleArn = Lens.lens (\CreatePipe' {roleArn} -> roleArn) (\s@CreatePipe' {} a -> s {roleArn = a} :: CreatePipe)++-- | The ARN of the source resource.+createPipe_source :: Lens.Lens' CreatePipe Prelude.Text+createPipe_source = Lens.lens (\CreatePipe' {source} -> source) (\s@CreatePipe' {} a -> s {source = a} :: CreatePipe)++-- | The ARN of the target resource.+createPipe_target :: Lens.Lens' CreatePipe Prelude.Text+createPipe_target = Lens.lens (\CreatePipe' {target} -> target) (\s@CreatePipe' {} a -> s {target = a} :: CreatePipe)++instance Core.AWSRequest CreatePipe where+  type AWSResponse CreatePipe = CreatePipeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreatePipe where+  hashWithSalt _salt CreatePipe' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` desiredState+      `Prelude.hashWithSalt` enrichment+      `Prelude.hashWithSalt` enrichmentParameters+      `Prelude.hashWithSalt` sourceParameters+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` targetParameters+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` target++instance Prelude.NFData CreatePipe where+  rnf CreatePipe' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf enrichment+      `Prelude.seq` Prelude.rnf enrichmentParameters+      `Prelude.seq` Prelude.rnf sourceParameters+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf targetParameters+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf target++instance Data.ToHeaders CreatePipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreatePipe where+  toJSON CreatePipe' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("DesiredState" Data..=) Prelude.<$> desiredState,+            ("Enrichment" Data..=) Prelude.<$> enrichment,+            ("EnrichmentParameters" Data..=)+              Prelude.<$> enrichmentParameters,+            ("SourceParameters" Data..=)+              Prelude.<$> sourceParameters,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TargetParameters" Data..=)+              Prelude.<$> targetParameters,+            Prelude.Just ("RoleArn" Data..= roleArn),+            Prelude.Just ("Source" Data..= source),+            Prelude.Just ("Target" Data..= target)+          ]+      )++instance Data.ToPath CreatePipe where+  toPath CreatePipe' {..} =+    Prelude.mconcat ["/v1/pipes/", Data.toBS name]++instance Data.ToQuery CreatePipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePipeResponse' smart constructor.+data CreatePipeResponse = CreatePipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: 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 'CreatePipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createPipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'createPipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'createPipeResponse_currentState' - The state the pipe is in.+--+-- 'desiredState', 'createPipeResponse_desiredState' - The state the pipe should be in.+--+-- 'lastModifiedTime', 'createPipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'createPipeResponse_name' - The name of the pipe.+--+-- 'httpStatus', 'createPipeResponse_httpStatus' - The response's http status code.+newCreatePipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreatePipeResponse+newCreatePipeResponse pHttpStatus_ =+  CreatePipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+createPipeResponse_arn :: Lens.Lens' CreatePipeResponse (Prelude.Maybe Prelude.Text)+createPipeResponse_arn = Lens.lens (\CreatePipeResponse' {arn} -> arn) (\s@CreatePipeResponse' {} a -> s {arn = a} :: CreatePipeResponse)++-- | The time the pipe was created.+createPipeResponse_creationTime :: Lens.Lens' CreatePipeResponse (Prelude.Maybe Prelude.UTCTime)+createPipeResponse_creationTime = Lens.lens (\CreatePipeResponse' {creationTime} -> creationTime) (\s@CreatePipeResponse' {} a -> s {creationTime = a} :: CreatePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+createPipeResponse_currentState :: Lens.Lens' CreatePipeResponse (Prelude.Maybe PipeState)+createPipeResponse_currentState = Lens.lens (\CreatePipeResponse' {currentState} -> currentState) (\s@CreatePipeResponse' {} a -> s {currentState = a} :: CreatePipeResponse)++-- | The state the pipe should be in.+createPipeResponse_desiredState :: Lens.Lens' CreatePipeResponse (Prelude.Maybe RequestedPipeState)+createPipeResponse_desiredState = Lens.lens (\CreatePipeResponse' {desiredState} -> desiredState) (\s@CreatePipeResponse' {} a -> s {desiredState = a} :: CreatePipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+createPipeResponse_lastModifiedTime :: Lens.Lens' CreatePipeResponse (Prelude.Maybe Prelude.UTCTime)+createPipeResponse_lastModifiedTime = Lens.lens (\CreatePipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@CreatePipeResponse' {} a -> s {lastModifiedTime = a} :: CreatePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+createPipeResponse_name :: Lens.Lens' CreatePipeResponse (Prelude.Maybe Prelude.Text)+createPipeResponse_name = Lens.lens (\CreatePipeResponse' {name} -> name) (\s@CreatePipeResponse' {} a -> s {name = a} :: CreatePipeResponse)++-- | The response's http status code.+createPipeResponse_httpStatus :: Lens.Lens' CreatePipeResponse Prelude.Int+createPipeResponse_httpStatus = Lens.lens (\CreatePipeResponse' {httpStatus} -> httpStatus) (\s@CreatePipeResponse' {} a -> s {httpStatus = a} :: CreatePipeResponse)++instance Prelude.NFData CreatePipeResponse where+  rnf CreatePipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/DeletePipe.hs view
@@ -0,0 +1,222 @@+{-# 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.Pipes.DeletePipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an existing pipe. For more information about pipes, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html Amazon EventBridge Pipes>+-- in the Amazon EventBridge User Guide.+module Amazonka.Pipes.DeletePipe+  ( -- * Creating a Request+    DeletePipe (..),+    newDeletePipe,++    -- * Request Lenses+    deletePipe_name,++    -- * Destructuring the Response+    DeletePipeResponse (..),+    newDeletePipeResponse,++    -- * Response Lenses+    deletePipeResponse_arn,+    deletePipeResponse_creationTime,+    deletePipeResponse_currentState,+    deletePipeResponse_desiredState,+    deletePipeResponse_lastModifiedTime,+    deletePipeResponse_name,+    deletePipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePipe' smart constructor.+data DeletePipe = DeletePipe'+  { -- | The name of the pipe.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deletePipe_name' - The name of the pipe.+newDeletePipe ::+  -- | 'name'+  Prelude.Text ->+  DeletePipe+newDeletePipe pName_ = DeletePipe' {name = pName_}++-- | The name of the pipe.+deletePipe_name :: Lens.Lens' DeletePipe Prelude.Text+deletePipe_name = Lens.lens (\DeletePipe' {name} -> name) (\s@DeletePipe' {} a -> s {name = a} :: DeletePipe)++instance Core.AWSRequest DeletePipe where+  type AWSResponse DeletePipe = DeletePipeResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeletePipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeletePipe where+  hashWithSalt _salt DeletePipe' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeletePipe where+  rnf DeletePipe' {..} = Prelude.rnf name++instance Data.ToHeaders DeletePipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeletePipe where+  toPath DeletePipe' {..} =+    Prelude.mconcat ["/v1/pipes/", Data.toBS name]++instance Data.ToQuery DeletePipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePipeResponse' smart constructor.+data DeletePipeResponse = DeletePipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeStateDescribeResponse,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: 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 'DeletePipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deletePipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'deletePipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'deletePipeResponse_currentState' - The state the pipe is in.+--+-- 'desiredState', 'deletePipeResponse_desiredState' - The state the pipe should be in.+--+-- 'lastModifiedTime', 'deletePipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'deletePipeResponse_name' - The name of the pipe.+--+-- 'httpStatus', 'deletePipeResponse_httpStatus' - The response's http status code.+newDeletePipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeletePipeResponse+newDeletePipeResponse pHttpStatus_ =+  DeletePipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+deletePipeResponse_arn :: Lens.Lens' DeletePipeResponse (Prelude.Maybe Prelude.Text)+deletePipeResponse_arn = Lens.lens (\DeletePipeResponse' {arn} -> arn) (\s@DeletePipeResponse' {} a -> s {arn = a} :: DeletePipeResponse)++-- | The time the pipe was created.+deletePipeResponse_creationTime :: Lens.Lens' DeletePipeResponse (Prelude.Maybe Prelude.UTCTime)+deletePipeResponse_creationTime = Lens.lens (\DeletePipeResponse' {creationTime} -> creationTime) (\s@DeletePipeResponse' {} a -> s {creationTime = a} :: DeletePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+deletePipeResponse_currentState :: Lens.Lens' DeletePipeResponse (Prelude.Maybe PipeState)+deletePipeResponse_currentState = Lens.lens (\DeletePipeResponse' {currentState} -> currentState) (\s@DeletePipeResponse' {} a -> s {currentState = a} :: DeletePipeResponse)++-- | The state the pipe should be in.+deletePipeResponse_desiredState :: Lens.Lens' DeletePipeResponse (Prelude.Maybe RequestedPipeStateDescribeResponse)+deletePipeResponse_desiredState = Lens.lens (\DeletePipeResponse' {desiredState} -> desiredState) (\s@DeletePipeResponse' {} a -> s {desiredState = a} :: DeletePipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+deletePipeResponse_lastModifiedTime :: Lens.Lens' DeletePipeResponse (Prelude.Maybe Prelude.UTCTime)+deletePipeResponse_lastModifiedTime = Lens.lens (\DeletePipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DeletePipeResponse' {} a -> s {lastModifiedTime = a} :: DeletePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+deletePipeResponse_name :: Lens.Lens' DeletePipeResponse (Prelude.Maybe Prelude.Text)+deletePipeResponse_name = Lens.lens (\DeletePipeResponse' {name} -> name) (\s@DeletePipeResponse' {} a -> s {name = a} :: DeletePipeResponse)++-- | The response's http status code.+deletePipeResponse_httpStatus :: Lens.Lens' DeletePipeResponse Prelude.Int+deletePipeResponse_httpStatus = Lens.lens (\DeletePipeResponse' {httpStatus} -> httpStatus) (\s@DeletePipeResponse' {} a -> s {httpStatus = a} :: DeletePipeResponse)++instance Prelude.NFData DeletePipeResponse where+  rnf DeletePipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/DescribePipe.hs view
@@ -0,0 +1,343 @@+{-# 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.Pipes.DescribePipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the information about an existing pipe. For more information about+-- pipes, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html Amazon EventBridge Pipes>+-- in the Amazon EventBridge User Guide.+module Amazonka.Pipes.DescribePipe+  ( -- * Creating a Request+    DescribePipe (..),+    newDescribePipe,++    -- * Request Lenses+    describePipe_name,++    -- * Destructuring the Response+    DescribePipeResponse (..),+    newDescribePipeResponse,++    -- * Response Lenses+    describePipeResponse_arn,+    describePipeResponse_creationTime,+    describePipeResponse_currentState,+    describePipeResponse_description,+    describePipeResponse_desiredState,+    describePipeResponse_enrichment,+    describePipeResponse_enrichmentParameters,+    describePipeResponse_lastModifiedTime,+    describePipeResponse_name,+    describePipeResponse_roleArn,+    describePipeResponse_source,+    describePipeResponse_sourceParameters,+    describePipeResponse_stateReason,+    describePipeResponse_tags,+    describePipeResponse_target,+    describePipeResponse_targetParameters,+    describePipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePipe' smart constructor.+data DescribePipe = DescribePipe'+  { -- | The name of the pipe.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'describePipe_name' - The name of the pipe.+newDescribePipe ::+  -- | 'name'+  Prelude.Text ->+  DescribePipe+newDescribePipe pName_ = DescribePipe' {name = pName_}++-- | The name of the pipe.+describePipe_name :: Lens.Lens' DescribePipe Prelude.Text+describePipe_name = Lens.lens (\DescribePipe' {name} -> name) (\s@DescribePipe' {} a -> s {name = a} :: DescribePipe)++instance Core.AWSRequest DescribePipe where+  type AWSResponse DescribePipe = DescribePipeResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "Enrichment")+            Prelude.<*> (x Data..?> "EnrichmentParameters")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RoleArn")+            Prelude.<*> (x Data..?> "Source")+            Prelude.<*> (x Data..?> "SourceParameters")+            Prelude.<*> (x Data..?> "StateReason")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Target")+            Prelude.<*> (x Data..?> "TargetParameters")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribePipe where+  hashWithSalt _salt DescribePipe' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DescribePipe where+  rnf DescribePipe' {..} = Prelude.rnf name++instance Data.ToHeaders DescribePipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePipe where+  toPath DescribePipe' {..} =+    Prelude.mconcat ["/v1/pipes/", Data.toBS name]++instance Data.ToQuery DescribePipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePipeResponse' smart constructor.+data DescribePipeResponse = DescribePipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | A description of the pipe.+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeStateDescribeResponse,+    -- | The ARN of the enrichment resource.+    enrichment :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up enrichment on your pipe.+    enrichmentParameters :: Prelude.Maybe PipeEnrichmentParameters,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the role that allows the pipe to send data to the target.+    roleArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the source resource.+    source :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up a source for your pipe.+    sourceParameters :: Prelude.Maybe PipeSourceParameters,+    -- | The reason the pipe is in its current state.+    stateReason :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value pairs to associate with the pipe.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The ARN of the target resource.+    target :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up a target for your pipe.+    targetParameters :: Prelude.Maybe PipeTargetParameters,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describePipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'describePipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'describePipeResponse_currentState' - The state the pipe is in.+--+-- 'description', 'describePipeResponse_description' - A description of the pipe.+--+-- 'desiredState', 'describePipeResponse_desiredState' - The state the pipe should be in.+--+-- 'enrichment', 'describePipeResponse_enrichment' - The ARN of the enrichment resource.+--+-- 'enrichmentParameters', 'describePipeResponse_enrichmentParameters' - The parameters required to set up enrichment on your pipe.+--+-- 'lastModifiedTime', 'describePipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'describePipeResponse_name' - The name of the pipe.+--+-- 'roleArn', 'describePipeResponse_roleArn' - The ARN of the role that allows the pipe to send data to the target.+--+-- 'source', 'describePipeResponse_source' - The ARN of the source resource.+--+-- 'sourceParameters', 'describePipeResponse_sourceParameters' - The parameters required to set up a source for your pipe.+--+-- 'stateReason', 'describePipeResponse_stateReason' - The reason the pipe is in its current state.+--+-- 'tags', 'describePipeResponse_tags' - The list of key-value pairs to associate with the pipe.+--+-- 'target', 'describePipeResponse_target' - The ARN of the target resource.+--+-- 'targetParameters', 'describePipeResponse_targetParameters' - The parameters required to set up a target for your pipe.+--+-- 'httpStatus', 'describePipeResponse_httpStatus' - The response's http status code.+newDescribePipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribePipeResponse+newDescribePipeResponse pHttpStatus_ =+  DescribePipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      description = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      enrichment = Prelude.Nothing,+      enrichmentParameters = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      roleArn = Prelude.Nothing,+      source = Prelude.Nothing,+      sourceParameters = Prelude.Nothing,+      stateReason = Prelude.Nothing,+      tags = Prelude.Nothing,+      target = Prelude.Nothing,+      targetParameters = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+describePipeResponse_arn :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_arn = Lens.lens (\DescribePipeResponse' {arn} -> arn) (\s@DescribePipeResponse' {} a -> s {arn = a} :: DescribePipeResponse)++-- | The time the pipe was created.+describePipeResponse_creationTime :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.UTCTime)+describePipeResponse_creationTime = Lens.lens (\DescribePipeResponse' {creationTime} -> creationTime) (\s@DescribePipeResponse' {} a -> s {creationTime = a} :: DescribePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+describePipeResponse_currentState :: Lens.Lens' DescribePipeResponse (Prelude.Maybe PipeState)+describePipeResponse_currentState = Lens.lens (\DescribePipeResponse' {currentState} -> currentState) (\s@DescribePipeResponse' {} a -> s {currentState = a} :: DescribePipeResponse)++-- | A description of the pipe.+describePipeResponse_description :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_description = Lens.lens (\DescribePipeResponse' {description} -> description) (\s@DescribePipeResponse' {} a -> s {description = a} :: DescribePipeResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The state the pipe should be in.+describePipeResponse_desiredState :: Lens.Lens' DescribePipeResponse (Prelude.Maybe RequestedPipeStateDescribeResponse)+describePipeResponse_desiredState = Lens.lens (\DescribePipeResponse' {desiredState} -> desiredState) (\s@DescribePipeResponse' {} a -> s {desiredState = a} :: DescribePipeResponse)++-- | The ARN of the enrichment resource.+describePipeResponse_enrichment :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_enrichment = Lens.lens (\DescribePipeResponse' {enrichment} -> enrichment) (\s@DescribePipeResponse' {} a -> s {enrichment = a} :: DescribePipeResponse)++-- | The parameters required to set up enrichment on your pipe.+describePipeResponse_enrichmentParameters :: Lens.Lens' DescribePipeResponse (Prelude.Maybe PipeEnrichmentParameters)+describePipeResponse_enrichmentParameters = Lens.lens (\DescribePipeResponse' {enrichmentParameters} -> enrichmentParameters) (\s@DescribePipeResponse' {} a -> s {enrichmentParameters = a} :: DescribePipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+describePipeResponse_lastModifiedTime :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.UTCTime)+describePipeResponse_lastModifiedTime = Lens.lens (\DescribePipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DescribePipeResponse' {} a -> s {lastModifiedTime = a} :: DescribePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+describePipeResponse_name :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_name = Lens.lens (\DescribePipeResponse' {name} -> name) (\s@DescribePipeResponse' {} a -> s {name = a} :: DescribePipeResponse)++-- | The ARN of the role that allows the pipe to send data to the target.+describePipeResponse_roleArn :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_roleArn = Lens.lens (\DescribePipeResponse' {roleArn} -> roleArn) (\s@DescribePipeResponse' {} a -> s {roleArn = a} :: DescribePipeResponse)++-- | The ARN of the source resource.+describePipeResponse_source :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_source = Lens.lens (\DescribePipeResponse' {source} -> source) (\s@DescribePipeResponse' {} a -> s {source = a} :: DescribePipeResponse)++-- | The parameters required to set up a source for your pipe.+describePipeResponse_sourceParameters :: Lens.Lens' DescribePipeResponse (Prelude.Maybe PipeSourceParameters)+describePipeResponse_sourceParameters = Lens.lens (\DescribePipeResponse' {sourceParameters} -> sourceParameters) (\s@DescribePipeResponse' {} a -> s {sourceParameters = a} :: DescribePipeResponse)++-- | The reason the pipe is in its current state.+describePipeResponse_stateReason :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_stateReason = Lens.lens (\DescribePipeResponse' {stateReason} -> stateReason) (\s@DescribePipeResponse' {} a -> s {stateReason = a} :: DescribePipeResponse)++-- | The list of key-value pairs to associate with the pipe.+describePipeResponse_tags :: Lens.Lens' DescribePipeResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describePipeResponse_tags = Lens.lens (\DescribePipeResponse' {tags} -> tags) (\s@DescribePipeResponse' {} a -> s {tags = a} :: DescribePipeResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the target resource.+describePipeResponse_target :: Lens.Lens' DescribePipeResponse (Prelude.Maybe Prelude.Text)+describePipeResponse_target = Lens.lens (\DescribePipeResponse' {target} -> target) (\s@DescribePipeResponse' {} a -> s {target = a} :: DescribePipeResponse)++-- | The parameters required to set up a target for your pipe.+describePipeResponse_targetParameters :: Lens.Lens' DescribePipeResponse (Prelude.Maybe PipeTargetParameters)+describePipeResponse_targetParameters = Lens.lens (\DescribePipeResponse' {targetParameters} -> targetParameters) (\s@DescribePipeResponse' {} a -> s {targetParameters = a} :: DescribePipeResponse)++-- | The response's http status code.+describePipeResponse_httpStatus :: Lens.Lens' DescribePipeResponse Prelude.Int+describePipeResponse_httpStatus = Lens.lens (\DescribePipeResponse' {httpStatus} -> httpStatus) (\s@DescribePipeResponse' {} a -> s {httpStatus = a} :: DescribePipeResponse)++instance Prelude.NFData DescribePipeResponse where+  rnf DescribePipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf enrichment+      `Prelude.seq` Prelude.rnf enrichmentParameters+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf sourceParameters+      `Prelude.seq` Prelude.rnf stateReason+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf target+      `Prelude.seq` Prelude.rnf targetParameters+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/Lens.hs view
@@ -0,0 +1,542 @@+{-# 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.Pipes.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.Pipes.Lens+  ( -- * Operations++    -- ** CreatePipe+    createPipe_description,+    createPipe_desiredState,+    createPipe_enrichment,+    createPipe_enrichmentParameters,+    createPipe_sourceParameters,+    createPipe_tags,+    createPipe_targetParameters,+    createPipe_name,+    createPipe_roleArn,+    createPipe_source,+    createPipe_target,+    createPipeResponse_arn,+    createPipeResponse_creationTime,+    createPipeResponse_currentState,+    createPipeResponse_desiredState,+    createPipeResponse_lastModifiedTime,+    createPipeResponse_name,+    createPipeResponse_httpStatus,++    -- ** DeletePipe+    deletePipe_name,+    deletePipeResponse_arn,+    deletePipeResponse_creationTime,+    deletePipeResponse_currentState,+    deletePipeResponse_desiredState,+    deletePipeResponse_lastModifiedTime,+    deletePipeResponse_name,+    deletePipeResponse_httpStatus,++    -- ** DescribePipe+    describePipe_name,+    describePipeResponse_arn,+    describePipeResponse_creationTime,+    describePipeResponse_currentState,+    describePipeResponse_description,+    describePipeResponse_desiredState,+    describePipeResponse_enrichment,+    describePipeResponse_enrichmentParameters,+    describePipeResponse_lastModifiedTime,+    describePipeResponse_name,+    describePipeResponse_roleArn,+    describePipeResponse_source,+    describePipeResponse_sourceParameters,+    describePipeResponse_stateReason,+    describePipeResponse_tags,+    describePipeResponse_target,+    describePipeResponse_targetParameters,+    describePipeResponse_httpStatus,++    -- ** ListPipes+    listPipes_currentState,+    listPipes_desiredState,+    listPipes_limit,+    listPipes_namePrefix,+    listPipes_nextToken,+    listPipes_sourcePrefix,+    listPipes_targetPrefix,+    listPipesResponse_nextToken,+    listPipesResponse_pipes,+    listPipesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartPipe+    startPipe_name,+    startPipeResponse_arn,+    startPipeResponse_creationTime,+    startPipeResponse_currentState,+    startPipeResponse_desiredState,+    startPipeResponse_lastModifiedTime,+    startPipeResponse_name,+    startPipeResponse_httpStatus,++    -- ** StopPipe+    stopPipe_name,+    stopPipeResponse_arn,+    stopPipeResponse_creationTime,+    stopPipeResponse_currentState,+    stopPipeResponse_desiredState,+    stopPipeResponse_lastModifiedTime,+    stopPipeResponse_name,+    stopPipeResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdatePipe+    updatePipe_description,+    updatePipe_desiredState,+    updatePipe_enrichment,+    updatePipe_enrichmentParameters,+    updatePipe_sourceParameters,+    updatePipe_target,+    updatePipe_targetParameters,+    updatePipe_name,+    updatePipe_roleArn,+    updatePipeResponse_arn,+    updatePipeResponse_creationTime,+    updatePipeResponse_currentState,+    updatePipeResponse_desiredState,+    updatePipeResponse_lastModifiedTime,+    updatePipeResponse_name,+    updatePipeResponse_httpStatus,++    -- * Types++    -- ** AwsVpcConfiguration+    awsVpcConfiguration_assignPublicIp,+    awsVpcConfiguration_securityGroups,+    awsVpcConfiguration_subnets,++    -- ** BatchArrayProperties+    batchArrayProperties_size,++    -- ** BatchContainerOverrides+    batchContainerOverrides_command,+    batchContainerOverrides_environment,+    batchContainerOverrides_instanceType,+    batchContainerOverrides_resourceRequirements,++    -- ** BatchEnvironmentVariable+    batchEnvironmentVariable_name,+    batchEnvironmentVariable_value,++    -- ** BatchJobDependency+    batchJobDependency_jobId,+    batchJobDependency_type,++    -- ** BatchResourceRequirement+    batchResourceRequirement_type,+    batchResourceRequirement_value,++    -- ** BatchRetryStrategy+    batchRetryStrategy_attempts,++    -- ** CapacityProviderStrategyItem+    capacityProviderStrategyItem_base,+    capacityProviderStrategyItem_weight,+    capacityProviderStrategyItem_capacityProvider,++    -- ** DeadLetterConfig+    deadLetterConfig_arn,++    -- ** EcsContainerOverride+    ecsContainerOverride_command,+    ecsContainerOverride_cpu,+    ecsContainerOverride_environment,+    ecsContainerOverride_environmentFiles,+    ecsContainerOverride_memory,+    ecsContainerOverride_memoryReservation,+    ecsContainerOverride_name,+    ecsContainerOverride_resourceRequirements,++    -- ** EcsEnvironmentFile+    ecsEnvironmentFile_type,+    ecsEnvironmentFile_value,++    -- ** EcsEnvironmentVariable+    ecsEnvironmentVariable_name,+    ecsEnvironmentVariable_value,++    -- ** EcsEphemeralStorage+    ecsEphemeralStorage_sizeInGiB,++    -- ** EcsInferenceAcceleratorOverride+    ecsInferenceAcceleratorOverride_deviceName,+    ecsInferenceAcceleratorOverride_deviceType,++    -- ** EcsResourceRequirement+    ecsResourceRequirement_type,+    ecsResourceRequirement_value,++    -- ** EcsTaskOverride+    ecsTaskOverride_containerOverrides,+    ecsTaskOverride_cpu,+    ecsTaskOverride_ephemeralStorage,+    ecsTaskOverride_executionRoleArn,+    ecsTaskOverride_inferenceAcceleratorOverrides,+    ecsTaskOverride_memory,+    ecsTaskOverride_taskRoleArn,++    -- ** Filter+    filter_pattern,++    -- ** FilterCriteria+    filterCriteria_filters,++    -- ** MQBrokerAccessCredentials+    mQBrokerAccessCredentials_basicAuth,++    -- ** MSKAccessCredentials+    mSKAccessCredentials_clientCertificateTlsAuth,+    mSKAccessCredentials_saslScram512Auth,++    -- ** NetworkConfiguration+    networkConfiguration_awsvpcConfiguration,++    -- ** Pipe+    pipe_arn,+    pipe_creationTime,+    pipe_currentState,+    pipe_desiredState,+    pipe_enrichment,+    pipe_lastModifiedTime,+    pipe_name,+    pipe_source,+    pipe_stateReason,+    pipe_target,++    -- ** PipeEnrichmentHttpParameters+    pipeEnrichmentHttpParameters_headerParameters,+    pipeEnrichmentHttpParameters_pathParameterValues,+    pipeEnrichmentHttpParameters_queryStringParameters,++    -- ** PipeEnrichmentParameters+    pipeEnrichmentParameters_httpParameters,+    pipeEnrichmentParameters_inputTemplate,++    -- ** PipeSourceActiveMQBrokerParameters+    pipeSourceActiveMQBrokerParameters_batchSize,+    pipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds,+    pipeSourceActiveMQBrokerParameters_credentials,+    pipeSourceActiveMQBrokerParameters_queueName,++    -- ** PipeSourceDynamoDBStreamParameters+    pipeSourceDynamoDBStreamParameters_batchSize,+    pipeSourceDynamoDBStreamParameters_deadLetterConfig,+    pipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds,+    pipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds,+    pipeSourceDynamoDBStreamParameters_maximumRetryAttempts,+    pipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure,+    pipeSourceDynamoDBStreamParameters_parallelizationFactor,+    pipeSourceDynamoDBStreamParameters_startingPosition,++    -- ** PipeSourceKinesisStreamParameters+    pipeSourceKinesisStreamParameters_batchSize,+    pipeSourceKinesisStreamParameters_deadLetterConfig,+    pipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds,+    pipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds,+    pipeSourceKinesisStreamParameters_maximumRetryAttempts,+    pipeSourceKinesisStreamParameters_onPartialBatchItemFailure,+    pipeSourceKinesisStreamParameters_parallelizationFactor,+    pipeSourceKinesisStreamParameters_startingPositionTimestamp,+    pipeSourceKinesisStreamParameters_startingPosition,++    -- ** PipeSourceManagedStreamingKafkaParameters+    pipeSourceManagedStreamingKafkaParameters_batchSize,+    pipeSourceManagedStreamingKafkaParameters_consumerGroupID,+    pipeSourceManagedStreamingKafkaParameters_credentials,+    pipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds,+    pipeSourceManagedStreamingKafkaParameters_startingPosition,+    pipeSourceManagedStreamingKafkaParameters_topicName,++    -- ** PipeSourceParameters+    pipeSourceParameters_activeMQBrokerParameters,+    pipeSourceParameters_dynamoDBStreamParameters,+    pipeSourceParameters_filterCriteria,+    pipeSourceParameters_kinesisStreamParameters,+    pipeSourceParameters_managedStreamingKafkaParameters,+    pipeSourceParameters_rabbitMQBrokerParameters,+    pipeSourceParameters_selfManagedKafkaParameters,+    pipeSourceParameters_sqsQueueParameters,++    -- ** PipeSourceRabbitMQBrokerParameters+    pipeSourceRabbitMQBrokerParameters_batchSize,+    pipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds,+    pipeSourceRabbitMQBrokerParameters_virtualHost,+    pipeSourceRabbitMQBrokerParameters_credentials,+    pipeSourceRabbitMQBrokerParameters_queueName,++    -- ** PipeSourceSelfManagedKafkaParameters+    pipeSourceSelfManagedKafkaParameters_additionalBootstrapServers,+    pipeSourceSelfManagedKafkaParameters_batchSize,+    pipeSourceSelfManagedKafkaParameters_consumerGroupID,+    pipeSourceSelfManagedKafkaParameters_credentials,+    pipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds,+    pipeSourceSelfManagedKafkaParameters_serverRootCaCertificate,+    pipeSourceSelfManagedKafkaParameters_startingPosition,+    pipeSourceSelfManagedKafkaParameters_vpc,+    pipeSourceSelfManagedKafkaParameters_topicName,++    -- ** PipeSourceSqsQueueParameters+    pipeSourceSqsQueueParameters_batchSize,+    pipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds,++    -- ** PipeTargetBatchJobParameters+    pipeTargetBatchJobParameters_arrayProperties,+    pipeTargetBatchJobParameters_containerOverrides,+    pipeTargetBatchJobParameters_dependsOn,+    pipeTargetBatchJobParameters_parameters,+    pipeTargetBatchJobParameters_retryStrategy,+    pipeTargetBatchJobParameters_jobDefinition,+    pipeTargetBatchJobParameters_jobName,++    -- ** PipeTargetCloudWatchLogsParameters+    pipeTargetCloudWatchLogsParameters_logStreamName,+    pipeTargetCloudWatchLogsParameters_timestamp,++    -- ** PipeTargetEcsTaskParameters+    pipeTargetEcsTaskParameters_capacityProviderStrategy,+    pipeTargetEcsTaskParameters_enableECSManagedTags,+    pipeTargetEcsTaskParameters_enableExecuteCommand,+    pipeTargetEcsTaskParameters_group,+    pipeTargetEcsTaskParameters_launchType,+    pipeTargetEcsTaskParameters_networkConfiguration,+    pipeTargetEcsTaskParameters_overrides,+    pipeTargetEcsTaskParameters_placementConstraints,+    pipeTargetEcsTaskParameters_placementStrategy,+    pipeTargetEcsTaskParameters_platformVersion,+    pipeTargetEcsTaskParameters_propagateTags,+    pipeTargetEcsTaskParameters_referenceId,+    pipeTargetEcsTaskParameters_tags,+    pipeTargetEcsTaskParameters_taskCount,+    pipeTargetEcsTaskParameters_taskDefinitionArn,++    -- ** PipeTargetEventBridgeEventBusParameters+    pipeTargetEventBridgeEventBusParameters_detailType,+    pipeTargetEventBridgeEventBusParameters_endpointId,+    pipeTargetEventBridgeEventBusParameters_resources,+    pipeTargetEventBridgeEventBusParameters_source,+    pipeTargetEventBridgeEventBusParameters_time,++    -- ** PipeTargetHttpParameters+    pipeTargetHttpParameters_headerParameters,+    pipeTargetHttpParameters_pathParameterValues,+    pipeTargetHttpParameters_queryStringParameters,++    -- ** PipeTargetKinesisStreamParameters+    pipeTargetKinesisStreamParameters_partitionKey,++    -- ** PipeTargetLambdaFunctionParameters+    pipeTargetLambdaFunctionParameters_invocationType,++    -- ** PipeTargetParameters+    pipeTargetParameters_batchJobParameters,+    pipeTargetParameters_cloudWatchLogsParameters,+    pipeTargetParameters_ecsTaskParameters,+    pipeTargetParameters_eventBridgeEventBusParameters,+    pipeTargetParameters_httpParameters,+    pipeTargetParameters_inputTemplate,+    pipeTargetParameters_kinesisStreamParameters,+    pipeTargetParameters_lambdaFunctionParameters,+    pipeTargetParameters_redshiftDataParameters,+    pipeTargetParameters_sageMakerPipelineParameters,+    pipeTargetParameters_sqsQueueParameters,+    pipeTargetParameters_stepFunctionStateMachineParameters,++    -- ** PipeTargetRedshiftDataParameters+    pipeTargetRedshiftDataParameters_dbUser,+    pipeTargetRedshiftDataParameters_secretManagerArn,+    pipeTargetRedshiftDataParameters_statementName,+    pipeTargetRedshiftDataParameters_withEvent,+    pipeTargetRedshiftDataParameters_database,+    pipeTargetRedshiftDataParameters_sqls,++    -- ** PipeTargetSageMakerPipelineParameters+    pipeTargetSageMakerPipelineParameters_pipelineParameterList,++    -- ** PipeTargetSqsQueueParameters+    pipeTargetSqsQueueParameters_messageDeduplicationId,+    pipeTargetSqsQueueParameters_messageGroupId,++    -- ** PipeTargetStateMachineParameters+    pipeTargetStateMachineParameters_invocationType,++    -- ** PlacementConstraint+    placementConstraint_expression,+    placementConstraint_type,++    -- ** PlacementStrategy+    placementStrategy_field,+    placementStrategy_type,++    -- ** SageMakerPipelineParameter+    sageMakerPipelineParameter_name,+    sageMakerPipelineParameter_value,++    -- ** SelfManagedKafkaAccessConfigurationCredentials+    selfManagedKafkaAccessConfigurationCredentials_basicAuth,+    selfManagedKafkaAccessConfigurationCredentials_clientCertificateTlsAuth,+    selfManagedKafkaAccessConfigurationCredentials_saslScram256Auth,+    selfManagedKafkaAccessConfigurationCredentials_saslScram512Auth,++    -- ** SelfManagedKafkaAccessConfigurationVpc+    selfManagedKafkaAccessConfigurationVpc_securityGroup,+    selfManagedKafkaAccessConfigurationVpc_subnets,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** UpdatePipeSourceActiveMQBrokerParameters+    updatePipeSourceActiveMQBrokerParameters_batchSize,+    updatePipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceActiveMQBrokerParameters_credentials,++    -- ** UpdatePipeSourceDynamoDBStreamParameters+    updatePipeSourceDynamoDBStreamParameters_batchSize,+    updatePipeSourceDynamoDBStreamParameters_deadLetterConfig,+    updatePipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds,+    updatePipeSourceDynamoDBStreamParameters_maximumRetryAttempts,+    updatePipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure,+    updatePipeSourceDynamoDBStreamParameters_parallelizationFactor,++    -- ** UpdatePipeSourceKinesisStreamParameters+    updatePipeSourceKinesisStreamParameters_batchSize,+    updatePipeSourceKinesisStreamParameters_deadLetterConfig,+    updatePipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds,+    updatePipeSourceKinesisStreamParameters_maximumRetryAttempts,+    updatePipeSourceKinesisStreamParameters_onPartialBatchItemFailure,+    updatePipeSourceKinesisStreamParameters_parallelizationFactor,++    -- ** UpdatePipeSourceManagedStreamingKafkaParameters+    updatePipeSourceManagedStreamingKafkaParameters_batchSize,+    updatePipeSourceManagedStreamingKafkaParameters_credentials,+    updatePipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds,++    -- ** UpdatePipeSourceParameters+    updatePipeSourceParameters_activeMQBrokerParameters,+    updatePipeSourceParameters_dynamoDBStreamParameters,+    updatePipeSourceParameters_filterCriteria,+    updatePipeSourceParameters_kinesisStreamParameters,+    updatePipeSourceParameters_managedStreamingKafkaParameters,+    updatePipeSourceParameters_rabbitMQBrokerParameters,+    updatePipeSourceParameters_selfManagedKafkaParameters,+    updatePipeSourceParameters_sqsQueueParameters,++    -- ** UpdatePipeSourceRabbitMQBrokerParameters+    updatePipeSourceRabbitMQBrokerParameters_batchSize,+    updatePipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceRabbitMQBrokerParameters_credentials,++    -- ** UpdatePipeSourceSelfManagedKafkaParameters+    updatePipeSourceSelfManagedKafkaParameters_batchSize,+    updatePipeSourceSelfManagedKafkaParameters_credentials,+    updatePipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceSelfManagedKafkaParameters_serverRootCaCertificate,+    updatePipeSourceSelfManagedKafkaParameters_vpc,++    -- ** UpdatePipeSourceSqsQueueParameters+    updatePipeSourceSqsQueueParameters_batchSize,+    updatePipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds,+  )+where++import Amazonka.Pipes.CreatePipe+import Amazonka.Pipes.DeletePipe+import Amazonka.Pipes.DescribePipe+import Amazonka.Pipes.ListPipes+import Amazonka.Pipes.ListTagsForResource+import Amazonka.Pipes.StartPipe+import Amazonka.Pipes.StopPipe+import Amazonka.Pipes.TagResource+import Amazonka.Pipes.Types.AwsVpcConfiguration+import Amazonka.Pipes.Types.BatchArrayProperties+import Amazonka.Pipes.Types.BatchContainerOverrides+import Amazonka.Pipes.Types.BatchEnvironmentVariable+import Amazonka.Pipes.Types.BatchJobDependency+import Amazonka.Pipes.Types.BatchResourceRequirement+import Amazonka.Pipes.Types.BatchRetryStrategy+import Amazonka.Pipes.Types.CapacityProviderStrategyItem+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.EcsContainerOverride+import Amazonka.Pipes.Types.EcsEnvironmentFile+import Amazonka.Pipes.Types.EcsEnvironmentVariable+import Amazonka.Pipes.Types.EcsEphemeralStorage+import Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride+import Amazonka.Pipes.Types.EcsResourceRequirement+import Amazonka.Pipes.Types.EcsTaskOverride+import Amazonka.Pipes.Types.Filter+import Amazonka.Pipes.Types.FilterCriteria+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import Amazonka.Pipes.Types.MSKAccessCredentials+import Amazonka.Pipes.Types.NetworkConfiguration+import Amazonka.Pipes.Types.Pipe+import Amazonka.Pipes.Types.PipeEnrichmentHttpParameters+import Amazonka.Pipes.Types.PipeEnrichmentParameters+import Amazonka.Pipes.Types.PipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.PipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.PipeSourceParameters+import Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.PipeSourceSqsQueueParameters+import Amazonka.Pipes.Types.PipeTargetBatchJobParameters+import Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters+import Amazonka.Pipes.Types.PipeTargetEcsTaskParameters+import Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters+import Amazonka.Pipes.Types.PipeTargetHttpParameters+import Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters+import Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters+import Amazonka.Pipes.Types.PipeTargetParameters+import Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters+import Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters+import Amazonka.Pipes.Types.PipeTargetSqsQueueParameters+import Amazonka.Pipes.Types.PipeTargetStateMachineParameters+import Amazonka.Pipes.Types.PlacementConstraint+import Amazonka.Pipes.Types.PlacementStrategy+import Amazonka.Pipes.Types.SageMakerPipelineParameter+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+import Amazonka.Pipes.Types.Tag+import Amazonka.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceParameters+import Amazonka.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters+import Amazonka.Pipes.UntagResource+import Amazonka.Pipes.UpdatePipe
+ gen/Amazonka/Pipes/ListPipes.hs view
@@ -0,0 +1,306 @@+{-# 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.Pipes.ListPipes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the pipes associated with this account. For more information about+-- pipes, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html Amazon EventBridge Pipes>+-- in the Amazon EventBridge User Guide.+--+-- This operation returns paginated results.+module Amazonka.Pipes.ListPipes+  ( -- * Creating a Request+    ListPipes (..),+    newListPipes,++    -- * Request Lenses+    listPipes_currentState,+    listPipes_desiredState,+    listPipes_limit,+    listPipes_namePrefix,+    listPipes_nextToken,+    listPipes_sourcePrefix,+    listPipes_targetPrefix,++    -- * Destructuring the Response+    ListPipesResponse (..),+    newListPipesResponse,++    -- * Response Lenses+    listPipesResponse_nextToken,+    listPipesResponse_pipes,+    listPipesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPipes' smart constructor.+data ListPipes = ListPipes'+  { -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | The maximum number of pipes to include in the response.+    limit :: Prelude.Maybe Prelude.Natural,+    -- | A value that will return a subset of the pipes associated with this+    -- account. For example, @\"NamePrefix\": \"ABC\"@ will return all+    -- endpoints with \"ABC\" in the name.+    namePrefix :: Prelude.Maybe Prelude.Text,+    -- | If @nextToken@ is returned, there are more results available. The value+    -- of @nextToken@ is a unique pagination token for each page. Make the call+    -- again using the returned token to retrieve the next page. Keep all other+    -- arguments unchanged. Each pagination token expires after 24 hours. Using+    -- an expired pagination token will return an HTTP 400 InvalidToken error.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The prefix matching the pipe source.+    sourcePrefix :: Prelude.Maybe Prelude.Text,+    -- | The prefix matching the pipe target.+    targetPrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPipes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentState', 'listPipes_currentState' - The state the pipe is in.+--+-- 'desiredState', 'listPipes_desiredState' - The state the pipe should be in.+--+-- 'limit', 'listPipes_limit' - The maximum number of pipes to include in the response.+--+-- 'namePrefix', 'listPipes_namePrefix' - A value that will return a subset of the pipes associated with this+-- account. For example, @\"NamePrefix\": \"ABC\"@ will return all+-- endpoints with \"ABC\" in the name.+--+-- 'nextToken', 'listPipes_nextToken' - If @nextToken@ is returned, there are more results available. The value+-- of @nextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours. Using+-- an expired pagination token will return an HTTP 400 InvalidToken error.+--+-- 'sourcePrefix', 'listPipes_sourcePrefix' - The prefix matching the pipe source.+--+-- 'targetPrefix', 'listPipes_targetPrefix' - The prefix matching the pipe target.+newListPipes ::+  ListPipes+newListPipes =+  ListPipes'+    { currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      limit = Prelude.Nothing,+      namePrefix = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sourcePrefix = Prelude.Nothing,+      targetPrefix = Prelude.Nothing+    }++-- | The state the pipe is in.+listPipes_currentState :: Lens.Lens' ListPipes (Prelude.Maybe PipeState)+listPipes_currentState = Lens.lens (\ListPipes' {currentState} -> currentState) (\s@ListPipes' {} a -> s {currentState = a} :: ListPipes)++-- | The state the pipe should be in.+listPipes_desiredState :: Lens.Lens' ListPipes (Prelude.Maybe RequestedPipeState)+listPipes_desiredState = Lens.lens (\ListPipes' {desiredState} -> desiredState) (\s@ListPipes' {} a -> s {desiredState = a} :: ListPipes)++-- | The maximum number of pipes to include in the response.+listPipes_limit :: Lens.Lens' ListPipes (Prelude.Maybe Prelude.Natural)+listPipes_limit = Lens.lens (\ListPipes' {limit} -> limit) (\s@ListPipes' {} a -> s {limit = a} :: ListPipes)++-- | A value that will return a subset of the pipes associated with this+-- account. For example, @\"NamePrefix\": \"ABC\"@ will return all+-- endpoints with \"ABC\" in the name.+listPipes_namePrefix :: Lens.Lens' ListPipes (Prelude.Maybe Prelude.Text)+listPipes_namePrefix = Lens.lens (\ListPipes' {namePrefix} -> namePrefix) (\s@ListPipes' {} a -> s {namePrefix = a} :: ListPipes)++-- | If @nextToken@ is returned, there are more results available. The value+-- of @nextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours. Using+-- an expired pagination token will return an HTTP 400 InvalidToken error.+listPipes_nextToken :: Lens.Lens' ListPipes (Prelude.Maybe Prelude.Text)+listPipes_nextToken = Lens.lens (\ListPipes' {nextToken} -> nextToken) (\s@ListPipes' {} a -> s {nextToken = a} :: ListPipes) Prelude.. Lens.mapping Data._Sensitive++-- | The prefix matching the pipe source.+listPipes_sourcePrefix :: Lens.Lens' ListPipes (Prelude.Maybe Prelude.Text)+listPipes_sourcePrefix = Lens.lens (\ListPipes' {sourcePrefix} -> sourcePrefix) (\s@ListPipes' {} a -> s {sourcePrefix = a} :: ListPipes)++-- | The prefix matching the pipe target.+listPipes_targetPrefix :: Lens.Lens' ListPipes (Prelude.Maybe Prelude.Text)+listPipes_targetPrefix = Lens.lens (\ListPipes' {targetPrefix} -> targetPrefix) (\s@ListPipes' {} a -> s {targetPrefix = a} :: ListPipes)++instance Core.AWSPager ListPipes where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPipesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPipesResponse_pipes+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPipes_nextToken+          Lens..~ rs+          Lens.^? listPipesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPipes where+  type AWSResponse ListPipes = ListPipesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPipesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Pipes" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPipes where+  hashWithSalt _salt ListPipes' {..} =+    _salt+      `Prelude.hashWithSalt` currentState+      `Prelude.hashWithSalt` desiredState+      `Prelude.hashWithSalt` limit+      `Prelude.hashWithSalt` namePrefix+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sourcePrefix+      `Prelude.hashWithSalt` targetPrefix++instance Prelude.NFData ListPipes where+  rnf ListPipes' {..} =+    Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf limit+      `Prelude.seq` Prelude.rnf namePrefix+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sourcePrefix+      `Prelude.seq` Prelude.rnf targetPrefix++instance Data.ToHeaders ListPipes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListPipes where+  toPath = Prelude.const "/v1/pipes"++instance Data.ToQuery ListPipes where+  toQuery ListPipes' {..} =+    Prelude.mconcat+      [ "CurrentState" Data.=: currentState,+        "DesiredState" Data.=: desiredState,+        "Limit" Data.=: limit,+        "NamePrefix" Data.=: namePrefix,+        "NextToken" Data.=: nextToken,+        "SourcePrefix" Data.=: sourcePrefix,+        "TargetPrefix" Data.=: targetPrefix+      ]++-- | /See:/ 'newListPipesResponse' smart constructor.+data ListPipesResponse = ListPipesResponse'+  { -- | If @nextToken@ is returned, there are more results available. The value+    -- of @nextToken@ is a unique pagination token for each page. Make the call+    -- again using the returned token to retrieve the next page. Keep all other+    -- arguments unchanged. Each pagination token expires after 24 hours. Using+    -- an expired pagination token will return an HTTP 400 InvalidToken error.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The pipes returned by the call.+    pipes :: Prelude.Maybe [Pipe],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPipesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPipesResponse_nextToken' - If @nextToken@ is returned, there are more results available. The value+-- of @nextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours. Using+-- an expired pagination token will return an HTTP 400 InvalidToken error.+--+-- 'pipes', 'listPipesResponse_pipes' - The pipes returned by the call.+--+-- 'httpStatus', 'listPipesResponse_httpStatus' - The response's http status code.+newListPipesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPipesResponse+newListPipesResponse pHttpStatus_ =+  ListPipesResponse'+    { nextToken = Prelude.Nothing,+      pipes = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If @nextToken@ is returned, there are more results available. The value+-- of @nextToken@ is a unique pagination token for each page. Make the call+-- again using the returned token to retrieve the next page. Keep all other+-- arguments unchanged. Each pagination token expires after 24 hours. Using+-- an expired pagination token will return an HTTP 400 InvalidToken error.+listPipesResponse_nextToken :: Lens.Lens' ListPipesResponse (Prelude.Maybe Prelude.Text)+listPipesResponse_nextToken = Lens.lens (\ListPipesResponse' {nextToken} -> nextToken) (\s@ListPipesResponse' {} a -> s {nextToken = a} :: ListPipesResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The pipes returned by the call.+listPipesResponse_pipes :: Lens.Lens' ListPipesResponse (Prelude.Maybe [Pipe])+listPipesResponse_pipes = Lens.lens (\ListPipesResponse' {pipes} -> pipes) (\s@ListPipesResponse' {} a -> s {pipes = a} :: ListPipesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPipesResponse_httpStatus :: Lens.Lens' ListPipesResponse Prelude.Int+listPipesResponse_httpStatus = Lens.lens (\ListPipesResponse' {httpStatus} -> httpStatus) (\s@ListPipesResponse' {} a -> s {httpStatus = a} :: ListPipesResponse)++instance Prelude.NFData ListPipesResponse where+  rnf ListPipesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf pipes+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# 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.Pipes.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays the tags associated with a pipe.+module Amazonka.Pipes.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The ARN of the pipe for which you want to view tags.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The ARN of the pipe for which you want to view tags.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of the pipe for which you want to view tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The list of key-value pairs to associate with the pipe.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of key-value pairs to associate with the pipe.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of key-value pairs to associate with the pipe.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/StartPipe.hs view
@@ -0,0 +1,224 @@+{-# 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.Pipes.StartPipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Start an existing pipe.+module Amazonka.Pipes.StartPipe+  ( -- * Creating a Request+    StartPipe (..),+    newStartPipe,++    -- * Request Lenses+    startPipe_name,++    -- * Destructuring the Response+    StartPipeResponse (..),+    newStartPipeResponse,++    -- * Response Lenses+    startPipeResponse_arn,+    startPipeResponse_creationTime,+    startPipeResponse_currentState,+    startPipeResponse_desiredState,+    startPipeResponse_lastModifiedTime,+    startPipeResponse_name,+    startPipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartPipe' smart constructor.+data StartPipe = StartPipe'+  { -- | The name of the pipe.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartPipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'startPipe_name' - The name of the pipe.+newStartPipe ::+  -- | 'name'+  Prelude.Text ->+  StartPipe+newStartPipe pName_ = StartPipe' {name = pName_}++-- | The name of the pipe.+startPipe_name :: Lens.Lens' StartPipe Prelude.Text+startPipe_name = Lens.lens (\StartPipe' {name} -> name) (\s@StartPipe' {} a -> s {name = a} :: StartPipe)++instance Core.AWSRequest StartPipe where+  type AWSResponse StartPipe = StartPipeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartPipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartPipe where+  hashWithSalt _salt StartPipe' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData StartPipe where+  rnf StartPipe' {..} = Prelude.rnf name++instance Data.ToHeaders StartPipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartPipe where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StartPipe where+  toPath StartPipe' {..} =+    Prelude.mconcat+      ["/v1/pipes/", Data.toBS name, "/start"]++instance Data.ToQuery StartPipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartPipeResponse' smart constructor.+data StartPipeResponse = StartPipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: 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 'StartPipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'startPipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'startPipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'startPipeResponse_currentState' - The state the pipe is in.+--+-- 'desiredState', 'startPipeResponse_desiredState' - The state the pipe should be in.+--+-- 'lastModifiedTime', 'startPipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'startPipeResponse_name' - The name of the pipe.+--+-- 'httpStatus', 'startPipeResponse_httpStatus' - The response's http status code.+newStartPipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartPipeResponse+newStartPipeResponse pHttpStatus_ =+  StartPipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+startPipeResponse_arn :: Lens.Lens' StartPipeResponse (Prelude.Maybe Prelude.Text)+startPipeResponse_arn = Lens.lens (\StartPipeResponse' {arn} -> arn) (\s@StartPipeResponse' {} a -> s {arn = a} :: StartPipeResponse)++-- | The time the pipe was created.+startPipeResponse_creationTime :: Lens.Lens' StartPipeResponse (Prelude.Maybe Prelude.UTCTime)+startPipeResponse_creationTime = Lens.lens (\StartPipeResponse' {creationTime} -> creationTime) (\s@StartPipeResponse' {} a -> s {creationTime = a} :: StartPipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+startPipeResponse_currentState :: Lens.Lens' StartPipeResponse (Prelude.Maybe PipeState)+startPipeResponse_currentState = Lens.lens (\StartPipeResponse' {currentState} -> currentState) (\s@StartPipeResponse' {} a -> s {currentState = a} :: StartPipeResponse)++-- | The state the pipe should be in.+startPipeResponse_desiredState :: Lens.Lens' StartPipeResponse (Prelude.Maybe RequestedPipeState)+startPipeResponse_desiredState = Lens.lens (\StartPipeResponse' {desiredState} -> desiredState) (\s@StartPipeResponse' {} a -> s {desiredState = a} :: StartPipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+startPipeResponse_lastModifiedTime :: Lens.Lens' StartPipeResponse (Prelude.Maybe Prelude.UTCTime)+startPipeResponse_lastModifiedTime = Lens.lens (\StartPipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@StartPipeResponse' {} a -> s {lastModifiedTime = a} :: StartPipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+startPipeResponse_name :: Lens.Lens' StartPipeResponse (Prelude.Maybe Prelude.Text)+startPipeResponse_name = Lens.lens (\StartPipeResponse' {name} -> name) (\s@StartPipeResponse' {} a -> s {name = a} :: StartPipeResponse)++-- | The response's http status code.+startPipeResponse_httpStatus :: Lens.Lens' StartPipeResponse Prelude.Int+startPipeResponse_httpStatus = Lens.lens (\StartPipeResponse' {httpStatus} -> httpStatus) (\s@StartPipeResponse' {} a -> s {httpStatus = a} :: StartPipeResponse)++instance Prelude.NFData StartPipeResponse where+  rnf StartPipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/StopPipe.hs view
@@ -0,0 +1,224 @@+{-# 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.Pipes.StopPipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stop an existing pipe.+module Amazonka.Pipes.StopPipe+  ( -- * Creating a Request+    StopPipe (..),+    newStopPipe,++    -- * Request Lenses+    stopPipe_name,++    -- * Destructuring the Response+    StopPipeResponse (..),+    newStopPipeResponse,++    -- * Response Lenses+    stopPipeResponse_arn,+    stopPipeResponse_creationTime,+    stopPipeResponse_currentState,+    stopPipeResponse_desiredState,+    stopPipeResponse_lastModifiedTime,+    stopPipeResponse_name,+    stopPipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopPipe' smart constructor.+data StopPipe = StopPipe'+  { -- | The name of the pipe.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopPipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'stopPipe_name' - The name of the pipe.+newStopPipe ::+  -- | 'name'+  Prelude.Text ->+  StopPipe+newStopPipe pName_ = StopPipe' {name = pName_}++-- | The name of the pipe.+stopPipe_name :: Lens.Lens' StopPipe Prelude.Text+stopPipe_name = Lens.lens (\StopPipe' {name} -> name) (\s@StopPipe' {} a -> s {name = a} :: StopPipe)++instance Core.AWSRequest StopPipe where+  type AWSResponse StopPipe = StopPipeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopPipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopPipe where+  hashWithSalt _salt StopPipe' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData StopPipe where+  rnf StopPipe' {..} = Prelude.rnf name++instance Data.ToHeaders StopPipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopPipe where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopPipe where+  toPath StopPipe' {..} =+    Prelude.mconcat+      ["/v1/pipes/", Data.toBS name, "/stop"]++instance Data.ToQuery StopPipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopPipeResponse' smart constructor.+data StopPipeResponse = StopPipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: 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 'StopPipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'stopPipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'stopPipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'stopPipeResponse_currentState' - The state the pipe is in.+--+-- 'desiredState', 'stopPipeResponse_desiredState' - The state the pipe should be in.+--+-- 'lastModifiedTime', 'stopPipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'stopPipeResponse_name' - The name of the pipe.+--+-- 'httpStatus', 'stopPipeResponse_httpStatus' - The response's http status code.+newStopPipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopPipeResponse+newStopPipeResponse pHttpStatus_ =+  StopPipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+stopPipeResponse_arn :: Lens.Lens' StopPipeResponse (Prelude.Maybe Prelude.Text)+stopPipeResponse_arn = Lens.lens (\StopPipeResponse' {arn} -> arn) (\s@StopPipeResponse' {} a -> s {arn = a} :: StopPipeResponse)++-- | The time the pipe was created.+stopPipeResponse_creationTime :: Lens.Lens' StopPipeResponse (Prelude.Maybe Prelude.UTCTime)+stopPipeResponse_creationTime = Lens.lens (\StopPipeResponse' {creationTime} -> creationTime) (\s@StopPipeResponse' {} a -> s {creationTime = a} :: StopPipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+stopPipeResponse_currentState :: Lens.Lens' StopPipeResponse (Prelude.Maybe PipeState)+stopPipeResponse_currentState = Lens.lens (\StopPipeResponse' {currentState} -> currentState) (\s@StopPipeResponse' {} a -> s {currentState = a} :: StopPipeResponse)++-- | The state the pipe should be in.+stopPipeResponse_desiredState :: Lens.Lens' StopPipeResponse (Prelude.Maybe RequestedPipeState)+stopPipeResponse_desiredState = Lens.lens (\StopPipeResponse' {desiredState} -> desiredState) (\s@StopPipeResponse' {} a -> s {desiredState = a} :: StopPipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+stopPipeResponse_lastModifiedTime :: Lens.Lens' StopPipeResponse (Prelude.Maybe Prelude.UTCTime)+stopPipeResponse_lastModifiedTime = Lens.lens (\StopPipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@StopPipeResponse' {} a -> s {lastModifiedTime = a} :: StopPipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+stopPipeResponse_name :: Lens.Lens' StopPipeResponse (Prelude.Maybe Prelude.Text)+stopPipeResponse_name = Lens.lens (\StopPipeResponse' {name} -> name) (\s@StopPipeResponse' {} a -> s {name = a} :: StopPipeResponse)++-- | The response's http status code.+stopPipeResponse_httpStatus :: Lens.Lens' StopPipeResponse Prelude.Int+stopPipeResponse_httpStatus = Lens.lens (\StopPipeResponse' {httpStatus} -> httpStatus) (\s@StopPipeResponse' {} a -> s {httpStatus = a} :: StopPipeResponse)++instance Prelude.NFData StopPipeResponse where+  rnf StopPipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/TagResource.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Assigns one or more tags (key-value pairs) to the specified pipe. Tags+-- can help you organize and categorize your resources. You can also use+-- them to scope user permissions by granting a user permission to access+-- or change only resources with certain tag values.+--+-- Tags don\'t have any semantic meaning to Amazon Web Services and are+-- interpreted strictly as strings of characters.+--+-- You can use the @TagResource@ action with a pipe that already has tags.+-- If you specify a new tag key, this tag is appended to the list of tags+-- associated with the pipe. If you specify a tag key that is already+-- associated with the pipe, the new tag value that you specify replaces+-- the previous value for that tag.+--+-- You can associate as many as 50 tags with a pipe.+module Amazonka.Pipes.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The ARN of the pipe.+    resourceArn :: Prelude.Text,+    -- | The list of key-value pairs associated with the pipe.+    tags :: Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The ARN of the pipe.+--+-- 'tags', 'tagResource_tags' - The list of key-value pairs associated with the pipe.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The ARN of the pipe.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The list of key-value pairs associated with the pipe.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/Types.hs view
@@ -0,0 +1,737 @@+{-# 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.Pipes.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.Pipes.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _ConflictException,+    _InternalException,+    _NotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AssignPublicIp+    AssignPublicIp (..),++    -- * BatchJobDependencyType+    BatchJobDependencyType (..),++    -- * BatchResourceRequirementType+    BatchResourceRequirementType (..),++    -- * DynamoDBStreamStartPosition+    DynamoDBStreamStartPosition (..),++    -- * EcsEnvironmentFileType+    EcsEnvironmentFileType (..),++    -- * EcsResourceRequirementType+    EcsResourceRequirementType (..),++    -- * KinesisStreamStartPosition+    KinesisStreamStartPosition (..),++    -- * LaunchType+    LaunchType (..),++    -- * MSKStartPosition+    MSKStartPosition (..),++    -- * OnPartialBatchItemFailureStreams+    OnPartialBatchItemFailureStreams (..),++    -- * PipeState+    PipeState (..),++    -- * PipeTargetInvocationType+    PipeTargetInvocationType (..),++    -- * PlacementConstraintType+    PlacementConstraintType (..),++    -- * PlacementStrategyType+    PlacementStrategyType (..),++    -- * PropagateTags+    PropagateTags (..),++    -- * RequestedPipeState+    RequestedPipeState (..),++    -- * RequestedPipeStateDescribeResponse+    RequestedPipeStateDescribeResponse (..),++    -- * SelfManagedKafkaStartPosition+    SelfManagedKafkaStartPosition (..),++    -- * AwsVpcConfiguration+    AwsVpcConfiguration (..),+    newAwsVpcConfiguration,+    awsVpcConfiguration_assignPublicIp,+    awsVpcConfiguration_securityGroups,+    awsVpcConfiguration_subnets,++    -- * BatchArrayProperties+    BatchArrayProperties (..),+    newBatchArrayProperties,+    batchArrayProperties_size,++    -- * BatchContainerOverrides+    BatchContainerOverrides (..),+    newBatchContainerOverrides,+    batchContainerOverrides_command,+    batchContainerOverrides_environment,+    batchContainerOverrides_instanceType,+    batchContainerOverrides_resourceRequirements,++    -- * BatchEnvironmentVariable+    BatchEnvironmentVariable (..),+    newBatchEnvironmentVariable,+    batchEnvironmentVariable_name,+    batchEnvironmentVariable_value,++    -- * BatchJobDependency+    BatchJobDependency (..),+    newBatchJobDependency,+    batchJobDependency_jobId,+    batchJobDependency_type,++    -- * BatchResourceRequirement+    BatchResourceRequirement (..),+    newBatchResourceRequirement,+    batchResourceRequirement_type,+    batchResourceRequirement_value,++    -- * BatchRetryStrategy+    BatchRetryStrategy (..),+    newBatchRetryStrategy,+    batchRetryStrategy_attempts,++    -- * CapacityProviderStrategyItem+    CapacityProviderStrategyItem (..),+    newCapacityProviderStrategyItem,+    capacityProviderStrategyItem_base,+    capacityProviderStrategyItem_weight,+    capacityProviderStrategyItem_capacityProvider,++    -- * DeadLetterConfig+    DeadLetterConfig (..),+    newDeadLetterConfig,+    deadLetterConfig_arn,++    -- * EcsContainerOverride+    EcsContainerOverride (..),+    newEcsContainerOverride,+    ecsContainerOverride_command,+    ecsContainerOverride_cpu,+    ecsContainerOverride_environment,+    ecsContainerOverride_environmentFiles,+    ecsContainerOverride_memory,+    ecsContainerOverride_memoryReservation,+    ecsContainerOverride_name,+    ecsContainerOverride_resourceRequirements,++    -- * EcsEnvironmentFile+    EcsEnvironmentFile (..),+    newEcsEnvironmentFile,+    ecsEnvironmentFile_type,+    ecsEnvironmentFile_value,++    -- * EcsEnvironmentVariable+    EcsEnvironmentVariable (..),+    newEcsEnvironmentVariable,+    ecsEnvironmentVariable_name,+    ecsEnvironmentVariable_value,++    -- * EcsEphemeralStorage+    EcsEphemeralStorage (..),+    newEcsEphemeralStorage,+    ecsEphemeralStorage_sizeInGiB,++    -- * EcsInferenceAcceleratorOverride+    EcsInferenceAcceleratorOverride (..),+    newEcsInferenceAcceleratorOverride,+    ecsInferenceAcceleratorOverride_deviceName,+    ecsInferenceAcceleratorOverride_deviceType,++    -- * EcsResourceRequirement+    EcsResourceRequirement (..),+    newEcsResourceRequirement,+    ecsResourceRequirement_type,+    ecsResourceRequirement_value,++    -- * EcsTaskOverride+    EcsTaskOverride (..),+    newEcsTaskOverride,+    ecsTaskOverride_containerOverrides,+    ecsTaskOverride_cpu,+    ecsTaskOverride_ephemeralStorage,+    ecsTaskOverride_executionRoleArn,+    ecsTaskOverride_inferenceAcceleratorOverrides,+    ecsTaskOverride_memory,+    ecsTaskOverride_taskRoleArn,++    -- * Filter+    Filter (..),+    newFilter,+    filter_pattern,++    -- * FilterCriteria+    FilterCriteria (..),+    newFilterCriteria,+    filterCriteria_filters,++    -- * MQBrokerAccessCredentials+    MQBrokerAccessCredentials (..),+    newMQBrokerAccessCredentials,+    mQBrokerAccessCredentials_basicAuth,++    -- * MSKAccessCredentials+    MSKAccessCredentials (..),+    newMSKAccessCredentials,+    mSKAccessCredentials_clientCertificateTlsAuth,+    mSKAccessCredentials_saslScram512Auth,++    -- * NetworkConfiguration+    NetworkConfiguration (..),+    newNetworkConfiguration,+    networkConfiguration_awsvpcConfiguration,++    -- * Pipe+    Pipe (..),+    newPipe,+    pipe_arn,+    pipe_creationTime,+    pipe_currentState,+    pipe_desiredState,+    pipe_enrichment,+    pipe_lastModifiedTime,+    pipe_name,+    pipe_source,+    pipe_stateReason,+    pipe_target,++    -- * PipeEnrichmentHttpParameters+    PipeEnrichmentHttpParameters (..),+    newPipeEnrichmentHttpParameters,+    pipeEnrichmentHttpParameters_headerParameters,+    pipeEnrichmentHttpParameters_pathParameterValues,+    pipeEnrichmentHttpParameters_queryStringParameters,++    -- * PipeEnrichmentParameters+    PipeEnrichmentParameters (..),+    newPipeEnrichmentParameters,+    pipeEnrichmentParameters_httpParameters,+    pipeEnrichmentParameters_inputTemplate,++    -- * PipeSourceActiveMQBrokerParameters+    PipeSourceActiveMQBrokerParameters (..),+    newPipeSourceActiveMQBrokerParameters,+    pipeSourceActiveMQBrokerParameters_batchSize,+    pipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds,+    pipeSourceActiveMQBrokerParameters_credentials,+    pipeSourceActiveMQBrokerParameters_queueName,++    -- * PipeSourceDynamoDBStreamParameters+    PipeSourceDynamoDBStreamParameters (..),+    newPipeSourceDynamoDBStreamParameters,+    pipeSourceDynamoDBStreamParameters_batchSize,+    pipeSourceDynamoDBStreamParameters_deadLetterConfig,+    pipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds,+    pipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds,+    pipeSourceDynamoDBStreamParameters_maximumRetryAttempts,+    pipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure,+    pipeSourceDynamoDBStreamParameters_parallelizationFactor,+    pipeSourceDynamoDBStreamParameters_startingPosition,++    -- * PipeSourceKinesisStreamParameters+    PipeSourceKinesisStreamParameters (..),+    newPipeSourceKinesisStreamParameters,+    pipeSourceKinesisStreamParameters_batchSize,+    pipeSourceKinesisStreamParameters_deadLetterConfig,+    pipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds,+    pipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds,+    pipeSourceKinesisStreamParameters_maximumRetryAttempts,+    pipeSourceKinesisStreamParameters_onPartialBatchItemFailure,+    pipeSourceKinesisStreamParameters_parallelizationFactor,+    pipeSourceKinesisStreamParameters_startingPositionTimestamp,+    pipeSourceKinesisStreamParameters_startingPosition,++    -- * PipeSourceManagedStreamingKafkaParameters+    PipeSourceManagedStreamingKafkaParameters (..),+    newPipeSourceManagedStreamingKafkaParameters,+    pipeSourceManagedStreamingKafkaParameters_batchSize,+    pipeSourceManagedStreamingKafkaParameters_consumerGroupID,+    pipeSourceManagedStreamingKafkaParameters_credentials,+    pipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds,+    pipeSourceManagedStreamingKafkaParameters_startingPosition,+    pipeSourceManagedStreamingKafkaParameters_topicName,++    -- * PipeSourceParameters+    PipeSourceParameters (..),+    newPipeSourceParameters,+    pipeSourceParameters_activeMQBrokerParameters,+    pipeSourceParameters_dynamoDBStreamParameters,+    pipeSourceParameters_filterCriteria,+    pipeSourceParameters_kinesisStreamParameters,+    pipeSourceParameters_managedStreamingKafkaParameters,+    pipeSourceParameters_rabbitMQBrokerParameters,+    pipeSourceParameters_selfManagedKafkaParameters,+    pipeSourceParameters_sqsQueueParameters,++    -- * PipeSourceRabbitMQBrokerParameters+    PipeSourceRabbitMQBrokerParameters (..),+    newPipeSourceRabbitMQBrokerParameters,+    pipeSourceRabbitMQBrokerParameters_batchSize,+    pipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds,+    pipeSourceRabbitMQBrokerParameters_virtualHost,+    pipeSourceRabbitMQBrokerParameters_credentials,+    pipeSourceRabbitMQBrokerParameters_queueName,++    -- * PipeSourceSelfManagedKafkaParameters+    PipeSourceSelfManagedKafkaParameters (..),+    newPipeSourceSelfManagedKafkaParameters,+    pipeSourceSelfManagedKafkaParameters_additionalBootstrapServers,+    pipeSourceSelfManagedKafkaParameters_batchSize,+    pipeSourceSelfManagedKafkaParameters_consumerGroupID,+    pipeSourceSelfManagedKafkaParameters_credentials,+    pipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds,+    pipeSourceSelfManagedKafkaParameters_serverRootCaCertificate,+    pipeSourceSelfManagedKafkaParameters_startingPosition,+    pipeSourceSelfManagedKafkaParameters_vpc,+    pipeSourceSelfManagedKafkaParameters_topicName,++    -- * PipeSourceSqsQueueParameters+    PipeSourceSqsQueueParameters (..),+    newPipeSourceSqsQueueParameters,+    pipeSourceSqsQueueParameters_batchSize,+    pipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds,++    -- * PipeTargetBatchJobParameters+    PipeTargetBatchJobParameters (..),+    newPipeTargetBatchJobParameters,+    pipeTargetBatchJobParameters_arrayProperties,+    pipeTargetBatchJobParameters_containerOverrides,+    pipeTargetBatchJobParameters_dependsOn,+    pipeTargetBatchJobParameters_parameters,+    pipeTargetBatchJobParameters_retryStrategy,+    pipeTargetBatchJobParameters_jobDefinition,+    pipeTargetBatchJobParameters_jobName,++    -- * PipeTargetCloudWatchLogsParameters+    PipeTargetCloudWatchLogsParameters (..),+    newPipeTargetCloudWatchLogsParameters,+    pipeTargetCloudWatchLogsParameters_logStreamName,+    pipeTargetCloudWatchLogsParameters_timestamp,++    -- * PipeTargetEcsTaskParameters+    PipeTargetEcsTaskParameters (..),+    newPipeTargetEcsTaskParameters,+    pipeTargetEcsTaskParameters_capacityProviderStrategy,+    pipeTargetEcsTaskParameters_enableECSManagedTags,+    pipeTargetEcsTaskParameters_enableExecuteCommand,+    pipeTargetEcsTaskParameters_group,+    pipeTargetEcsTaskParameters_launchType,+    pipeTargetEcsTaskParameters_networkConfiguration,+    pipeTargetEcsTaskParameters_overrides,+    pipeTargetEcsTaskParameters_placementConstraints,+    pipeTargetEcsTaskParameters_placementStrategy,+    pipeTargetEcsTaskParameters_platformVersion,+    pipeTargetEcsTaskParameters_propagateTags,+    pipeTargetEcsTaskParameters_referenceId,+    pipeTargetEcsTaskParameters_tags,+    pipeTargetEcsTaskParameters_taskCount,+    pipeTargetEcsTaskParameters_taskDefinitionArn,++    -- * PipeTargetEventBridgeEventBusParameters+    PipeTargetEventBridgeEventBusParameters (..),+    newPipeTargetEventBridgeEventBusParameters,+    pipeTargetEventBridgeEventBusParameters_detailType,+    pipeTargetEventBridgeEventBusParameters_endpointId,+    pipeTargetEventBridgeEventBusParameters_resources,+    pipeTargetEventBridgeEventBusParameters_source,+    pipeTargetEventBridgeEventBusParameters_time,++    -- * PipeTargetHttpParameters+    PipeTargetHttpParameters (..),+    newPipeTargetHttpParameters,+    pipeTargetHttpParameters_headerParameters,+    pipeTargetHttpParameters_pathParameterValues,+    pipeTargetHttpParameters_queryStringParameters,++    -- * PipeTargetKinesisStreamParameters+    PipeTargetKinesisStreamParameters (..),+    newPipeTargetKinesisStreamParameters,+    pipeTargetKinesisStreamParameters_partitionKey,++    -- * PipeTargetLambdaFunctionParameters+    PipeTargetLambdaFunctionParameters (..),+    newPipeTargetLambdaFunctionParameters,+    pipeTargetLambdaFunctionParameters_invocationType,++    -- * PipeTargetParameters+    PipeTargetParameters (..),+    newPipeTargetParameters,+    pipeTargetParameters_batchJobParameters,+    pipeTargetParameters_cloudWatchLogsParameters,+    pipeTargetParameters_ecsTaskParameters,+    pipeTargetParameters_eventBridgeEventBusParameters,+    pipeTargetParameters_httpParameters,+    pipeTargetParameters_inputTemplate,+    pipeTargetParameters_kinesisStreamParameters,+    pipeTargetParameters_lambdaFunctionParameters,+    pipeTargetParameters_redshiftDataParameters,+    pipeTargetParameters_sageMakerPipelineParameters,+    pipeTargetParameters_sqsQueueParameters,+    pipeTargetParameters_stepFunctionStateMachineParameters,++    -- * PipeTargetRedshiftDataParameters+    PipeTargetRedshiftDataParameters (..),+    newPipeTargetRedshiftDataParameters,+    pipeTargetRedshiftDataParameters_dbUser,+    pipeTargetRedshiftDataParameters_secretManagerArn,+    pipeTargetRedshiftDataParameters_statementName,+    pipeTargetRedshiftDataParameters_withEvent,+    pipeTargetRedshiftDataParameters_database,+    pipeTargetRedshiftDataParameters_sqls,++    -- * PipeTargetSageMakerPipelineParameters+    PipeTargetSageMakerPipelineParameters (..),+    newPipeTargetSageMakerPipelineParameters,+    pipeTargetSageMakerPipelineParameters_pipelineParameterList,++    -- * PipeTargetSqsQueueParameters+    PipeTargetSqsQueueParameters (..),+    newPipeTargetSqsQueueParameters,+    pipeTargetSqsQueueParameters_messageDeduplicationId,+    pipeTargetSqsQueueParameters_messageGroupId,++    -- * PipeTargetStateMachineParameters+    PipeTargetStateMachineParameters (..),+    newPipeTargetStateMachineParameters,+    pipeTargetStateMachineParameters_invocationType,++    -- * PlacementConstraint+    PlacementConstraint (..),+    newPlacementConstraint,+    placementConstraint_expression,+    placementConstraint_type,++    -- * PlacementStrategy+    PlacementStrategy (..),+    newPlacementStrategy,+    placementStrategy_field,+    placementStrategy_type,++    -- * SageMakerPipelineParameter+    SageMakerPipelineParameter (..),+    newSageMakerPipelineParameter,+    sageMakerPipelineParameter_name,+    sageMakerPipelineParameter_value,++    -- * SelfManagedKafkaAccessConfigurationCredentials+    SelfManagedKafkaAccessConfigurationCredentials (..),+    newSelfManagedKafkaAccessConfigurationCredentials,+    selfManagedKafkaAccessConfigurationCredentials_basicAuth,+    selfManagedKafkaAccessConfigurationCredentials_clientCertificateTlsAuth,+    selfManagedKafkaAccessConfigurationCredentials_saslScram256Auth,+    selfManagedKafkaAccessConfigurationCredentials_saslScram512Auth,++    -- * SelfManagedKafkaAccessConfigurationVpc+    SelfManagedKafkaAccessConfigurationVpc (..),+    newSelfManagedKafkaAccessConfigurationVpc,+    selfManagedKafkaAccessConfigurationVpc_securityGroup,+    selfManagedKafkaAccessConfigurationVpc_subnets,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * UpdatePipeSourceActiveMQBrokerParameters+    UpdatePipeSourceActiveMQBrokerParameters (..),+    newUpdatePipeSourceActiveMQBrokerParameters,+    updatePipeSourceActiveMQBrokerParameters_batchSize,+    updatePipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceActiveMQBrokerParameters_credentials,++    -- * UpdatePipeSourceDynamoDBStreamParameters+    UpdatePipeSourceDynamoDBStreamParameters (..),+    newUpdatePipeSourceDynamoDBStreamParameters,+    updatePipeSourceDynamoDBStreamParameters_batchSize,+    updatePipeSourceDynamoDBStreamParameters_deadLetterConfig,+    updatePipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds,+    updatePipeSourceDynamoDBStreamParameters_maximumRetryAttempts,+    updatePipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure,+    updatePipeSourceDynamoDBStreamParameters_parallelizationFactor,++    -- * UpdatePipeSourceKinesisStreamParameters+    UpdatePipeSourceKinesisStreamParameters (..),+    newUpdatePipeSourceKinesisStreamParameters,+    updatePipeSourceKinesisStreamParameters_batchSize,+    updatePipeSourceKinesisStreamParameters_deadLetterConfig,+    updatePipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds,+    updatePipeSourceKinesisStreamParameters_maximumRetryAttempts,+    updatePipeSourceKinesisStreamParameters_onPartialBatchItemFailure,+    updatePipeSourceKinesisStreamParameters_parallelizationFactor,++    -- * UpdatePipeSourceManagedStreamingKafkaParameters+    UpdatePipeSourceManagedStreamingKafkaParameters (..),+    newUpdatePipeSourceManagedStreamingKafkaParameters,+    updatePipeSourceManagedStreamingKafkaParameters_batchSize,+    updatePipeSourceManagedStreamingKafkaParameters_credentials,+    updatePipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds,++    -- * UpdatePipeSourceParameters+    UpdatePipeSourceParameters (..),+    newUpdatePipeSourceParameters,+    updatePipeSourceParameters_activeMQBrokerParameters,+    updatePipeSourceParameters_dynamoDBStreamParameters,+    updatePipeSourceParameters_filterCriteria,+    updatePipeSourceParameters_kinesisStreamParameters,+    updatePipeSourceParameters_managedStreamingKafkaParameters,+    updatePipeSourceParameters_rabbitMQBrokerParameters,+    updatePipeSourceParameters_selfManagedKafkaParameters,+    updatePipeSourceParameters_sqsQueueParameters,++    -- * UpdatePipeSourceRabbitMQBrokerParameters+    UpdatePipeSourceRabbitMQBrokerParameters (..),+    newUpdatePipeSourceRabbitMQBrokerParameters,+    updatePipeSourceRabbitMQBrokerParameters_batchSize,+    updatePipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceRabbitMQBrokerParameters_credentials,++    -- * UpdatePipeSourceSelfManagedKafkaParameters+    UpdatePipeSourceSelfManagedKafkaParameters (..),+    newUpdatePipeSourceSelfManagedKafkaParameters,+    updatePipeSourceSelfManagedKafkaParameters_batchSize,+    updatePipeSourceSelfManagedKafkaParameters_credentials,+    updatePipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds,+    updatePipeSourceSelfManagedKafkaParameters_serverRootCaCertificate,+    updatePipeSourceSelfManagedKafkaParameters_vpc,++    -- * UpdatePipeSourceSqsQueueParameters+    UpdatePipeSourceSqsQueueParameters (..),+    newUpdatePipeSourceSqsQueueParameters,+    updatePipeSourceSqsQueueParameters_batchSize,+    updatePipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Pipes.Types.AssignPublicIp+import Amazonka.Pipes.Types.AwsVpcConfiguration+import Amazonka.Pipes.Types.BatchArrayProperties+import Amazonka.Pipes.Types.BatchContainerOverrides+import Amazonka.Pipes.Types.BatchEnvironmentVariable+import Amazonka.Pipes.Types.BatchJobDependency+import Amazonka.Pipes.Types.BatchJobDependencyType+import Amazonka.Pipes.Types.BatchResourceRequirement+import Amazonka.Pipes.Types.BatchResourceRequirementType+import Amazonka.Pipes.Types.BatchRetryStrategy+import Amazonka.Pipes.Types.CapacityProviderStrategyItem+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.DynamoDBStreamStartPosition+import Amazonka.Pipes.Types.EcsContainerOverride+import Amazonka.Pipes.Types.EcsEnvironmentFile+import Amazonka.Pipes.Types.EcsEnvironmentFileType+import Amazonka.Pipes.Types.EcsEnvironmentVariable+import Amazonka.Pipes.Types.EcsEphemeralStorage+import Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride+import Amazonka.Pipes.Types.EcsResourceRequirement+import Amazonka.Pipes.Types.EcsResourceRequirementType+import Amazonka.Pipes.Types.EcsTaskOverride+import Amazonka.Pipes.Types.Filter+import Amazonka.Pipes.Types.FilterCriteria+import Amazonka.Pipes.Types.KinesisStreamStartPosition+import Amazonka.Pipes.Types.LaunchType+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import Amazonka.Pipes.Types.MSKAccessCredentials+import Amazonka.Pipes.Types.MSKStartPosition+import Amazonka.Pipes.Types.NetworkConfiguration+import Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+import Amazonka.Pipes.Types.Pipe+import Amazonka.Pipes.Types.PipeEnrichmentHttpParameters+import Amazonka.Pipes.Types.PipeEnrichmentParameters+import Amazonka.Pipes.Types.PipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.PipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.PipeSourceParameters+import Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.PipeSourceSqsQueueParameters+import Amazonka.Pipes.Types.PipeState+import Amazonka.Pipes.Types.PipeTargetBatchJobParameters+import Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters+import Amazonka.Pipes.Types.PipeTargetEcsTaskParameters+import Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters+import Amazonka.Pipes.Types.PipeTargetHttpParameters+import Amazonka.Pipes.Types.PipeTargetInvocationType+import Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters+import Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters+import Amazonka.Pipes.Types.PipeTargetParameters+import Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters+import Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters+import Amazonka.Pipes.Types.PipeTargetSqsQueueParameters+import Amazonka.Pipes.Types.PipeTargetStateMachineParameters+import Amazonka.Pipes.Types.PlacementConstraint+import Amazonka.Pipes.Types.PlacementConstraintType+import Amazonka.Pipes.Types.PlacementStrategy+import Amazonka.Pipes.Types.PlacementStrategyType+import Amazonka.Pipes.Types.PropagateTags+import Amazonka.Pipes.Types.RequestedPipeState+import Amazonka.Pipes.Types.RequestedPipeStateDescribeResponse+import Amazonka.Pipes.Types.SageMakerPipelineParameter+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+import Amazonka.Pipes.Types.SelfManagedKafkaStartPosition+import Amazonka.Pipes.Types.Tag+import Amazonka.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceParameters+import Amazonka.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2015-10-07@ of the Amazon EventBridge Pipes SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Pipes",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "pipes",+      Core.signingName = "pipes",+      Core.version = "2015-10-07",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Pipes",+      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++-- | An action you attempted resulted in an exception.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | This exception occurs due to unexpected causes.+_InternalException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalException =+  Core._MatchServiceError+    defaultService+    "InternalException"+    Prelude.. Core.hasStatus 500++-- | An entity that you specified does not exist.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | A quota has been exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | An action was throttled.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | Indicates that an error has occurred while performing a validate+-- operation.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Pipes/Types/AssignPublicIp.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.Pipes.Types.AssignPublicIp+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.AssignPublicIp+  ( AssignPublicIp+      ( ..,+        AssignPublicIp_DISABLED,+        AssignPublicIp_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssignPublicIp = AssignPublicIp'+  { fromAssignPublicIp ::+      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 AssignPublicIp_DISABLED :: AssignPublicIp+pattern AssignPublicIp_DISABLED = AssignPublicIp' "DISABLED"++pattern AssignPublicIp_ENABLED :: AssignPublicIp+pattern AssignPublicIp_ENABLED = AssignPublicIp' "ENABLED"++{-# COMPLETE+  AssignPublicIp_DISABLED,+  AssignPublicIp_ENABLED,+  AssignPublicIp'+  #-}
+ gen/Amazonka/Pipes/Types/AwsVpcConfiguration.hs view
@@ -0,0 +1,130 @@+{-# 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.Pipes.Types.AwsVpcConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.AwsVpcConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.AssignPublicIp+import qualified Amazonka.Prelude as Prelude++-- | This structure specifies the VPC subnets and security groups for the+-- task, and whether a public IP address is to be used. This structure is+-- relevant only for ECS tasks that use the @awsvpc@ network mode.+--+-- /See:/ 'newAwsVpcConfiguration' smart constructor.+data AwsVpcConfiguration = AwsVpcConfiguration'+  { -- | Specifies whether the task\'s elastic network interface receives a+    -- public IP address. You can specify @ENABLED@ only when @LaunchType@ in+    -- @EcsParameters@ is set to @FARGATE@.+    assignPublicIp :: Prelude.Maybe AssignPublicIp,+    -- | Specifies the security groups associated with the task. These security+    -- groups must all be in the same VPC. You can specify as many as five+    -- security groups. If you do not specify a security group, the default+    -- security group for the VPC is used.+    securityGroups :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | Specifies the subnets associated with the task. These subnets must all+    -- be in the same VPC. You can specify as many as 16 subnets.+    subnets :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsVpcConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignPublicIp', 'awsVpcConfiguration_assignPublicIp' - Specifies whether the task\'s elastic network interface receives a+-- public IP address. You can specify @ENABLED@ only when @LaunchType@ in+-- @EcsParameters@ is set to @FARGATE@.+--+-- 'securityGroups', 'awsVpcConfiguration_securityGroups' - Specifies the security groups associated with the task. These security+-- groups must all be in the same VPC. You can specify as many as five+-- security groups. If you do not specify a security group, the default+-- security group for the VPC is used.+--+-- 'subnets', 'awsVpcConfiguration_subnets' - Specifies the subnets associated with the task. These subnets must all+-- be in the same VPC. You can specify as many as 16 subnets.+newAwsVpcConfiguration ::+  AwsVpcConfiguration+newAwsVpcConfiguration =+  AwsVpcConfiguration'+    { assignPublicIp =+        Prelude.Nothing,+      securityGroups = Prelude.Nothing,+      subnets = Prelude.mempty+    }++-- | Specifies whether the task\'s elastic network interface receives a+-- public IP address. You can specify @ENABLED@ only when @LaunchType@ in+-- @EcsParameters@ is set to @FARGATE@.+awsVpcConfiguration_assignPublicIp :: Lens.Lens' AwsVpcConfiguration (Prelude.Maybe AssignPublicIp)+awsVpcConfiguration_assignPublicIp = Lens.lens (\AwsVpcConfiguration' {assignPublicIp} -> assignPublicIp) (\s@AwsVpcConfiguration' {} a -> s {assignPublicIp = a} :: AwsVpcConfiguration)++-- | Specifies the security groups associated with the task. These security+-- groups must all be in the same VPC. You can specify as many as five+-- security groups. If you do not specify a security group, the default+-- security group for the VPC is used.+awsVpcConfiguration_securityGroups :: Lens.Lens' AwsVpcConfiguration (Prelude.Maybe [Prelude.Text])+awsVpcConfiguration_securityGroups = Lens.lens (\AwsVpcConfiguration' {securityGroups} -> securityGroups) (\s@AwsVpcConfiguration' {} a -> s {securityGroups = a} :: AwsVpcConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the subnets associated with the task. These subnets must all+-- be in the same VPC. You can specify as many as 16 subnets.+awsVpcConfiguration_subnets :: Lens.Lens' AwsVpcConfiguration [Prelude.Text]+awsVpcConfiguration_subnets = Lens.lens (\AwsVpcConfiguration' {subnets} -> subnets) (\s@AwsVpcConfiguration' {} a -> s {subnets = a} :: AwsVpcConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON AwsVpcConfiguration where+  parseJSON =+    Data.withObject+      "AwsVpcConfiguration"+      ( \x ->+          AwsVpcConfiguration'+            Prelude.<$> (x Data..:? "AssignPublicIp")+            Prelude.<*> (x Data..:? "SecurityGroups" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Subnets" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable AwsVpcConfiguration where+  hashWithSalt _salt AwsVpcConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` assignPublicIp+      `Prelude.hashWithSalt` securityGroups+      `Prelude.hashWithSalt` subnets++instance Prelude.NFData AwsVpcConfiguration where+  rnf AwsVpcConfiguration' {..} =+    Prelude.rnf assignPublicIp+      `Prelude.seq` Prelude.rnf securityGroups+      `Prelude.seq` Prelude.rnf subnets++instance Data.ToJSON AwsVpcConfiguration where+  toJSON AwsVpcConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AssignPublicIp" Data..=)+              Prelude.<$> assignPublicIp,+            ("SecurityGroups" Data..=)+              Prelude.<$> securityGroups,+            Prelude.Just ("Subnets" Data..= subnets)+          ]+      )
+ gen/Amazonka/Pipes/Types/BatchArrayProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.BatchArrayProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchArrayProperties 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 array properties for the submitted job, such as the size of the+-- array. The array size can be between 2 and 10,000. If you specify array+-- properties for a job, it becomes an array job. This parameter is used+-- only if the target is an Batch job.+--+-- /See:/ 'newBatchArrayProperties' smart constructor.+data BatchArrayProperties = BatchArrayProperties'+  { -- | The size of the array, if this is an array batch job.+    size :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchArrayProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'size', 'batchArrayProperties_size' - The size of the array, if this is an array batch job.+newBatchArrayProperties ::+  BatchArrayProperties+newBatchArrayProperties =+  BatchArrayProperties' {size = Prelude.Nothing}++-- | The size of the array, if this is an array batch job.+batchArrayProperties_size :: Lens.Lens' BatchArrayProperties (Prelude.Maybe Prelude.Natural)+batchArrayProperties_size = Lens.lens (\BatchArrayProperties' {size} -> size) (\s@BatchArrayProperties' {} a -> s {size = a} :: BatchArrayProperties)++instance Data.FromJSON BatchArrayProperties where+  parseJSON =+    Data.withObject+      "BatchArrayProperties"+      ( \x ->+          BatchArrayProperties'+            Prelude.<$> (x Data..:? "Size")+      )++instance Prelude.Hashable BatchArrayProperties where+  hashWithSalt _salt BatchArrayProperties' {..} =+    _salt `Prelude.hashWithSalt` size++instance Prelude.NFData BatchArrayProperties where+  rnf BatchArrayProperties' {..} = Prelude.rnf size++instance Data.ToJSON BatchArrayProperties where+  toJSON BatchArrayProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Size" Data..=) Prelude.<$> size]+      )
+ gen/Amazonka/Pipes/Types/BatchContainerOverrides.hs view
@@ -0,0 +1,161 @@+{-# 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.Pipes.Types.BatchContainerOverrides+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchContainerOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.BatchEnvironmentVariable+import Amazonka.Pipes.Types.BatchResourceRequirement+import qualified Amazonka.Prelude as Prelude++-- | The overrides that are sent to a container.+--+-- /See:/ 'newBatchContainerOverrides' smart constructor.+data BatchContainerOverrides = BatchContainerOverrides'+  { -- | The command to send to the container that overrides the default command+    -- from the Docker image or the task definition.+    command :: Prelude.Maybe [Prelude.Text],+    -- | The environment variables to send to the container. You can add new+    -- environment variables, which are added to the container at launch, or+    -- you can override the existing environment variables from the Docker+    -- image or the task definition.+    --+    -- Environment variables cannot start with \"@Batch@\". This naming+    -- convention is reserved for variables that Batch sets.+    environment :: Prelude.Maybe [BatchEnvironmentVariable],+    -- | The instance type to use for a multi-node parallel job.+    --+    -- This parameter isn\'t applicable to single-node container jobs or jobs+    -- that run on Fargate resources, and shouldn\'t be provided.+    instanceType :: Prelude.Maybe Prelude.Text,+    -- | The type and amount of resources to assign to a container. This+    -- overrides the settings in the job definition. The supported resources+    -- include @GPU@, @MEMORY@, and @VCPU@.+    resourceRequirements :: Prelude.Maybe [BatchResourceRequirement]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchContainerOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'command', 'batchContainerOverrides_command' - The command to send to the container that overrides the default command+-- from the Docker image or the task definition.+--+-- 'environment', 'batchContainerOverrides_environment' - The environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition.+--+-- Environment variables cannot start with \"@Batch@\". This naming+-- convention is reserved for variables that Batch sets.+--+-- 'instanceType', 'batchContainerOverrides_instanceType' - The instance type to use for a multi-node parallel job.+--+-- This parameter isn\'t applicable to single-node container jobs or jobs+-- that run on Fargate resources, and shouldn\'t be provided.+--+-- 'resourceRequirements', 'batchContainerOverrides_resourceRequirements' - The type and amount of resources to assign to a container. This+-- overrides the settings in the job definition. The supported resources+-- include @GPU@, @MEMORY@, and @VCPU@.+newBatchContainerOverrides ::+  BatchContainerOverrides+newBatchContainerOverrides =+  BatchContainerOverrides'+    { command = Prelude.Nothing,+      environment = Prelude.Nothing,+      instanceType = Prelude.Nothing,+      resourceRequirements = Prelude.Nothing+    }++-- | The command to send to the container that overrides the default command+-- from the Docker image or the task definition.+batchContainerOverrides_command :: Lens.Lens' BatchContainerOverrides (Prelude.Maybe [Prelude.Text])+batchContainerOverrides_command = Lens.lens (\BatchContainerOverrides' {command} -> command) (\s@BatchContainerOverrides' {} a -> s {command = a} :: BatchContainerOverrides) Prelude.. Lens.mapping Lens.coerced++-- | The environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition.+--+-- Environment variables cannot start with \"@Batch@\". This naming+-- convention is reserved for variables that Batch sets.+batchContainerOverrides_environment :: Lens.Lens' BatchContainerOverrides (Prelude.Maybe [BatchEnvironmentVariable])+batchContainerOverrides_environment = Lens.lens (\BatchContainerOverrides' {environment} -> environment) (\s@BatchContainerOverrides' {} a -> s {environment = a} :: BatchContainerOverrides) Prelude.. Lens.mapping Lens.coerced++-- | The instance type to use for a multi-node parallel job.+--+-- This parameter isn\'t applicable to single-node container jobs or jobs+-- that run on Fargate resources, and shouldn\'t be provided.+batchContainerOverrides_instanceType :: Lens.Lens' BatchContainerOverrides (Prelude.Maybe Prelude.Text)+batchContainerOverrides_instanceType = Lens.lens (\BatchContainerOverrides' {instanceType} -> instanceType) (\s@BatchContainerOverrides' {} a -> s {instanceType = a} :: BatchContainerOverrides)++-- | The type and amount of resources to assign to a container. This+-- overrides the settings in the job definition. The supported resources+-- include @GPU@, @MEMORY@, and @VCPU@.+batchContainerOverrides_resourceRequirements :: Lens.Lens' BatchContainerOverrides (Prelude.Maybe [BatchResourceRequirement])+batchContainerOverrides_resourceRequirements = Lens.lens (\BatchContainerOverrides' {resourceRequirements} -> resourceRequirements) (\s@BatchContainerOverrides' {} a -> s {resourceRequirements = a} :: BatchContainerOverrides) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BatchContainerOverrides where+  parseJSON =+    Data.withObject+      "BatchContainerOverrides"+      ( \x ->+          BatchContainerOverrides'+            Prelude.<$> (x Data..:? "Command" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Environment" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "InstanceType")+            Prelude.<*> ( x+                            Data..:? "ResourceRequirements"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable BatchContainerOverrides where+  hashWithSalt _salt BatchContainerOverrides' {..} =+    _salt+      `Prelude.hashWithSalt` command+      `Prelude.hashWithSalt` environment+      `Prelude.hashWithSalt` instanceType+      `Prelude.hashWithSalt` resourceRequirements++instance Prelude.NFData BatchContainerOverrides where+  rnf BatchContainerOverrides' {..} =+    Prelude.rnf command+      `Prelude.seq` Prelude.rnf environment+      `Prelude.seq` Prelude.rnf instanceType+      `Prelude.seq` Prelude.rnf resourceRequirements++instance Data.ToJSON BatchContainerOverrides where+  toJSON BatchContainerOverrides' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Command" Data..=) Prelude.<$> command,+            ("Environment" Data..=) Prelude.<$> environment,+            ("InstanceType" Data..=) Prelude.<$> instanceType,+            ("ResourceRequirements" Data..=)+              Prelude.<$> resourceRequirements+          ]+      )
+ gen/Amazonka/Pipes/Types/BatchEnvironmentVariable.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.Pipes.Types.BatchEnvironmentVariable+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchEnvironmentVariable 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 environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition.+--+-- Environment variables cannot start with \"@Batch@\". This naming+-- convention is reserved for variables that Batch sets.+--+-- /See:/ 'newBatchEnvironmentVariable' smart constructor.+data BatchEnvironmentVariable = BatchEnvironmentVariable'+  { -- | The name of the key-value pair. For environment variables, this is the+    -- name of the environment variable.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value of the key-value pair. For environment variables, this is the+    -- value of the environment variable.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchEnvironmentVariable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'batchEnvironmentVariable_name' - The name of the key-value pair. For environment variables, this is the+-- name of the environment variable.+--+-- 'value', 'batchEnvironmentVariable_value' - The value of the key-value pair. For environment variables, this is the+-- value of the environment variable.+newBatchEnvironmentVariable ::+  BatchEnvironmentVariable+newBatchEnvironmentVariable =+  BatchEnvironmentVariable'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The name of the key-value pair. For environment variables, this is the+-- name of the environment variable.+batchEnvironmentVariable_name :: Lens.Lens' BatchEnvironmentVariable (Prelude.Maybe Prelude.Text)+batchEnvironmentVariable_name = Lens.lens (\BatchEnvironmentVariable' {name} -> name) (\s@BatchEnvironmentVariable' {} a -> s {name = a} :: BatchEnvironmentVariable)++-- | The value of the key-value pair. For environment variables, this is the+-- value of the environment variable.+batchEnvironmentVariable_value :: Lens.Lens' BatchEnvironmentVariable (Prelude.Maybe Prelude.Text)+batchEnvironmentVariable_value = Lens.lens (\BatchEnvironmentVariable' {value} -> value) (\s@BatchEnvironmentVariable' {} a -> s {value = a} :: BatchEnvironmentVariable)++instance Data.FromJSON BatchEnvironmentVariable where+  parseJSON =+    Data.withObject+      "BatchEnvironmentVariable"+      ( \x ->+          BatchEnvironmentVariable'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable BatchEnvironmentVariable where+  hashWithSalt _salt BatchEnvironmentVariable' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData BatchEnvironmentVariable where+  rnf BatchEnvironmentVariable' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON BatchEnvironmentVariable where+  toJSON BatchEnvironmentVariable' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/Pipes/Types/BatchJobDependency.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.Pipes.Types.BatchJobDependency+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchJobDependency where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.BatchJobDependencyType+import qualified Amazonka.Prelude as Prelude++-- | An object that represents an Batch job dependency.+--+-- /See:/ 'newBatchJobDependency' smart constructor.+data BatchJobDependency = BatchJobDependency'+  { -- | The job ID of the Batch job that\'s associated with this dependency.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The type of the job dependency.+    type' :: Prelude.Maybe BatchJobDependencyType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchJobDependency' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'batchJobDependency_jobId' - The job ID of the Batch job that\'s associated with this dependency.+--+-- 'type'', 'batchJobDependency_type' - The type of the job dependency.+newBatchJobDependency ::+  BatchJobDependency+newBatchJobDependency =+  BatchJobDependency'+    { jobId = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The job ID of the Batch job that\'s associated with this dependency.+batchJobDependency_jobId :: Lens.Lens' BatchJobDependency (Prelude.Maybe Prelude.Text)+batchJobDependency_jobId = Lens.lens (\BatchJobDependency' {jobId} -> jobId) (\s@BatchJobDependency' {} a -> s {jobId = a} :: BatchJobDependency)++-- | The type of the job dependency.+batchJobDependency_type :: Lens.Lens' BatchJobDependency (Prelude.Maybe BatchJobDependencyType)+batchJobDependency_type = Lens.lens (\BatchJobDependency' {type'} -> type') (\s@BatchJobDependency' {} a -> s {type' = a} :: BatchJobDependency)++instance Data.FromJSON BatchJobDependency where+  parseJSON =+    Data.withObject+      "BatchJobDependency"+      ( \x ->+          BatchJobDependency'+            Prelude.<$> (x Data..:? "JobId")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable BatchJobDependency where+  hashWithSalt _salt BatchJobDependency' {..} =+    _salt+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` type'++instance Prelude.NFData BatchJobDependency where+  rnf BatchJobDependency' {..} =+    Prelude.rnf jobId `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON BatchJobDependency where+  toJSON BatchJobDependency' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("JobId" Data..=) Prelude.<$> jobId,+            ("Type" Data..=) Prelude.<$> type'+          ]+      )
+ gen/Amazonka/Pipes/Types/BatchJobDependencyType.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.Pipes.Types.BatchJobDependencyType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchJobDependencyType+  ( BatchJobDependencyType+      ( ..,+        BatchJobDependencyType_N_TO_N,+        BatchJobDependencyType_SEQUENTIAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchJobDependencyType = BatchJobDependencyType'+  { fromBatchJobDependencyType ::+      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 BatchJobDependencyType_N_TO_N :: BatchJobDependencyType+pattern BatchJobDependencyType_N_TO_N = BatchJobDependencyType' "N_TO_N"++pattern BatchJobDependencyType_SEQUENTIAL :: BatchJobDependencyType+pattern BatchJobDependencyType_SEQUENTIAL = BatchJobDependencyType' "SEQUENTIAL"++{-# COMPLETE+  BatchJobDependencyType_N_TO_N,+  BatchJobDependencyType_SEQUENTIAL,+  BatchJobDependencyType'+  #-}
+ gen/Amazonka/Pipes/Types/BatchResourceRequirement.hs view
@@ -0,0 +1,494 @@+{-# 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.Pipes.Types.BatchResourceRequirement+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchResourceRequirement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.BatchResourceRequirementType+import qualified Amazonka.Prelude as Prelude++-- | The type and amount of a resource to assign to a container. The+-- supported resources include @GPU@, @MEMORY@, and @VCPU@.+--+-- /See:/ 'newBatchResourceRequirement' smart constructor.+data BatchResourceRequirement = BatchResourceRequirement'+  { -- | The type of resource to assign to a container. The supported resources+    -- include @GPU@, @MEMORY@, and @VCPU@.+    type' :: BatchResourceRequirementType,+    -- | The quantity of the specified resource to reserve for the container. The+    -- values vary based on the @type@ specified.+    --+    -- [type=\"GPU\"]+    --     The number of physical GPUs to reserve for the container. Make sure+    --     that the number of GPUs reserved for all containers in a job+    --     doesn\'t exceed the number of available GPUs on the compute resource+    --     that the job is launched on.+    --+    --     GPUs aren\'t available for jobs that are running on Fargate+    --     resources.+    --+    -- [type=\"MEMORY\"]+    --     The memory hard limit (in MiB) present to the container. This+    --     parameter is supported for jobs that are running on EC2 resources.+    --     If your container attempts to exceed the memory specified, the+    --     container is terminated. This parameter maps to @Memory@ in the+    --     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+    --     section of the+    --     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+    --     the @--memory@ option to+    --     <https://docs.docker.com/engine/reference/run/ docker run>. You must+    --     specify at least 4 MiB of memory for a job. This is required but can+    --     be specified in several places for multi-node parallel (MNP) jobs.+    --     It must be specified for each node at least once. This parameter+    --     maps to @Memory@ in the+    --     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+    --     section of the+    --     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+    --     the @--memory@ option to+    --     <https://docs.docker.com/engine/reference/run/ docker run>.+    --+    --     If you\'re trying to maximize your resource utilization by providing+    --     your jobs as much memory as possible for a particular instance type,+    --     see+    --     <https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html Memory management>+    --     in the /Batch User Guide/.+    --+    --     For jobs that are running on Fargate resources, then @value@ is the+    --     hard limit (in MiB), and must match one of the supported values and+    --     the @VCPU@ values must be one of the values supported for that+    --     memory value.+    --+    --     [value = 512]+    --         @VCPU@ = 0.25+    --+    --     [value = 1024]+    --         @VCPU@ = 0.25 or 0.5+    --+    --     [value = 2048]+    --         @VCPU@ = 0.25, 0.5, or 1+    --+    --     [value = 3072]+    --         @VCPU@ = 0.5, or 1+    --+    --     [value = 4096]+    --         @VCPU@ = 0.5, 1, or 2+    --+    --     [value = 5120, 6144, or 7168]+    --         @VCPU@ = 1 or 2+    --+    --     [value = 8192]+    --         @VCPU@ = 1, 2, 4, or 8+    --+    --     [value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360]+    --         @VCPU@ = 2 or 4+    --+    --     [value = 16384]+    --         @VCPU@ = 2, 4, or 8+    --+    --     [value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720]+    --         @VCPU@ = 4+    --+    --     [value = 20480, 24576, or 28672]+    --         @VCPU@ = 4 or 8+    --+    --     [value = 36864, 45056, 53248, or 61440]+    --         @VCPU@ = 8+    --+    --     [value = 32768, 40960, 49152, or 57344]+    --         @VCPU@ = 8 or 16+    --+    --     [value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880]+    --         @VCPU@ = 16+    --+    -- [type=\"VCPU\"]+    --     The number of vCPUs reserved for the container. This parameter maps+    --     to @CpuShares@ in the+    --     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+    --     section of the+    --     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+    --     the @--cpu-shares@ option to+    --     <https://docs.docker.com/engine/reference/run/ docker run>. Each+    --     vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must+    --     specify at least one vCPU. This is required but can be specified in+    --     several places; it must be specified for each node at least once.+    --+    --     The default for the Fargate On-Demand vCPU resource count quota is 6+    --     vCPUs. For more information about Fargate quotas, see+    --     <https://docs.aws.amazon.com/general/latest/gr/ecs-service.html#service-quotas-fargate Fargate quotas>+    --     in the /Amazon Web Services General Reference/.+    --+    --     For jobs that are running on Fargate resources, then @value@ must+    --     match one of the supported values and the @MEMORY@ values must be+    --     one of the values supported for that @VCPU@ value. The supported+    --     values are 0.25, 0.5, 1, 2, 4, 8, and 16+    --+    --     [value = 0.25]+    --         @MEMORY@ = 512, 1024, or 2048+    --+    --     [value = 0.5]+    --         @MEMORY@ = 1024, 2048, 3072, or 4096+    --+    --     [value = 1]+    --         @MEMORY@ = 2048, 3072, 4096, 5120, 6144, 7168, or 8192+    --+    --     [value = 2]+    --         @MEMORY@ = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264,+    --         12288, 13312, 14336, 15360, or 16384+    --+    --     [value = 4]+    --         @MEMORY@ = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,+    --         16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,+    --         25600, 26624, 27648, 28672, 29696, or 30720+    --+    --     [value = 8]+    --         @MEMORY@ = 16384, 20480, 24576, 28672, 32768, 36864, 40960,+    --         45056, 49152, 53248, 57344, or 61440+    --+    --     [value = 16]+    --         @MEMORY@ = 32768, 40960, 49152, 57344, 65536, 73728, 81920,+    --         90112, 98304, 106496, 114688, or 122880+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchResourceRequirement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'batchResourceRequirement_type' - The type of resource to assign to a container. The supported resources+-- include @GPU@, @MEMORY@, and @VCPU@.+--+-- 'value', 'batchResourceRequirement_value' - The quantity of the specified resource to reserve for the container. The+-- values vary based on the @type@ specified.+--+-- [type=\"GPU\"]+--     The number of physical GPUs to reserve for the container. Make sure+--     that the number of GPUs reserved for all containers in a job+--     doesn\'t exceed the number of available GPUs on the compute resource+--     that the job is launched on.+--+--     GPUs aren\'t available for jobs that are running on Fargate+--     resources.+--+-- [type=\"MEMORY\"]+--     The memory hard limit (in MiB) present to the container. This+--     parameter is supported for jobs that are running on EC2 resources.+--     If your container attempts to exceed the memory specified, the+--     container is terminated. This parameter maps to @Memory@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--memory@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>. You must+--     specify at least 4 MiB of memory for a job. This is required but can+--     be specified in several places for multi-node parallel (MNP) jobs.+--     It must be specified for each node at least once. This parameter+--     maps to @Memory@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--memory@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>.+--+--     If you\'re trying to maximize your resource utilization by providing+--     your jobs as much memory as possible for a particular instance type,+--     see+--     <https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html Memory management>+--     in the /Batch User Guide/.+--+--     For jobs that are running on Fargate resources, then @value@ is the+--     hard limit (in MiB), and must match one of the supported values and+--     the @VCPU@ values must be one of the values supported for that+--     memory value.+--+--     [value = 512]+--         @VCPU@ = 0.25+--+--     [value = 1024]+--         @VCPU@ = 0.25 or 0.5+--+--     [value = 2048]+--         @VCPU@ = 0.25, 0.5, or 1+--+--     [value = 3072]+--         @VCPU@ = 0.5, or 1+--+--     [value = 4096]+--         @VCPU@ = 0.5, 1, or 2+--+--     [value = 5120, 6144, or 7168]+--         @VCPU@ = 1 or 2+--+--     [value = 8192]+--         @VCPU@ = 1, 2, 4, or 8+--+--     [value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360]+--         @VCPU@ = 2 or 4+--+--     [value = 16384]+--         @VCPU@ = 2, 4, or 8+--+--     [value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720]+--         @VCPU@ = 4+--+--     [value = 20480, 24576, or 28672]+--         @VCPU@ = 4 or 8+--+--     [value = 36864, 45056, 53248, or 61440]+--         @VCPU@ = 8+--+--     [value = 32768, 40960, 49152, or 57344]+--         @VCPU@ = 8 or 16+--+--     [value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880]+--         @VCPU@ = 16+--+-- [type=\"VCPU\"]+--     The number of vCPUs reserved for the container. This parameter maps+--     to @CpuShares@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--cpu-shares@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>. Each+--     vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must+--     specify at least one vCPU. This is required but can be specified in+--     several places; it must be specified for each node at least once.+--+--     The default for the Fargate On-Demand vCPU resource count quota is 6+--     vCPUs. For more information about Fargate quotas, see+--     <https://docs.aws.amazon.com/general/latest/gr/ecs-service.html#service-quotas-fargate Fargate quotas>+--     in the /Amazon Web Services General Reference/.+--+--     For jobs that are running on Fargate resources, then @value@ must+--     match one of the supported values and the @MEMORY@ values must be+--     one of the values supported for that @VCPU@ value. The supported+--     values are 0.25, 0.5, 1, 2, 4, 8, and 16+--+--     [value = 0.25]+--         @MEMORY@ = 512, 1024, or 2048+--+--     [value = 0.5]+--         @MEMORY@ = 1024, 2048, 3072, or 4096+--+--     [value = 1]+--         @MEMORY@ = 2048, 3072, 4096, 5120, 6144, 7168, or 8192+--+--     [value = 2]+--         @MEMORY@ = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264,+--         12288, 13312, 14336, 15360, or 16384+--+--     [value = 4]+--         @MEMORY@ = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,+--         16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,+--         25600, 26624, 27648, 28672, 29696, or 30720+--+--     [value = 8]+--         @MEMORY@ = 16384, 20480, 24576, 28672, 32768, 36864, 40960,+--         45056, 49152, 53248, 57344, or 61440+--+--     [value = 16]+--         @MEMORY@ = 32768, 40960, 49152, 57344, 65536, 73728, 81920,+--         90112, 98304, 106496, 114688, or 122880+newBatchResourceRequirement ::+  -- | 'type''+  BatchResourceRequirementType ->+  -- | 'value'+  Prelude.Text ->+  BatchResourceRequirement+newBatchResourceRequirement pType_ pValue_ =+  BatchResourceRequirement'+    { type' = pType_,+      value = pValue_+    }++-- | The type of resource to assign to a container. The supported resources+-- include @GPU@, @MEMORY@, and @VCPU@.+batchResourceRequirement_type :: Lens.Lens' BatchResourceRequirement BatchResourceRequirementType+batchResourceRequirement_type = Lens.lens (\BatchResourceRequirement' {type'} -> type') (\s@BatchResourceRequirement' {} a -> s {type' = a} :: BatchResourceRequirement)++-- | The quantity of the specified resource to reserve for the container. The+-- values vary based on the @type@ specified.+--+-- [type=\"GPU\"]+--     The number of physical GPUs to reserve for the container. Make sure+--     that the number of GPUs reserved for all containers in a job+--     doesn\'t exceed the number of available GPUs on the compute resource+--     that the job is launched on.+--+--     GPUs aren\'t available for jobs that are running on Fargate+--     resources.+--+-- [type=\"MEMORY\"]+--     The memory hard limit (in MiB) present to the container. This+--     parameter is supported for jobs that are running on EC2 resources.+--     If your container attempts to exceed the memory specified, the+--     container is terminated. This parameter maps to @Memory@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--memory@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>. You must+--     specify at least 4 MiB of memory for a job. This is required but can+--     be specified in several places for multi-node parallel (MNP) jobs.+--     It must be specified for each node at least once. This parameter+--     maps to @Memory@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--memory@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>.+--+--     If you\'re trying to maximize your resource utilization by providing+--     your jobs as much memory as possible for a particular instance type,+--     see+--     <https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html Memory management>+--     in the /Batch User Guide/.+--+--     For jobs that are running on Fargate resources, then @value@ is the+--     hard limit (in MiB), and must match one of the supported values and+--     the @VCPU@ values must be one of the values supported for that+--     memory value.+--+--     [value = 512]+--         @VCPU@ = 0.25+--+--     [value = 1024]+--         @VCPU@ = 0.25 or 0.5+--+--     [value = 2048]+--         @VCPU@ = 0.25, 0.5, or 1+--+--     [value = 3072]+--         @VCPU@ = 0.5, or 1+--+--     [value = 4096]+--         @VCPU@ = 0.5, 1, or 2+--+--     [value = 5120, 6144, or 7168]+--         @VCPU@ = 1 or 2+--+--     [value = 8192]+--         @VCPU@ = 1, 2, 4, or 8+--+--     [value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360]+--         @VCPU@ = 2 or 4+--+--     [value = 16384]+--         @VCPU@ = 2, 4, or 8+--+--     [value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720]+--         @VCPU@ = 4+--+--     [value = 20480, 24576, or 28672]+--         @VCPU@ = 4 or 8+--+--     [value = 36864, 45056, 53248, or 61440]+--         @VCPU@ = 8+--+--     [value = 32768, 40960, 49152, or 57344]+--         @VCPU@ = 8 or 16+--+--     [value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880]+--         @VCPU@ = 16+--+-- [type=\"VCPU\"]+--     The number of vCPUs reserved for the container. This parameter maps+--     to @CpuShares@ in the+--     <https://docs.docker.com/engine/api/v1.23/#create-a-container Create a container>+--     section of the+--     <https://docs.docker.com/engine/api/v1.23/ Docker Remote API> and+--     the @--cpu-shares@ option to+--     <https://docs.docker.com/engine/reference/run/ docker run>. Each+--     vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must+--     specify at least one vCPU. This is required but can be specified in+--     several places; it must be specified for each node at least once.+--+--     The default for the Fargate On-Demand vCPU resource count quota is 6+--     vCPUs. For more information about Fargate quotas, see+--     <https://docs.aws.amazon.com/general/latest/gr/ecs-service.html#service-quotas-fargate Fargate quotas>+--     in the /Amazon Web Services General Reference/.+--+--     For jobs that are running on Fargate resources, then @value@ must+--     match one of the supported values and the @MEMORY@ values must be+--     one of the values supported for that @VCPU@ value. The supported+--     values are 0.25, 0.5, 1, 2, 4, 8, and 16+--+--     [value = 0.25]+--         @MEMORY@ = 512, 1024, or 2048+--+--     [value = 0.5]+--         @MEMORY@ = 1024, 2048, 3072, or 4096+--+--     [value = 1]+--         @MEMORY@ = 2048, 3072, 4096, 5120, 6144, 7168, or 8192+--+--     [value = 2]+--         @MEMORY@ = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264,+--         12288, 13312, 14336, 15360, or 16384+--+--     [value = 4]+--         @MEMORY@ = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,+--         16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,+--         25600, 26624, 27648, 28672, 29696, or 30720+--+--     [value = 8]+--         @MEMORY@ = 16384, 20480, 24576, 28672, 32768, 36864, 40960,+--         45056, 49152, 53248, 57344, or 61440+--+--     [value = 16]+--         @MEMORY@ = 32768, 40960, 49152, 57344, 65536, 73728, 81920,+--         90112, 98304, 106496, 114688, or 122880+batchResourceRequirement_value :: Lens.Lens' BatchResourceRequirement Prelude.Text+batchResourceRequirement_value = Lens.lens (\BatchResourceRequirement' {value} -> value) (\s@BatchResourceRequirement' {} a -> s {value = a} :: BatchResourceRequirement)++instance Data.FromJSON BatchResourceRequirement where+  parseJSON =+    Data.withObject+      "BatchResourceRequirement"+      ( \x ->+          BatchResourceRequirement'+            Prelude.<$> (x Data..: "Type")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable BatchResourceRequirement where+  hashWithSalt _salt BatchResourceRequirement' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData BatchResourceRequirement where+  rnf BatchResourceRequirement' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON BatchResourceRequirement where+  toJSON BatchResourceRequirement' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Pipes/Types/BatchResourceRequirementType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.BatchResourceRequirementType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchResourceRequirementType+  ( BatchResourceRequirementType+      ( ..,+        BatchResourceRequirementType_GPU,+        BatchResourceRequirementType_MEMORY,+        BatchResourceRequirementType_VCPU+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchResourceRequirementType = BatchResourceRequirementType'+  { fromBatchResourceRequirementType ::+      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 BatchResourceRequirementType_GPU :: BatchResourceRequirementType+pattern BatchResourceRequirementType_GPU = BatchResourceRequirementType' "GPU"++pattern BatchResourceRequirementType_MEMORY :: BatchResourceRequirementType+pattern BatchResourceRequirementType_MEMORY = BatchResourceRequirementType' "MEMORY"++pattern BatchResourceRequirementType_VCPU :: BatchResourceRequirementType+pattern BatchResourceRequirementType_VCPU = BatchResourceRequirementType' "VCPU"++{-# COMPLETE+  BatchResourceRequirementType_GPU,+  BatchResourceRequirementType_MEMORY,+  BatchResourceRequirementType_VCPU,+  BatchResourceRequirementType'+  #-}
+ gen/Amazonka/Pipes/Types/BatchRetryStrategy.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.Pipes.Types.BatchRetryStrategy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.BatchRetryStrategy 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 retry strategy that\'s associated with a job. For more information,+-- see+-- <https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html Automated job retries>+-- in the /Batch User Guide/.+--+-- /See:/ 'newBatchRetryStrategy' smart constructor.+data BatchRetryStrategy = BatchRetryStrategy'+  { -- | The number of times to move a job to the @RUNNABLE@ status. If the value+    -- of @attempts@ is greater than one, the job is retried on failure the+    -- same number of attempts as the value.+    attempts :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchRetryStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attempts', 'batchRetryStrategy_attempts' - The number of times to move a job to the @RUNNABLE@ status. If the value+-- of @attempts@ is greater than one, the job is retried on failure the+-- same number of attempts as the value.+newBatchRetryStrategy ::+  BatchRetryStrategy+newBatchRetryStrategy =+  BatchRetryStrategy' {attempts = Prelude.Nothing}++-- | The number of times to move a job to the @RUNNABLE@ status. If the value+-- of @attempts@ is greater than one, the job is retried on failure the+-- same number of attempts as the value.+batchRetryStrategy_attempts :: Lens.Lens' BatchRetryStrategy (Prelude.Maybe Prelude.Natural)+batchRetryStrategy_attempts = Lens.lens (\BatchRetryStrategy' {attempts} -> attempts) (\s@BatchRetryStrategy' {} a -> s {attempts = a} :: BatchRetryStrategy)++instance Data.FromJSON BatchRetryStrategy where+  parseJSON =+    Data.withObject+      "BatchRetryStrategy"+      ( \x ->+          BatchRetryStrategy'+            Prelude.<$> (x Data..:? "Attempts")+      )++instance Prelude.Hashable BatchRetryStrategy where+  hashWithSalt _salt BatchRetryStrategy' {..} =+    _salt `Prelude.hashWithSalt` attempts++instance Prelude.NFData BatchRetryStrategy where+  rnf BatchRetryStrategy' {..} = Prelude.rnf attempts++instance Data.ToJSON BatchRetryStrategy where+  toJSON BatchRetryStrategy' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Attempts" Data..=) Prelude.<$> attempts]+      )
+ gen/Amazonka/Pipes/Types/CapacityProviderStrategyItem.hs view
@@ -0,0 +1,134 @@+{-# 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.Pipes.Types.CapacityProviderStrategyItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.CapacityProviderStrategyItem 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 details of a capacity provider strategy. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html CapacityProviderStrategyItem>+-- in the Amazon ECS API Reference.+--+-- /See:/ 'newCapacityProviderStrategyItem' smart constructor.+data CapacityProviderStrategyItem = CapacityProviderStrategyItem'+  { -- | The base value designates how many tasks, at a minimum, to run on the+    -- specified capacity provider. Only one capacity provider in a capacity+    -- provider strategy can have a base defined. If no value is specified, the+    -- default value of 0 is used.+    base :: Prelude.Maybe Prelude.Natural,+    -- | The weight value designates the relative percentage of the total number+    -- of tasks launched that should use the specified capacity provider. The+    -- weight value is taken into consideration after the base value, if+    -- defined, is satisfied.+    weight :: Prelude.Maybe Prelude.Natural,+    -- | The short name of the capacity provider.+    capacityProvider :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CapacityProviderStrategyItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'base', 'capacityProviderStrategyItem_base' - The base value designates how many tasks, at a minimum, to run on the+-- specified capacity provider. Only one capacity provider in a capacity+-- provider strategy can have a base defined. If no value is specified, the+-- default value of 0 is used.+--+-- 'weight', 'capacityProviderStrategyItem_weight' - The weight value designates the relative percentage of the total number+-- of tasks launched that should use the specified capacity provider. The+-- weight value is taken into consideration after the base value, if+-- defined, is satisfied.+--+-- 'capacityProvider', 'capacityProviderStrategyItem_capacityProvider' - The short name of the capacity provider.+newCapacityProviderStrategyItem ::+  -- | 'capacityProvider'+  Prelude.Text ->+  CapacityProviderStrategyItem+newCapacityProviderStrategyItem pCapacityProvider_ =+  CapacityProviderStrategyItem'+    { base =+        Prelude.Nothing,+      weight = Prelude.Nothing,+      capacityProvider =+        Data._Sensitive Lens.# pCapacityProvider_+    }++-- | The base value designates how many tasks, at a minimum, to run on the+-- specified capacity provider. Only one capacity provider in a capacity+-- provider strategy can have a base defined. If no value is specified, the+-- default value of 0 is used.+capacityProviderStrategyItem_base :: Lens.Lens' CapacityProviderStrategyItem (Prelude.Maybe Prelude.Natural)+capacityProviderStrategyItem_base = Lens.lens (\CapacityProviderStrategyItem' {base} -> base) (\s@CapacityProviderStrategyItem' {} a -> s {base = a} :: CapacityProviderStrategyItem)++-- | The weight value designates the relative percentage of the total number+-- of tasks launched that should use the specified capacity provider. The+-- weight value is taken into consideration after the base value, if+-- defined, is satisfied.+capacityProviderStrategyItem_weight :: Lens.Lens' CapacityProviderStrategyItem (Prelude.Maybe Prelude.Natural)+capacityProviderStrategyItem_weight = Lens.lens (\CapacityProviderStrategyItem' {weight} -> weight) (\s@CapacityProviderStrategyItem' {} a -> s {weight = a} :: CapacityProviderStrategyItem)++-- | The short name of the capacity provider.+capacityProviderStrategyItem_capacityProvider :: Lens.Lens' CapacityProviderStrategyItem Prelude.Text+capacityProviderStrategyItem_capacityProvider = Lens.lens (\CapacityProviderStrategyItem' {capacityProvider} -> capacityProvider) (\s@CapacityProviderStrategyItem' {} a -> s {capacityProvider = a} :: CapacityProviderStrategyItem) Prelude.. Data._Sensitive++instance Data.FromJSON CapacityProviderStrategyItem where+  parseJSON =+    Data.withObject+      "CapacityProviderStrategyItem"+      ( \x ->+          CapacityProviderStrategyItem'+            Prelude.<$> (x Data..:? "base")+            Prelude.<*> (x Data..:? "weight")+            Prelude.<*> (x Data..: "capacityProvider")+      )++instance+  Prelude.Hashable+    CapacityProviderStrategyItem+  where+  hashWithSalt _salt CapacityProviderStrategyItem' {..} =+    _salt+      `Prelude.hashWithSalt` base+      `Prelude.hashWithSalt` weight+      `Prelude.hashWithSalt` capacityProvider++instance Prelude.NFData CapacityProviderStrategyItem where+  rnf CapacityProviderStrategyItem' {..} =+    Prelude.rnf base+      `Prelude.seq` Prelude.rnf weight+      `Prelude.seq` Prelude.rnf capacityProvider++instance Data.ToJSON CapacityProviderStrategyItem where+  toJSON CapacityProviderStrategyItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("base" Data..=) Prelude.<$> base,+            ("weight" Data..=) Prelude.<$> weight,+            Prelude.Just+              ("capacityProvider" Data..= capacityProvider)+          ]+      )
+ gen/Amazonka/Pipes/Types/DeadLetterConfig.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.Pipes.Types.DeadLetterConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.DeadLetterConfig 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 @DeadLetterConfig@ object that contains information about a+-- dead-letter queue configuration.+--+-- /See:/ 'newDeadLetterConfig' smart constructor.+data DeadLetterConfig = DeadLetterConfig'+  { -- | The ARN of the Amazon SQS queue specified as the target for the+    -- dead-letter queue.+    arn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeadLetterConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deadLetterConfig_arn' - The ARN of the Amazon SQS queue specified as the target for the+-- dead-letter queue.+newDeadLetterConfig ::+  DeadLetterConfig+newDeadLetterConfig =+  DeadLetterConfig' {arn = Prelude.Nothing}++-- | The ARN of the Amazon SQS queue specified as the target for the+-- dead-letter queue.+deadLetterConfig_arn :: Lens.Lens' DeadLetterConfig (Prelude.Maybe Prelude.Text)+deadLetterConfig_arn = Lens.lens (\DeadLetterConfig' {arn} -> arn) (\s@DeadLetterConfig' {} a -> s {arn = a} :: DeadLetterConfig)++instance Data.FromJSON DeadLetterConfig where+  parseJSON =+    Data.withObject+      "DeadLetterConfig"+      ( \x ->+          DeadLetterConfig' Prelude.<$> (x Data..:? "Arn")+      )++instance Prelude.Hashable DeadLetterConfig where+  hashWithSalt _salt DeadLetterConfig' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeadLetterConfig where+  rnf DeadLetterConfig' {..} = Prelude.rnf arn++instance Data.ToJSON DeadLetterConfig where+  toJSON DeadLetterConfig' {..} =+    Data.object+      (Prelude.catMaybes [("Arn" Data..=) Prelude.<$> arn])
+ gen/Amazonka/Pipes/Types/DynamoDBStreamStartPosition.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.Pipes.Types.DynamoDBStreamStartPosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.DynamoDBStreamStartPosition+  ( DynamoDBStreamStartPosition+      ( ..,+        DynamoDBStreamStartPosition_LATEST,+        DynamoDBStreamStartPosition_TRIM_HORIZON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DynamoDBStreamStartPosition = DynamoDBStreamStartPosition'+  { fromDynamoDBStreamStartPosition ::+      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 DynamoDBStreamStartPosition_LATEST :: DynamoDBStreamStartPosition+pattern DynamoDBStreamStartPosition_LATEST = DynamoDBStreamStartPosition' "LATEST"++pattern DynamoDBStreamStartPosition_TRIM_HORIZON :: DynamoDBStreamStartPosition+pattern DynamoDBStreamStartPosition_TRIM_HORIZON = DynamoDBStreamStartPosition' "TRIM_HORIZON"++{-# COMPLETE+  DynamoDBStreamStartPosition_LATEST,+  DynamoDBStreamStartPosition_TRIM_HORIZON,+  DynamoDBStreamStartPosition'+  #-}
+ gen/Amazonka/Pipes/Types/EcsContainerOverride.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.EcsContainerOverride+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsContainerOverride where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.EcsEnvironmentFile+import Amazonka.Pipes.Types.EcsEnvironmentVariable+import Amazonka.Pipes.Types.EcsResourceRequirement+import qualified Amazonka.Prelude as Prelude++-- | The overrides that are sent to a container. An empty container override+-- can be passed in. An example of an empty container override is+-- @{\"containerOverrides\": [ ] }@. If a non-empty container override is+-- specified, the @name@ parameter must be included.+--+-- /See:/ 'newEcsContainerOverride' smart constructor.+data EcsContainerOverride = EcsContainerOverride'+  { -- | The command to send to the container that overrides the default command+    -- from the Docker image or the task definition. You must also specify a+    -- container name.+    command :: Prelude.Maybe [Prelude.Text],+    -- | The number of @cpu@ units reserved for the container, instead of the+    -- default value from the task definition. You must also specify a+    -- container name.+    cpu :: Prelude.Maybe Prelude.Int,+    -- | The environment variables to send to the container. You can add new+    -- environment variables, which are added to the container at launch, or+    -- you can override the existing environment variables from the Docker+    -- image or the task definition. You must also specify a container name.+    environment :: Prelude.Maybe [EcsEnvironmentVariable],+    -- | A list of files containing the environment variables to pass to a+    -- container, instead of the value from the container definition.+    environmentFiles :: Prelude.Maybe [EcsEnvironmentFile],+    -- | The hard limit (in MiB) of memory to present to the container, instead+    -- of the default value from the task definition. If your container+    -- attempts to exceed the memory specified here, the container is killed.+    -- You must also specify a container name.+    memory :: Prelude.Maybe Prelude.Int,+    -- | The soft limit (in MiB) of memory to reserve for the container, instead+    -- of the default value from the task definition. You must also specify a+    -- container name.+    memoryReservation :: Prelude.Maybe Prelude.Int,+    -- | The name of the container that receives the override. This parameter is+    -- required if any override is specified.+    name :: Prelude.Maybe Prelude.Text,+    -- | The type and amount of a resource to assign to a container, instead of+    -- the default value from the task definition. The only supported resource+    -- is a GPU.+    resourceRequirements :: Prelude.Maybe [EcsResourceRequirement]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsContainerOverride' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'command', 'ecsContainerOverride_command' - The command to send to the container that overrides the default command+-- from the Docker image or the task definition. You must also specify a+-- container name.+--+-- 'cpu', 'ecsContainerOverride_cpu' - The number of @cpu@ units reserved for the container, instead of the+-- default value from the task definition. You must also specify a+-- container name.+--+-- 'environment', 'ecsContainerOverride_environment' - The environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition. You must also specify a container name.+--+-- 'environmentFiles', 'ecsContainerOverride_environmentFiles' - A list of files containing the environment variables to pass to a+-- container, instead of the value from the container definition.+--+-- 'memory', 'ecsContainerOverride_memory' - The hard limit (in MiB) of memory to present to the container, instead+-- of the default value from the task definition. If your container+-- attempts to exceed the memory specified here, the container is killed.+-- You must also specify a container name.+--+-- 'memoryReservation', 'ecsContainerOverride_memoryReservation' - The soft limit (in MiB) of memory to reserve for the container, instead+-- of the default value from the task definition. You must also specify a+-- container name.+--+-- 'name', 'ecsContainerOverride_name' - The name of the container that receives the override. This parameter is+-- required if any override is specified.+--+-- 'resourceRequirements', 'ecsContainerOverride_resourceRequirements' - The type and amount of a resource to assign to a container, instead of+-- the default value from the task definition. The only supported resource+-- is a GPU.+newEcsContainerOverride ::+  EcsContainerOverride+newEcsContainerOverride =+  EcsContainerOverride'+    { command = Prelude.Nothing,+      cpu = Prelude.Nothing,+      environment = Prelude.Nothing,+      environmentFiles = Prelude.Nothing,+      memory = Prelude.Nothing,+      memoryReservation = Prelude.Nothing,+      name = Prelude.Nothing,+      resourceRequirements = Prelude.Nothing+    }++-- | The command to send to the container that overrides the default command+-- from the Docker image or the task definition. You must also specify a+-- container name.+ecsContainerOverride_command :: Lens.Lens' EcsContainerOverride (Prelude.Maybe [Prelude.Text])+ecsContainerOverride_command = Lens.lens (\EcsContainerOverride' {command} -> command) (\s@EcsContainerOverride' {} a -> s {command = a} :: EcsContainerOverride) Prelude.. Lens.mapping Lens.coerced++-- | The number of @cpu@ units reserved for the container, instead of the+-- default value from the task definition. You must also specify a+-- container name.+ecsContainerOverride_cpu :: Lens.Lens' EcsContainerOverride (Prelude.Maybe Prelude.Int)+ecsContainerOverride_cpu = Lens.lens (\EcsContainerOverride' {cpu} -> cpu) (\s@EcsContainerOverride' {} a -> s {cpu = a} :: EcsContainerOverride)++-- | The environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition. You must also specify a container name.+ecsContainerOverride_environment :: Lens.Lens' EcsContainerOverride (Prelude.Maybe [EcsEnvironmentVariable])+ecsContainerOverride_environment = Lens.lens (\EcsContainerOverride' {environment} -> environment) (\s@EcsContainerOverride' {} a -> s {environment = a} :: EcsContainerOverride) Prelude.. Lens.mapping Lens.coerced++-- | A list of files containing the environment variables to pass to a+-- container, instead of the value from the container definition.+ecsContainerOverride_environmentFiles :: Lens.Lens' EcsContainerOverride (Prelude.Maybe [EcsEnvironmentFile])+ecsContainerOverride_environmentFiles = Lens.lens (\EcsContainerOverride' {environmentFiles} -> environmentFiles) (\s@EcsContainerOverride' {} a -> s {environmentFiles = a} :: EcsContainerOverride) Prelude.. Lens.mapping Lens.coerced++-- | The hard limit (in MiB) of memory to present to the container, instead+-- of the default value from the task definition. If your container+-- attempts to exceed the memory specified here, the container is killed.+-- You must also specify a container name.+ecsContainerOverride_memory :: Lens.Lens' EcsContainerOverride (Prelude.Maybe Prelude.Int)+ecsContainerOverride_memory = Lens.lens (\EcsContainerOverride' {memory} -> memory) (\s@EcsContainerOverride' {} a -> s {memory = a} :: EcsContainerOverride)++-- | The soft limit (in MiB) of memory to reserve for the container, instead+-- of the default value from the task definition. You must also specify a+-- container name.+ecsContainerOverride_memoryReservation :: Lens.Lens' EcsContainerOverride (Prelude.Maybe Prelude.Int)+ecsContainerOverride_memoryReservation = Lens.lens (\EcsContainerOverride' {memoryReservation} -> memoryReservation) (\s@EcsContainerOverride' {} a -> s {memoryReservation = a} :: EcsContainerOverride)++-- | The name of the container that receives the override. This parameter is+-- required if any override is specified.+ecsContainerOverride_name :: Lens.Lens' EcsContainerOverride (Prelude.Maybe Prelude.Text)+ecsContainerOverride_name = Lens.lens (\EcsContainerOverride' {name} -> name) (\s@EcsContainerOverride' {} a -> s {name = a} :: EcsContainerOverride)++-- | The type and amount of a resource to assign to a container, instead of+-- the default value from the task definition. The only supported resource+-- is a GPU.+ecsContainerOverride_resourceRequirements :: Lens.Lens' EcsContainerOverride (Prelude.Maybe [EcsResourceRequirement])+ecsContainerOverride_resourceRequirements = Lens.lens (\EcsContainerOverride' {resourceRequirements} -> resourceRequirements) (\s@EcsContainerOverride' {} a -> s {resourceRequirements = a} :: EcsContainerOverride) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON EcsContainerOverride where+  parseJSON =+    Data.withObject+      "EcsContainerOverride"+      ( \x ->+          EcsContainerOverride'+            Prelude.<$> (x Data..:? "Command" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Cpu")+            Prelude.<*> (x Data..:? "Environment" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "EnvironmentFiles"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Memory")+            Prelude.<*> (x Data..:? "MemoryReservation")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> ( x+                            Data..:? "ResourceRequirements"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable EcsContainerOverride where+  hashWithSalt _salt EcsContainerOverride' {..} =+    _salt+      `Prelude.hashWithSalt` command+      `Prelude.hashWithSalt` cpu+      `Prelude.hashWithSalt` environment+      `Prelude.hashWithSalt` environmentFiles+      `Prelude.hashWithSalt` memory+      `Prelude.hashWithSalt` memoryReservation+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` resourceRequirements++instance Prelude.NFData EcsContainerOverride where+  rnf EcsContainerOverride' {..} =+    Prelude.rnf command+      `Prelude.seq` Prelude.rnf cpu+      `Prelude.seq` Prelude.rnf environment+      `Prelude.seq` Prelude.rnf environmentFiles+      `Prelude.seq` Prelude.rnf memory+      `Prelude.seq` Prelude.rnf memoryReservation+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf resourceRequirements++instance Data.ToJSON EcsContainerOverride where+  toJSON EcsContainerOverride' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Command" Data..=) Prelude.<$> command,+            ("Cpu" Data..=) Prelude.<$> cpu,+            ("Environment" Data..=) Prelude.<$> environment,+            ("EnvironmentFiles" Data..=)+              Prelude.<$> environmentFiles,+            ("Memory" Data..=) Prelude.<$> memory,+            ("MemoryReservation" Data..=)+              Prelude.<$> memoryReservation,+            ("Name" Data..=) Prelude.<$> name,+            ("ResourceRequirements" Data..=)+              Prelude.<$> resourceRequirements+          ]+      )
+ gen/Amazonka/Pipes/Types/EcsEnvironmentFile.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.Pipes.Types.EcsEnvironmentFile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsEnvironmentFile where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.EcsEnvironmentFileType+import qualified Amazonka.Prelude as Prelude++-- | A list of files containing the environment variables to pass to a+-- container. You can specify up to ten environment files. The file must+-- have a @.env@ file extension. Each line in an environment file should+-- contain an environment variable in @VARIABLE=VALUE@ format. Lines+-- beginning with @#@ are treated as comments and are ignored. For more+-- information about the environment variable file syntax, see+-- <https://docs.docker.com/compose/env-file/ Declare default environment variables in file>.+--+-- If there are environment variables specified using the @environment@+-- parameter in a container definition, they take precedence over the+-- variables contained within an environment file. If multiple environment+-- files are specified that contain the same variable, they\'re processed+-- from the top down. We recommend that you use unique variable names. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html Specifying environment variables>+-- in the /Amazon Elastic Container Service Developer Guide/.+--+-- This parameter is only supported for tasks hosted on Fargate using the+-- following platform versions:+--+-- -   Linux platform version @1.4.0@ or later.+--+-- -   Windows platform version @1.0.0@ or later.+--+-- /See:/ 'newEcsEnvironmentFile' smart constructor.+data EcsEnvironmentFile = EcsEnvironmentFile'+  { -- | The file type to use. The only supported value is @s3@.+    type' :: EcsEnvironmentFileType,+    -- | The Amazon Resource Name (ARN) of the Amazon S3 object containing the+    -- environment variable file.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsEnvironmentFile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'ecsEnvironmentFile_type' - The file type to use. The only supported value is @s3@.+--+-- 'value', 'ecsEnvironmentFile_value' - The Amazon Resource Name (ARN) of the Amazon S3 object containing the+-- environment variable file.+newEcsEnvironmentFile ::+  -- | 'type''+  EcsEnvironmentFileType ->+  -- | 'value'+  Prelude.Text ->+  EcsEnvironmentFile+newEcsEnvironmentFile pType_ pValue_ =+  EcsEnvironmentFile'+    { type' = pType_,+      value = pValue_+    }++-- | The file type to use. The only supported value is @s3@.+ecsEnvironmentFile_type :: Lens.Lens' EcsEnvironmentFile EcsEnvironmentFileType+ecsEnvironmentFile_type = Lens.lens (\EcsEnvironmentFile' {type'} -> type') (\s@EcsEnvironmentFile' {} a -> s {type' = a} :: EcsEnvironmentFile)++-- | The Amazon Resource Name (ARN) of the Amazon S3 object containing the+-- environment variable file.+ecsEnvironmentFile_value :: Lens.Lens' EcsEnvironmentFile Prelude.Text+ecsEnvironmentFile_value = Lens.lens (\EcsEnvironmentFile' {value} -> value) (\s@EcsEnvironmentFile' {} a -> s {value = a} :: EcsEnvironmentFile)++instance Data.FromJSON EcsEnvironmentFile where+  parseJSON =+    Data.withObject+      "EcsEnvironmentFile"+      ( \x ->+          EcsEnvironmentFile'+            Prelude.<$> (x Data..: "type")+            Prelude.<*> (x Data..: "value")+      )++instance Prelude.Hashable EcsEnvironmentFile where+  hashWithSalt _salt EcsEnvironmentFile' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData EcsEnvironmentFile where+  rnf EcsEnvironmentFile' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON EcsEnvironmentFile where+  toJSON EcsEnvironmentFile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("type" Data..= type'),+            Prelude.Just ("value" Data..= value)+          ]+      )
+ gen/Amazonka/Pipes/Types/EcsEnvironmentFileType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.EcsEnvironmentFileType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsEnvironmentFileType+  ( EcsEnvironmentFileType+      ( ..,+        EcsEnvironmentFileType_S3+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EcsEnvironmentFileType = EcsEnvironmentFileType'+  { fromEcsEnvironmentFileType ::+      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 EcsEnvironmentFileType_S3 :: EcsEnvironmentFileType+pattern EcsEnvironmentFileType_S3 = EcsEnvironmentFileType' "s3"++{-# COMPLETE+  EcsEnvironmentFileType_S3,+  EcsEnvironmentFileType'+  #-}
+ gen/Amazonka/Pipes/Types/EcsEnvironmentVariable.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.Pipes.Types.EcsEnvironmentVariable+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsEnvironmentVariable 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 environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition. You must also specify a container name.+--+-- /See:/ 'newEcsEnvironmentVariable' smart constructor.+data EcsEnvironmentVariable = EcsEnvironmentVariable'+  { -- | The name of the key-value pair. For environment variables, this is the+    -- name of the environment variable.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value of the key-value pair. For environment variables, this is the+    -- value of the environment variable.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsEnvironmentVariable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'ecsEnvironmentVariable_name' - The name of the key-value pair. For environment variables, this is the+-- name of the environment variable.+--+-- 'value', 'ecsEnvironmentVariable_value' - The value of the key-value pair. For environment variables, this is the+-- value of the environment variable.+newEcsEnvironmentVariable ::+  EcsEnvironmentVariable+newEcsEnvironmentVariable =+  EcsEnvironmentVariable'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The name of the key-value pair. For environment variables, this is the+-- name of the environment variable.+ecsEnvironmentVariable_name :: Lens.Lens' EcsEnvironmentVariable (Prelude.Maybe Prelude.Text)+ecsEnvironmentVariable_name = Lens.lens (\EcsEnvironmentVariable' {name} -> name) (\s@EcsEnvironmentVariable' {} a -> s {name = a} :: EcsEnvironmentVariable)++-- | The value of the key-value pair. For environment variables, this is the+-- value of the environment variable.+ecsEnvironmentVariable_value :: Lens.Lens' EcsEnvironmentVariable (Prelude.Maybe Prelude.Text)+ecsEnvironmentVariable_value = Lens.lens (\EcsEnvironmentVariable' {value} -> value) (\s@EcsEnvironmentVariable' {} a -> s {value = a} :: EcsEnvironmentVariable)++instance Data.FromJSON EcsEnvironmentVariable where+  parseJSON =+    Data.withObject+      "EcsEnvironmentVariable"+      ( \x ->+          EcsEnvironmentVariable'+            Prelude.<$> (x Data..:? "name")+            Prelude.<*> (x Data..:? "value")+      )++instance Prelude.Hashable EcsEnvironmentVariable where+  hashWithSalt _salt EcsEnvironmentVariable' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData EcsEnvironmentVariable where+  rnf EcsEnvironmentVariable' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON EcsEnvironmentVariable where+  toJSON EcsEnvironmentVariable' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("name" Data..=) Prelude.<$> name,+            ("value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/Pipes/Types/EcsEphemeralStorage.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.EcsEphemeralStorage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsEphemeralStorage 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 amount of ephemeral storage to allocate for the task. This parameter+-- is used to expand the total amount of ephemeral storage available,+-- beyond the default amount, for tasks hosted on Fargate. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html Fargate task storage>+-- in the /Amazon ECS User Guide for Fargate/.+--+-- This parameter is only supported for tasks hosted on Fargate using Linux+-- platform version @1.4.0@ or later. This parameter is not supported for+-- Windows containers on Fargate.+--+-- /See:/ 'newEcsEphemeralStorage' smart constructor.+data EcsEphemeralStorage = EcsEphemeralStorage'+  { -- | The total amount, in GiB, of ephemeral storage to set for the task. The+    -- minimum supported value is @21@ GiB and the maximum supported value is+    -- @200@ GiB.+    sizeInGiB :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsEphemeralStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizeInGiB', 'ecsEphemeralStorage_sizeInGiB' - The total amount, in GiB, of ephemeral storage to set for the task. The+-- minimum supported value is @21@ GiB and the maximum supported value is+-- @200@ GiB.+newEcsEphemeralStorage ::+  -- | 'sizeInGiB'+  Prelude.Natural ->+  EcsEphemeralStorage+newEcsEphemeralStorage pSizeInGiB_ =+  EcsEphemeralStorage' {sizeInGiB = pSizeInGiB_}++-- | The total amount, in GiB, of ephemeral storage to set for the task. The+-- minimum supported value is @21@ GiB and the maximum supported value is+-- @200@ GiB.+ecsEphemeralStorage_sizeInGiB :: Lens.Lens' EcsEphemeralStorage Prelude.Natural+ecsEphemeralStorage_sizeInGiB = Lens.lens (\EcsEphemeralStorage' {sizeInGiB} -> sizeInGiB) (\s@EcsEphemeralStorage' {} a -> s {sizeInGiB = a} :: EcsEphemeralStorage)++instance Data.FromJSON EcsEphemeralStorage where+  parseJSON =+    Data.withObject+      "EcsEphemeralStorage"+      ( \x ->+          EcsEphemeralStorage'+            Prelude.<$> (x Data..: "sizeInGiB")+      )++instance Prelude.Hashable EcsEphemeralStorage where+  hashWithSalt _salt EcsEphemeralStorage' {..} =+    _salt `Prelude.hashWithSalt` sizeInGiB++instance Prelude.NFData EcsEphemeralStorage where+  rnf EcsEphemeralStorage' {..} = Prelude.rnf sizeInGiB++instance Data.ToJSON EcsEphemeralStorage where+  toJSON EcsEphemeralStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("sizeInGiB" Data..= sizeInGiB)]+      )
+ gen/Amazonka/Pipes/Types/EcsInferenceAcceleratorOverride.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride 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 on an Elastic Inference accelerator task override. This+-- parameter is used to override the Elastic Inference accelerator+-- specified in the task definition. For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/userguide/ecs-inference.html Working with Amazon Elastic Inference on Amazon ECS>+-- in the /Amazon Elastic Container Service Developer Guide/.+--+-- /See:/ 'newEcsInferenceAcceleratorOverride' smart constructor.+data EcsInferenceAcceleratorOverride = EcsInferenceAcceleratorOverride'+  { -- | The Elastic Inference accelerator device name to override for the task.+    -- This parameter must match a @deviceName@ specified in the task+    -- definition.+    deviceName :: Prelude.Maybe Prelude.Text,+    -- | The Elastic Inference accelerator type to use.+    deviceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsInferenceAcceleratorOverride' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceName', 'ecsInferenceAcceleratorOverride_deviceName' - The Elastic Inference accelerator device name to override for the task.+-- This parameter must match a @deviceName@ specified in the task+-- definition.+--+-- 'deviceType', 'ecsInferenceAcceleratorOverride_deviceType' - The Elastic Inference accelerator type to use.+newEcsInferenceAcceleratorOverride ::+  EcsInferenceAcceleratorOverride+newEcsInferenceAcceleratorOverride =+  EcsInferenceAcceleratorOverride'+    { deviceName =+        Prelude.Nothing,+      deviceType = Prelude.Nothing+    }++-- | The Elastic Inference accelerator device name to override for the task.+-- This parameter must match a @deviceName@ specified in the task+-- definition.+ecsInferenceAcceleratorOverride_deviceName :: Lens.Lens' EcsInferenceAcceleratorOverride (Prelude.Maybe Prelude.Text)+ecsInferenceAcceleratorOverride_deviceName = Lens.lens (\EcsInferenceAcceleratorOverride' {deviceName} -> deviceName) (\s@EcsInferenceAcceleratorOverride' {} a -> s {deviceName = a} :: EcsInferenceAcceleratorOverride)++-- | The Elastic Inference accelerator type to use.+ecsInferenceAcceleratorOverride_deviceType :: Lens.Lens' EcsInferenceAcceleratorOverride (Prelude.Maybe Prelude.Text)+ecsInferenceAcceleratorOverride_deviceType = Lens.lens (\EcsInferenceAcceleratorOverride' {deviceType} -> deviceType) (\s@EcsInferenceAcceleratorOverride' {} a -> s {deviceType = a} :: EcsInferenceAcceleratorOverride)++instance+  Data.FromJSON+    EcsInferenceAcceleratorOverride+  where+  parseJSON =+    Data.withObject+      "EcsInferenceAcceleratorOverride"+      ( \x ->+          EcsInferenceAcceleratorOverride'+            Prelude.<$> (x Data..:? "deviceName")+            Prelude.<*> (x Data..:? "deviceType")+      )++instance+  Prelude.Hashable+    EcsInferenceAcceleratorOverride+  where+  hashWithSalt+    _salt+    EcsInferenceAcceleratorOverride' {..} =+      _salt+        `Prelude.hashWithSalt` deviceName+        `Prelude.hashWithSalt` deviceType++instance+  Prelude.NFData+    EcsInferenceAcceleratorOverride+  where+  rnf EcsInferenceAcceleratorOverride' {..} =+    Prelude.rnf deviceName+      `Prelude.seq` Prelude.rnf deviceType++instance Data.ToJSON EcsInferenceAcceleratorOverride where+  toJSON EcsInferenceAcceleratorOverride' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("deviceName" Data..=) Prelude.<$> deviceName,+            ("deviceType" Data..=) Prelude.<$> deviceType+          ]+      )
+ gen/Amazonka/Pipes/Types/EcsResourceRequirement.hs view
@@ -0,0 +1,133 @@+{-# 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.Pipes.Types.EcsResourceRequirement+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsResourceRequirement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.EcsResourceRequirementType+import qualified Amazonka.Prelude as Prelude++-- | The type and amount of a resource to assign to a container. The+-- supported resource types are GPUs and Elastic Inference accelerators.+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html Working with GPUs on Amazon ECS>+-- or+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html Working with Amazon Elastic Inference on Amazon ECS>+-- in the /Amazon Elastic Container Service Developer Guide/+--+-- /See:/ 'newEcsResourceRequirement' smart constructor.+data EcsResourceRequirement = EcsResourceRequirement'+  { -- | The type of resource to assign to a container. The supported values are+    -- @GPU@ or @InferenceAccelerator@.+    type' :: EcsResourceRequirementType,+    -- | The value for the specified resource type.+    --+    -- If the @GPU@ type is used, the value is the number of physical @GPUs@+    -- the Amazon ECS container agent reserves for the container. The number of+    -- GPUs that\'s reserved for all containers in a task can\'t exceed the+    -- number of available GPUs on the container instance that the task is+    -- launched on.+    --+    -- If the @InferenceAccelerator@ type is used, the @value@ matches the+    -- @deviceName@ for an InferenceAccelerator specified in a task definition.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsResourceRequirement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'ecsResourceRequirement_type' - The type of resource to assign to a container. The supported values are+-- @GPU@ or @InferenceAccelerator@.+--+-- 'value', 'ecsResourceRequirement_value' - The value for the specified resource type.+--+-- If the @GPU@ type is used, the value is the number of physical @GPUs@+-- the Amazon ECS container agent reserves for the container. The number of+-- GPUs that\'s reserved for all containers in a task can\'t exceed the+-- number of available GPUs on the container instance that the task is+-- launched on.+--+-- If the @InferenceAccelerator@ type is used, the @value@ matches the+-- @deviceName@ for an InferenceAccelerator specified in a task definition.+newEcsResourceRequirement ::+  -- | 'type''+  EcsResourceRequirementType ->+  -- | 'value'+  Prelude.Text ->+  EcsResourceRequirement+newEcsResourceRequirement pType_ pValue_ =+  EcsResourceRequirement'+    { type' = pType_,+      value = pValue_+    }++-- | The type of resource to assign to a container. The supported values are+-- @GPU@ or @InferenceAccelerator@.+ecsResourceRequirement_type :: Lens.Lens' EcsResourceRequirement EcsResourceRequirementType+ecsResourceRequirement_type = Lens.lens (\EcsResourceRequirement' {type'} -> type') (\s@EcsResourceRequirement' {} a -> s {type' = a} :: EcsResourceRequirement)++-- | The value for the specified resource type.+--+-- If the @GPU@ type is used, the value is the number of physical @GPUs@+-- the Amazon ECS container agent reserves for the container. The number of+-- GPUs that\'s reserved for all containers in a task can\'t exceed the+-- number of available GPUs on the container instance that the task is+-- launched on.+--+-- If the @InferenceAccelerator@ type is used, the @value@ matches the+-- @deviceName@ for an InferenceAccelerator specified in a task definition.+ecsResourceRequirement_value :: Lens.Lens' EcsResourceRequirement Prelude.Text+ecsResourceRequirement_value = Lens.lens (\EcsResourceRequirement' {value} -> value) (\s@EcsResourceRequirement' {} a -> s {value = a} :: EcsResourceRequirement)++instance Data.FromJSON EcsResourceRequirement where+  parseJSON =+    Data.withObject+      "EcsResourceRequirement"+      ( \x ->+          EcsResourceRequirement'+            Prelude.<$> (x Data..: "type")+            Prelude.<*> (x Data..: "value")+      )++instance Prelude.Hashable EcsResourceRequirement where+  hashWithSalt _salt EcsResourceRequirement' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData EcsResourceRequirement where+  rnf EcsResourceRequirement' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON EcsResourceRequirement where+  toJSON EcsResourceRequirement' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("type" Data..= type'),+            Prelude.Just ("value" Data..= value)+          ]+      )
+ gen/Amazonka/Pipes/Types/EcsResourceRequirementType.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.Pipes.Types.EcsResourceRequirementType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsResourceRequirementType+  ( EcsResourceRequirementType+      ( ..,+        EcsResourceRequirementType_GPU,+        EcsResourceRequirementType_InferenceAccelerator+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EcsResourceRequirementType = EcsResourceRequirementType'+  { fromEcsResourceRequirementType ::+      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 EcsResourceRequirementType_GPU :: EcsResourceRequirementType+pattern EcsResourceRequirementType_GPU = EcsResourceRequirementType' "GPU"++pattern EcsResourceRequirementType_InferenceAccelerator :: EcsResourceRequirementType+pattern EcsResourceRequirementType_InferenceAccelerator = EcsResourceRequirementType' "InferenceAccelerator"++{-# COMPLETE+  EcsResourceRequirementType_GPU,+  EcsResourceRequirementType_InferenceAccelerator,+  EcsResourceRequirementType'+  #-}
+ gen/Amazonka/Pipes/Types/EcsTaskOverride.hs view
@@ -0,0 +1,214 @@+{-# 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.Pipes.Types.EcsTaskOverride+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.EcsTaskOverride where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.EcsContainerOverride+import Amazonka.Pipes.Types.EcsEphemeralStorage+import Amazonka.Pipes.Types.EcsInferenceAcceleratorOverride+import qualified Amazonka.Prelude as Prelude++-- | The overrides that are associated with a task.+--+-- /See:/ 'newEcsTaskOverride' smart constructor.+data EcsTaskOverride = EcsTaskOverride'+  { -- | One or more container overrides that are sent to a task.+    containerOverrides :: Prelude.Maybe [EcsContainerOverride],+    -- | The cpu override for the task.+    cpu :: Prelude.Maybe Prelude.Text,+    -- | The ephemeral storage setting override for the task.+    --+    -- This parameter is only supported for tasks hosted on Fargate that use+    -- the following platform versions:+    --+    -- -   Linux platform version @1.4.0@ or later.+    --+    -- -   Windows platform version @1.0.0@ or later.+    ephemeralStorage :: Prelude.Maybe EcsEphemeralStorage,+    -- | The Amazon Resource Name (ARN) of the task execution IAM role override+    -- for the task. For more information, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html Amazon ECS task execution IAM role>+    -- in the /Amazon Elastic Container Service Developer Guide/.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Elastic Inference accelerator override for the task.+    inferenceAcceleratorOverrides :: Prelude.Maybe [EcsInferenceAcceleratorOverride],+    -- | The memory override for the task.+    memory :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role that containers in this+    -- task can assume. All containers in this task are granted the permissions+    -- that are specified in this role. For more information, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html IAM Role for Tasks>+    -- in the /Amazon Elastic Container Service Developer Guide/.+    taskRoleArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EcsTaskOverride' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'containerOverrides', 'ecsTaskOverride_containerOverrides' - One or more container overrides that are sent to a task.+--+-- 'cpu', 'ecsTaskOverride_cpu' - The cpu override for the task.+--+-- 'ephemeralStorage', 'ecsTaskOverride_ephemeralStorage' - The ephemeral storage setting override for the task.+--+-- This parameter is only supported for tasks hosted on Fargate that use+-- the following platform versions:+--+-- -   Linux platform version @1.4.0@ or later.+--+-- -   Windows platform version @1.0.0@ or later.+--+-- 'executionRoleArn', 'ecsTaskOverride_executionRoleArn' - The Amazon Resource Name (ARN) of the task execution IAM role override+-- for the task. For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html Amazon ECS task execution IAM role>+-- in the /Amazon Elastic Container Service Developer Guide/.+--+-- 'inferenceAcceleratorOverrides', 'ecsTaskOverride_inferenceAcceleratorOverrides' - The Elastic Inference accelerator override for the task.+--+-- 'memory', 'ecsTaskOverride_memory' - The memory override for the task.+--+-- 'taskRoleArn', 'ecsTaskOverride_taskRoleArn' - The Amazon Resource Name (ARN) of the IAM role that containers in this+-- task can assume. All containers in this task are granted the permissions+-- that are specified in this role. For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html IAM Role for Tasks>+-- in the /Amazon Elastic Container Service Developer Guide/.+newEcsTaskOverride ::+  EcsTaskOverride+newEcsTaskOverride =+  EcsTaskOverride'+    { containerOverrides =+        Prelude.Nothing,+      cpu = Prelude.Nothing,+      ephemeralStorage = Prelude.Nothing,+      executionRoleArn = Prelude.Nothing,+      inferenceAcceleratorOverrides = Prelude.Nothing,+      memory = Prelude.Nothing,+      taskRoleArn = Prelude.Nothing+    }++-- | One or more container overrides that are sent to a task.+ecsTaskOverride_containerOverrides :: Lens.Lens' EcsTaskOverride (Prelude.Maybe [EcsContainerOverride])+ecsTaskOverride_containerOverrides = Lens.lens (\EcsTaskOverride' {containerOverrides} -> containerOverrides) (\s@EcsTaskOverride' {} a -> s {containerOverrides = a} :: EcsTaskOverride) Prelude.. Lens.mapping Lens.coerced++-- | The cpu override for the task.+ecsTaskOverride_cpu :: Lens.Lens' EcsTaskOverride (Prelude.Maybe Prelude.Text)+ecsTaskOverride_cpu = Lens.lens (\EcsTaskOverride' {cpu} -> cpu) (\s@EcsTaskOverride' {} a -> s {cpu = a} :: EcsTaskOverride)++-- | The ephemeral storage setting override for the task.+--+-- This parameter is only supported for tasks hosted on Fargate that use+-- the following platform versions:+--+-- -   Linux platform version @1.4.0@ or later.+--+-- -   Windows platform version @1.0.0@ or later.+ecsTaskOverride_ephemeralStorage :: Lens.Lens' EcsTaskOverride (Prelude.Maybe EcsEphemeralStorage)+ecsTaskOverride_ephemeralStorage = Lens.lens (\EcsTaskOverride' {ephemeralStorage} -> ephemeralStorage) (\s@EcsTaskOverride' {} a -> s {ephemeralStorage = a} :: EcsTaskOverride)++-- | The Amazon Resource Name (ARN) of the task execution IAM role override+-- for the task. For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html Amazon ECS task execution IAM role>+-- in the /Amazon Elastic Container Service Developer Guide/.+ecsTaskOverride_executionRoleArn :: Lens.Lens' EcsTaskOverride (Prelude.Maybe Prelude.Text)+ecsTaskOverride_executionRoleArn = Lens.lens (\EcsTaskOverride' {executionRoleArn} -> executionRoleArn) (\s@EcsTaskOverride' {} a -> s {executionRoleArn = a} :: EcsTaskOverride)++-- | The Elastic Inference accelerator override for the task.+ecsTaskOverride_inferenceAcceleratorOverrides :: Lens.Lens' EcsTaskOverride (Prelude.Maybe [EcsInferenceAcceleratorOverride])+ecsTaskOverride_inferenceAcceleratorOverrides = Lens.lens (\EcsTaskOverride' {inferenceAcceleratorOverrides} -> inferenceAcceleratorOverrides) (\s@EcsTaskOverride' {} a -> s {inferenceAcceleratorOverrides = a} :: EcsTaskOverride) Prelude.. Lens.mapping Lens.coerced++-- | The memory override for the task.+ecsTaskOverride_memory :: Lens.Lens' EcsTaskOverride (Prelude.Maybe Prelude.Text)+ecsTaskOverride_memory = Lens.lens (\EcsTaskOverride' {memory} -> memory) (\s@EcsTaskOverride' {} a -> s {memory = a} :: EcsTaskOverride)++-- | The Amazon Resource Name (ARN) of the IAM role that containers in this+-- task can assume. All containers in this task are granted the permissions+-- that are specified in this role. For more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html IAM Role for Tasks>+-- in the /Amazon Elastic Container Service Developer Guide/.+ecsTaskOverride_taskRoleArn :: Lens.Lens' EcsTaskOverride (Prelude.Maybe Prelude.Text)+ecsTaskOverride_taskRoleArn = Lens.lens (\EcsTaskOverride' {taskRoleArn} -> taskRoleArn) (\s@EcsTaskOverride' {} a -> s {taskRoleArn = a} :: EcsTaskOverride)++instance Data.FromJSON EcsTaskOverride where+  parseJSON =+    Data.withObject+      "EcsTaskOverride"+      ( \x ->+          EcsTaskOverride'+            Prelude.<$> ( x+                            Data..:? "ContainerOverrides"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Cpu")+            Prelude.<*> (x Data..:? "EphemeralStorage")+            Prelude.<*> (x Data..:? "ExecutionRoleArn")+            Prelude.<*> ( x+                            Data..:? "InferenceAcceleratorOverrides"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Memory")+            Prelude.<*> (x Data..:? "TaskRoleArn")+      )++instance Prelude.Hashable EcsTaskOverride where+  hashWithSalt _salt EcsTaskOverride' {..} =+    _salt+      `Prelude.hashWithSalt` containerOverrides+      `Prelude.hashWithSalt` cpu+      `Prelude.hashWithSalt` ephemeralStorage+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` inferenceAcceleratorOverrides+      `Prelude.hashWithSalt` memory+      `Prelude.hashWithSalt` taskRoleArn++instance Prelude.NFData EcsTaskOverride where+  rnf EcsTaskOverride' {..} =+    Prelude.rnf containerOverrides+      `Prelude.seq` Prelude.rnf cpu+      `Prelude.seq` Prelude.rnf ephemeralStorage+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf inferenceAcceleratorOverrides+      `Prelude.seq` Prelude.rnf memory+      `Prelude.seq` Prelude.rnf taskRoleArn++instance Data.ToJSON EcsTaskOverride where+  toJSON EcsTaskOverride' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContainerOverrides" Data..=)+              Prelude.<$> containerOverrides,+            ("Cpu" Data..=) Prelude.<$> cpu,+            ("EphemeralStorage" Data..=)+              Prelude.<$> ephemeralStorage,+            ("ExecutionRoleArn" Data..=)+              Prelude.<$> executionRoleArn,+            ("InferenceAcceleratorOverrides" Data..=)+              Prelude.<$> inferenceAcceleratorOverrides,+            ("Memory" Data..=) Prelude.<$> memory,+            ("TaskRoleArn" Data..=) Prelude.<$> taskRoleArn+          ]+      )
+ gen/Amazonka/Pipes/Types/Filter.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.Pipes.Types.Filter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Filter events using an event pattern. For more information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | The event pattern.+    pattern' :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pattern'', 'filter_pattern' - The event pattern.+newFilter ::+  Filter+newFilter = Filter' {pattern' = Prelude.Nothing}++-- | The event pattern.+filter_pattern :: Lens.Lens' Filter (Prelude.Maybe Prelude.Text)+filter_pattern = Lens.lens (\Filter' {pattern'} -> pattern') (\s@Filter' {} a -> s {pattern' = a} :: Filter) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Filter where+  parseJSON =+    Data.withObject+      "Filter"+      (\x -> Filter' Prelude.<$> (x Data..:? "Pattern"))++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt `Prelude.hashWithSalt` pattern'++instance Prelude.NFData Filter where+  rnf Filter' {..} = Prelude.rnf pattern'++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Pattern" Data..=) Prelude.<$> pattern']+      )
+ gen/Amazonka/Pipes/Types/FilterCriteria.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.FilterCriteria+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.FilterCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.Filter+import qualified Amazonka.Prelude as Prelude++-- | The collection of event patterns used to filter events. For more+-- information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+--+-- /See:/ 'newFilterCriteria' smart constructor.+data FilterCriteria = FilterCriteria'+  { -- | The event patterns.+    filters :: Prelude.Maybe [Filter]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterCriteria' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'filterCriteria_filters' - The event patterns.+newFilterCriteria ::+  FilterCriteria+newFilterCriteria =+  FilterCriteria' {filters = Prelude.Nothing}++-- | The event patterns.+filterCriteria_filters :: Lens.Lens' FilterCriteria (Prelude.Maybe [Filter])+filterCriteria_filters = Lens.lens (\FilterCriteria' {filters} -> filters) (\s@FilterCriteria' {} a -> s {filters = a} :: FilterCriteria) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FilterCriteria where+  parseJSON =+    Data.withObject+      "FilterCriteria"+      ( \x ->+          FilterCriteria'+            Prelude.<$> (x Data..:? "Filters" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable FilterCriteria where+  hashWithSalt _salt FilterCriteria' {..} =+    _salt `Prelude.hashWithSalt` filters++instance Prelude.NFData FilterCriteria where+  rnf FilterCriteria' {..} = Prelude.rnf filters++instance Data.ToJSON FilterCriteria where+  toJSON FilterCriteria' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Filters" Data..=) Prelude.<$> filters]+      )
+ gen/Amazonka/Pipes/Types/KinesisStreamStartPosition.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.KinesisStreamStartPosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.KinesisStreamStartPosition+  ( KinesisStreamStartPosition+      ( ..,+        KinesisStreamStartPosition_AT_TIMESTAMP,+        KinesisStreamStartPosition_LATEST,+        KinesisStreamStartPosition_TRIM_HORIZON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KinesisStreamStartPosition = KinesisStreamStartPosition'+  { fromKinesisStreamStartPosition ::+      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 KinesisStreamStartPosition_AT_TIMESTAMP :: KinesisStreamStartPosition+pattern KinesisStreamStartPosition_AT_TIMESTAMP = KinesisStreamStartPosition' "AT_TIMESTAMP"++pattern KinesisStreamStartPosition_LATEST :: KinesisStreamStartPosition+pattern KinesisStreamStartPosition_LATEST = KinesisStreamStartPosition' "LATEST"++pattern KinesisStreamStartPosition_TRIM_HORIZON :: KinesisStreamStartPosition+pattern KinesisStreamStartPosition_TRIM_HORIZON = KinesisStreamStartPosition' "TRIM_HORIZON"++{-# COMPLETE+  KinesisStreamStartPosition_AT_TIMESTAMP,+  KinesisStreamStartPosition_LATEST,+  KinesisStreamStartPosition_TRIM_HORIZON,+  KinesisStreamStartPosition'+  #-}
+ gen/Amazonka/Pipes/Types/LaunchType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.LaunchType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.LaunchType+  ( LaunchType+      ( ..,+        LaunchType_EC2,+        LaunchType_EXTERNAL,+        LaunchType_FARGATE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchType = LaunchType'+  { fromLaunchType ::+      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 LaunchType_EC2 :: LaunchType+pattern LaunchType_EC2 = LaunchType' "EC2"++pattern LaunchType_EXTERNAL :: LaunchType+pattern LaunchType_EXTERNAL = LaunchType' "EXTERNAL"++pattern LaunchType_FARGATE :: LaunchType+pattern LaunchType_FARGATE = LaunchType' "FARGATE"++{-# COMPLETE+  LaunchType_EC2,+  LaunchType_EXTERNAL,+  LaunchType_FARGATE,+  LaunchType'+  #-}
+ gen/Amazonka/Pipes/Types/MQBrokerAccessCredentials.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.MQBrokerAccessCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.MQBrokerAccessCredentials 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 Secrets Manager secret that stores your broker credentials.+--+-- /See:/ 'newMQBrokerAccessCredentials' smart constructor.+data MQBrokerAccessCredentials = MQBrokerAccessCredentials'+  { -- | The ARN of the Secrets Manager secret.+    basicAuth :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MQBrokerAccessCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'basicAuth', 'mQBrokerAccessCredentials_basicAuth' - The ARN of the Secrets Manager secret.+newMQBrokerAccessCredentials ::+  MQBrokerAccessCredentials+newMQBrokerAccessCredentials =+  MQBrokerAccessCredentials'+    { basicAuth =+        Prelude.Nothing+    }++-- | The ARN of the Secrets Manager secret.+mQBrokerAccessCredentials_basicAuth :: Lens.Lens' MQBrokerAccessCredentials (Prelude.Maybe Prelude.Text)+mQBrokerAccessCredentials_basicAuth = Lens.lens (\MQBrokerAccessCredentials' {basicAuth} -> basicAuth) (\s@MQBrokerAccessCredentials' {} a -> s {basicAuth = a} :: MQBrokerAccessCredentials)++instance Data.FromJSON MQBrokerAccessCredentials where+  parseJSON =+    Data.withObject+      "MQBrokerAccessCredentials"+      ( \x ->+          MQBrokerAccessCredentials'+            Prelude.<$> (x Data..:? "BasicAuth")+      )++instance Prelude.Hashable MQBrokerAccessCredentials where+  hashWithSalt _salt MQBrokerAccessCredentials' {..} =+    _salt `Prelude.hashWithSalt` basicAuth++instance Prelude.NFData MQBrokerAccessCredentials where+  rnf MQBrokerAccessCredentials' {..} =+    Prelude.rnf basicAuth++instance Data.ToJSON MQBrokerAccessCredentials where+  toJSON MQBrokerAccessCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [("BasicAuth" Data..=) Prelude.<$> basicAuth]+      )
+ gen/Amazonka/Pipes/Types/MSKAccessCredentials.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.Pipes.Types.MSKAccessCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.MSKAccessCredentials 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 Secrets Manager secret that stores your stream credentials.+--+-- /See:/ 'newMSKAccessCredentials' smart constructor.+data MSKAccessCredentials = MSKAccessCredentials'+  { -- | The ARN of the Secrets Manager secret.+    clientCertificateTlsAuth :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the Secrets Manager secret.+    saslScram512Auth :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MSKAccessCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientCertificateTlsAuth', 'mSKAccessCredentials_clientCertificateTlsAuth' - The ARN of the Secrets Manager secret.+--+-- 'saslScram512Auth', 'mSKAccessCredentials_saslScram512Auth' - The ARN of the Secrets Manager secret.+newMSKAccessCredentials ::+  MSKAccessCredentials+newMSKAccessCredentials =+  MSKAccessCredentials'+    { clientCertificateTlsAuth =+        Prelude.Nothing,+      saslScram512Auth = Prelude.Nothing+    }++-- | The ARN of the Secrets Manager secret.+mSKAccessCredentials_clientCertificateTlsAuth :: Lens.Lens' MSKAccessCredentials (Prelude.Maybe Prelude.Text)+mSKAccessCredentials_clientCertificateTlsAuth = Lens.lens (\MSKAccessCredentials' {clientCertificateTlsAuth} -> clientCertificateTlsAuth) (\s@MSKAccessCredentials' {} a -> s {clientCertificateTlsAuth = a} :: MSKAccessCredentials)++-- | The ARN of the Secrets Manager secret.+mSKAccessCredentials_saslScram512Auth :: Lens.Lens' MSKAccessCredentials (Prelude.Maybe Prelude.Text)+mSKAccessCredentials_saslScram512Auth = Lens.lens (\MSKAccessCredentials' {saslScram512Auth} -> saslScram512Auth) (\s@MSKAccessCredentials' {} a -> s {saslScram512Auth = a} :: MSKAccessCredentials)++instance Data.FromJSON MSKAccessCredentials where+  parseJSON =+    Data.withObject+      "MSKAccessCredentials"+      ( \x ->+          MSKAccessCredentials'+            Prelude.<$> (x Data..:? "ClientCertificateTlsAuth")+            Prelude.<*> (x Data..:? "SaslScram512Auth")+      )++instance Prelude.Hashable MSKAccessCredentials where+  hashWithSalt _salt MSKAccessCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` clientCertificateTlsAuth+      `Prelude.hashWithSalt` saslScram512Auth++instance Prelude.NFData MSKAccessCredentials where+  rnf MSKAccessCredentials' {..} =+    Prelude.rnf clientCertificateTlsAuth+      `Prelude.seq` Prelude.rnf saslScram512Auth++instance Data.ToJSON MSKAccessCredentials where+  toJSON MSKAccessCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientCertificateTlsAuth" Data..=)+              Prelude.<$> clientCertificateTlsAuth,+            ("SaslScram512Auth" Data..=)+              Prelude.<$> saslScram512Auth+          ]+      )
+ gen/Amazonka/Pipes/Types/MSKStartPosition.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.Pipes.Types.MSKStartPosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.MSKStartPosition+  ( MSKStartPosition+      ( ..,+        MSKStartPosition_LATEST,+        MSKStartPosition_TRIM_HORIZON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MSKStartPosition = MSKStartPosition'+  { fromMSKStartPosition ::+      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 MSKStartPosition_LATEST :: MSKStartPosition+pattern MSKStartPosition_LATEST = MSKStartPosition' "LATEST"++pattern MSKStartPosition_TRIM_HORIZON :: MSKStartPosition+pattern MSKStartPosition_TRIM_HORIZON = MSKStartPosition' "TRIM_HORIZON"++{-# COMPLETE+  MSKStartPosition_LATEST,+  MSKStartPosition_TRIM_HORIZON,+  MSKStartPosition'+  #-}
+ gen/Amazonka/Pipes/Types/NetworkConfiguration.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.Pipes.Types.NetworkConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.NetworkConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.AwsVpcConfiguration+import qualified Amazonka.Prelude as Prelude++-- | This structure specifies the network configuration for an Amazon ECS+-- task.+--+-- /See:/ 'newNetworkConfiguration' smart constructor.+data NetworkConfiguration = NetworkConfiguration'+  { -- | Use this structure to specify the VPC subnets and security groups for+    -- the task, and whether a public IP address is to be used. This structure+    -- is relevant only for ECS tasks that use the @awsvpc@ network mode.+    awsvpcConfiguration :: Prelude.Maybe AwsVpcConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsvpcConfiguration', 'networkConfiguration_awsvpcConfiguration' - Use this structure to specify the VPC subnets and security groups for+-- the task, and whether a public IP address is to be used. This structure+-- is relevant only for ECS tasks that use the @awsvpc@ network mode.+newNetworkConfiguration ::+  NetworkConfiguration+newNetworkConfiguration =+  NetworkConfiguration'+    { awsvpcConfiguration =+        Prelude.Nothing+    }++-- | Use this structure to specify the VPC subnets and security groups for+-- the task, and whether a public IP address is to be used. This structure+-- is relevant only for ECS tasks that use the @awsvpc@ network mode.+networkConfiguration_awsvpcConfiguration :: Lens.Lens' NetworkConfiguration (Prelude.Maybe AwsVpcConfiguration)+networkConfiguration_awsvpcConfiguration = Lens.lens (\NetworkConfiguration' {awsvpcConfiguration} -> awsvpcConfiguration) (\s@NetworkConfiguration' {} a -> s {awsvpcConfiguration = a} :: NetworkConfiguration)++instance Data.FromJSON NetworkConfiguration where+  parseJSON =+    Data.withObject+      "NetworkConfiguration"+      ( \x ->+          NetworkConfiguration'+            Prelude.<$> (x Data..:? "awsvpcConfiguration")+      )++instance Prelude.Hashable NetworkConfiguration where+  hashWithSalt _salt NetworkConfiguration' {..} =+    _salt `Prelude.hashWithSalt` awsvpcConfiguration++instance Prelude.NFData NetworkConfiguration where+  rnf NetworkConfiguration' {..} =+    Prelude.rnf awsvpcConfiguration++instance Data.ToJSON NetworkConfiguration where+  toJSON NetworkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("awsvpcConfiguration" Data..=)+              Prelude.<$> awsvpcConfiguration+          ]+      )
+ gen/Amazonka/Pipes/Types/OnPartialBatchItemFailureStreams.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+  ( OnPartialBatchItemFailureStreams+      ( ..,+        OnPartialBatchItemFailureStreams_AUTOMATIC_BISECT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OnPartialBatchItemFailureStreams = OnPartialBatchItemFailureStreams'+  { fromOnPartialBatchItemFailureStreams ::+      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 OnPartialBatchItemFailureStreams_AUTOMATIC_BISECT :: OnPartialBatchItemFailureStreams+pattern OnPartialBatchItemFailureStreams_AUTOMATIC_BISECT = OnPartialBatchItemFailureStreams' "AUTOMATIC_BISECT"++{-# COMPLETE+  OnPartialBatchItemFailureStreams_AUTOMATIC_BISECT,+  OnPartialBatchItemFailureStreams'+  #-}
+ gen/Amazonka/Pipes/Types/Pipe.hs view
@@ -0,0 +1,190 @@+{-# 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.Pipes.Types.Pipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.Pipe where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PipeState+import Amazonka.Pipes.Types.RequestedPipeState+import qualified Amazonka.Prelude as Prelude++-- | An object that represents a pipe. Amazon EventBridgePipes connect event+-- sources to targets and reduces the need for specialized knowledge and+-- integration code.+--+-- /See:/ 'newPipe' smart constructor.+data Pipe = Pipe'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | The ARN of the enrichment resource.+    enrichment :: Prelude.Maybe Prelude.Text,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the source resource.+    source :: Prelude.Maybe Prelude.Text,+    -- | The reason the pipe is in its current state.+    stateReason :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the target resource.+    target :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Pipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'pipe_arn' - The ARN of the pipe.+--+-- 'creationTime', 'pipe_creationTime' - The time the pipe was created.+--+-- 'currentState', 'pipe_currentState' - The state the pipe is in.+--+-- 'desiredState', 'pipe_desiredState' - The state the pipe should be in.+--+-- 'enrichment', 'pipe_enrichment' - The ARN of the enrichment resource.+--+-- 'lastModifiedTime', 'pipe_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'pipe_name' - The name of the pipe.+--+-- 'source', 'pipe_source' - The ARN of the source resource.+--+-- 'stateReason', 'pipe_stateReason' - The reason the pipe is in its current state.+--+-- 'target', 'pipe_target' - The ARN of the target resource.+newPipe ::+  Pipe+newPipe =+  Pipe'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      enrichment = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      source = Prelude.Nothing,+      stateReason = Prelude.Nothing,+      target = Prelude.Nothing+    }++-- | The ARN of the pipe.+pipe_arn :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_arn = Lens.lens (\Pipe' {arn} -> arn) (\s@Pipe' {} a -> s {arn = a} :: Pipe)++-- | The time the pipe was created.+pipe_creationTime :: Lens.Lens' Pipe (Prelude.Maybe Prelude.UTCTime)+pipe_creationTime = Lens.lens (\Pipe' {creationTime} -> creationTime) (\s@Pipe' {} a -> s {creationTime = a} :: Pipe) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+pipe_currentState :: Lens.Lens' Pipe (Prelude.Maybe PipeState)+pipe_currentState = Lens.lens (\Pipe' {currentState} -> currentState) (\s@Pipe' {} a -> s {currentState = a} :: Pipe)++-- | The state the pipe should be in.+pipe_desiredState :: Lens.Lens' Pipe (Prelude.Maybe RequestedPipeState)+pipe_desiredState = Lens.lens (\Pipe' {desiredState} -> desiredState) (\s@Pipe' {} a -> s {desiredState = a} :: Pipe)++-- | The ARN of the enrichment resource.+pipe_enrichment :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_enrichment = Lens.lens (\Pipe' {enrichment} -> enrichment) (\s@Pipe' {} a -> s {enrichment = a} :: Pipe)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+pipe_lastModifiedTime :: Lens.Lens' Pipe (Prelude.Maybe Prelude.UTCTime)+pipe_lastModifiedTime = Lens.lens (\Pipe' {lastModifiedTime} -> lastModifiedTime) (\s@Pipe' {} a -> s {lastModifiedTime = a} :: Pipe) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+pipe_name :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_name = Lens.lens (\Pipe' {name} -> name) (\s@Pipe' {} a -> s {name = a} :: Pipe)++-- | The ARN of the source resource.+pipe_source :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_source = Lens.lens (\Pipe' {source} -> source) (\s@Pipe' {} a -> s {source = a} :: Pipe)++-- | The reason the pipe is in its current state.+pipe_stateReason :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_stateReason = Lens.lens (\Pipe' {stateReason} -> stateReason) (\s@Pipe' {} a -> s {stateReason = a} :: Pipe)++-- | The ARN of the target resource.+pipe_target :: Lens.Lens' Pipe (Prelude.Maybe Prelude.Text)+pipe_target = Lens.lens (\Pipe' {target} -> target) (\s@Pipe' {} a -> s {target = a} :: Pipe)++instance Data.FromJSON Pipe where+  parseJSON =+    Data.withObject+      "Pipe"+      ( \x ->+          Pipe'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "CurrentState")+            Prelude.<*> (x Data..:? "DesiredState")+            Prelude.<*> (x Data..:? "Enrichment")+            Prelude.<*> (x Data..:? "LastModifiedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Source")+            Prelude.<*> (x Data..:? "StateReason")+            Prelude.<*> (x Data..:? "Target")+      )++instance Prelude.Hashable Pipe where+  hashWithSalt _salt Pipe' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` currentState+      `Prelude.hashWithSalt` desiredState+      `Prelude.hashWithSalt` enrichment+      `Prelude.hashWithSalt` lastModifiedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` stateReason+      `Prelude.hashWithSalt` target++instance Prelude.NFData Pipe where+  rnf Pipe' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf enrichment+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf stateReason+      `Prelude.seq` Prelude.rnf target
+ gen/Amazonka/Pipes/Types/PipeEnrichmentHttpParameters.hs view
@@ -0,0 +1,134 @@+{-# 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.Pipes.Types.PipeEnrichmentHttpParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeEnrichmentHttpParameters 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++-- | These are custom parameter to be used when the target is an API Gateway+-- REST APIs or EventBridge ApiDestinations. In the latter case, these are+-- merged with any InvocationParameters specified on the Connection, with+-- any values from the Connection taking precedence.+--+-- /See:/ 'newPipeEnrichmentHttpParameters' smart constructor.+data PipeEnrichmentHttpParameters = PipeEnrichmentHttpParameters'+  { -- | The headers that need to be sent as part of request invoking the API+    -- Gateway REST API or EventBridge ApiDestination.+    headerParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The path parameter values to be used to populate API Gateway REST API or+    -- EventBridge ApiDestination path wildcards (\"*\").+    pathParameterValues :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | The query string keys\/values that need to be sent as part of request+    -- invoking the API Gateway REST API or EventBridge ApiDestination.+    queryStringParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeEnrichmentHttpParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'headerParameters', 'pipeEnrichmentHttpParameters_headerParameters' - The headers that need to be sent as part of request invoking the API+-- Gateway REST API or EventBridge ApiDestination.+--+-- 'pathParameterValues', 'pipeEnrichmentHttpParameters_pathParameterValues' - The path parameter values to be used to populate API Gateway REST API or+-- EventBridge ApiDestination path wildcards (\"*\").+--+-- 'queryStringParameters', 'pipeEnrichmentHttpParameters_queryStringParameters' - The query string keys\/values that need to be sent as part of request+-- invoking the API Gateway REST API or EventBridge ApiDestination.+newPipeEnrichmentHttpParameters ::+  PipeEnrichmentHttpParameters+newPipeEnrichmentHttpParameters =+  PipeEnrichmentHttpParameters'+    { headerParameters =+        Prelude.Nothing,+      pathParameterValues = Prelude.Nothing,+      queryStringParameters = Prelude.Nothing+    }++-- | The headers that need to be sent as part of request invoking the API+-- Gateway REST API or EventBridge ApiDestination.+pipeEnrichmentHttpParameters_headerParameters :: Lens.Lens' PipeEnrichmentHttpParameters (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+pipeEnrichmentHttpParameters_headerParameters = Lens.lens (\PipeEnrichmentHttpParameters' {headerParameters} -> headerParameters) (\s@PipeEnrichmentHttpParameters' {} a -> s {headerParameters = a} :: PipeEnrichmentHttpParameters) Prelude.. Lens.mapping Lens.coerced++-- | The path parameter values to be used to populate API Gateway REST API or+-- EventBridge ApiDestination path wildcards (\"*\").+pipeEnrichmentHttpParameters_pathParameterValues :: Lens.Lens' PipeEnrichmentHttpParameters (Prelude.Maybe [Prelude.Text])+pipeEnrichmentHttpParameters_pathParameterValues = Lens.lens (\PipeEnrichmentHttpParameters' {pathParameterValues} -> pathParameterValues) (\s@PipeEnrichmentHttpParameters' {} a -> s {pathParameterValues = a} :: PipeEnrichmentHttpParameters) Prelude.. Lens.mapping Lens.coerced++-- | The query string keys\/values that need to be sent as part of request+-- invoking the API Gateway REST API or EventBridge ApiDestination.+pipeEnrichmentHttpParameters_queryStringParameters :: Lens.Lens' PipeEnrichmentHttpParameters (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+pipeEnrichmentHttpParameters_queryStringParameters = Lens.lens (\PipeEnrichmentHttpParameters' {queryStringParameters} -> queryStringParameters) (\s@PipeEnrichmentHttpParameters' {} a -> s {queryStringParameters = a} :: PipeEnrichmentHttpParameters) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PipeEnrichmentHttpParameters where+  parseJSON =+    Data.withObject+      "PipeEnrichmentHttpParameters"+      ( \x ->+          PipeEnrichmentHttpParameters'+            Prelude.<$> ( x+                            Data..:? "HeaderParameters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "PathParameterValues"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "QueryStringParameters"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    PipeEnrichmentHttpParameters+  where+  hashWithSalt _salt PipeEnrichmentHttpParameters' {..} =+    _salt+      `Prelude.hashWithSalt` headerParameters+      `Prelude.hashWithSalt` pathParameterValues+      `Prelude.hashWithSalt` queryStringParameters++instance Prelude.NFData PipeEnrichmentHttpParameters where+  rnf PipeEnrichmentHttpParameters' {..} =+    Prelude.rnf headerParameters+      `Prelude.seq` Prelude.rnf pathParameterValues+      `Prelude.seq` Prelude.rnf queryStringParameters++instance Data.ToJSON PipeEnrichmentHttpParameters where+  toJSON PipeEnrichmentHttpParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HeaderParameters" Data..=)+              Prelude.<$> headerParameters,+            ("PathParameterValues" Data..=)+              Prelude.<$> pathParameterValues,+            ("QueryStringParameters" Data..=)+              Prelude.<$> queryStringParameters+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeEnrichmentParameters.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.Pipes.Types.PipeEnrichmentParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeEnrichmentParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PipeEnrichmentHttpParameters+import qualified Amazonka.Prelude as Prelude++-- | The parameters required to set up enrichment on your pipe.+--+-- /See:/ 'newPipeEnrichmentParameters' smart constructor.+data PipeEnrichmentParameters = PipeEnrichmentParameters'+  { -- | Contains the HTTP parameters to use when the target is a API Gateway+    -- REST endpoint or EventBridge ApiDestination.+    --+    -- If you specify an API Gateway REST API or EventBridge ApiDestination as+    -- a target, you can use this parameter to specify headers, path+    -- parameters, and query string keys\/values as part of your target+    -- invoking request. If you\'re using ApiDestinations, the corresponding+    -- Connection can also have these values configured. In case of any+    -- conflicting keys, values from the Connection take precedence.+    httpParameters :: Prelude.Maybe PipeEnrichmentHttpParameters,+    -- | Valid JSON text passed to the enrichment. In this case, nothing from the+    -- event itself is passed to the enrichment. For more information, see+    -- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+    inputTemplate :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeEnrichmentParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpParameters', 'pipeEnrichmentParameters_httpParameters' - Contains the HTTP parameters to use when the target is a API Gateway+-- REST endpoint or EventBridge ApiDestination.+--+-- If you specify an API Gateway REST API or EventBridge ApiDestination as+-- a target, you can use this parameter to specify headers, path+-- parameters, and query string keys\/values as part of your target+-- invoking request. If you\'re using ApiDestinations, the corresponding+-- Connection can also have these values configured. In case of any+-- conflicting keys, values from the Connection take precedence.+--+-- 'inputTemplate', 'pipeEnrichmentParameters_inputTemplate' - Valid JSON text passed to the enrichment. In this case, nothing from the+-- event itself is passed to the enrichment. For more information, see+-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+newPipeEnrichmentParameters ::+  PipeEnrichmentParameters+newPipeEnrichmentParameters =+  PipeEnrichmentParameters'+    { httpParameters =+        Prelude.Nothing,+      inputTemplate = Prelude.Nothing+    }++-- | Contains the HTTP parameters to use when the target is a API Gateway+-- REST endpoint or EventBridge ApiDestination.+--+-- If you specify an API Gateway REST API or EventBridge ApiDestination as+-- a target, you can use this parameter to specify headers, path+-- parameters, and query string keys\/values as part of your target+-- invoking request. If you\'re using ApiDestinations, the corresponding+-- Connection can also have these values configured. In case of any+-- conflicting keys, values from the Connection take precedence.+pipeEnrichmentParameters_httpParameters :: Lens.Lens' PipeEnrichmentParameters (Prelude.Maybe PipeEnrichmentHttpParameters)+pipeEnrichmentParameters_httpParameters = Lens.lens (\PipeEnrichmentParameters' {httpParameters} -> httpParameters) (\s@PipeEnrichmentParameters' {} a -> s {httpParameters = a} :: PipeEnrichmentParameters)++-- | Valid JSON text passed to the enrichment. In this case, nothing from the+-- event itself is passed to the enrichment. For more information, see+-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+pipeEnrichmentParameters_inputTemplate :: Lens.Lens' PipeEnrichmentParameters (Prelude.Maybe Prelude.Text)+pipeEnrichmentParameters_inputTemplate = Lens.lens (\PipeEnrichmentParameters' {inputTemplate} -> inputTemplate) (\s@PipeEnrichmentParameters' {} a -> s {inputTemplate = a} :: PipeEnrichmentParameters) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON PipeEnrichmentParameters where+  parseJSON =+    Data.withObject+      "PipeEnrichmentParameters"+      ( \x ->+          PipeEnrichmentParameters'+            Prelude.<$> (x Data..:? "HttpParameters")+            Prelude.<*> (x Data..:? "InputTemplate")+      )++instance Prelude.Hashable PipeEnrichmentParameters where+  hashWithSalt _salt PipeEnrichmentParameters' {..} =+    _salt+      `Prelude.hashWithSalt` httpParameters+      `Prelude.hashWithSalt` inputTemplate++instance Prelude.NFData PipeEnrichmentParameters where+  rnf PipeEnrichmentParameters' {..} =+    Prelude.rnf httpParameters+      `Prelude.seq` Prelude.rnf inputTemplate++instance Data.ToJSON PipeEnrichmentParameters where+  toJSON PipeEnrichmentParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HttpParameters" Data..=)+              Prelude.<$> httpParameters,+            ("InputTemplate" Data..=) Prelude.<$> inputTemplate+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceActiveMQBrokerParameters.hs view
@@ -0,0 +1,144 @@+{-# 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.Pipes.Types.PipeSourceActiveMQBrokerParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceActiveMQBrokerParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an Active MQ broker as a source.+--+-- /See:/ 'newPipeSourceActiveMQBrokerParameters' smart constructor.+data PipeSourceActiveMQBrokerParameters = PipeSourceActiveMQBrokerParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The credentials needed to access the resource.+    credentials :: MQBrokerAccessCredentials,+    -- | The name of the destination queue to consume.+    queueName :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceActiveMQBrokerParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceActiveMQBrokerParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'credentials', 'pipeSourceActiveMQBrokerParameters_credentials' - The credentials needed to access the resource.+--+-- 'queueName', 'pipeSourceActiveMQBrokerParameters_queueName' - The name of the destination queue to consume.+newPipeSourceActiveMQBrokerParameters ::+  -- | 'credentials'+  MQBrokerAccessCredentials ->+  -- | 'queueName'+  Prelude.Text ->+  PipeSourceActiveMQBrokerParameters+newPipeSourceActiveMQBrokerParameters+  pCredentials_+  pQueueName_ =+    PipeSourceActiveMQBrokerParameters'+      { batchSize =+          Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        credentials = pCredentials_,+        queueName =+          Data._Sensitive Lens.# pQueueName_+      }++-- | The maximum number of records to include in each batch.+pipeSourceActiveMQBrokerParameters_batchSize :: Lens.Lens' PipeSourceActiveMQBrokerParameters (Prelude.Maybe Prelude.Natural)+pipeSourceActiveMQBrokerParameters_batchSize = Lens.lens (\PipeSourceActiveMQBrokerParameters' {batchSize} -> batchSize) (\s@PipeSourceActiveMQBrokerParameters' {} a -> s {batchSize = a} :: PipeSourceActiveMQBrokerParameters)++-- | The maximum length of a time to wait for events.+pipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceActiveMQBrokerParameters (Prelude.Maybe Prelude.Natural)+pipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceActiveMQBrokerParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceActiveMQBrokerParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceActiveMQBrokerParameters)++-- | The credentials needed to access the resource.+pipeSourceActiveMQBrokerParameters_credentials :: Lens.Lens' PipeSourceActiveMQBrokerParameters MQBrokerAccessCredentials+pipeSourceActiveMQBrokerParameters_credentials = Lens.lens (\PipeSourceActiveMQBrokerParameters' {credentials} -> credentials) (\s@PipeSourceActiveMQBrokerParameters' {} a -> s {credentials = a} :: PipeSourceActiveMQBrokerParameters)++-- | The name of the destination queue to consume.+pipeSourceActiveMQBrokerParameters_queueName :: Lens.Lens' PipeSourceActiveMQBrokerParameters Prelude.Text+pipeSourceActiveMQBrokerParameters_queueName = Lens.lens (\PipeSourceActiveMQBrokerParameters' {queueName} -> queueName) (\s@PipeSourceActiveMQBrokerParameters' {} a -> s {queueName = a} :: PipeSourceActiveMQBrokerParameters) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    PipeSourceActiveMQBrokerParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceActiveMQBrokerParameters"+      ( \x ->+          PipeSourceActiveMQBrokerParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..: "Credentials")+            Prelude.<*> (x Data..: "QueueName")+      )++instance+  Prelude.Hashable+    PipeSourceActiveMQBrokerParameters+  where+  hashWithSalt+    _salt+    PipeSourceActiveMQBrokerParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` queueName++instance+  Prelude.NFData+    PipeSourceActiveMQBrokerParameters+  where+  rnf PipeSourceActiveMQBrokerParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf queueName++instance+  Data.ToJSON+    PipeSourceActiveMQBrokerParameters+  where+  toJSON PipeSourceActiveMQBrokerParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            Prelude.Just ("Credentials" Data..= credentials),+            Prelude.Just ("QueueName" Data..= queueName)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceDynamoDBStreamParameters.hs view
@@ -0,0 +1,226 @@+{-# 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.Pipes.Types.PipeSourceDynamoDBStreamParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceDynamoDBStreamParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.DynamoDBStreamStartPosition+import Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a DynamoDB stream as a source.+--+-- /See:/ 'newPipeSourceDynamoDBStreamParameters' smart constructor.+data PipeSourceDynamoDBStreamParameters = PipeSourceDynamoDBStreamParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | Define the target queue to send dead-letter queue events to.+    deadLetterConfig :: Prelude.Maybe DeadLetterConfig,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) Discard records older than the specified age. The default+    -- value is -1, which sets the maximum age to infinite. When the value is+    -- set to infinite, EventBridge never discards old records.+    maximumRecordAgeInSeconds :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Discard records after the specified number of retries.+    -- The default value is -1, which sets the maximum number of retries to+    -- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+    -- failed records until the record expires in the event source.+    maximumRetryAttempts :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Define how to handle item process failures.+    -- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+    -- records are processed or there is one failed message left in the batch.+    onPartialBatchItemFailure :: Prelude.Maybe OnPartialBatchItemFailureStreams,+    -- | (Streams only) The number of batches to process concurrently from each+    -- shard. The default value is 1.+    parallelizationFactor :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) The position in a stream from which to start reading.+    startingPosition :: DynamoDBStreamStartPosition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceDynamoDBStreamParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceDynamoDBStreamParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'deadLetterConfig', 'pipeSourceDynamoDBStreamParameters_deadLetterConfig' - Define the target queue to send dead-letter queue events to.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'maximumRecordAgeInSeconds', 'pipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds' - (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+--+-- 'maximumRetryAttempts', 'pipeSourceDynamoDBStreamParameters_maximumRetryAttempts' - (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+--+-- 'onPartialBatchItemFailure', 'pipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure' - (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+--+-- 'parallelizationFactor', 'pipeSourceDynamoDBStreamParameters_parallelizationFactor' - (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+--+-- 'startingPosition', 'pipeSourceDynamoDBStreamParameters_startingPosition' - (Streams only) The position in a stream from which to start reading.+newPipeSourceDynamoDBStreamParameters ::+  -- | 'startingPosition'+  DynamoDBStreamStartPosition ->+  PipeSourceDynamoDBStreamParameters+newPipeSourceDynamoDBStreamParameters+  pStartingPosition_ =+    PipeSourceDynamoDBStreamParameters'+      { batchSize =+          Prelude.Nothing,+        deadLetterConfig = Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        maximumRecordAgeInSeconds =+          Prelude.Nothing,+        maximumRetryAttempts = Prelude.Nothing,+        onPartialBatchItemFailure =+          Prelude.Nothing,+        parallelizationFactor = Prelude.Nothing,+        startingPosition = pStartingPosition_+      }++-- | The maximum number of records to include in each batch.+pipeSourceDynamoDBStreamParameters_batchSize :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceDynamoDBStreamParameters_batchSize = Lens.lens (\PipeSourceDynamoDBStreamParameters' {batchSize} -> batchSize) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {batchSize = a} :: PipeSourceDynamoDBStreamParameters)++-- | Define the target queue to send dead-letter queue events to.+pipeSourceDynamoDBStreamParameters_deadLetterConfig :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe DeadLetterConfig)+pipeSourceDynamoDBStreamParameters_deadLetterConfig = Lens.lens (\PipeSourceDynamoDBStreamParameters' {deadLetterConfig} -> deadLetterConfig) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {deadLetterConfig = a} :: PipeSourceDynamoDBStreamParameters)++-- | The maximum length of a time to wait for events.+pipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceDynamoDBStreamParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceDynamoDBStreamParameters)++-- | (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+pipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Int)+pipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds = Lens.lens (\PipeSourceDynamoDBStreamParameters' {maximumRecordAgeInSeconds} -> maximumRecordAgeInSeconds) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {maximumRecordAgeInSeconds = a} :: PipeSourceDynamoDBStreamParameters)++-- | (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+pipeSourceDynamoDBStreamParameters_maximumRetryAttempts :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Int)+pipeSourceDynamoDBStreamParameters_maximumRetryAttempts = Lens.lens (\PipeSourceDynamoDBStreamParameters' {maximumRetryAttempts} -> maximumRetryAttempts) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {maximumRetryAttempts = a} :: PipeSourceDynamoDBStreamParameters)++-- | (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+pipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe OnPartialBatchItemFailureStreams)+pipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure = Lens.lens (\PipeSourceDynamoDBStreamParameters' {onPartialBatchItemFailure} -> onPartialBatchItemFailure) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {onPartialBatchItemFailure = a} :: PipeSourceDynamoDBStreamParameters)++-- | (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+pipeSourceDynamoDBStreamParameters_parallelizationFactor :: Lens.Lens' PipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceDynamoDBStreamParameters_parallelizationFactor = Lens.lens (\PipeSourceDynamoDBStreamParameters' {parallelizationFactor} -> parallelizationFactor) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {parallelizationFactor = a} :: PipeSourceDynamoDBStreamParameters)++-- | (Streams only) The position in a stream from which to start reading.+pipeSourceDynamoDBStreamParameters_startingPosition :: Lens.Lens' PipeSourceDynamoDBStreamParameters DynamoDBStreamStartPosition+pipeSourceDynamoDBStreamParameters_startingPosition = Lens.lens (\PipeSourceDynamoDBStreamParameters' {startingPosition} -> startingPosition) (\s@PipeSourceDynamoDBStreamParameters' {} a -> s {startingPosition = a} :: PipeSourceDynamoDBStreamParameters)++instance+  Data.FromJSON+    PipeSourceDynamoDBStreamParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceDynamoDBStreamParameters"+      ( \x ->+          PipeSourceDynamoDBStreamParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "DeadLetterConfig")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..:? "MaximumRecordAgeInSeconds")+            Prelude.<*> (x Data..:? "MaximumRetryAttempts")+            Prelude.<*> (x Data..:? "OnPartialBatchItemFailure")+            Prelude.<*> (x Data..:? "ParallelizationFactor")+            Prelude.<*> (x Data..: "StartingPosition")+      )++instance+  Prelude.Hashable+    PipeSourceDynamoDBStreamParameters+  where+  hashWithSalt+    _salt+    PipeSourceDynamoDBStreamParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` deadLetterConfig+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` maximumRecordAgeInSeconds+        `Prelude.hashWithSalt` maximumRetryAttempts+        `Prelude.hashWithSalt` onPartialBatchItemFailure+        `Prelude.hashWithSalt` parallelizationFactor+        `Prelude.hashWithSalt` startingPosition++instance+  Prelude.NFData+    PipeSourceDynamoDBStreamParameters+  where+  rnf PipeSourceDynamoDBStreamParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf deadLetterConfig+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf maximumRecordAgeInSeconds+      `Prelude.seq` Prelude.rnf maximumRetryAttempts+      `Prelude.seq` Prelude.rnf onPartialBatchItemFailure+      `Prelude.seq` Prelude.rnf parallelizationFactor+      `Prelude.seq` Prelude.rnf startingPosition++instance+  Data.ToJSON+    PipeSourceDynamoDBStreamParameters+  where+  toJSON PipeSourceDynamoDBStreamParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("DeadLetterConfig" Data..=)+              Prelude.<$> deadLetterConfig,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("MaximumRecordAgeInSeconds" Data..=)+              Prelude.<$> maximumRecordAgeInSeconds,+            ("MaximumRetryAttempts" Data..=)+              Prelude.<$> maximumRetryAttempts,+            ("OnPartialBatchItemFailure" Data..=)+              Prelude.<$> onPartialBatchItemFailure,+            ("ParallelizationFactor" Data..=)+              Prelude.<$> parallelizationFactor,+            Prelude.Just+              ("StartingPosition" Data..= startingPosition)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceKinesisStreamParameters.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.KinesisStreamStartPosition+import Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Kinesis stream as a source.+--+-- /See:/ 'newPipeSourceKinesisStreamParameters' smart constructor.+data PipeSourceKinesisStreamParameters = PipeSourceKinesisStreamParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | Define the target queue to send dead-letter queue events to.+    deadLetterConfig :: Prelude.Maybe DeadLetterConfig,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) Discard records older than the specified age. The default+    -- value is -1, which sets the maximum age to infinite. When the value is+    -- set to infinite, EventBridge never discards old records.+    maximumRecordAgeInSeconds :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Discard records after the specified number of retries.+    -- The default value is -1, which sets the maximum number of retries to+    -- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+    -- failed records until the record expires in the event source.+    maximumRetryAttempts :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Define how to handle item process failures.+    -- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+    -- records are processed or there is one failed message left in the batch.+    onPartialBatchItemFailure :: Prelude.Maybe OnPartialBatchItemFailureStreams,+    -- | (Streams only) The number of batches to process concurrently from each+    -- shard. The default value is 1.+    parallelizationFactor :: Prelude.Maybe Prelude.Natural,+    -- | With @StartingPosition@ set to @AT_TIMESTAMP@, the time from which to+    -- start reading, in Unix time seconds.+    startingPositionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | (Streams only) The position in a stream from which to start reading.+    startingPosition :: KinesisStreamStartPosition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceKinesisStreamParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceKinesisStreamParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'deadLetterConfig', 'pipeSourceKinesisStreamParameters_deadLetterConfig' - Define the target queue to send dead-letter queue events to.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'maximumRecordAgeInSeconds', 'pipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds' - (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+--+-- 'maximumRetryAttempts', 'pipeSourceKinesisStreamParameters_maximumRetryAttempts' - (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+--+-- 'onPartialBatchItemFailure', 'pipeSourceKinesisStreamParameters_onPartialBatchItemFailure' - (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+--+-- 'parallelizationFactor', 'pipeSourceKinesisStreamParameters_parallelizationFactor' - (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+--+-- 'startingPositionTimestamp', 'pipeSourceKinesisStreamParameters_startingPositionTimestamp' - With @StartingPosition@ set to @AT_TIMESTAMP@, the time from which to+-- start reading, in Unix time seconds.+--+-- 'startingPosition', 'pipeSourceKinesisStreamParameters_startingPosition' - (Streams only) The position in a stream from which to start reading.+newPipeSourceKinesisStreamParameters ::+  -- | 'startingPosition'+  KinesisStreamStartPosition ->+  PipeSourceKinesisStreamParameters+newPipeSourceKinesisStreamParameters+  pStartingPosition_ =+    PipeSourceKinesisStreamParameters'+      { batchSize =+          Prelude.Nothing,+        deadLetterConfig = Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        maximumRecordAgeInSeconds =+          Prelude.Nothing,+        maximumRetryAttempts = Prelude.Nothing,+        onPartialBatchItemFailure =+          Prelude.Nothing,+        parallelizationFactor = Prelude.Nothing,+        startingPositionTimestamp =+          Prelude.Nothing,+        startingPosition = pStartingPosition_+      }++-- | The maximum number of records to include in each batch.+pipeSourceKinesisStreamParameters_batchSize :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceKinesisStreamParameters_batchSize = Lens.lens (\PipeSourceKinesisStreamParameters' {batchSize} -> batchSize) (\s@PipeSourceKinesisStreamParameters' {} a -> s {batchSize = a} :: PipeSourceKinesisStreamParameters)++-- | Define the target queue to send dead-letter queue events to.+pipeSourceKinesisStreamParameters_deadLetterConfig :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe DeadLetterConfig)+pipeSourceKinesisStreamParameters_deadLetterConfig = Lens.lens (\PipeSourceKinesisStreamParameters' {deadLetterConfig} -> deadLetterConfig) (\s@PipeSourceKinesisStreamParameters' {} a -> s {deadLetterConfig = a} :: PipeSourceKinesisStreamParameters)++-- | The maximum length of a time to wait for events.+pipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceKinesisStreamParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceKinesisStreamParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceKinesisStreamParameters)++-- | (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+pipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Int)+pipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds = Lens.lens (\PipeSourceKinesisStreamParameters' {maximumRecordAgeInSeconds} -> maximumRecordAgeInSeconds) (\s@PipeSourceKinesisStreamParameters' {} a -> s {maximumRecordAgeInSeconds = a} :: PipeSourceKinesisStreamParameters)++-- | (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+pipeSourceKinesisStreamParameters_maximumRetryAttempts :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Int)+pipeSourceKinesisStreamParameters_maximumRetryAttempts = Lens.lens (\PipeSourceKinesisStreamParameters' {maximumRetryAttempts} -> maximumRetryAttempts) (\s@PipeSourceKinesisStreamParameters' {} a -> s {maximumRetryAttempts = a} :: PipeSourceKinesisStreamParameters)++-- | (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+pipeSourceKinesisStreamParameters_onPartialBatchItemFailure :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe OnPartialBatchItemFailureStreams)+pipeSourceKinesisStreamParameters_onPartialBatchItemFailure = Lens.lens (\PipeSourceKinesisStreamParameters' {onPartialBatchItemFailure} -> onPartialBatchItemFailure) (\s@PipeSourceKinesisStreamParameters' {} a -> s {onPartialBatchItemFailure = a} :: PipeSourceKinesisStreamParameters)++-- | (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+pipeSourceKinesisStreamParameters_parallelizationFactor :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+pipeSourceKinesisStreamParameters_parallelizationFactor = Lens.lens (\PipeSourceKinesisStreamParameters' {parallelizationFactor} -> parallelizationFactor) (\s@PipeSourceKinesisStreamParameters' {} a -> s {parallelizationFactor = a} :: PipeSourceKinesisStreamParameters)++-- | With @StartingPosition@ set to @AT_TIMESTAMP@, the time from which to+-- start reading, in Unix time seconds.+pipeSourceKinesisStreamParameters_startingPositionTimestamp :: Lens.Lens' PipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.UTCTime)+pipeSourceKinesisStreamParameters_startingPositionTimestamp = Lens.lens (\PipeSourceKinesisStreamParameters' {startingPositionTimestamp} -> startingPositionTimestamp) (\s@PipeSourceKinesisStreamParameters' {} a -> s {startingPositionTimestamp = a} :: PipeSourceKinesisStreamParameters) Prelude.. Lens.mapping Data._Time++-- | (Streams only) The position in a stream from which to start reading.+pipeSourceKinesisStreamParameters_startingPosition :: Lens.Lens' PipeSourceKinesisStreamParameters KinesisStreamStartPosition+pipeSourceKinesisStreamParameters_startingPosition = Lens.lens (\PipeSourceKinesisStreamParameters' {startingPosition} -> startingPosition) (\s@PipeSourceKinesisStreamParameters' {} a -> s {startingPosition = a} :: PipeSourceKinesisStreamParameters)++instance+  Data.FromJSON+    PipeSourceKinesisStreamParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceKinesisStreamParameters"+      ( \x ->+          PipeSourceKinesisStreamParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "DeadLetterConfig")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..:? "MaximumRecordAgeInSeconds")+            Prelude.<*> (x Data..:? "MaximumRetryAttempts")+            Prelude.<*> (x Data..:? "OnPartialBatchItemFailure")+            Prelude.<*> (x Data..:? "ParallelizationFactor")+            Prelude.<*> (x Data..:? "StartingPositionTimestamp")+            Prelude.<*> (x Data..: "StartingPosition")+      )++instance+  Prelude.Hashable+    PipeSourceKinesisStreamParameters+  where+  hashWithSalt+    _salt+    PipeSourceKinesisStreamParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` deadLetterConfig+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` maximumRecordAgeInSeconds+        `Prelude.hashWithSalt` maximumRetryAttempts+        `Prelude.hashWithSalt` onPartialBatchItemFailure+        `Prelude.hashWithSalt` parallelizationFactor+        `Prelude.hashWithSalt` startingPositionTimestamp+        `Prelude.hashWithSalt` startingPosition++instance+  Prelude.NFData+    PipeSourceKinesisStreamParameters+  where+  rnf PipeSourceKinesisStreamParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf deadLetterConfig+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf maximumRecordAgeInSeconds+      `Prelude.seq` Prelude.rnf maximumRetryAttempts+      `Prelude.seq` Prelude.rnf onPartialBatchItemFailure+      `Prelude.seq` Prelude.rnf parallelizationFactor+      `Prelude.seq` Prelude.rnf startingPositionTimestamp+      `Prelude.seq` Prelude.rnf startingPosition++instance+  Data.ToJSON+    PipeSourceKinesisStreamParameters+  where+  toJSON PipeSourceKinesisStreamParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("DeadLetterConfig" Data..=)+              Prelude.<$> deadLetterConfig,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("MaximumRecordAgeInSeconds" Data..=)+              Prelude.<$> maximumRecordAgeInSeconds,+            ("MaximumRetryAttempts" Data..=)+              Prelude.<$> maximumRetryAttempts,+            ("OnPartialBatchItemFailure" Data..=)+              Prelude.<$> onPartialBatchItemFailure,+            ("ParallelizationFactor" Data..=)+              Prelude.<$> parallelizationFactor,+            ("StartingPositionTimestamp" Data..=)+              Prelude.<$> startingPositionTimestamp,+            Prelude.Just+              ("StartingPosition" Data..= startingPosition)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceManagedStreamingKafkaParameters.hs view
@@ -0,0 +1,173 @@+{-# 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.Pipes.Types.PipeSourceManagedStreamingKafkaParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceManagedStreamingKafkaParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MSKAccessCredentials+import Amazonka.Pipes.Types.MSKStartPosition+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an MSK stream as a source.+--+-- /See:/ 'newPipeSourceManagedStreamingKafkaParameters' smart constructor.+data PipeSourceManagedStreamingKafkaParameters = PipeSourceManagedStreamingKafkaParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The name of the destination queue to consume.+    consumerGroupID :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The credentials needed to access the resource.+    credentials :: Prelude.Maybe MSKAccessCredentials,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) The position in a stream from which to start reading.+    startingPosition :: Prelude.Maybe MSKStartPosition,+    -- | The name of the topic that the pipe will read from.+    topicName :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceManagedStreamingKafkaParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceManagedStreamingKafkaParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'consumerGroupID', 'pipeSourceManagedStreamingKafkaParameters_consumerGroupID' - The name of the destination queue to consume.+--+-- 'credentials', 'pipeSourceManagedStreamingKafkaParameters_credentials' - The credentials needed to access the resource.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'startingPosition', 'pipeSourceManagedStreamingKafkaParameters_startingPosition' - (Streams only) The position in a stream from which to start reading.+--+-- 'topicName', 'pipeSourceManagedStreamingKafkaParameters_topicName' - The name of the topic that the pipe will read from.+newPipeSourceManagedStreamingKafkaParameters ::+  -- | 'topicName'+  Prelude.Text ->+  PipeSourceManagedStreamingKafkaParameters+newPipeSourceManagedStreamingKafkaParameters+  pTopicName_ =+    PipeSourceManagedStreamingKafkaParameters'+      { batchSize =+          Prelude.Nothing,+        consumerGroupID =+          Prelude.Nothing,+        credentials = Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        startingPosition =+          Prelude.Nothing,+        topicName =+          Data._Sensitive+            Lens.# pTopicName_+      }++-- | The maximum number of records to include in each batch.+pipeSourceManagedStreamingKafkaParameters_batchSize :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters (Prelude.Maybe Prelude.Natural)+pipeSourceManagedStreamingKafkaParameters_batchSize = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {batchSize} -> batchSize) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {batchSize = a} :: PipeSourceManagedStreamingKafkaParameters)++-- | The name of the destination queue to consume.+pipeSourceManagedStreamingKafkaParameters_consumerGroupID :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters (Prelude.Maybe Prelude.Text)+pipeSourceManagedStreamingKafkaParameters_consumerGroupID = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {consumerGroupID} -> consumerGroupID) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {consumerGroupID = a} :: PipeSourceManagedStreamingKafkaParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The credentials needed to access the resource.+pipeSourceManagedStreamingKafkaParameters_credentials :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters (Prelude.Maybe MSKAccessCredentials)+pipeSourceManagedStreamingKafkaParameters_credentials = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {credentials} -> credentials) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {credentials = a} :: PipeSourceManagedStreamingKafkaParameters)++-- | The maximum length of a time to wait for events.+pipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters (Prelude.Maybe Prelude.Natural)+pipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceManagedStreamingKafkaParameters)++-- | (Streams only) The position in a stream from which to start reading.+pipeSourceManagedStreamingKafkaParameters_startingPosition :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters (Prelude.Maybe MSKStartPosition)+pipeSourceManagedStreamingKafkaParameters_startingPosition = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {startingPosition} -> startingPosition) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {startingPosition = a} :: PipeSourceManagedStreamingKafkaParameters)++-- | The name of the topic that the pipe will read from.+pipeSourceManagedStreamingKafkaParameters_topicName :: Lens.Lens' PipeSourceManagedStreamingKafkaParameters Prelude.Text+pipeSourceManagedStreamingKafkaParameters_topicName = Lens.lens (\PipeSourceManagedStreamingKafkaParameters' {topicName} -> topicName) (\s@PipeSourceManagedStreamingKafkaParameters' {} a -> s {topicName = a} :: PipeSourceManagedStreamingKafkaParameters) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    PipeSourceManagedStreamingKafkaParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceManagedStreamingKafkaParameters"+      ( \x ->+          PipeSourceManagedStreamingKafkaParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "ConsumerGroupID")+            Prelude.<*> (x Data..:? "Credentials")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..:? "StartingPosition")+            Prelude.<*> (x Data..: "TopicName")+      )++instance+  Prelude.Hashable+    PipeSourceManagedStreamingKafkaParameters+  where+  hashWithSalt+    _salt+    PipeSourceManagedStreamingKafkaParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` consumerGroupID+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` startingPosition+        `Prelude.hashWithSalt` topicName++instance+  Prelude.NFData+    PipeSourceManagedStreamingKafkaParameters+  where+  rnf PipeSourceManagedStreamingKafkaParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf consumerGroupID+      `Prelude.seq` Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf startingPosition+      `Prelude.seq` Prelude.rnf topicName++instance+  Data.ToJSON+    PipeSourceManagedStreamingKafkaParameters+  where+  toJSON PipeSourceManagedStreamingKafkaParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("ConsumerGroupID" Data..=)+              Prelude.<$> consumerGroupID,+            ("Credentials" Data..=) Prelude.<$> credentials,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("StartingPosition" Data..=)+              Prelude.<$> startingPosition,+            Prelude.Just ("TopicName" Data..= topicName)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceParameters.hs view
@@ -0,0 +1,197 @@+{-# 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.Pipes.Types.PipeSourceParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.FilterCriteria+import Amazonka.Pipes.Types.PipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.PipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.PipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.PipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.PipeSourceSqsQueueParameters+import qualified Amazonka.Prelude as Prelude++-- | The parameters required to set up a source for your pipe.+--+-- /See:/ 'newPipeSourceParameters' smart constructor.+data PipeSourceParameters = PipeSourceParameters'+  { -- | The parameters for using an Active MQ broker as a source.+    activeMQBrokerParameters :: Prelude.Maybe PipeSourceActiveMQBrokerParameters,+    -- | The parameters for using a DynamoDB stream as a source.+    dynamoDBStreamParameters :: Prelude.Maybe PipeSourceDynamoDBStreamParameters,+    -- | The collection of event patterns used to filter events. For more+    -- information, see+    -- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+    -- in the /Amazon EventBridge User Guide/.+    filterCriteria :: Prelude.Maybe FilterCriteria,+    -- | The parameters for using a Kinesis stream as a source.+    kinesisStreamParameters :: Prelude.Maybe PipeSourceKinesisStreamParameters,+    -- | The parameters for using an MSK stream as a source.+    managedStreamingKafkaParameters :: Prelude.Maybe PipeSourceManagedStreamingKafkaParameters,+    -- | The parameters for using a Rabbit MQ broker as a source.+    rabbitMQBrokerParameters :: Prelude.Maybe PipeSourceRabbitMQBrokerParameters,+    -- | The parameters for using a self-managed Apache Kafka stream as a source.+    selfManagedKafkaParameters :: Prelude.Maybe PipeSourceSelfManagedKafkaParameters,+    -- | The parameters for using a Amazon SQS stream as a source.+    sqsQueueParameters :: Prelude.Maybe PipeSourceSqsQueueParameters+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeMQBrokerParameters', 'pipeSourceParameters_activeMQBrokerParameters' - The parameters for using an Active MQ broker as a source.+--+-- 'dynamoDBStreamParameters', 'pipeSourceParameters_dynamoDBStreamParameters' - The parameters for using a DynamoDB stream as a source.+--+-- 'filterCriteria', 'pipeSourceParameters_filterCriteria' - The collection of event patterns used to filter events. For more+-- information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+--+-- 'kinesisStreamParameters', 'pipeSourceParameters_kinesisStreamParameters' - The parameters for using a Kinesis stream as a source.+--+-- 'managedStreamingKafkaParameters', 'pipeSourceParameters_managedStreamingKafkaParameters' - The parameters for using an MSK stream as a source.+--+-- 'rabbitMQBrokerParameters', 'pipeSourceParameters_rabbitMQBrokerParameters' - The parameters for using a Rabbit MQ broker as a source.+--+-- 'selfManagedKafkaParameters', 'pipeSourceParameters_selfManagedKafkaParameters' - The parameters for using a self-managed Apache Kafka stream as a source.+--+-- 'sqsQueueParameters', 'pipeSourceParameters_sqsQueueParameters' - The parameters for using a Amazon SQS stream as a source.+newPipeSourceParameters ::+  PipeSourceParameters+newPipeSourceParameters =+  PipeSourceParameters'+    { activeMQBrokerParameters =+        Prelude.Nothing,+      dynamoDBStreamParameters = Prelude.Nothing,+      filterCriteria = Prelude.Nothing,+      kinesisStreamParameters = Prelude.Nothing,+      managedStreamingKafkaParameters = Prelude.Nothing,+      rabbitMQBrokerParameters = Prelude.Nothing,+      selfManagedKafkaParameters = Prelude.Nothing,+      sqsQueueParameters = Prelude.Nothing+    }++-- | The parameters for using an Active MQ broker as a source.+pipeSourceParameters_activeMQBrokerParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceActiveMQBrokerParameters)+pipeSourceParameters_activeMQBrokerParameters = Lens.lens (\PipeSourceParameters' {activeMQBrokerParameters} -> activeMQBrokerParameters) (\s@PipeSourceParameters' {} a -> s {activeMQBrokerParameters = a} :: PipeSourceParameters)++-- | The parameters for using a DynamoDB stream as a source.+pipeSourceParameters_dynamoDBStreamParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceDynamoDBStreamParameters)+pipeSourceParameters_dynamoDBStreamParameters = Lens.lens (\PipeSourceParameters' {dynamoDBStreamParameters} -> dynamoDBStreamParameters) (\s@PipeSourceParameters' {} a -> s {dynamoDBStreamParameters = a} :: PipeSourceParameters)++-- | The collection of event patterns used to filter events. For more+-- information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+pipeSourceParameters_filterCriteria :: Lens.Lens' PipeSourceParameters (Prelude.Maybe FilterCriteria)+pipeSourceParameters_filterCriteria = Lens.lens (\PipeSourceParameters' {filterCriteria} -> filterCriteria) (\s@PipeSourceParameters' {} a -> s {filterCriteria = a} :: PipeSourceParameters)++-- | The parameters for using a Kinesis stream as a source.+pipeSourceParameters_kinesisStreamParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceKinesisStreamParameters)+pipeSourceParameters_kinesisStreamParameters = Lens.lens (\PipeSourceParameters' {kinesisStreamParameters} -> kinesisStreamParameters) (\s@PipeSourceParameters' {} a -> s {kinesisStreamParameters = a} :: PipeSourceParameters)++-- | The parameters for using an MSK stream as a source.+pipeSourceParameters_managedStreamingKafkaParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceManagedStreamingKafkaParameters)+pipeSourceParameters_managedStreamingKafkaParameters = Lens.lens (\PipeSourceParameters' {managedStreamingKafkaParameters} -> managedStreamingKafkaParameters) (\s@PipeSourceParameters' {} a -> s {managedStreamingKafkaParameters = a} :: PipeSourceParameters)++-- | The parameters for using a Rabbit MQ broker as a source.+pipeSourceParameters_rabbitMQBrokerParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceRabbitMQBrokerParameters)+pipeSourceParameters_rabbitMQBrokerParameters = Lens.lens (\PipeSourceParameters' {rabbitMQBrokerParameters} -> rabbitMQBrokerParameters) (\s@PipeSourceParameters' {} a -> s {rabbitMQBrokerParameters = a} :: PipeSourceParameters)++-- | The parameters for using a self-managed Apache Kafka stream as a source.+pipeSourceParameters_selfManagedKafkaParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceSelfManagedKafkaParameters)+pipeSourceParameters_selfManagedKafkaParameters = Lens.lens (\PipeSourceParameters' {selfManagedKafkaParameters} -> selfManagedKafkaParameters) (\s@PipeSourceParameters' {} a -> s {selfManagedKafkaParameters = a} :: PipeSourceParameters)++-- | The parameters for using a Amazon SQS stream as a source.+pipeSourceParameters_sqsQueueParameters :: Lens.Lens' PipeSourceParameters (Prelude.Maybe PipeSourceSqsQueueParameters)+pipeSourceParameters_sqsQueueParameters = Lens.lens (\PipeSourceParameters' {sqsQueueParameters} -> sqsQueueParameters) (\s@PipeSourceParameters' {} a -> s {sqsQueueParameters = a} :: PipeSourceParameters)++instance Data.FromJSON PipeSourceParameters where+  parseJSON =+    Data.withObject+      "PipeSourceParameters"+      ( \x ->+          PipeSourceParameters'+            Prelude.<$> (x Data..:? "ActiveMQBrokerParameters")+            Prelude.<*> (x Data..:? "DynamoDBStreamParameters")+            Prelude.<*> (x Data..:? "FilterCriteria")+            Prelude.<*> (x Data..:? "KinesisStreamParameters")+            Prelude.<*> (x Data..:? "ManagedStreamingKafkaParameters")+            Prelude.<*> (x Data..:? "RabbitMQBrokerParameters")+            Prelude.<*> (x Data..:? "SelfManagedKafkaParameters")+            Prelude.<*> (x Data..:? "SqsQueueParameters")+      )++instance Prelude.Hashable PipeSourceParameters where+  hashWithSalt _salt PipeSourceParameters' {..} =+    _salt+      `Prelude.hashWithSalt` activeMQBrokerParameters+      `Prelude.hashWithSalt` dynamoDBStreamParameters+      `Prelude.hashWithSalt` filterCriteria+      `Prelude.hashWithSalt` kinesisStreamParameters+      `Prelude.hashWithSalt` managedStreamingKafkaParameters+      `Prelude.hashWithSalt` rabbitMQBrokerParameters+      `Prelude.hashWithSalt` selfManagedKafkaParameters+      `Prelude.hashWithSalt` sqsQueueParameters++instance Prelude.NFData PipeSourceParameters where+  rnf PipeSourceParameters' {..} =+    Prelude.rnf activeMQBrokerParameters+      `Prelude.seq` Prelude.rnf dynamoDBStreamParameters+      `Prelude.seq` Prelude.rnf filterCriteria+      `Prelude.seq` Prelude.rnf kinesisStreamParameters+      `Prelude.seq` Prelude.rnf managedStreamingKafkaParameters+      `Prelude.seq` Prelude.rnf rabbitMQBrokerParameters+      `Prelude.seq` Prelude.rnf selfManagedKafkaParameters+      `Prelude.seq` Prelude.rnf sqsQueueParameters++instance Data.ToJSON PipeSourceParameters where+  toJSON PipeSourceParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ActiveMQBrokerParameters" Data..=)+              Prelude.<$> activeMQBrokerParameters,+            ("DynamoDBStreamParameters" Data..=)+              Prelude.<$> dynamoDBStreamParameters,+            ("FilterCriteria" Data..=)+              Prelude.<$> filterCriteria,+            ("KinesisStreamParameters" Data..=)+              Prelude.<$> kinesisStreamParameters,+            ("ManagedStreamingKafkaParameters" Data..=)+              Prelude.<$> managedStreamingKafkaParameters,+            ("RabbitMQBrokerParameters" Data..=)+              Prelude.<$> rabbitMQBrokerParameters,+            ("SelfManagedKafkaParameters" Data..=)+              Prelude.<$> selfManagedKafkaParameters,+            ("SqsQueueParameters" Data..=)+              Prelude.<$> sqsQueueParameters+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceRabbitMQBrokerParameters.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceRabbitMQBrokerParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Rabbit MQ broker as a source.+--+-- /See:/ 'newPipeSourceRabbitMQBrokerParameters' smart constructor.+data PipeSourceRabbitMQBrokerParameters = PipeSourceRabbitMQBrokerParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The name of the virtual host associated with the source broker.+    virtualHost :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The credentials needed to access the resource.+    credentials :: MQBrokerAccessCredentials,+    -- | The name of the destination queue to consume.+    queueName :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceRabbitMQBrokerParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceRabbitMQBrokerParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'virtualHost', 'pipeSourceRabbitMQBrokerParameters_virtualHost' - The name of the virtual host associated with the source broker.+--+-- 'credentials', 'pipeSourceRabbitMQBrokerParameters_credentials' - The credentials needed to access the resource.+--+-- 'queueName', 'pipeSourceRabbitMQBrokerParameters_queueName' - The name of the destination queue to consume.+newPipeSourceRabbitMQBrokerParameters ::+  -- | 'credentials'+  MQBrokerAccessCredentials ->+  -- | 'queueName'+  Prelude.Text ->+  PipeSourceRabbitMQBrokerParameters+newPipeSourceRabbitMQBrokerParameters+  pCredentials_+  pQueueName_ =+    PipeSourceRabbitMQBrokerParameters'+      { batchSize =+          Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        virtualHost = Prelude.Nothing,+        credentials = pCredentials_,+        queueName =+          Data._Sensitive Lens.# pQueueName_+      }++-- | The maximum number of records to include in each batch.+pipeSourceRabbitMQBrokerParameters_batchSize :: Lens.Lens' PipeSourceRabbitMQBrokerParameters (Prelude.Maybe Prelude.Natural)+pipeSourceRabbitMQBrokerParameters_batchSize = Lens.lens (\PipeSourceRabbitMQBrokerParameters' {batchSize} -> batchSize) (\s@PipeSourceRabbitMQBrokerParameters' {} a -> s {batchSize = a} :: PipeSourceRabbitMQBrokerParameters)++-- | The maximum length of a time to wait for events.+pipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceRabbitMQBrokerParameters (Prelude.Maybe Prelude.Natural)+pipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceRabbitMQBrokerParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceRabbitMQBrokerParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceRabbitMQBrokerParameters)++-- | The name of the virtual host associated with the source broker.+pipeSourceRabbitMQBrokerParameters_virtualHost :: Lens.Lens' PipeSourceRabbitMQBrokerParameters (Prelude.Maybe Prelude.Text)+pipeSourceRabbitMQBrokerParameters_virtualHost = Lens.lens (\PipeSourceRabbitMQBrokerParameters' {virtualHost} -> virtualHost) (\s@PipeSourceRabbitMQBrokerParameters' {} a -> s {virtualHost = a} :: PipeSourceRabbitMQBrokerParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The credentials needed to access the resource.+pipeSourceRabbitMQBrokerParameters_credentials :: Lens.Lens' PipeSourceRabbitMQBrokerParameters MQBrokerAccessCredentials+pipeSourceRabbitMQBrokerParameters_credentials = Lens.lens (\PipeSourceRabbitMQBrokerParameters' {credentials} -> credentials) (\s@PipeSourceRabbitMQBrokerParameters' {} a -> s {credentials = a} :: PipeSourceRabbitMQBrokerParameters)++-- | The name of the destination queue to consume.+pipeSourceRabbitMQBrokerParameters_queueName :: Lens.Lens' PipeSourceRabbitMQBrokerParameters Prelude.Text+pipeSourceRabbitMQBrokerParameters_queueName = Lens.lens (\PipeSourceRabbitMQBrokerParameters' {queueName} -> queueName) (\s@PipeSourceRabbitMQBrokerParameters' {} a -> s {queueName = a} :: PipeSourceRabbitMQBrokerParameters) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    PipeSourceRabbitMQBrokerParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceRabbitMQBrokerParameters"+      ( \x ->+          PipeSourceRabbitMQBrokerParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..:? "VirtualHost")+            Prelude.<*> (x Data..: "Credentials")+            Prelude.<*> (x Data..: "QueueName")+      )++instance+  Prelude.Hashable+    PipeSourceRabbitMQBrokerParameters+  where+  hashWithSalt+    _salt+    PipeSourceRabbitMQBrokerParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` virtualHost+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` queueName++instance+  Prelude.NFData+    PipeSourceRabbitMQBrokerParameters+  where+  rnf PipeSourceRabbitMQBrokerParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf virtualHost+      `Prelude.seq` Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf queueName++instance+  Data.ToJSON+    PipeSourceRabbitMQBrokerParameters+  where+  toJSON PipeSourceRabbitMQBrokerParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("VirtualHost" Data..=) Prelude.<$> virtualHost,+            Prelude.Just ("Credentials" Data..= credentials),+            Prelude.Just ("QueueName" Data..= queueName)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceSelfManagedKafkaParameters.hs view
@@ -0,0 +1,218 @@+{-# 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.Pipes.Types.PipeSourceSelfManagedKafkaParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceSelfManagedKafkaParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+import Amazonka.Pipes.Types.SelfManagedKafkaStartPosition+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a self-managed Apache Kafka stream as a source.+--+-- /See:/ 'newPipeSourceSelfManagedKafkaParameters' smart constructor.+data PipeSourceSelfManagedKafkaParameters = PipeSourceSelfManagedKafkaParameters'+  { -- | An array of server URLs.+    additionalBootstrapServers :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The name of the destination queue to consume.+    consumerGroupID :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The credentials needed to access the resource.+    credentials :: Prelude.Maybe SelfManagedKafkaAccessConfigurationCredentials,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The ARN of the Secrets Manager secret used for certification.+    serverRootCaCertificate :: Prelude.Maybe Prelude.Text,+    -- | (Streams only) The position in a stream from which to start reading.+    startingPosition :: Prelude.Maybe SelfManagedKafkaStartPosition,+    -- | This structure specifies the VPC subnets and security groups for the+    -- stream, and whether a public IP address is to be used.+    vpc :: Prelude.Maybe SelfManagedKafkaAccessConfigurationVpc,+    -- | The name of the topic that the pipe will read from.+    topicName :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceSelfManagedKafkaParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalBootstrapServers', 'pipeSourceSelfManagedKafkaParameters_additionalBootstrapServers' - An array of server URLs.+--+-- 'batchSize', 'pipeSourceSelfManagedKafkaParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'consumerGroupID', 'pipeSourceSelfManagedKafkaParameters_consumerGroupID' - The name of the destination queue to consume.+--+-- 'credentials', 'pipeSourceSelfManagedKafkaParameters_credentials' - The credentials needed to access the resource.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'serverRootCaCertificate', 'pipeSourceSelfManagedKafkaParameters_serverRootCaCertificate' - The ARN of the Secrets Manager secret used for certification.+--+-- 'startingPosition', 'pipeSourceSelfManagedKafkaParameters_startingPosition' - (Streams only) The position in a stream from which to start reading.+--+-- 'vpc', 'pipeSourceSelfManagedKafkaParameters_vpc' - This structure specifies the VPC subnets and security groups for the+-- stream, and whether a public IP address is to be used.+--+-- 'topicName', 'pipeSourceSelfManagedKafkaParameters_topicName' - The name of the topic that the pipe will read from.+newPipeSourceSelfManagedKafkaParameters ::+  -- | 'topicName'+  Prelude.Text ->+  PipeSourceSelfManagedKafkaParameters+newPipeSourceSelfManagedKafkaParameters pTopicName_ =+  PipeSourceSelfManagedKafkaParameters'+    { additionalBootstrapServers =+        Prelude.Nothing,+      batchSize = Prelude.Nothing,+      consumerGroupID = Prelude.Nothing,+      credentials = Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing,+      serverRootCaCertificate =+        Prelude.Nothing,+      startingPosition = Prelude.Nothing,+      vpc = Prelude.Nothing,+      topicName =+        Data._Sensitive Lens.# pTopicName_+    }++-- | An array of server URLs.+pipeSourceSelfManagedKafkaParameters_additionalBootstrapServers :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe [Prelude.Text])+pipeSourceSelfManagedKafkaParameters_additionalBootstrapServers = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {additionalBootstrapServers} -> additionalBootstrapServers) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {additionalBootstrapServers = a} :: PipeSourceSelfManagedKafkaParameters) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of records to include in each batch.+pipeSourceSelfManagedKafkaParameters_batchSize :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Natural)+pipeSourceSelfManagedKafkaParameters_batchSize = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {batchSize} -> batchSize) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {batchSize = a} :: PipeSourceSelfManagedKafkaParameters)++-- | The name of the destination queue to consume.+pipeSourceSelfManagedKafkaParameters_consumerGroupID :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Text)+pipeSourceSelfManagedKafkaParameters_consumerGroupID = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {consumerGroupID} -> consumerGroupID) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {consumerGroupID = a} :: PipeSourceSelfManagedKafkaParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The credentials needed to access the resource.+pipeSourceSelfManagedKafkaParameters_credentials :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe SelfManagedKafkaAccessConfigurationCredentials)+pipeSourceSelfManagedKafkaParameters_credentials = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {credentials} -> credentials) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {credentials = a} :: PipeSourceSelfManagedKafkaParameters)++-- | The maximum length of a time to wait for events.+pipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Natural)+pipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceSelfManagedKafkaParameters)++-- | The ARN of the Secrets Manager secret used for certification.+pipeSourceSelfManagedKafkaParameters_serverRootCaCertificate :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Text)+pipeSourceSelfManagedKafkaParameters_serverRootCaCertificate = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {serverRootCaCertificate} -> serverRootCaCertificate) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {serverRootCaCertificate = a} :: PipeSourceSelfManagedKafkaParameters)++-- | (Streams only) The position in a stream from which to start reading.+pipeSourceSelfManagedKafkaParameters_startingPosition :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe SelfManagedKafkaStartPosition)+pipeSourceSelfManagedKafkaParameters_startingPosition = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {startingPosition} -> startingPosition) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {startingPosition = a} :: PipeSourceSelfManagedKafkaParameters)++-- | This structure specifies the VPC subnets and security groups for the+-- stream, and whether a public IP address is to be used.+pipeSourceSelfManagedKafkaParameters_vpc :: Lens.Lens' PipeSourceSelfManagedKafkaParameters (Prelude.Maybe SelfManagedKafkaAccessConfigurationVpc)+pipeSourceSelfManagedKafkaParameters_vpc = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {vpc} -> vpc) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {vpc = a} :: PipeSourceSelfManagedKafkaParameters)++-- | The name of the topic that the pipe will read from.+pipeSourceSelfManagedKafkaParameters_topicName :: Lens.Lens' PipeSourceSelfManagedKafkaParameters Prelude.Text+pipeSourceSelfManagedKafkaParameters_topicName = Lens.lens (\PipeSourceSelfManagedKafkaParameters' {topicName} -> topicName) (\s@PipeSourceSelfManagedKafkaParameters' {} a -> s {topicName = a} :: PipeSourceSelfManagedKafkaParameters) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    PipeSourceSelfManagedKafkaParameters+  where+  parseJSON =+    Data.withObject+      "PipeSourceSelfManagedKafkaParameters"+      ( \x ->+          PipeSourceSelfManagedKafkaParameters'+            Prelude.<$> ( x+                            Data..:? "AdditionalBootstrapServers"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "ConsumerGroupID")+            Prelude.<*> (x Data..:? "Credentials")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+            Prelude.<*> (x Data..:? "ServerRootCaCertificate")+            Prelude.<*> (x Data..:? "StartingPosition")+            Prelude.<*> (x Data..:? "Vpc")+            Prelude.<*> (x Data..: "TopicName")+      )++instance+  Prelude.Hashable+    PipeSourceSelfManagedKafkaParameters+  where+  hashWithSalt+    _salt+    PipeSourceSelfManagedKafkaParameters' {..} =+      _salt+        `Prelude.hashWithSalt` additionalBootstrapServers+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` consumerGroupID+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` serverRootCaCertificate+        `Prelude.hashWithSalt` startingPosition+        `Prelude.hashWithSalt` vpc+        `Prelude.hashWithSalt` topicName++instance+  Prelude.NFData+    PipeSourceSelfManagedKafkaParameters+  where+  rnf PipeSourceSelfManagedKafkaParameters' {..} =+    Prelude.rnf additionalBootstrapServers+      `Prelude.seq` Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf consumerGroupID+      `Prelude.seq` Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf serverRootCaCertificate+      `Prelude.seq` Prelude.rnf startingPosition+      `Prelude.seq` Prelude.rnf vpc+      `Prelude.seq` Prelude.rnf topicName++instance+  Data.ToJSON+    PipeSourceSelfManagedKafkaParameters+  where+  toJSON PipeSourceSelfManagedKafkaParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AdditionalBootstrapServers" Data..=)+              Prelude.<$> additionalBootstrapServers,+            ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("ConsumerGroupID" Data..=)+              Prelude.<$> consumerGroupID,+            ("Credentials" Data..=) Prelude.<$> credentials,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("ServerRootCaCertificate" Data..=)+              Prelude.<$> serverRootCaCertificate,+            ("StartingPosition" Data..=)+              Prelude.<$> startingPosition,+            ("Vpc" Data..=) Prelude.<$> vpc,+            Prelude.Just ("TopicName" Data..= topicName)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeSourceSqsQueueParameters.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.Pipes.Types.PipeSourceSqsQueueParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeSourceSqsQueueParameters 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 parameters for using a Amazon SQS stream as a source.+--+-- /See:/ 'newPipeSourceSqsQueueParameters' smart constructor.+data PipeSourceSqsQueueParameters = PipeSourceSqsQueueParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeSourceSqsQueueParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'pipeSourceSqsQueueParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'pipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+newPipeSourceSqsQueueParameters ::+  PipeSourceSqsQueueParameters+newPipeSourceSqsQueueParameters =+  PipeSourceSqsQueueParameters'+    { batchSize =+        Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+pipeSourceSqsQueueParameters_batchSize :: Lens.Lens' PipeSourceSqsQueueParameters (Prelude.Maybe Prelude.Natural)+pipeSourceSqsQueueParameters_batchSize = Lens.lens (\PipeSourceSqsQueueParameters' {batchSize} -> batchSize) (\s@PipeSourceSqsQueueParameters' {} a -> s {batchSize = a} :: PipeSourceSqsQueueParameters)++-- | The maximum length of a time to wait for events.+pipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds :: Lens.Lens' PipeSourceSqsQueueParameters (Prelude.Maybe Prelude.Natural)+pipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds = Lens.lens (\PipeSourceSqsQueueParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@PipeSourceSqsQueueParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: PipeSourceSqsQueueParameters)++instance Data.FromJSON PipeSourceSqsQueueParameters where+  parseJSON =+    Data.withObject+      "PipeSourceSqsQueueParameters"+      ( \x ->+          PipeSourceSqsQueueParameters'+            Prelude.<$> (x Data..:? "BatchSize")+            Prelude.<*> (x Data..:? "MaximumBatchingWindowInSeconds")+      )++instance+  Prelude.Hashable+    PipeSourceSqsQueueParameters+  where+  hashWithSalt _salt PipeSourceSqsQueueParameters' {..} =+    _salt+      `Prelude.hashWithSalt` batchSize+      `Prelude.hashWithSalt` maximumBatchingWindowInSeconds++instance Prelude.NFData PipeSourceSqsQueueParameters where+  rnf PipeSourceSqsQueueParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds++instance Data.ToJSON PipeSourceSqsQueueParameters where+  toJSON PipeSourceSqsQueueParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeState.hs view
@@ -0,0 +1,116 @@+{-# 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.Pipes.Types.PipeState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeState+  ( PipeState+      ( ..,+        PipeState_CREATE_FAILED,+        PipeState_CREATING,+        PipeState_DELETING,+        PipeState_RUNNING,+        PipeState_STARTING,+        PipeState_START_FAILED,+        PipeState_STOPPED,+        PipeState_STOPPING,+        PipeState_STOP_FAILED,+        PipeState_UPDATE_FAILED,+        PipeState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PipeState = PipeState'+  { fromPipeState ::+      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 PipeState_CREATE_FAILED :: PipeState+pattern PipeState_CREATE_FAILED = PipeState' "CREATE_FAILED"++pattern PipeState_CREATING :: PipeState+pattern PipeState_CREATING = PipeState' "CREATING"++pattern PipeState_DELETING :: PipeState+pattern PipeState_DELETING = PipeState' "DELETING"++pattern PipeState_RUNNING :: PipeState+pattern PipeState_RUNNING = PipeState' "RUNNING"++pattern PipeState_STARTING :: PipeState+pattern PipeState_STARTING = PipeState' "STARTING"++pattern PipeState_START_FAILED :: PipeState+pattern PipeState_START_FAILED = PipeState' "START_FAILED"++pattern PipeState_STOPPED :: PipeState+pattern PipeState_STOPPED = PipeState' "STOPPED"++pattern PipeState_STOPPING :: PipeState+pattern PipeState_STOPPING = PipeState' "STOPPING"++pattern PipeState_STOP_FAILED :: PipeState+pattern PipeState_STOP_FAILED = PipeState' "STOP_FAILED"++pattern PipeState_UPDATE_FAILED :: PipeState+pattern PipeState_UPDATE_FAILED = PipeState' "UPDATE_FAILED"++pattern PipeState_UPDATING :: PipeState+pattern PipeState_UPDATING = PipeState' "UPDATING"++{-# COMPLETE+  PipeState_CREATE_FAILED,+  PipeState_CREATING,+  PipeState_DELETING,+  PipeState_RUNNING,+  PipeState_STARTING,+  PipeState_START_FAILED,+  PipeState_STOPPED,+  PipeState_STOPPING,+  PipeState_STOP_FAILED,+  PipeState_UPDATE_FAILED,+  PipeState_UPDATING,+  PipeState'+  #-}
+ gen/Amazonka/Pipes/Types/PipeTargetBatchJobParameters.hs view
@@ -0,0 +1,231 @@+{-# 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.Pipes.Types.PipeTargetBatchJobParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetBatchJobParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.BatchArrayProperties+import Amazonka.Pipes.Types.BatchContainerOverrides+import Amazonka.Pipes.Types.BatchJobDependency+import Amazonka.Pipes.Types.BatchRetryStrategy+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an Batch job as a target.+--+-- /See:/ 'newPipeTargetBatchJobParameters' smart constructor.+data PipeTargetBatchJobParameters = PipeTargetBatchJobParameters'+  { -- | The array properties for the submitted job, such as the size of the+    -- array. The array size can be between 2 and 10,000. If you specify array+    -- properties for a job, it becomes an array job. This parameter is used+    -- only if the target is an Batch job.+    arrayProperties :: Prelude.Maybe BatchArrayProperties,+    -- | The overrides that are sent to a container.+    containerOverrides :: Prelude.Maybe BatchContainerOverrides,+    -- | A list of dependencies for the job. A job can depend upon a maximum of+    -- 20 jobs. You can specify a @SEQUENTIAL@ type dependency without+    -- specifying a job ID for array jobs so that each child array job+    -- completes sequentially, starting at index 0. You can also specify an+    -- @N_TO_N@ type dependency with a job ID for array jobs. In that case,+    -- each index child of this job must wait for the corresponding index child+    -- of each dependency to complete before it can begin.+    dependsOn :: Prelude.Maybe [BatchJobDependency],+    -- | Additional parameters passed to the job that replace parameter+    -- substitution placeholders that are set in the job definition. Parameters+    -- are specified as a key and value pair mapping. Parameters included here+    -- override any corresponding parameter defaults from the job definition.+    parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The retry strategy to use for failed jobs. When a retry strategy is+    -- specified here, it overrides the retry strategy defined in the job+    -- definition.+    retryStrategy :: Prelude.Maybe BatchRetryStrategy,+    -- | The job definition used by this job. This value can be one of @name@,+    -- @name:revision@, or the Amazon Resource Name (ARN) for the job+    -- definition. If name is specified without a revision then the latest+    -- active revision is used.+    jobDefinition :: Prelude.Text,+    -- | The name of the job. It can be up to 128 letters long. The first+    -- character must be alphanumeric, can contain uppercase and lowercase+    -- letters, numbers, hyphens (-), and underscores (_).+    jobName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetBatchJobParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arrayProperties', 'pipeTargetBatchJobParameters_arrayProperties' - The array properties for the submitted job, such as the size of the+-- array. The array size can be between 2 and 10,000. If you specify array+-- properties for a job, it becomes an array job. This parameter is used+-- only if the target is an Batch job.+--+-- 'containerOverrides', 'pipeTargetBatchJobParameters_containerOverrides' - The overrides that are sent to a container.+--+-- 'dependsOn', 'pipeTargetBatchJobParameters_dependsOn' - A list of dependencies for the job. A job can depend upon a maximum of+-- 20 jobs. You can specify a @SEQUENTIAL@ type dependency without+-- specifying a job ID for array jobs so that each child array job+-- completes sequentially, starting at index 0. You can also specify an+-- @N_TO_N@ type dependency with a job ID for array jobs. In that case,+-- each index child of this job must wait for the corresponding index child+-- of each dependency to complete before it can begin.+--+-- 'parameters', 'pipeTargetBatchJobParameters_parameters' - Additional parameters passed to the job that replace parameter+-- substitution placeholders that are set in the job definition. Parameters+-- are specified as a key and value pair mapping. Parameters included here+-- override any corresponding parameter defaults from the job definition.+--+-- 'retryStrategy', 'pipeTargetBatchJobParameters_retryStrategy' - The retry strategy to use for failed jobs. When a retry strategy is+-- specified here, it overrides the retry strategy defined in the job+-- definition.+--+-- 'jobDefinition', 'pipeTargetBatchJobParameters_jobDefinition' - The job definition used by this job. This value can be one of @name@,+-- @name:revision@, or the Amazon Resource Name (ARN) for the job+-- definition. If name is specified without a revision then the latest+-- active revision is used.+--+-- 'jobName', 'pipeTargetBatchJobParameters_jobName' - The name of the job. It can be up to 128 letters long. The first+-- character must be alphanumeric, can contain uppercase and lowercase+-- letters, numbers, hyphens (-), and underscores (_).+newPipeTargetBatchJobParameters ::+  -- | 'jobDefinition'+  Prelude.Text ->+  -- | 'jobName'+  Prelude.Text ->+  PipeTargetBatchJobParameters+newPipeTargetBatchJobParameters+  pJobDefinition_+  pJobName_ =+    PipeTargetBatchJobParameters'+      { arrayProperties =+          Prelude.Nothing,+        containerOverrides = Prelude.Nothing,+        dependsOn = Prelude.Nothing,+        parameters = Prelude.Nothing,+        retryStrategy = Prelude.Nothing,+        jobDefinition = pJobDefinition_,+        jobName = pJobName_+      }++-- | The array properties for the submitted job, such as the size of the+-- array. The array size can be between 2 and 10,000. If you specify array+-- properties for a job, it becomes an array job. This parameter is used+-- only if the target is an Batch job.+pipeTargetBatchJobParameters_arrayProperties :: Lens.Lens' PipeTargetBatchJobParameters (Prelude.Maybe BatchArrayProperties)+pipeTargetBatchJobParameters_arrayProperties = Lens.lens (\PipeTargetBatchJobParameters' {arrayProperties} -> arrayProperties) (\s@PipeTargetBatchJobParameters' {} a -> s {arrayProperties = a} :: PipeTargetBatchJobParameters)++-- | The overrides that are sent to a container.+pipeTargetBatchJobParameters_containerOverrides :: Lens.Lens' PipeTargetBatchJobParameters (Prelude.Maybe BatchContainerOverrides)+pipeTargetBatchJobParameters_containerOverrides = Lens.lens (\PipeTargetBatchJobParameters' {containerOverrides} -> containerOverrides) (\s@PipeTargetBatchJobParameters' {} a -> s {containerOverrides = a} :: PipeTargetBatchJobParameters)++-- | A list of dependencies for the job. A job can depend upon a maximum of+-- 20 jobs. You can specify a @SEQUENTIAL@ type dependency without+-- specifying a job ID for array jobs so that each child array job+-- completes sequentially, starting at index 0. You can also specify an+-- @N_TO_N@ type dependency with a job ID for array jobs. In that case,+-- each index child of this job must wait for the corresponding index child+-- of each dependency to complete before it can begin.+pipeTargetBatchJobParameters_dependsOn :: Lens.Lens' PipeTargetBatchJobParameters (Prelude.Maybe [BatchJobDependency])+pipeTargetBatchJobParameters_dependsOn = Lens.lens (\PipeTargetBatchJobParameters' {dependsOn} -> dependsOn) (\s@PipeTargetBatchJobParameters' {} a -> s {dependsOn = a} :: PipeTargetBatchJobParameters) Prelude.. Lens.mapping Lens.coerced++-- | Additional parameters passed to the job that replace parameter+-- substitution placeholders that are set in the job definition. Parameters+-- are specified as a key and value pair mapping. Parameters included here+-- override any corresponding parameter defaults from the job definition.+pipeTargetBatchJobParameters_parameters :: Lens.Lens' PipeTargetBatchJobParameters (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+pipeTargetBatchJobParameters_parameters = Lens.lens (\PipeTargetBatchJobParameters' {parameters} -> parameters) (\s@PipeTargetBatchJobParameters' {} a -> s {parameters = a} :: PipeTargetBatchJobParameters) Prelude.. Lens.mapping Lens.coerced++-- | The retry strategy to use for failed jobs. When a retry strategy is+-- specified here, it overrides the retry strategy defined in the job+-- definition.+pipeTargetBatchJobParameters_retryStrategy :: Lens.Lens' PipeTargetBatchJobParameters (Prelude.Maybe BatchRetryStrategy)+pipeTargetBatchJobParameters_retryStrategy = Lens.lens (\PipeTargetBatchJobParameters' {retryStrategy} -> retryStrategy) (\s@PipeTargetBatchJobParameters' {} a -> s {retryStrategy = a} :: PipeTargetBatchJobParameters)++-- | The job definition used by this job. This value can be one of @name@,+-- @name:revision@, or the Amazon Resource Name (ARN) for the job+-- definition. If name is specified without a revision then the latest+-- active revision is used.+pipeTargetBatchJobParameters_jobDefinition :: Lens.Lens' PipeTargetBatchJobParameters Prelude.Text+pipeTargetBatchJobParameters_jobDefinition = Lens.lens (\PipeTargetBatchJobParameters' {jobDefinition} -> jobDefinition) (\s@PipeTargetBatchJobParameters' {} a -> s {jobDefinition = a} :: PipeTargetBatchJobParameters)++-- | The name of the job. It can be up to 128 letters long. The first+-- character must be alphanumeric, can contain uppercase and lowercase+-- letters, numbers, hyphens (-), and underscores (_).+pipeTargetBatchJobParameters_jobName :: Lens.Lens' PipeTargetBatchJobParameters Prelude.Text+pipeTargetBatchJobParameters_jobName = Lens.lens (\PipeTargetBatchJobParameters' {jobName} -> jobName) (\s@PipeTargetBatchJobParameters' {} a -> s {jobName = a} :: PipeTargetBatchJobParameters)++instance Data.FromJSON PipeTargetBatchJobParameters where+  parseJSON =+    Data.withObject+      "PipeTargetBatchJobParameters"+      ( \x ->+          PipeTargetBatchJobParameters'+            Prelude.<$> (x Data..:? "ArrayProperties")+            Prelude.<*> (x Data..:? "ContainerOverrides")+            Prelude.<*> (x Data..:? "DependsOn" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Parameters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "RetryStrategy")+            Prelude.<*> (x Data..: "JobDefinition")+            Prelude.<*> (x Data..: "JobName")+      )++instance+  Prelude.Hashable+    PipeTargetBatchJobParameters+  where+  hashWithSalt _salt PipeTargetBatchJobParameters' {..} =+    _salt+      `Prelude.hashWithSalt` arrayProperties+      `Prelude.hashWithSalt` containerOverrides+      `Prelude.hashWithSalt` dependsOn+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` retryStrategy+      `Prelude.hashWithSalt` jobDefinition+      `Prelude.hashWithSalt` jobName++instance Prelude.NFData PipeTargetBatchJobParameters where+  rnf PipeTargetBatchJobParameters' {..} =+    Prelude.rnf arrayProperties+      `Prelude.seq` Prelude.rnf containerOverrides+      `Prelude.seq` Prelude.rnf dependsOn+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf retryStrategy+      `Prelude.seq` Prelude.rnf jobDefinition+      `Prelude.seq` Prelude.rnf jobName++instance Data.ToJSON PipeTargetBatchJobParameters where+  toJSON PipeTargetBatchJobParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ArrayProperties" Data..=)+              Prelude.<$> arrayProperties,+            ("ContainerOverrides" Data..=)+              Prelude.<$> containerOverrides,+            ("DependsOn" Data..=) Prelude.<$> dependsOn,+            ("Parameters" Data..=) Prelude.<$> parameters,+            ("RetryStrategy" Data..=) Prelude.<$> retryStrategy,+            Prelude.Just ("JobDefinition" Data..= jobDefinition),+            Prelude.Just ("JobName" Data..= jobName)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetCloudWatchLogsParameters.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters 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 parameters for using an CloudWatch Logs log stream as a target.+--+-- /See:/ 'newPipeTargetCloudWatchLogsParameters' smart constructor.+data PipeTargetCloudWatchLogsParameters = PipeTargetCloudWatchLogsParameters'+  { -- | The name of the log stream.+    logStreamName :: Prelude.Maybe Prelude.Text,+    -- | The time the event occurred, expressed as the number of milliseconds+    -- after Jan 1, 1970 00:00:00 UTC.+    timestamp :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetCloudWatchLogsParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logStreamName', 'pipeTargetCloudWatchLogsParameters_logStreamName' - The name of the log stream.+--+-- 'timestamp', 'pipeTargetCloudWatchLogsParameters_timestamp' - The time the event occurred, expressed as the number of milliseconds+-- after Jan 1, 1970 00:00:00 UTC.+newPipeTargetCloudWatchLogsParameters ::+  PipeTargetCloudWatchLogsParameters+newPipeTargetCloudWatchLogsParameters =+  PipeTargetCloudWatchLogsParameters'+    { logStreamName =+        Prelude.Nothing,+      timestamp = Prelude.Nothing+    }++-- | The name of the log stream.+pipeTargetCloudWatchLogsParameters_logStreamName :: Lens.Lens' PipeTargetCloudWatchLogsParameters (Prelude.Maybe Prelude.Text)+pipeTargetCloudWatchLogsParameters_logStreamName = Lens.lens (\PipeTargetCloudWatchLogsParameters' {logStreamName} -> logStreamName) (\s@PipeTargetCloudWatchLogsParameters' {} a -> s {logStreamName = a} :: PipeTargetCloudWatchLogsParameters)++-- | The time the event occurred, expressed as the number of milliseconds+-- after Jan 1, 1970 00:00:00 UTC.+pipeTargetCloudWatchLogsParameters_timestamp :: Lens.Lens' PipeTargetCloudWatchLogsParameters (Prelude.Maybe Prelude.Text)+pipeTargetCloudWatchLogsParameters_timestamp = Lens.lens (\PipeTargetCloudWatchLogsParameters' {timestamp} -> timestamp) (\s@PipeTargetCloudWatchLogsParameters' {} a -> s {timestamp = a} :: PipeTargetCloudWatchLogsParameters)++instance+  Data.FromJSON+    PipeTargetCloudWatchLogsParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetCloudWatchLogsParameters"+      ( \x ->+          PipeTargetCloudWatchLogsParameters'+            Prelude.<$> (x Data..:? "LogStreamName")+            Prelude.<*> (x Data..:? "Timestamp")+      )++instance+  Prelude.Hashable+    PipeTargetCloudWatchLogsParameters+  where+  hashWithSalt+    _salt+    PipeTargetCloudWatchLogsParameters' {..} =+      _salt+        `Prelude.hashWithSalt` logStreamName+        `Prelude.hashWithSalt` timestamp++instance+  Prelude.NFData+    PipeTargetCloudWatchLogsParameters+  where+  rnf PipeTargetCloudWatchLogsParameters' {..} =+    Prelude.rnf logStreamName+      `Prelude.seq` Prelude.rnf timestamp++instance+  Data.ToJSON+    PipeTargetCloudWatchLogsParameters+  where+  toJSON PipeTargetCloudWatchLogsParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LogStreamName" Data..=) Prelude.<$> logStreamName,+            ("Timestamp" Data..=) Prelude.<$> timestamp+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetEcsTaskParameters.hs view
@@ -0,0 +1,416 @@+{-# 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.Pipes.Types.PipeTargetEcsTaskParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetEcsTaskParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.CapacityProviderStrategyItem+import Amazonka.Pipes.Types.EcsTaskOverride+import Amazonka.Pipes.Types.LaunchType+import Amazonka.Pipes.Types.NetworkConfiguration+import Amazonka.Pipes.Types.PlacementConstraint+import Amazonka.Pipes.Types.PlacementStrategy+import Amazonka.Pipes.Types.PropagateTags+import Amazonka.Pipes.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an Amazon ECS task as a target.+--+-- /See:/ 'newPipeTargetEcsTaskParameters' smart constructor.+data PipeTargetEcsTaskParameters = PipeTargetEcsTaskParameters'+  { -- | The capacity provider strategy to use for the task.+    --+    -- If a @capacityProviderStrategy@ is specified, the @launchType@ parameter+    -- must be omitted. If no @capacityProviderStrategy@ or launchType is+    -- specified, the @defaultCapacityProviderStrategy@ for the cluster is+    -- used.+    capacityProviderStrategy :: Prelude.Maybe [CapacityProviderStrategyItem],+    -- | Specifies whether to enable Amazon ECS managed tags for the task. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html Tagging Your Amazon ECS Resources>+    -- in the Amazon Elastic Container Service Developer Guide.+    enableECSManagedTags :: Prelude.Maybe Prelude.Bool,+    -- | Whether or not to enable the execute command functionality for the+    -- containers in this task. If true, this enables execute command+    -- functionality on all containers in the task.+    enableExecuteCommand :: Prelude.Maybe Prelude.Bool,+    -- | Specifies an Amazon ECS task group for the task. The maximum length is+    -- 255 characters.+    group' :: Prelude.Maybe Prelude.Text,+    -- | Specifies the launch type on which your task is running. The launch type+    -- that you specify here must match one of the launch type+    -- (compatibilities) of the target task. The @FARGATE@ value is supported+    -- only in the Regions where Fargate with Amazon ECS is supported. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html Fargate on Amazon ECS>+    -- in the /Amazon Elastic Container Service Developer Guide/.+    launchType :: Prelude.Maybe LaunchType,+    -- | Use this structure if the Amazon ECS task uses the @awsvpc@ network+    -- mode. This structure specifies the VPC subnets and security groups+    -- associated with the task, and whether a public IP address is to be used.+    -- This structure is required if @LaunchType@ is @FARGATE@ because the+    -- @awsvpc@ mode is required for Fargate tasks.+    --+    -- If you specify @NetworkConfiguration@ when the target ECS task does not+    -- use the @awsvpc@ network mode, the task fails.+    networkConfiguration :: Prelude.Maybe NetworkConfiguration,+    -- | The overrides that are associated with a task.+    overrides :: Prelude.Maybe EcsTaskOverride,+    -- | An array of placement constraint objects to use for the task. You can+    -- specify up to 10 constraints per task (including constraints in the task+    -- definition and those specified at runtime).+    placementConstraints :: Prelude.Maybe [PlacementConstraint],+    -- | The placement strategy objects to use for the task. You can specify a+    -- maximum of five strategy rules per task.+    placementStrategy :: Prelude.Maybe [PlacementStrategy],+    -- | Specifies the platform version for the task. Specify only the numeric+    -- portion of the platform version, such as @1.1.0@.+    --+    -- This structure is used only if @LaunchType@ is @FARGATE@. For more+    -- information about valid platform versions, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html Fargate Platform Versions>+    -- in the /Amazon Elastic Container Service Developer Guide/.+    platformVersion :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether to propagate the tags from the task definition to the+    -- task. If no value is specified, the tags are not propagated. Tags can+    -- only be propagated to the task during task creation. To add tags to a+    -- task after task creation, use the @TagResource@ API action.+    propagateTags :: Prelude.Maybe PropagateTags,+    -- | The reference ID to use for the task.+    referenceId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The metadata that you apply to the task to help you categorize and+    -- organize them. Each tag consists of a key and an optional value, both of+    -- which you define. To learn more, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags RunTask>+    -- in the Amazon ECS API Reference.+    tags :: Prelude.Maybe [Tag],+    -- | The number of tasks to create based on @TaskDefinition@. The default is+    -- 1.+    taskCount :: Prelude.Maybe Prelude.Natural,+    -- | The ARN of the task definition to use if the event target is an Amazon+    -- ECS task.+    taskDefinitionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetEcsTaskParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacityProviderStrategy', 'pipeTargetEcsTaskParameters_capacityProviderStrategy' - The capacity provider strategy to use for the task.+--+-- If a @capacityProviderStrategy@ is specified, the @launchType@ parameter+-- must be omitted. If no @capacityProviderStrategy@ or launchType is+-- specified, the @defaultCapacityProviderStrategy@ for the cluster is+-- used.+--+-- 'enableECSManagedTags', 'pipeTargetEcsTaskParameters_enableECSManagedTags' - Specifies whether to enable Amazon ECS managed tags for the task. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html Tagging Your Amazon ECS Resources>+-- in the Amazon Elastic Container Service Developer Guide.+--+-- 'enableExecuteCommand', 'pipeTargetEcsTaskParameters_enableExecuteCommand' - Whether or not to enable the execute command functionality for the+-- containers in this task. If true, this enables execute command+-- functionality on all containers in the task.+--+-- 'group'', 'pipeTargetEcsTaskParameters_group' - Specifies an Amazon ECS task group for the task. The maximum length is+-- 255 characters.+--+-- 'launchType', 'pipeTargetEcsTaskParameters_launchType' - Specifies the launch type on which your task is running. The launch type+-- that you specify here must match one of the launch type+-- (compatibilities) of the target task. The @FARGATE@ value is supported+-- only in the Regions where Fargate with Amazon ECS is supported. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html Fargate on Amazon ECS>+-- in the /Amazon Elastic Container Service Developer Guide/.+--+-- 'networkConfiguration', 'pipeTargetEcsTaskParameters_networkConfiguration' - Use this structure if the Amazon ECS task uses the @awsvpc@ network+-- mode. This structure specifies the VPC subnets and security groups+-- associated with the task, and whether a public IP address is to be used.+-- This structure is required if @LaunchType@ is @FARGATE@ because the+-- @awsvpc@ mode is required for Fargate tasks.+--+-- If you specify @NetworkConfiguration@ when the target ECS task does not+-- use the @awsvpc@ network mode, the task fails.+--+-- 'overrides', 'pipeTargetEcsTaskParameters_overrides' - The overrides that are associated with a task.+--+-- 'placementConstraints', 'pipeTargetEcsTaskParameters_placementConstraints' - An array of placement constraint objects to use for the task. You can+-- specify up to 10 constraints per task (including constraints in the task+-- definition and those specified at runtime).+--+-- 'placementStrategy', 'pipeTargetEcsTaskParameters_placementStrategy' - The placement strategy objects to use for the task. You can specify a+-- maximum of five strategy rules per task.+--+-- 'platformVersion', 'pipeTargetEcsTaskParameters_platformVersion' - Specifies the platform version for the task. Specify only the numeric+-- portion of the platform version, such as @1.1.0@.+--+-- This structure is used only if @LaunchType@ is @FARGATE@. For more+-- information about valid platform versions, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html Fargate Platform Versions>+-- in the /Amazon Elastic Container Service Developer Guide/.+--+-- 'propagateTags', 'pipeTargetEcsTaskParameters_propagateTags' - Specifies whether to propagate the tags from the task definition to the+-- task. If no value is specified, the tags are not propagated. Tags can+-- only be propagated to the task during task creation. To add tags to a+-- task after task creation, use the @TagResource@ API action.+--+-- 'referenceId', 'pipeTargetEcsTaskParameters_referenceId' - The reference ID to use for the task.+--+-- 'tags', 'pipeTargetEcsTaskParameters_tags' - The metadata that you apply to the task to help you categorize and+-- organize them. Each tag consists of a key and an optional value, both of+-- which you define. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags RunTask>+-- in the Amazon ECS API Reference.+--+-- 'taskCount', 'pipeTargetEcsTaskParameters_taskCount' - The number of tasks to create based on @TaskDefinition@. The default is+-- 1.+--+-- 'taskDefinitionArn', 'pipeTargetEcsTaskParameters_taskDefinitionArn' - The ARN of the task definition to use if the event target is an Amazon+-- ECS task.+newPipeTargetEcsTaskParameters ::+  -- | 'taskDefinitionArn'+  Prelude.Text ->+  PipeTargetEcsTaskParameters+newPipeTargetEcsTaskParameters pTaskDefinitionArn_ =+  PipeTargetEcsTaskParameters'+    { capacityProviderStrategy =+        Prelude.Nothing,+      enableECSManagedTags = Prelude.Nothing,+      enableExecuteCommand = Prelude.Nothing,+      group' = Prelude.Nothing,+      launchType = Prelude.Nothing,+      networkConfiguration = Prelude.Nothing,+      overrides = Prelude.Nothing,+      placementConstraints = Prelude.Nothing,+      placementStrategy = Prelude.Nothing,+      platformVersion = Prelude.Nothing,+      propagateTags = Prelude.Nothing,+      referenceId = Prelude.Nothing,+      tags = Prelude.Nothing,+      taskCount = Prelude.Nothing,+      taskDefinitionArn = pTaskDefinitionArn_+    }++-- | The capacity provider strategy to use for the task.+--+-- If a @capacityProviderStrategy@ is specified, the @launchType@ parameter+-- must be omitted. If no @capacityProviderStrategy@ or launchType is+-- specified, the @defaultCapacityProviderStrategy@ for the cluster is+-- used.+pipeTargetEcsTaskParameters_capacityProviderStrategy :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe [CapacityProviderStrategyItem])+pipeTargetEcsTaskParameters_capacityProviderStrategy = Lens.lens (\PipeTargetEcsTaskParameters' {capacityProviderStrategy} -> capacityProviderStrategy) (\s@PipeTargetEcsTaskParameters' {} a -> s {capacityProviderStrategy = a} :: PipeTargetEcsTaskParameters) Prelude.. Lens.mapping Lens.coerced++-- | Specifies whether to enable Amazon ECS managed tags for the task. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html Tagging Your Amazon ECS Resources>+-- in the Amazon Elastic Container Service Developer Guide.+pipeTargetEcsTaskParameters_enableECSManagedTags :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Bool)+pipeTargetEcsTaskParameters_enableECSManagedTags = Lens.lens (\PipeTargetEcsTaskParameters' {enableECSManagedTags} -> enableECSManagedTags) (\s@PipeTargetEcsTaskParameters' {} a -> s {enableECSManagedTags = a} :: PipeTargetEcsTaskParameters)++-- | Whether or not to enable the execute command functionality for the+-- containers in this task. If true, this enables execute command+-- functionality on all containers in the task.+pipeTargetEcsTaskParameters_enableExecuteCommand :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Bool)+pipeTargetEcsTaskParameters_enableExecuteCommand = Lens.lens (\PipeTargetEcsTaskParameters' {enableExecuteCommand} -> enableExecuteCommand) (\s@PipeTargetEcsTaskParameters' {} a -> s {enableExecuteCommand = a} :: PipeTargetEcsTaskParameters)++-- | Specifies an Amazon ECS task group for the task. The maximum length is+-- 255 characters.+pipeTargetEcsTaskParameters_group :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Text)+pipeTargetEcsTaskParameters_group = Lens.lens (\PipeTargetEcsTaskParameters' {group'} -> group') (\s@PipeTargetEcsTaskParameters' {} a -> s {group' = a} :: PipeTargetEcsTaskParameters)++-- | Specifies the launch type on which your task is running. The launch type+-- that you specify here must match one of the launch type+-- (compatibilities) of the target task. The @FARGATE@ value is supported+-- only in the Regions where Fargate with Amazon ECS is supported. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html Fargate on Amazon ECS>+-- in the /Amazon Elastic Container Service Developer Guide/.+pipeTargetEcsTaskParameters_launchType :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe LaunchType)+pipeTargetEcsTaskParameters_launchType = Lens.lens (\PipeTargetEcsTaskParameters' {launchType} -> launchType) (\s@PipeTargetEcsTaskParameters' {} a -> s {launchType = a} :: PipeTargetEcsTaskParameters)++-- | Use this structure if the Amazon ECS task uses the @awsvpc@ network+-- mode. This structure specifies the VPC subnets and security groups+-- associated with the task, and whether a public IP address is to be used.+-- This structure is required if @LaunchType@ is @FARGATE@ because the+-- @awsvpc@ mode is required for Fargate tasks.+--+-- If you specify @NetworkConfiguration@ when the target ECS task does not+-- use the @awsvpc@ network mode, the task fails.+pipeTargetEcsTaskParameters_networkConfiguration :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe NetworkConfiguration)+pipeTargetEcsTaskParameters_networkConfiguration = Lens.lens (\PipeTargetEcsTaskParameters' {networkConfiguration} -> networkConfiguration) (\s@PipeTargetEcsTaskParameters' {} a -> s {networkConfiguration = a} :: PipeTargetEcsTaskParameters)++-- | The overrides that are associated with a task.+pipeTargetEcsTaskParameters_overrides :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe EcsTaskOverride)+pipeTargetEcsTaskParameters_overrides = Lens.lens (\PipeTargetEcsTaskParameters' {overrides} -> overrides) (\s@PipeTargetEcsTaskParameters' {} a -> s {overrides = a} :: PipeTargetEcsTaskParameters)++-- | An array of placement constraint objects to use for the task. You can+-- specify up to 10 constraints per task (including constraints in the task+-- definition and those specified at runtime).+pipeTargetEcsTaskParameters_placementConstraints :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe [PlacementConstraint])+pipeTargetEcsTaskParameters_placementConstraints = Lens.lens (\PipeTargetEcsTaskParameters' {placementConstraints} -> placementConstraints) (\s@PipeTargetEcsTaskParameters' {} a -> s {placementConstraints = a} :: PipeTargetEcsTaskParameters) Prelude.. Lens.mapping Lens.coerced++-- | The placement strategy objects to use for the task. You can specify a+-- maximum of five strategy rules per task.+pipeTargetEcsTaskParameters_placementStrategy :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe [PlacementStrategy])+pipeTargetEcsTaskParameters_placementStrategy = Lens.lens (\PipeTargetEcsTaskParameters' {placementStrategy} -> placementStrategy) (\s@PipeTargetEcsTaskParameters' {} a -> s {placementStrategy = a} :: PipeTargetEcsTaskParameters) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the platform version for the task. Specify only the numeric+-- portion of the platform version, such as @1.1.0@.+--+-- This structure is used only if @LaunchType@ is @FARGATE@. For more+-- information about valid platform versions, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html Fargate Platform Versions>+-- in the /Amazon Elastic Container Service Developer Guide/.+pipeTargetEcsTaskParameters_platformVersion :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Text)+pipeTargetEcsTaskParameters_platformVersion = Lens.lens (\PipeTargetEcsTaskParameters' {platformVersion} -> platformVersion) (\s@PipeTargetEcsTaskParameters' {} a -> s {platformVersion = a} :: PipeTargetEcsTaskParameters)++-- | Specifies whether to propagate the tags from the task definition to the+-- task. If no value is specified, the tags are not propagated. Tags can+-- only be propagated to the task during task creation. To add tags to a+-- task after task creation, use the @TagResource@ API action.+pipeTargetEcsTaskParameters_propagateTags :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe PropagateTags)+pipeTargetEcsTaskParameters_propagateTags = Lens.lens (\PipeTargetEcsTaskParameters' {propagateTags} -> propagateTags) (\s@PipeTargetEcsTaskParameters' {} a -> s {propagateTags = a} :: PipeTargetEcsTaskParameters)++-- | The reference ID to use for the task.+pipeTargetEcsTaskParameters_referenceId :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Text)+pipeTargetEcsTaskParameters_referenceId = Lens.lens (\PipeTargetEcsTaskParameters' {referenceId} -> referenceId) (\s@PipeTargetEcsTaskParameters' {} a -> s {referenceId = a} :: PipeTargetEcsTaskParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The metadata that you apply to the task to help you categorize and+-- organize them. Each tag consists of a key and an optional value, both of+-- which you define. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags RunTask>+-- in the Amazon ECS API Reference.+pipeTargetEcsTaskParameters_tags :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe [Tag])+pipeTargetEcsTaskParameters_tags = Lens.lens (\PipeTargetEcsTaskParameters' {tags} -> tags) (\s@PipeTargetEcsTaskParameters' {} a -> s {tags = a} :: PipeTargetEcsTaskParameters) Prelude.. Lens.mapping Lens.coerced++-- | The number of tasks to create based on @TaskDefinition@. The default is+-- 1.+pipeTargetEcsTaskParameters_taskCount :: Lens.Lens' PipeTargetEcsTaskParameters (Prelude.Maybe Prelude.Natural)+pipeTargetEcsTaskParameters_taskCount = Lens.lens (\PipeTargetEcsTaskParameters' {taskCount} -> taskCount) (\s@PipeTargetEcsTaskParameters' {} a -> s {taskCount = a} :: PipeTargetEcsTaskParameters)++-- | The ARN of the task definition to use if the event target is an Amazon+-- ECS task.+pipeTargetEcsTaskParameters_taskDefinitionArn :: Lens.Lens' PipeTargetEcsTaskParameters Prelude.Text+pipeTargetEcsTaskParameters_taskDefinitionArn = Lens.lens (\PipeTargetEcsTaskParameters' {taskDefinitionArn} -> taskDefinitionArn) (\s@PipeTargetEcsTaskParameters' {} a -> s {taskDefinitionArn = a} :: PipeTargetEcsTaskParameters)++instance Data.FromJSON PipeTargetEcsTaskParameters where+  parseJSON =+    Data.withObject+      "PipeTargetEcsTaskParameters"+      ( \x ->+          PipeTargetEcsTaskParameters'+            Prelude.<$> ( x+                            Data..:? "CapacityProviderStrategy"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "EnableECSManagedTags")+            Prelude.<*> (x Data..:? "EnableExecuteCommand")+            Prelude.<*> (x Data..:? "Group")+            Prelude.<*> (x Data..:? "LaunchType")+            Prelude.<*> (x Data..:? "NetworkConfiguration")+            Prelude.<*> (x Data..:? "Overrides")+            Prelude.<*> ( x+                            Data..:? "PlacementConstraints"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "PlacementStrategy"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "PlatformVersion")+            Prelude.<*> (x Data..:? "PropagateTags")+            Prelude.<*> (x Data..:? "ReferenceId")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "TaskCount")+            Prelude.<*> (x Data..: "TaskDefinitionArn")+      )++instance Prelude.Hashable PipeTargetEcsTaskParameters where+  hashWithSalt _salt PipeTargetEcsTaskParameters' {..} =+    _salt+      `Prelude.hashWithSalt` capacityProviderStrategy+      `Prelude.hashWithSalt` enableECSManagedTags+      `Prelude.hashWithSalt` enableExecuteCommand+      `Prelude.hashWithSalt` group'+      `Prelude.hashWithSalt` launchType+      `Prelude.hashWithSalt` networkConfiguration+      `Prelude.hashWithSalt` overrides+      `Prelude.hashWithSalt` placementConstraints+      `Prelude.hashWithSalt` placementStrategy+      `Prelude.hashWithSalt` platformVersion+      `Prelude.hashWithSalt` propagateTags+      `Prelude.hashWithSalt` referenceId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` taskCount+      `Prelude.hashWithSalt` taskDefinitionArn++instance Prelude.NFData PipeTargetEcsTaskParameters where+  rnf PipeTargetEcsTaskParameters' {..} =+    Prelude.rnf capacityProviderStrategy+      `Prelude.seq` Prelude.rnf enableECSManagedTags+      `Prelude.seq` Prelude.rnf enableExecuteCommand+      `Prelude.seq` Prelude.rnf group'+      `Prelude.seq` Prelude.rnf launchType+      `Prelude.seq` Prelude.rnf networkConfiguration+      `Prelude.seq` Prelude.rnf overrides+      `Prelude.seq` Prelude.rnf placementConstraints+      `Prelude.seq` Prelude.rnf placementStrategy+      `Prelude.seq` Prelude.rnf platformVersion+      `Prelude.seq` Prelude.rnf propagateTags+      `Prelude.seq` Prelude.rnf referenceId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf taskCount+      `Prelude.seq` Prelude.rnf taskDefinitionArn++instance Data.ToJSON PipeTargetEcsTaskParameters where+  toJSON PipeTargetEcsTaskParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CapacityProviderStrategy" Data..=)+              Prelude.<$> capacityProviderStrategy,+            ("EnableECSManagedTags" Data..=)+              Prelude.<$> enableECSManagedTags,+            ("EnableExecuteCommand" Data..=)+              Prelude.<$> enableExecuteCommand,+            ("Group" Data..=) Prelude.<$> group',+            ("LaunchType" Data..=) Prelude.<$> launchType,+            ("NetworkConfiguration" Data..=)+              Prelude.<$> networkConfiguration,+            ("Overrides" Data..=) Prelude.<$> overrides,+            ("PlacementConstraints" Data..=)+              Prelude.<$> placementConstraints,+            ("PlacementStrategy" Data..=)+              Prelude.<$> placementStrategy,+            ("PlatformVersion" Data..=)+              Prelude.<$> platformVersion,+            ("PropagateTags" Data..=) Prelude.<$> propagateTags,+            ("ReferenceId" Data..=) Prelude.<$> referenceId,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TaskCount" Data..=) Prelude.<$> taskCount,+            Prelude.Just+              ("TaskDefinitionArn" Data..= taskDefinitionArn)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetEventBridgeEventBusParameters.hs view
@@ -0,0 +1,180 @@+{-# 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.Pipes.Types.PipeTargetEventBridgeEventBusParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters 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 parameters for using an EventBridge event bus as a target.+--+-- /See:/ 'newPipeTargetEventBridgeEventBusParameters' smart constructor.+data PipeTargetEventBridgeEventBusParameters = PipeTargetEventBridgeEventBusParameters'+  { -- | A free-form string, with a maximum of 128 characters, used to decide+    -- what fields to expect in the event detail.+    detailType :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The URL subdomain of the endpoint. For example, if the URL for Endpoint+    -- is https:\/\/abcde.veo.endpoints.event.amazonaws.com, then the+    -- EndpointId is @abcde.veo@.+    --+    -- When using Java, you must include @auth-crt@ on the class path.+    endpointId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Amazon Web Services resources, identified by Amazon Resource Name (ARN),+    -- which the event primarily concerns. Any number, including zero, may be+    -- present.+    resources :: Prelude.Maybe [Prelude.Text],+    -- | The source of the event.+    source :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The time stamp of the event, per+    -- <https://www.rfc-editor.org/rfc/rfc3339.txt RFC3339>. If no time stamp+    -- is provided, the time stamp of the+    -- <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html PutEvents>+    -- call is used.+    time :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetEventBridgeEventBusParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detailType', 'pipeTargetEventBridgeEventBusParameters_detailType' - A free-form string, with a maximum of 128 characters, used to decide+-- what fields to expect in the event detail.+--+-- 'endpointId', 'pipeTargetEventBridgeEventBusParameters_endpointId' - The URL subdomain of the endpoint. For example, if the URL for Endpoint+-- is https:\/\/abcde.veo.endpoints.event.amazonaws.com, then the+-- EndpointId is @abcde.veo@.+--+-- When using Java, you must include @auth-crt@ on the class path.+--+-- 'resources', 'pipeTargetEventBridgeEventBusParameters_resources' - Amazon Web Services resources, identified by Amazon Resource Name (ARN),+-- which the event primarily concerns. Any number, including zero, may be+-- present.+--+-- 'source', 'pipeTargetEventBridgeEventBusParameters_source' - The source of the event.+--+-- 'time', 'pipeTargetEventBridgeEventBusParameters_time' - The time stamp of the event, per+-- <https://www.rfc-editor.org/rfc/rfc3339.txt RFC3339>. If no time stamp+-- is provided, the time stamp of the+-- <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html PutEvents>+-- call is used.+newPipeTargetEventBridgeEventBusParameters ::+  PipeTargetEventBridgeEventBusParameters+newPipeTargetEventBridgeEventBusParameters =+  PipeTargetEventBridgeEventBusParameters'+    { detailType =+        Prelude.Nothing,+      endpointId = Prelude.Nothing,+      resources = Prelude.Nothing,+      source = Prelude.Nothing,+      time = Prelude.Nothing+    }++-- | A free-form string, with a maximum of 128 characters, used to decide+-- what fields to expect in the event detail.+pipeTargetEventBridgeEventBusParameters_detailType :: Lens.Lens' PipeTargetEventBridgeEventBusParameters (Prelude.Maybe Prelude.Text)+pipeTargetEventBridgeEventBusParameters_detailType = Lens.lens (\PipeTargetEventBridgeEventBusParameters' {detailType} -> detailType) (\s@PipeTargetEventBridgeEventBusParameters' {} a -> s {detailType = a} :: PipeTargetEventBridgeEventBusParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The URL subdomain of the endpoint. For example, if the URL for Endpoint+-- is https:\/\/abcde.veo.endpoints.event.amazonaws.com, then the+-- EndpointId is @abcde.veo@.+--+-- When using Java, you must include @auth-crt@ on the class path.+pipeTargetEventBridgeEventBusParameters_endpointId :: Lens.Lens' PipeTargetEventBridgeEventBusParameters (Prelude.Maybe Prelude.Text)+pipeTargetEventBridgeEventBusParameters_endpointId = Lens.lens (\PipeTargetEventBridgeEventBusParameters' {endpointId} -> endpointId) (\s@PipeTargetEventBridgeEventBusParameters' {} a -> s {endpointId = a} :: PipeTargetEventBridgeEventBusParameters) Prelude.. Lens.mapping Data._Sensitive++-- | Amazon Web Services resources, identified by Amazon Resource Name (ARN),+-- which the event primarily concerns. Any number, including zero, may be+-- present.+pipeTargetEventBridgeEventBusParameters_resources :: Lens.Lens' PipeTargetEventBridgeEventBusParameters (Prelude.Maybe [Prelude.Text])+pipeTargetEventBridgeEventBusParameters_resources = Lens.lens (\PipeTargetEventBridgeEventBusParameters' {resources} -> resources) (\s@PipeTargetEventBridgeEventBusParameters' {} a -> s {resources = a} :: PipeTargetEventBridgeEventBusParameters) Prelude.. Lens.mapping Lens.coerced++-- | The source of the event.+pipeTargetEventBridgeEventBusParameters_source :: Lens.Lens' PipeTargetEventBridgeEventBusParameters (Prelude.Maybe Prelude.Text)+pipeTargetEventBridgeEventBusParameters_source = Lens.lens (\PipeTargetEventBridgeEventBusParameters' {source} -> source) (\s@PipeTargetEventBridgeEventBusParameters' {} a -> s {source = a} :: PipeTargetEventBridgeEventBusParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The time stamp of the event, per+-- <https://www.rfc-editor.org/rfc/rfc3339.txt RFC3339>. If no time stamp+-- is provided, the time stamp of the+-- <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html PutEvents>+-- call is used.+pipeTargetEventBridgeEventBusParameters_time :: Lens.Lens' PipeTargetEventBridgeEventBusParameters (Prelude.Maybe Prelude.Text)+pipeTargetEventBridgeEventBusParameters_time = Lens.lens (\PipeTargetEventBridgeEventBusParameters' {time} -> time) (\s@PipeTargetEventBridgeEventBusParameters' {} a -> s {time = a} :: PipeTargetEventBridgeEventBusParameters)++instance+  Data.FromJSON+    PipeTargetEventBridgeEventBusParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetEventBridgeEventBusParameters"+      ( \x ->+          PipeTargetEventBridgeEventBusParameters'+            Prelude.<$> (x Data..:? "DetailType")+            Prelude.<*> (x Data..:? "EndpointId")+            Prelude.<*> (x Data..:? "Resources" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Source")+            Prelude.<*> (x Data..:? "Time")+      )++instance+  Prelude.Hashable+    PipeTargetEventBridgeEventBusParameters+  where+  hashWithSalt+    _salt+    PipeTargetEventBridgeEventBusParameters' {..} =+      _salt+        `Prelude.hashWithSalt` detailType+        `Prelude.hashWithSalt` endpointId+        `Prelude.hashWithSalt` resources+        `Prelude.hashWithSalt` source+        `Prelude.hashWithSalt` time++instance+  Prelude.NFData+    PipeTargetEventBridgeEventBusParameters+  where+  rnf PipeTargetEventBridgeEventBusParameters' {..} =+    Prelude.rnf detailType+      `Prelude.seq` Prelude.rnf endpointId+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf time++instance+  Data.ToJSON+    PipeTargetEventBridgeEventBusParameters+  where+  toJSON PipeTargetEventBridgeEventBusParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DetailType" Data..=) Prelude.<$> detailType,+            ("EndpointId" Data..=) Prelude.<$> endpointId,+            ("Resources" Data..=) Prelude.<$> resources,+            ("Source" Data..=) Prelude.<$> source,+            ("Time" Data..=) Prelude.<$> time+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetHttpParameters.hs view
@@ -0,0 +1,129 @@+{-# 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.Pipes.Types.PipeTargetHttpParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetHttpParameters 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++-- | These are custom parameter to be used when the target is an API Gateway+-- REST APIs or EventBridge ApiDestinations.+--+-- /See:/ 'newPipeTargetHttpParameters' smart constructor.+data PipeTargetHttpParameters = PipeTargetHttpParameters'+  { -- | The headers that need to be sent as part of request invoking the API+    -- Gateway REST API or EventBridge ApiDestination.+    headerParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The path parameter values to be used to populate API Gateway REST API or+    -- EventBridge ApiDestination path wildcards (\"*\").+    pathParameterValues :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | The query string keys\/values that need to be sent as part of request+    -- invoking the API Gateway REST API or EventBridge ApiDestination.+    queryStringParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetHttpParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'headerParameters', 'pipeTargetHttpParameters_headerParameters' - The headers that need to be sent as part of request invoking the API+-- Gateway REST API or EventBridge ApiDestination.+--+-- 'pathParameterValues', 'pipeTargetHttpParameters_pathParameterValues' - The path parameter values to be used to populate API Gateway REST API or+-- EventBridge ApiDestination path wildcards (\"*\").+--+-- 'queryStringParameters', 'pipeTargetHttpParameters_queryStringParameters' - The query string keys\/values that need to be sent as part of request+-- invoking the API Gateway REST API or EventBridge ApiDestination.+newPipeTargetHttpParameters ::+  PipeTargetHttpParameters+newPipeTargetHttpParameters =+  PipeTargetHttpParameters'+    { headerParameters =+        Prelude.Nothing,+      pathParameterValues = Prelude.Nothing,+      queryStringParameters = Prelude.Nothing+    }++-- | The headers that need to be sent as part of request invoking the API+-- Gateway REST API or EventBridge ApiDestination.+pipeTargetHttpParameters_headerParameters :: Lens.Lens' PipeTargetHttpParameters (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+pipeTargetHttpParameters_headerParameters = Lens.lens (\PipeTargetHttpParameters' {headerParameters} -> headerParameters) (\s@PipeTargetHttpParameters' {} a -> s {headerParameters = a} :: PipeTargetHttpParameters) Prelude.. Lens.mapping Lens.coerced++-- | The path parameter values to be used to populate API Gateway REST API or+-- EventBridge ApiDestination path wildcards (\"*\").+pipeTargetHttpParameters_pathParameterValues :: Lens.Lens' PipeTargetHttpParameters (Prelude.Maybe [Prelude.Text])+pipeTargetHttpParameters_pathParameterValues = Lens.lens (\PipeTargetHttpParameters' {pathParameterValues} -> pathParameterValues) (\s@PipeTargetHttpParameters' {} a -> s {pathParameterValues = a} :: PipeTargetHttpParameters) Prelude.. Lens.mapping Lens.coerced++-- | The query string keys\/values that need to be sent as part of request+-- invoking the API Gateway REST API or EventBridge ApiDestination.+pipeTargetHttpParameters_queryStringParameters :: Lens.Lens' PipeTargetHttpParameters (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+pipeTargetHttpParameters_queryStringParameters = Lens.lens (\PipeTargetHttpParameters' {queryStringParameters} -> queryStringParameters) (\s@PipeTargetHttpParameters' {} a -> s {queryStringParameters = a} :: PipeTargetHttpParameters) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PipeTargetHttpParameters where+  parseJSON =+    Data.withObject+      "PipeTargetHttpParameters"+      ( \x ->+          PipeTargetHttpParameters'+            Prelude.<$> ( x+                            Data..:? "HeaderParameters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "PathParameterValues"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "QueryStringParameters"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PipeTargetHttpParameters where+  hashWithSalt _salt PipeTargetHttpParameters' {..} =+    _salt+      `Prelude.hashWithSalt` headerParameters+      `Prelude.hashWithSalt` pathParameterValues+      `Prelude.hashWithSalt` queryStringParameters++instance Prelude.NFData PipeTargetHttpParameters where+  rnf PipeTargetHttpParameters' {..} =+    Prelude.rnf headerParameters+      `Prelude.seq` Prelude.rnf pathParameterValues+      `Prelude.seq` Prelude.rnf queryStringParameters++instance Data.ToJSON PipeTargetHttpParameters where+  toJSON PipeTargetHttpParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HeaderParameters" Data..=)+              Prelude.<$> headerParameters,+            ("PathParameterValues" Data..=)+              Prelude.<$> pathParameterValues,+            ("QueryStringParameters" Data..=)+              Prelude.<$> queryStringParameters+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetInvocationType.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.Pipes.Types.PipeTargetInvocationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetInvocationType+  ( PipeTargetInvocationType+      ( ..,+        PipeTargetInvocationType_FIRE_AND_FORGET,+        PipeTargetInvocationType_REQUEST_RESPONSE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PipeTargetInvocationType = PipeTargetInvocationType'+  { fromPipeTargetInvocationType ::+      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 PipeTargetInvocationType_FIRE_AND_FORGET :: PipeTargetInvocationType+pattern PipeTargetInvocationType_FIRE_AND_FORGET = PipeTargetInvocationType' "FIRE_AND_FORGET"++pattern PipeTargetInvocationType_REQUEST_RESPONSE :: PipeTargetInvocationType+pattern PipeTargetInvocationType_REQUEST_RESPONSE = PipeTargetInvocationType' "REQUEST_RESPONSE"++{-# COMPLETE+  PipeTargetInvocationType_FIRE_AND_FORGET,+  PipeTargetInvocationType_REQUEST_RESPONSE,+  PipeTargetInvocationType'+  #-}
+ gen/Amazonka/Pipes/Types/PipeTargetKinesisStreamParameters.hs view
@@ -0,0 +1,119 @@+{-# 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.Pipes.Types.PipeTargetKinesisStreamParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters 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 parameters for using a Kinesis stream as a source.+--+-- /See:/ 'newPipeTargetKinesisStreamParameters' smart constructor.+data PipeTargetKinesisStreamParameters = PipeTargetKinesisStreamParameters'+  { -- | Determines which shard in the stream the data record is assigned to.+    -- Partition keys are Unicode strings with a maximum length limit of 256+    -- characters for each key. Amazon Kinesis Data Streams uses the partition+    -- key as input to a hash function that maps the partition key and+    -- associated data to a specific shard. Specifically, an MD5 hash function+    -- is used to map partition keys to 128-bit integer values and to map+    -- associated data records to shards. As a result of this hashing+    -- mechanism, all data records with the same partition key map to the same+    -- shard within the stream.+    partitionKey :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetKinesisStreamParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'partitionKey', 'pipeTargetKinesisStreamParameters_partitionKey' - Determines which shard in the stream the data record is assigned to.+-- Partition keys are Unicode strings with a maximum length limit of 256+-- characters for each key. Amazon Kinesis Data Streams uses the partition+-- key as input to a hash function that maps the partition key and+-- associated data to a specific shard. Specifically, an MD5 hash function+-- is used to map partition keys to 128-bit integer values and to map+-- associated data records to shards. As a result of this hashing+-- mechanism, all data records with the same partition key map to the same+-- shard within the stream.+newPipeTargetKinesisStreamParameters ::+  -- | 'partitionKey'+  Prelude.Text ->+  PipeTargetKinesisStreamParameters+newPipeTargetKinesisStreamParameters pPartitionKey_ =+  PipeTargetKinesisStreamParameters'+    { partitionKey =+        Data._Sensitive Lens.# pPartitionKey_+    }++-- | Determines which shard in the stream the data record is assigned to.+-- Partition keys are Unicode strings with a maximum length limit of 256+-- characters for each key. Amazon Kinesis Data Streams uses the partition+-- key as input to a hash function that maps the partition key and+-- associated data to a specific shard. Specifically, an MD5 hash function+-- is used to map partition keys to 128-bit integer values and to map+-- associated data records to shards. As a result of this hashing+-- mechanism, all data records with the same partition key map to the same+-- shard within the stream.+pipeTargetKinesisStreamParameters_partitionKey :: Lens.Lens' PipeTargetKinesisStreamParameters Prelude.Text+pipeTargetKinesisStreamParameters_partitionKey = Lens.lens (\PipeTargetKinesisStreamParameters' {partitionKey} -> partitionKey) (\s@PipeTargetKinesisStreamParameters' {} a -> s {partitionKey = a} :: PipeTargetKinesisStreamParameters) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    PipeTargetKinesisStreamParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetKinesisStreamParameters"+      ( \x ->+          PipeTargetKinesisStreamParameters'+            Prelude.<$> (x Data..: "PartitionKey")+      )++instance+  Prelude.Hashable+    PipeTargetKinesisStreamParameters+  where+  hashWithSalt+    _salt+    PipeTargetKinesisStreamParameters' {..} =+      _salt `Prelude.hashWithSalt` partitionKey++instance+  Prelude.NFData+    PipeTargetKinesisStreamParameters+  where+  rnf PipeTargetKinesisStreamParameters' {..} =+    Prelude.rnf partitionKey++instance+  Data.ToJSON+    PipeTargetKinesisStreamParameters+  where+  toJSON PipeTargetKinesisStreamParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PartitionKey" Data..= partitionKey)]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetLambdaFunctionParameters.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PipeTargetInvocationType+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Lambda function as a target.+--+-- /See:/ 'newPipeTargetLambdaFunctionParameters' smart constructor.+data PipeTargetLambdaFunctionParameters = PipeTargetLambdaFunctionParameters'+  { -- | Choose from the following options.+    --+    -- -   @RequestResponse@ (default) - Invoke the function synchronously.+    --     Keep the connection open until the function returns a response or+    --     times out. The API response includes the function response and+    --     additional data.+    --+    -- -   @Event@ - Invoke the function asynchronously. Send events that fail+    --     multiple times to the function\'s dead-letter queue (if it\'s+    --     configured). The API response only includes a status code.+    --+    -- -   @DryRun@ - Validate parameter values and verify that the user or+    --     role has permission to invoke the function.+    invocationType :: Prelude.Maybe PipeTargetInvocationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetLambdaFunctionParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invocationType', 'pipeTargetLambdaFunctionParameters_invocationType' - Choose from the following options.+--+-- -   @RequestResponse@ (default) - Invoke the function synchronously.+--     Keep the connection open until the function returns a response or+--     times out. The API response includes the function response and+--     additional data.+--+-- -   @Event@ - Invoke the function asynchronously. Send events that fail+--     multiple times to the function\'s dead-letter queue (if it\'s+--     configured). The API response only includes a status code.+--+-- -   @DryRun@ - Validate parameter values and verify that the user or+--     role has permission to invoke the function.+newPipeTargetLambdaFunctionParameters ::+  PipeTargetLambdaFunctionParameters+newPipeTargetLambdaFunctionParameters =+  PipeTargetLambdaFunctionParameters'+    { invocationType =+        Prelude.Nothing+    }++-- | Choose from the following options.+--+-- -   @RequestResponse@ (default) - Invoke the function synchronously.+--     Keep the connection open until the function returns a response or+--     times out. The API response includes the function response and+--     additional data.+--+-- -   @Event@ - Invoke the function asynchronously. Send events that fail+--     multiple times to the function\'s dead-letter queue (if it\'s+--     configured). The API response only includes a status code.+--+-- -   @DryRun@ - Validate parameter values and verify that the user or+--     role has permission to invoke the function.+pipeTargetLambdaFunctionParameters_invocationType :: Lens.Lens' PipeTargetLambdaFunctionParameters (Prelude.Maybe PipeTargetInvocationType)+pipeTargetLambdaFunctionParameters_invocationType = Lens.lens (\PipeTargetLambdaFunctionParameters' {invocationType} -> invocationType) (\s@PipeTargetLambdaFunctionParameters' {} a -> s {invocationType = a} :: PipeTargetLambdaFunctionParameters)++instance+  Data.FromJSON+    PipeTargetLambdaFunctionParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetLambdaFunctionParameters"+      ( \x ->+          PipeTargetLambdaFunctionParameters'+            Prelude.<$> (x Data..:? "InvocationType")+      )++instance+  Prelude.Hashable+    PipeTargetLambdaFunctionParameters+  where+  hashWithSalt+    _salt+    PipeTargetLambdaFunctionParameters' {..} =+      _salt `Prelude.hashWithSalt` invocationType++instance+  Prelude.NFData+    PipeTargetLambdaFunctionParameters+  where+  rnf PipeTargetLambdaFunctionParameters' {..} =+    Prelude.rnf invocationType++instance+  Data.ToJSON+    PipeTargetLambdaFunctionParameters+  where+  toJSON PipeTargetLambdaFunctionParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("InvocationType" Data..=)+              Prelude.<$> invocationType+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetParameters.hs view
@@ -0,0 +1,261 @@+{-# 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.Pipes.Types.PipeTargetParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PipeTargetBatchJobParameters+import Amazonka.Pipes.Types.PipeTargetCloudWatchLogsParameters+import Amazonka.Pipes.Types.PipeTargetEcsTaskParameters+import Amazonka.Pipes.Types.PipeTargetEventBridgeEventBusParameters+import Amazonka.Pipes.Types.PipeTargetHttpParameters+import Amazonka.Pipes.Types.PipeTargetKinesisStreamParameters+import Amazonka.Pipes.Types.PipeTargetLambdaFunctionParameters+import Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters+import Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters+import Amazonka.Pipes.Types.PipeTargetSqsQueueParameters+import Amazonka.Pipes.Types.PipeTargetStateMachineParameters+import qualified Amazonka.Prelude as Prelude++-- | The parameters required to set up a target for your pipe.+--+-- /See:/ 'newPipeTargetParameters' smart constructor.+data PipeTargetParameters = PipeTargetParameters'+  { -- | The parameters for using an Batch job as a target.+    batchJobParameters :: Prelude.Maybe PipeTargetBatchJobParameters,+    -- | The parameters for using an CloudWatch Logs log stream as a target.+    cloudWatchLogsParameters :: Prelude.Maybe PipeTargetCloudWatchLogsParameters,+    -- | The parameters for using an Amazon ECS task as a target.+    ecsTaskParameters :: Prelude.Maybe PipeTargetEcsTaskParameters,+    -- | The parameters for using an EventBridge event bus as a target.+    eventBridgeEventBusParameters :: Prelude.Maybe PipeTargetEventBridgeEventBusParameters,+    -- | These are custom parameter to be used when the target is an API Gateway+    -- REST APIs or EventBridge ApiDestinations.+    httpParameters :: Prelude.Maybe PipeTargetHttpParameters,+    -- | Valid JSON text passed to the target. In this case, nothing from the+    -- event itself is passed to the target. For more information, see+    -- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+    inputTemplate :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The parameters for using a Kinesis stream as a source.+    kinesisStreamParameters :: Prelude.Maybe PipeTargetKinesisStreamParameters,+    -- | The parameters for using a Lambda function as a target.+    lambdaFunctionParameters :: Prelude.Maybe PipeTargetLambdaFunctionParameters,+    -- | These are custom parameters to be used when the target is a Amazon+    -- Redshift cluster to invoke the Amazon Redshift Data API+    -- ExecuteStatement.+    redshiftDataParameters :: Prelude.Maybe PipeTargetRedshiftDataParameters,+    -- | The parameters for using a SageMaker pipeline as a target.+    sageMakerPipelineParameters :: Prelude.Maybe PipeTargetSageMakerPipelineParameters,+    -- | The parameters for using a Amazon SQS stream as a source.+    sqsQueueParameters :: Prelude.Maybe PipeTargetSqsQueueParameters,+    -- | The parameters for using a Step Functions state machine as a target.+    stepFunctionStateMachineParameters :: Prelude.Maybe PipeTargetStateMachineParameters+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchJobParameters', 'pipeTargetParameters_batchJobParameters' - The parameters for using an Batch job as a target.+--+-- 'cloudWatchLogsParameters', 'pipeTargetParameters_cloudWatchLogsParameters' - The parameters for using an CloudWatch Logs log stream as a target.+--+-- 'ecsTaskParameters', 'pipeTargetParameters_ecsTaskParameters' - The parameters for using an Amazon ECS task as a target.+--+-- 'eventBridgeEventBusParameters', 'pipeTargetParameters_eventBridgeEventBusParameters' - The parameters for using an EventBridge event bus as a target.+--+-- 'httpParameters', 'pipeTargetParameters_httpParameters' - These are custom parameter to be used when the target is an API Gateway+-- REST APIs or EventBridge ApiDestinations.+--+-- 'inputTemplate', 'pipeTargetParameters_inputTemplate' - Valid JSON text passed to the target. In this case, nothing from the+-- event itself is passed to the target. For more information, see+-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+--+-- 'kinesisStreamParameters', 'pipeTargetParameters_kinesisStreamParameters' - The parameters for using a Kinesis stream as a source.+--+-- 'lambdaFunctionParameters', 'pipeTargetParameters_lambdaFunctionParameters' - The parameters for using a Lambda function as a target.+--+-- 'redshiftDataParameters', 'pipeTargetParameters_redshiftDataParameters' - These are custom parameters to be used when the target is a Amazon+-- Redshift cluster to invoke the Amazon Redshift Data API+-- ExecuteStatement.+--+-- 'sageMakerPipelineParameters', 'pipeTargetParameters_sageMakerPipelineParameters' - The parameters for using a SageMaker pipeline as a target.+--+-- 'sqsQueueParameters', 'pipeTargetParameters_sqsQueueParameters' - The parameters for using a Amazon SQS stream as a source.+--+-- 'stepFunctionStateMachineParameters', 'pipeTargetParameters_stepFunctionStateMachineParameters' - The parameters for using a Step Functions state machine as a target.+newPipeTargetParameters ::+  PipeTargetParameters+newPipeTargetParameters =+  PipeTargetParameters'+    { batchJobParameters =+        Prelude.Nothing,+      cloudWatchLogsParameters = Prelude.Nothing,+      ecsTaskParameters = Prelude.Nothing,+      eventBridgeEventBusParameters = Prelude.Nothing,+      httpParameters = Prelude.Nothing,+      inputTemplate = Prelude.Nothing,+      kinesisStreamParameters = Prelude.Nothing,+      lambdaFunctionParameters = Prelude.Nothing,+      redshiftDataParameters = Prelude.Nothing,+      sageMakerPipelineParameters = Prelude.Nothing,+      sqsQueueParameters = Prelude.Nothing,+      stepFunctionStateMachineParameters = Prelude.Nothing+    }++-- | The parameters for using an Batch job as a target.+pipeTargetParameters_batchJobParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetBatchJobParameters)+pipeTargetParameters_batchJobParameters = Lens.lens (\PipeTargetParameters' {batchJobParameters} -> batchJobParameters) (\s@PipeTargetParameters' {} a -> s {batchJobParameters = a} :: PipeTargetParameters)++-- | The parameters for using an CloudWatch Logs log stream as a target.+pipeTargetParameters_cloudWatchLogsParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetCloudWatchLogsParameters)+pipeTargetParameters_cloudWatchLogsParameters = Lens.lens (\PipeTargetParameters' {cloudWatchLogsParameters} -> cloudWatchLogsParameters) (\s@PipeTargetParameters' {} a -> s {cloudWatchLogsParameters = a} :: PipeTargetParameters)++-- | The parameters for using an Amazon ECS task as a target.+pipeTargetParameters_ecsTaskParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetEcsTaskParameters)+pipeTargetParameters_ecsTaskParameters = Lens.lens (\PipeTargetParameters' {ecsTaskParameters} -> ecsTaskParameters) (\s@PipeTargetParameters' {} a -> s {ecsTaskParameters = a} :: PipeTargetParameters)++-- | The parameters for using an EventBridge event bus as a target.+pipeTargetParameters_eventBridgeEventBusParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetEventBridgeEventBusParameters)+pipeTargetParameters_eventBridgeEventBusParameters = Lens.lens (\PipeTargetParameters' {eventBridgeEventBusParameters} -> eventBridgeEventBusParameters) (\s@PipeTargetParameters' {} a -> s {eventBridgeEventBusParameters = a} :: PipeTargetParameters)++-- | These are custom parameter to be used when the target is an API Gateway+-- REST APIs or EventBridge ApiDestinations.+pipeTargetParameters_httpParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetHttpParameters)+pipeTargetParameters_httpParameters = Lens.lens (\PipeTargetParameters' {httpParameters} -> httpParameters) (\s@PipeTargetParameters' {} a -> s {httpParameters = a} :: PipeTargetParameters)++-- | Valid JSON text passed to the target. In this case, nothing from the+-- event itself is passed to the target. For more information, see+-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+pipeTargetParameters_inputTemplate :: Lens.Lens' PipeTargetParameters (Prelude.Maybe Prelude.Text)+pipeTargetParameters_inputTemplate = Lens.lens (\PipeTargetParameters' {inputTemplate} -> inputTemplate) (\s@PipeTargetParameters' {} a -> s {inputTemplate = a} :: PipeTargetParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The parameters for using a Kinesis stream as a source.+pipeTargetParameters_kinesisStreamParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetKinesisStreamParameters)+pipeTargetParameters_kinesisStreamParameters = Lens.lens (\PipeTargetParameters' {kinesisStreamParameters} -> kinesisStreamParameters) (\s@PipeTargetParameters' {} a -> s {kinesisStreamParameters = a} :: PipeTargetParameters)++-- | The parameters for using a Lambda function as a target.+pipeTargetParameters_lambdaFunctionParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetLambdaFunctionParameters)+pipeTargetParameters_lambdaFunctionParameters = Lens.lens (\PipeTargetParameters' {lambdaFunctionParameters} -> lambdaFunctionParameters) (\s@PipeTargetParameters' {} a -> s {lambdaFunctionParameters = a} :: PipeTargetParameters)++-- | These are custom parameters to be used when the target is a Amazon+-- Redshift cluster to invoke the Amazon Redshift Data API+-- ExecuteStatement.+pipeTargetParameters_redshiftDataParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetRedshiftDataParameters)+pipeTargetParameters_redshiftDataParameters = Lens.lens (\PipeTargetParameters' {redshiftDataParameters} -> redshiftDataParameters) (\s@PipeTargetParameters' {} a -> s {redshiftDataParameters = a} :: PipeTargetParameters)++-- | The parameters for using a SageMaker pipeline as a target.+pipeTargetParameters_sageMakerPipelineParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetSageMakerPipelineParameters)+pipeTargetParameters_sageMakerPipelineParameters = Lens.lens (\PipeTargetParameters' {sageMakerPipelineParameters} -> sageMakerPipelineParameters) (\s@PipeTargetParameters' {} a -> s {sageMakerPipelineParameters = a} :: PipeTargetParameters)++-- | The parameters for using a Amazon SQS stream as a source.+pipeTargetParameters_sqsQueueParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetSqsQueueParameters)+pipeTargetParameters_sqsQueueParameters = Lens.lens (\PipeTargetParameters' {sqsQueueParameters} -> sqsQueueParameters) (\s@PipeTargetParameters' {} a -> s {sqsQueueParameters = a} :: PipeTargetParameters)++-- | The parameters for using a Step Functions state machine as a target.+pipeTargetParameters_stepFunctionStateMachineParameters :: Lens.Lens' PipeTargetParameters (Prelude.Maybe PipeTargetStateMachineParameters)+pipeTargetParameters_stepFunctionStateMachineParameters = Lens.lens (\PipeTargetParameters' {stepFunctionStateMachineParameters} -> stepFunctionStateMachineParameters) (\s@PipeTargetParameters' {} a -> s {stepFunctionStateMachineParameters = a} :: PipeTargetParameters)++instance Data.FromJSON PipeTargetParameters where+  parseJSON =+    Data.withObject+      "PipeTargetParameters"+      ( \x ->+          PipeTargetParameters'+            Prelude.<$> (x Data..:? "BatchJobParameters")+            Prelude.<*> (x Data..:? "CloudWatchLogsParameters")+            Prelude.<*> (x Data..:? "EcsTaskParameters")+            Prelude.<*> (x Data..:? "EventBridgeEventBusParameters")+            Prelude.<*> (x Data..:? "HttpParameters")+            Prelude.<*> (x Data..:? "InputTemplate")+            Prelude.<*> (x Data..:? "KinesisStreamParameters")+            Prelude.<*> (x Data..:? "LambdaFunctionParameters")+            Prelude.<*> (x Data..:? "RedshiftDataParameters")+            Prelude.<*> (x Data..:? "SageMakerPipelineParameters")+            Prelude.<*> (x Data..:? "SqsQueueParameters")+            Prelude.<*> (x Data..:? "StepFunctionStateMachineParameters")+      )++instance Prelude.Hashable PipeTargetParameters where+  hashWithSalt _salt PipeTargetParameters' {..} =+    _salt+      `Prelude.hashWithSalt` batchJobParameters+      `Prelude.hashWithSalt` cloudWatchLogsParameters+      `Prelude.hashWithSalt` ecsTaskParameters+      `Prelude.hashWithSalt` eventBridgeEventBusParameters+      `Prelude.hashWithSalt` httpParameters+      `Prelude.hashWithSalt` inputTemplate+      `Prelude.hashWithSalt` kinesisStreamParameters+      `Prelude.hashWithSalt` lambdaFunctionParameters+      `Prelude.hashWithSalt` redshiftDataParameters+      `Prelude.hashWithSalt` sageMakerPipelineParameters+      `Prelude.hashWithSalt` sqsQueueParameters+      `Prelude.hashWithSalt` stepFunctionStateMachineParameters++instance Prelude.NFData PipeTargetParameters where+  rnf PipeTargetParameters' {..} =+    Prelude.rnf batchJobParameters+      `Prelude.seq` Prelude.rnf cloudWatchLogsParameters+      `Prelude.seq` Prelude.rnf ecsTaskParameters+      `Prelude.seq` Prelude.rnf eventBridgeEventBusParameters+      `Prelude.seq` Prelude.rnf httpParameters+      `Prelude.seq` Prelude.rnf inputTemplate+      `Prelude.seq` Prelude.rnf kinesisStreamParameters+      `Prelude.seq` Prelude.rnf lambdaFunctionParameters+      `Prelude.seq` Prelude.rnf redshiftDataParameters+      `Prelude.seq` Prelude.rnf sageMakerPipelineParameters+      `Prelude.seq` Prelude.rnf sqsQueueParameters+      `Prelude.seq` Prelude.rnf stepFunctionStateMachineParameters++instance Data.ToJSON PipeTargetParameters where+  toJSON PipeTargetParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchJobParameters" Data..=)+              Prelude.<$> batchJobParameters,+            ("CloudWatchLogsParameters" Data..=)+              Prelude.<$> cloudWatchLogsParameters,+            ("EcsTaskParameters" Data..=)+              Prelude.<$> ecsTaskParameters,+            ("EventBridgeEventBusParameters" Data..=)+              Prelude.<$> eventBridgeEventBusParameters,+            ("HttpParameters" Data..=)+              Prelude.<$> httpParameters,+            ("InputTemplate" Data..=) Prelude.<$> inputTemplate,+            ("KinesisStreamParameters" Data..=)+              Prelude.<$> kinesisStreamParameters,+            ("LambdaFunctionParameters" Data..=)+              Prelude.<$> lambdaFunctionParameters,+            ("RedshiftDataParameters" Data..=)+              Prelude.<$> redshiftDataParameters,+            ("SageMakerPipelineParameters" Data..=)+              Prelude.<$> sageMakerPipelineParameters,+            ("SqsQueueParameters" Data..=)+              Prelude.<$> sqsQueueParameters,+            ("StepFunctionStateMachineParameters" Data..=)+              Prelude.<$> stepFunctionStateMachineParameters+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetRedshiftDataParameters.hs view
@@ -0,0 +1,180 @@+{-# 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.Pipes.Types.PipeTargetRedshiftDataParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetRedshiftDataParameters 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++-- | These are custom parameters to be used when the target is a Amazon+-- Redshift cluster to invoke the Amazon Redshift Data API+-- ExecuteStatement.+--+-- /See:/ 'newPipeTargetRedshiftDataParameters' smart constructor.+data PipeTargetRedshiftDataParameters = PipeTargetRedshiftDataParameters'+  { -- | The database user name. Required when authenticating using temporary+    -- credentials.+    dbUser :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name or ARN of the secret that enables access to the database.+    -- Required when authenticating using SageMaker.+    secretManagerArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the SQL statement. You can name the SQL statement when you+    -- create it to identify the query.+    statementName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Indicates whether to send an event back to EventBridge after the SQL+    -- statement runs.+    withEvent :: Prelude.Maybe Prelude.Bool,+    -- | The name of the database. Required when authenticating using temporary+    -- credentials.+    database :: Data.Sensitive Prelude.Text,+    -- | The SQL statement text to run.+    sqls :: Prelude.NonEmpty (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetRedshiftDataParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dbUser', 'pipeTargetRedshiftDataParameters_dbUser' - The database user name. Required when authenticating using temporary+-- credentials.+--+-- 'secretManagerArn', 'pipeTargetRedshiftDataParameters_secretManagerArn' - The name or ARN of the secret that enables access to the database.+-- Required when authenticating using SageMaker.+--+-- 'statementName', 'pipeTargetRedshiftDataParameters_statementName' - The name of the SQL statement. You can name the SQL statement when you+-- create it to identify the query.+--+-- 'withEvent', 'pipeTargetRedshiftDataParameters_withEvent' - Indicates whether to send an event back to EventBridge after the SQL+-- statement runs.+--+-- 'database', 'pipeTargetRedshiftDataParameters_database' - The name of the database. Required when authenticating using temporary+-- credentials.+--+-- 'sqls', 'pipeTargetRedshiftDataParameters_sqls' - The SQL statement text to run.+newPipeTargetRedshiftDataParameters ::+  -- | 'database'+  Prelude.Text ->+  -- | 'sqls'+  Prelude.NonEmpty Prelude.Text ->+  PipeTargetRedshiftDataParameters+newPipeTargetRedshiftDataParameters pDatabase_ pSqls_ =+  PipeTargetRedshiftDataParameters'+    { dbUser =+        Prelude.Nothing,+      secretManagerArn = Prelude.Nothing,+      statementName = Prelude.Nothing,+      withEvent = Prelude.Nothing,+      database =+        Data._Sensitive Lens.# pDatabase_,+      sqls = Lens.coerced Lens.# pSqls_+    }++-- | The database user name. Required when authenticating using temporary+-- credentials.+pipeTargetRedshiftDataParameters_dbUser :: Lens.Lens' PipeTargetRedshiftDataParameters (Prelude.Maybe Prelude.Text)+pipeTargetRedshiftDataParameters_dbUser = Lens.lens (\PipeTargetRedshiftDataParameters' {dbUser} -> dbUser) (\s@PipeTargetRedshiftDataParameters' {} a -> s {dbUser = a} :: PipeTargetRedshiftDataParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The name or ARN of the secret that enables access to the database.+-- Required when authenticating using SageMaker.+pipeTargetRedshiftDataParameters_secretManagerArn :: Lens.Lens' PipeTargetRedshiftDataParameters (Prelude.Maybe Prelude.Text)+pipeTargetRedshiftDataParameters_secretManagerArn = Lens.lens (\PipeTargetRedshiftDataParameters' {secretManagerArn} -> secretManagerArn) (\s@PipeTargetRedshiftDataParameters' {} a -> s {secretManagerArn = a} :: PipeTargetRedshiftDataParameters)++-- | The name of the SQL statement. You can name the SQL statement when you+-- create it to identify the query.+pipeTargetRedshiftDataParameters_statementName :: Lens.Lens' PipeTargetRedshiftDataParameters (Prelude.Maybe Prelude.Text)+pipeTargetRedshiftDataParameters_statementName = Lens.lens (\PipeTargetRedshiftDataParameters' {statementName} -> statementName) (\s@PipeTargetRedshiftDataParameters' {} a -> s {statementName = a} :: PipeTargetRedshiftDataParameters) Prelude.. Lens.mapping Data._Sensitive++-- | Indicates whether to send an event back to EventBridge after the SQL+-- statement runs.+pipeTargetRedshiftDataParameters_withEvent :: Lens.Lens' PipeTargetRedshiftDataParameters (Prelude.Maybe Prelude.Bool)+pipeTargetRedshiftDataParameters_withEvent = Lens.lens (\PipeTargetRedshiftDataParameters' {withEvent} -> withEvent) (\s@PipeTargetRedshiftDataParameters' {} a -> s {withEvent = a} :: PipeTargetRedshiftDataParameters)++-- | The name of the database. Required when authenticating using temporary+-- credentials.+pipeTargetRedshiftDataParameters_database :: Lens.Lens' PipeTargetRedshiftDataParameters Prelude.Text+pipeTargetRedshiftDataParameters_database = Lens.lens (\PipeTargetRedshiftDataParameters' {database} -> database) (\s@PipeTargetRedshiftDataParameters' {} a -> s {database = a} :: PipeTargetRedshiftDataParameters) Prelude.. Data._Sensitive++-- | The SQL statement text to run.+pipeTargetRedshiftDataParameters_sqls :: Lens.Lens' PipeTargetRedshiftDataParameters (Prelude.NonEmpty Prelude.Text)+pipeTargetRedshiftDataParameters_sqls = Lens.lens (\PipeTargetRedshiftDataParameters' {sqls} -> sqls) (\s@PipeTargetRedshiftDataParameters' {} a -> s {sqls = a} :: PipeTargetRedshiftDataParameters) Prelude.. Lens.coerced++instance+  Data.FromJSON+    PipeTargetRedshiftDataParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetRedshiftDataParameters"+      ( \x ->+          PipeTargetRedshiftDataParameters'+            Prelude.<$> (x Data..:? "DbUser")+            Prelude.<*> (x Data..:? "SecretManagerArn")+            Prelude.<*> (x Data..:? "StatementName")+            Prelude.<*> (x Data..:? "WithEvent")+            Prelude.<*> (x Data..: "Database")+            Prelude.<*> (x Data..: "Sqls")+      )++instance+  Prelude.Hashable+    PipeTargetRedshiftDataParameters+  where+  hashWithSalt+    _salt+    PipeTargetRedshiftDataParameters' {..} =+      _salt+        `Prelude.hashWithSalt` dbUser+        `Prelude.hashWithSalt` secretManagerArn+        `Prelude.hashWithSalt` statementName+        `Prelude.hashWithSalt` withEvent+        `Prelude.hashWithSalt` database+        `Prelude.hashWithSalt` sqls++instance+  Prelude.NFData+    PipeTargetRedshiftDataParameters+  where+  rnf PipeTargetRedshiftDataParameters' {..} =+    Prelude.rnf dbUser+      `Prelude.seq` Prelude.rnf secretManagerArn+      `Prelude.seq` Prelude.rnf statementName+      `Prelude.seq` Prelude.rnf withEvent+      `Prelude.seq` Prelude.rnf database+      `Prelude.seq` Prelude.rnf sqls++instance Data.ToJSON PipeTargetRedshiftDataParameters where+  toJSON PipeTargetRedshiftDataParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DbUser" Data..=) Prelude.<$> dbUser,+            ("SecretManagerArn" Data..=)+              Prelude.<$> secretManagerArn,+            ("StatementName" Data..=) Prelude.<$> statementName,+            ("WithEvent" Data..=) Prelude.<$> withEvent,+            Prelude.Just ("Database" Data..= database),+            Prelude.Just ("Sqls" Data..= sqls)+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetSageMakerPipelineParameters.hs view
@@ -0,0 +1,102 @@+{-# 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.Pipes.Types.PipeTargetSageMakerPipelineParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetSageMakerPipelineParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.SageMakerPipelineParameter+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a SageMaker pipeline as a target.+--+-- /See:/ 'newPipeTargetSageMakerPipelineParameters' smart constructor.+data PipeTargetSageMakerPipelineParameters = PipeTargetSageMakerPipelineParameters'+  { -- | List of Parameter names and values for SageMaker Model Building Pipeline+    -- execution.+    pipelineParameterList :: Prelude.Maybe [SageMakerPipelineParameter]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetSageMakerPipelineParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pipelineParameterList', 'pipeTargetSageMakerPipelineParameters_pipelineParameterList' - List of Parameter names and values for SageMaker Model Building Pipeline+-- execution.+newPipeTargetSageMakerPipelineParameters ::+  PipeTargetSageMakerPipelineParameters+newPipeTargetSageMakerPipelineParameters =+  PipeTargetSageMakerPipelineParameters'+    { pipelineParameterList =+        Prelude.Nothing+    }++-- | List of Parameter names and values for SageMaker Model Building Pipeline+-- execution.+pipeTargetSageMakerPipelineParameters_pipelineParameterList :: Lens.Lens' PipeTargetSageMakerPipelineParameters (Prelude.Maybe [SageMakerPipelineParameter])+pipeTargetSageMakerPipelineParameters_pipelineParameterList = Lens.lens (\PipeTargetSageMakerPipelineParameters' {pipelineParameterList} -> pipelineParameterList) (\s@PipeTargetSageMakerPipelineParameters' {} a -> s {pipelineParameterList = a} :: PipeTargetSageMakerPipelineParameters) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    PipeTargetSageMakerPipelineParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetSageMakerPipelineParameters"+      ( \x ->+          PipeTargetSageMakerPipelineParameters'+            Prelude.<$> ( x+                            Data..:? "PipelineParameterList"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    PipeTargetSageMakerPipelineParameters+  where+  hashWithSalt+    _salt+    PipeTargetSageMakerPipelineParameters' {..} =+      _salt `Prelude.hashWithSalt` pipelineParameterList++instance+  Prelude.NFData+    PipeTargetSageMakerPipelineParameters+  where+  rnf PipeTargetSageMakerPipelineParameters' {..} =+    Prelude.rnf pipelineParameterList++instance+  Data.ToJSON+    PipeTargetSageMakerPipelineParameters+  where+  toJSON PipeTargetSageMakerPipelineParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PipelineParameterList" Data..=)+              Prelude.<$> pipelineParameterList+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetSqsQueueParameters.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PipeTargetSqsQueueParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetSqsQueueParameters 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 parameters for using a Amazon SQS stream as a source.+--+-- /See:/ 'newPipeTargetSqsQueueParameters' smart constructor.+data PipeTargetSqsQueueParameters = PipeTargetSqsQueueParameters'+  { -- | This parameter applies only to FIFO (first-in-first-out) queues.+    --+    -- The token used for deduplication of sent messages.+    messageDeduplicationId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The FIFO message group ID to use as the target.+    messageGroupId :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetSqsQueueParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'messageDeduplicationId', 'pipeTargetSqsQueueParameters_messageDeduplicationId' - This parameter applies only to FIFO (first-in-first-out) queues.+--+-- The token used for deduplication of sent messages.+--+-- 'messageGroupId', 'pipeTargetSqsQueueParameters_messageGroupId' - The FIFO message group ID to use as the target.+newPipeTargetSqsQueueParameters ::+  PipeTargetSqsQueueParameters+newPipeTargetSqsQueueParameters =+  PipeTargetSqsQueueParameters'+    { messageDeduplicationId =+        Prelude.Nothing,+      messageGroupId = Prelude.Nothing+    }++-- | This parameter applies only to FIFO (first-in-first-out) queues.+--+-- The token used for deduplication of sent messages.+pipeTargetSqsQueueParameters_messageDeduplicationId :: Lens.Lens' PipeTargetSqsQueueParameters (Prelude.Maybe Prelude.Text)+pipeTargetSqsQueueParameters_messageDeduplicationId = Lens.lens (\PipeTargetSqsQueueParameters' {messageDeduplicationId} -> messageDeduplicationId) (\s@PipeTargetSqsQueueParameters' {} a -> s {messageDeduplicationId = a} :: PipeTargetSqsQueueParameters) Prelude.. Lens.mapping Data._Sensitive++-- | The FIFO message group ID to use as the target.+pipeTargetSqsQueueParameters_messageGroupId :: Lens.Lens' PipeTargetSqsQueueParameters (Prelude.Maybe Prelude.Text)+pipeTargetSqsQueueParameters_messageGroupId = Lens.lens (\PipeTargetSqsQueueParameters' {messageGroupId} -> messageGroupId) (\s@PipeTargetSqsQueueParameters' {} a -> s {messageGroupId = a} :: PipeTargetSqsQueueParameters) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON PipeTargetSqsQueueParameters where+  parseJSON =+    Data.withObject+      "PipeTargetSqsQueueParameters"+      ( \x ->+          PipeTargetSqsQueueParameters'+            Prelude.<$> (x Data..:? "MessageDeduplicationId")+            Prelude.<*> (x Data..:? "MessageGroupId")+      )++instance+  Prelude.Hashable+    PipeTargetSqsQueueParameters+  where+  hashWithSalt _salt PipeTargetSqsQueueParameters' {..} =+    _salt+      `Prelude.hashWithSalt` messageDeduplicationId+      `Prelude.hashWithSalt` messageGroupId++instance Prelude.NFData PipeTargetSqsQueueParameters where+  rnf PipeTargetSqsQueueParameters' {..} =+    Prelude.rnf messageDeduplicationId+      `Prelude.seq` Prelude.rnf messageGroupId++instance Data.ToJSON PipeTargetSqsQueueParameters where+  toJSON PipeTargetSqsQueueParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MessageDeduplicationId" Data..=)+              Prelude.<$> messageDeduplicationId,+            ("MessageGroupId" Data..=)+              Prelude.<$> messageGroupId+          ]+      )
+ gen/Amazonka/Pipes/Types/PipeTargetStateMachineParameters.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.Pipes.Types.PipeTargetStateMachineParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PipeTargetStateMachineParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PipeTargetInvocationType+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Step Functions state machine as a target.+--+-- /See:/ 'newPipeTargetStateMachineParameters' smart constructor.+data PipeTargetStateMachineParameters = PipeTargetStateMachineParameters'+  { -- | Specify whether to wait for the state machine to finish or not.+    invocationType :: Prelude.Maybe PipeTargetInvocationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PipeTargetStateMachineParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invocationType', 'pipeTargetStateMachineParameters_invocationType' - Specify whether to wait for the state machine to finish or not.+newPipeTargetStateMachineParameters ::+  PipeTargetStateMachineParameters+newPipeTargetStateMachineParameters =+  PipeTargetStateMachineParameters'+    { invocationType =+        Prelude.Nothing+    }++-- | Specify whether to wait for the state machine to finish or not.+pipeTargetStateMachineParameters_invocationType :: Lens.Lens' PipeTargetStateMachineParameters (Prelude.Maybe PipeTargetInvocationType)+pipeTargetStateMachineParameters_invocationType = Lens.lens (\PipeTargetStateMachineParameters' {invocationType} -> invocationType) (\s@PipeTargetStateMachineParameters' {} a -> s {invocationType = a} :: PipeTargetStateMachineParameters)++instance+  Data.FromJSON+    PipeTargetStateMachineParameters+  where+  parseJSON =+    Data.withObject+      "PipeTargetStateMachineParameters"+      ( \x ->+          PipeTargetStateMachineParameters'+            Prelude.<$> (x Data..:? "InvocationType")+      )++instance+  Prelude.Hashable+    PipeTargetStateMachineParameters+  where+  hashWithSalt+    _salt+    PipeTargetStateMachineParameters' {..} =+      _salt `Prelude.hashWithSalt` invocationType++instance+  Prelude.NFData+    PipeTargetStateMachineParameters+  where+  rnf PipeTargetStateMachineParameters' {..} =+    Prelude.rnf invocationType++instance Data.ToJSON PipeTargetStateMachineParameters where+  toJSON PipeTargetStateMachineParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("InvocationType" Data..=)+              Prelude.<$> invocationType+          ]+      )
+ gen/Amazonka/Pipes/Types/PlacementConstraint.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PlacementConstraint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PlacementConstraint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PlacementConstraintType+import qualified Amazonka.Prelude as Prelude++-- | An object representing a constraint on task placement. To learn more,+-- see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html Task Placement Constraints>+-- in the Amazon Elastic Container Service Developer Guide.+--+-- /See:/ 'newPlacementConstraint' smart constructor.+data PlacementConstraint = PlacementConstraint'+  { -- | A cluster query language expression to apply to the constraint. You+    -- cannot specify an expression if the constraint type is+    -- @distinctInstance@. To learn more, see+    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html Cluster Query Language>+    -- in the Amazon Elastic Container Service Developer Guide.+    expression :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The type of constraint. Use distinctInstance to ensure that each task in+    -- a particular group is running on a different container instance. Use+    -- memberOf to restrict the selection to a group of valid candidates.+    type' :: Prelude.Maybe PlacementConstraintType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlacementConstraint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expression', 'placementConstraint_expression' - A cluster query language expression to apply to the constraint. You+-- cannot specify an expression if the constraint type is+-- @distinctInstance@. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html Cluster Query Language>+-- in the Amazon Elastic Container Service Developer Guide.+--+-- 'type'', 'placementConstraint_type' - The type of constraint. Use distinctInstance to ensure that each task in+-- a particular group is running on a different container instance. Use+-- memberOf to restrict the selection to a group of valid candidates.+newPlacementConstraint ::+  PlacementConstraint+newPlacementConstraint =+  PlacementConstraint'+    { expression = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | A cluster query language expression to apply to the constraint. You+-- cannot specify an expression if the constraint type is+-- @distinctInstance@. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html Cluster Query Language>+-- in the Amazon Elastic Container Service Developer Guide.+placementConstraint_expression :: Lens.Lens' PlacementConstraint (Prelude.Maybe Prelude.Text)+placementConstraint_expression = Lens.lens (\PlacementConstraint' {expression} -> expression) (\s@PlacementConstraint' {} a -> s {expression = a} :: PlacementConstraint) Prelude.. Lens.mapping Data._Sensitive++-- | The type of constraint. Use distinctInstance to ensure that each task in+-- a particular group is running on a different container instance. Use+-- memberOf to restrict the selection to a group of valid candidates.+placementConstraint_type :: Lens.Lens' PlacementConstraint (Prelude.Maybe PlacementConstraintType)+placementConstraint_type = Lens.lens (\PlacementConstraint' {type'} -> type') (\s@PlacementConstraint' {} a -> s {type' = a} :: PlacementConstraint)++instance Data.FromJSON PlacementConstraint where+  parseJSON =+    Data.withObject+      "PlacementConstraint"+      ( \x ->+          PlacementConstraint'+            Prelude.<$> (x Data..:? "expression")+            Prelude.<*> (x Data..:? "type")+      )++instance Prelude.Hashable PlacementConstraint where+  hashWithSalt _salt PlacementConstraint' {..} =+    _salt+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` type'++instance Prelude.NFData PlacementConstraint where+  rnf PlacementConstraint' {..} =+    Prelude.rnf expression+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON PlacementConstraint where+  toJSON PlacementConstraint' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("expression" Data..=) Prelude.<$> expression,+            ("type" Data..=) Prelude.<$> type'+          ]+      )
+ gen/Amazonka/Pipes/Types/PlacementConstraintType.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.Pipes.Types.PlacementConstraintType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PlacementConstraintType+  ( PlacementConstraintType+      ( ..,+        PlacementConstraintType_DistinctInstance,+        PlacementConstraintType_MemberOf+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PlacementConstraintType = PlacementConstraintType'+  { fromPlacementConstraintType ::+      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 PlacementConstraintType_DistinctInstance :: PlacementConstraintType+pattern PlacementConstraintType_DistinctInstance = PlacementConstraintType' "distinctInstance"++pattern PlacementConstraintType_MemberOf :: PlacementConstraintType+pattern PlacementConstraintType_MemberOf = PlacementConstraintType' "memberOf"++{-# COMPLETE+  PlacementConstraintType_DistinctInstance,+  PlacementConstraintType_MemberOf,+  PlacementConstraintType'+  #-}
+ gen/Amazonka/Pipes/Types/PlacementStrategy.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PlacementStrategy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PlacementStrategy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.PlacementStrategyType+import qualified Amazonka.Prelude as Prelude++-- | The task placement strategy for a task or service. To learn more, see+-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html Task Placement Strategies>+-- in the Amazon Elastic Container Service Service Developer Guide.+--+-- /See:/ 'newPlacementStrategy' smart constructor.+data PlacementStrategy = PlacementStrategy'+  { -- | The field to apply the placement strategy against. For the spread+    -- placement strategy, valid values are instanceId (or host, which has the+    -- same effect), or any platform or custom attribute that is applied to a+    -- container instance, such as attribute:ecs.availability-zone. For the+    -- binpack placement strategy, valid values are cpu and memory. For the+    -- random placement strategy, this field is not used.+    field :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The type of placement strategy. The random placement strategy randomly+    -- places tasks on available candidates. The spread placement strategy+    -- spreads placement across available candidates evenly based on the field+    -- parameter. The binpack strategy places tasks on available candidates+    -- that have the least available amount of the resource that is specified+    -- with the field parameter. For example, if you binpack on memory, a task+    -- is placed on the instance with the least amount of remaining memory (but+    -- still enough to run the task).+    type' :: Prelude.Maybe PlacementStrategyType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlacementStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'field', 'placementStrategy_field' - The field to apply the placement strategy against. For the spread+-- placement strategy, valid values are instanceId (or host, which has the+-- same effect), or any platform or custom attribute that is applied to a+-- container instance, such as attribute:ecs.availability-zone. For the+-- binpack placement strategy, valid values are cpu and memory. For the+-- random placement strategy, this field is not used.+--+-- 'type'', 'placementStrategy_type' - The type of placement strategy. The random placement strategy randomly+-- places tasks on available candidates. The spread placement strategy+-- spreads placement across available candidates evenly based on the field+-- parameter. The binpack strategy places tasks on available candidates+-- that have the least available amount of the resource that is specified+-- with the field parameter. For example, if you binpack on memory, a task+-- is placed on the instance with the least amount of remaining memory (but+-- still enough to run the task).+newPlacementStrategy ::+  PlacementStrategy+newPlacementStrategy =+  PlacementStrategy'+    { field = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The field to apply the placement strategy against. For the spread+-- placement strategy, valid values are instanceId (or host, which has the+-- same effect), or any platform or custom attribute that is applied to a+-- container instance, such as attribute:ecs.availability-zone. For the+-- binpack placement strategy, valid values are cpu and memory. For the+-- random placement strategy, this field is not used.+placementStrategy_field :: Lens.Lens' PlacementStrategy (Prelude.Maybe Prelude.Text)+placementStrategy_field = Lens.lens (\PlacementStrategy' {field} -> field) (\s@PlacementStrategy' {} a -> s {field = a} :: PlacementStrategy) Prelude.. Lens.mapping Data._Sensitive++-- | The type of placement strategy. The random placement strategy randomly+-- places tasks on available candidates. The spread placement strategy+-- spreads placement across available candidates evenly based on the field+-- parameter. The binpack strategy places tasks on available candidates+-- that have the least available amount of the resource that is specified+-- with the field parameter. For example, if you binpack on memory, a task+-- is placed on the instance with the least amount of remaining memory (but+-- still enough to run the task).+placementStrategy_type :: Lens.Lens' PlacementStrategy (Prelude.Maybe PlacementStrategyType)+placementStrategy_type = Lens.lens (\PlacementStrategy' {type'} -> type') (\s@PlacementStrategy' {} a -> s {type' = a} :: PlacementStrategy)++instance Data.FromJSON PlacementStrategy where+  parseJSON =+    Data.withObject+      "PlacementStrategy"+      ( \x ->+          PlacementStrategy'+            Prelude.<$> (x Data..:? "field")+            Prelude.<*> (x Data..:? "type")+      )++instance Prelude.Hashable PlacementStrategy where+  hashWithSalt _salt PlacementStrategy' {..} =+    _salt+      `Prelude.hashWithSalt` field+      `Prelude.hashWithSalt` type'++instance Prelude.NFData PlacementStrategy where+  rnf PlacementStrategy' {..} =+    Prelude.rnf field `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON PlacementStrategy where+  toJSON PlacementStrategy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("field" Data..=) Prelude.<$> field,+            ("type" Data..=) Prelude.<$> type'+          ]+      )
+ gen/Amazonka/Pipes/Types/PlacementStrategyType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PlacementStrategyType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PlacementStrategyType+  ( PlacementStrategyType+      ( ..,+        PlacementStrategyType_Binpack,+        PlacementStrategyType_Random,+        PlacementStrategyType_Spread+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PlacementStrategyType = PlacementStrategyType'+  { fromPlacementStrategyType ::+      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 PlacementStrategyType_Binpack :: PlacementStrategyType+pattern PlacementStrategyType_Binpack = PlacementStrategyType' "binpack"++pattern PlacementStrategyType_Random :: PlacementStrategyType+pattern PlacementStrategyType_Random = PlacementStrategyType' "random"++pattern PlacementStrategyType_Spread :: PlacementStrategyType+pattern PlacementStrategyType_Spread = PlacementStrategyType' "spread"++{-# COMPLETE+  PlacementStrategyType_Binpack,+  PlacementStrategyType_Random,+  PlacementStrategyType_Spread,+  PlacementStrategyType'+  #-}
+ gen/Amazonka/Pipes/Types/PropagateTags.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.PropagateTags+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.PropagateTags+  ( PropagateTags+      ( ..,+        PropagateTags_TASK_DEFINITION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PropagateTags = PropagateTags'+  { fromPropagateTags ::+      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 PropagateTags_TASK_DEFINITION :: PropagateTags+pattern PropagateTags_TASK_DEFINITION = PropagateTags' "TASK_DEFINITION"++{-# COMPLETE+  PropagateTags_TASK_DEFINITION,+  PropagateTags'+  #-}
+ gen/Amazonka/Pipes/Types/RequestedPipeState.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.Pipes.Types.RequestedPipeState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.RequestedPipeState+  ( RequestedPipeState+      ( ..,+        RequestedPipeState_RUNNING,+        RequestedPipeState_STOPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RequestedPipeState = RequestedPipeState'+  { fromRequestedPipeState ::+      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 RequestedPipeState_RUNNING :: RequestedPipeState+pattern RequestedPipeState_RUNNING = RequestedPipeState' "RUNNING"++pattern RequestedPipeState_STOPPED :: RequestedPipeState+pattern RequestedPipeState_STOPPED = RequestedPipeState' "STOPPED"++{-# COMPLETE+  RequestedPipeState_RUNNING,+  RequestedPipeState_STOPPED,+  RequestedPipeState'+  #-}
+ gen/Amazonka/Pipes/Types/RequestedPipeStateDescribeResponse.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.RequestedPipeStateDescribeResponse+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.RequestedPipeStateDescribeResponse+  ( RequestedPipeStateDescribeResponse+      ( ..,+        RequestedPipeStateDescribeResponse_DELETED,+        RequestedPipeStateDescribeResponse_RUNNING,+        RequestedPipeStateDescribeResponse_STOPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RequestedPipeStateDescribeResponse = RequestedPipeStateDescribeResponse'+  { fromRequestedPipeStateDescribeResponse ::+      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 RequestedPipeStateDescribeResponse_DELETED :: RequestedPipeStateDescribeResponse+pattern RequestedPipeStateDescribeResponse_DELETED = RequestedPipeStateDescribeResponse' "DELETED"++pattern RequestedPipeStateDescribeResponse_RUNNING :: RequestedPipeStateDescribeResponse+pattern RequestedPipeStateDescribeResponse_RUNNING = RequestedPipeStateDescribeResponse' "RUNNING"++pattern RequestedPipeStateDescribeResponse_STOPPED :: RequestedPipeStateDescribeResponse+pattern RequestedPipeStateDescribeResponse_STOPPED = RequestedPipeStateDescribeResponse' "STOPPED"++{-# COMPLETE+  RequestedPipeStateDescribeResponse_DELETED,+  RequestedPipeStateDescribeResponse_RUNNING,+  RequestedPipeStateDescribeResponse_STOPPED,+  RequestedPipeStateDescribeResponse'+  #-}
+ gen/Amazonka/Pipes/Types/SageMakerPipelineParameter.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.Pipes.Types.SageMakerPipelineParameter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.SageMakerPipelineParameter 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++-- | Name\/Value pair of a parameter to start execution of a SageMaker Model+-- Building Pipeline.+--+-- /See:/ 'newSageMakerPipelineParameter' smart constructor.+data SageMakerPipelineParameter = SageMakerPipelineParameter'+  { -- | Name of parameter to start execution of a SageMaker Model Building+    -- Pipeline.+    name :: Data.Sensitive Prelude.Text,+    -- | Value of parameter to start execution of a SageMaker Model Building+    -- Pipeline.+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SageMakerPipelineParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'sageMakerPipelineParameter_name' - Name of parameter to start execution of a SageMaker Model Building+-- Pipeline.+--+-- 'value', 'sageMakerPipelineParameter_value' - Value of parameter to start execution of a SageMaker Model Building+-- Pipeline.+newSageMakerPipelineParameter ::+  -- | 'name'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  SageMakerPipelineParameter+newSageMakerPipelineParameter pName_ pValue_ =+  SageMakerPipelineParameter'+    { name =+        Data._Sensitive Lens.# pName_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | Name of parameter to start execution of a SageMaker Model Building+-- Pipeline.+sageMakerPipelineParameter_name :: Lens.Lens' SageMakerPipelineParameter Prelude.Text+sageMakerPipelineParameter_name = Lens.lens (\SageMakerPipelineParameter' {name} -> name) (\s@SageMakerPipelineParameter' {} a -> s {name = a} :: SageMakerPipelineParameter) Prelude.. Data._Sensitive++-- | Value of parameter to start execution of a SageMaker Model Building+-- Pipeline.+sageMakerPipelineParameter_value :: Lens.Lens' SageMakerPipelineParameter Prelude.Text+sageMakerPipelineParameter_value = Lens.lens (\SageMakerPipelineParameter' {value} -> value) (\s@SageMakerPipelineParameter' {} a -> s {value = a} :: SageMakerPipelineParameter) Prelude.. Data._Sensitive++instance Data.FromJSON SageMakerPipelineParameter where+  parseJSON =+    Data.withObject+      "SageMakerPipelineParameter"+      ( \x ->+          SageMakerPipelineParameter'+            Prelude.<$> (x Data..: "Name")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable SageMakerPipelineParameter where+  hashWithSalt _salt SageMakerPipelineParameter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData SageMakerPipelineParameter where+  rnf SageMakerPipelineParameter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SageMakerPipelineParameter where+  toJSON SageMakerPipelineParameter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Pipes/Types/SelfManagedKafkaAccessConfigurationCredentials.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials 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 Secrets Manager secret that stores your stream credentials.+--+-- /See:/ 'newSelfManagedKafkaAccessConfigurationCredentials' smart constructor.+data SelfManagedKafkaAccessConfigurationCredentials = SelfManagedKafkaAccessConfigurationCredentials'+  { -- | The ARN of the Secrets Manager secret.+    basicAuth :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the Secrets Manager secret.+    clientCertificateTlsAuth :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the Secrets Manager secret.+    saslScram256Auth :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the Secrets Manager secret.+    saslScram512Auth :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelfManagedKafkaAccessConfigurationCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'basicAuth', 'selfManagedKafkaAccessConfigurationCredentials_basicAuth' - The ARN of the Secrets Manager secret.+--+-- 'clientCertificateTlsAuth', 'selfManagedKafkaAccessConfigurationCredentials_clientCertificateTlsAuth' - The ARN of the Secrets Manager secret.+--+-- 'saslScram256Auth', 'selfManagedKafkaAccessConfigurationCredentials_saslScram256Auth' - The ARN of the Secrets Manager secret.+--+-- 'saslScram512Auth', 'selfManagedKafkaAccessConfigurationCredentials_saslScram512Auth' - The ARN of the Secrets Manager secret.+newSelfManagedKafkaAccessConfigurationCredentials ::+  SelfManagedKafkaAccessConfigurationCredentials+newSelfManagedKafkaAccessConfigurationCredentials =+  SelfManagedKafkaAccessConfigurationCredentials'+    { basicAuth =+        Prelude.Nothing,+      clientCertificateTlsAuth =+        Prelude.Nothing,+      saslScram256Auth =+        Prelude.Nothing,+      saslScram512Auth =+        Prelude.Nothing+    }++-- | The ARN of the Secrets Manager secret.+selfManagedKafkaAccessConfigurationCredentials_basicAuth :: Lens.Lens' SelfManagedKafkaAccessConfigurationCredentials (Prelude.Maybe Prelude.Text)+selfManagedKafkaAccessConfigurationCredentials_basicAuth = Lens.lens (\SelfManagedKafkaAccessConfigurationCredentials' {basicAuth} -> basicAuth) (\s@SelfManagedKafkaAccessConfigurationCredentials' {} a -> s {basicAuth = a} :: SelfManagedKafkaAccessConfigurationCredentials)++-- | The ARN of the Secrets Manager secret.+selfManagedKafkaAccessConfigurationCredentials_clientCertificateTlsAuth :: Lens.Lens' SelfManagedKafkaAccessConfigurationCredentials (Prelude.Maybe Prelude.Text)+selfManagedKafkaAccessConfigurationCredentials_clientCertificateTlsAuth = Lens.lens (\SelfManagedKafkaAccessConfigurationCredentials' {clientCertificateTlsAuth} -> clientCertificateTlsAuth) (\s@SelfManagedKafkaAccessConfigurationCredentials' {} a -> s {clientCertificateTlsAuth = a} :: SelfManagedKafkaAccessConfigurationCredentials)++-- | The ARN of the Secrets Manager secret.+selfManagedKafkaAccessConfigurationCredentials_saslScram256Auth :: Lens.Lens' SelfManagedKafkaAccessConfigurationCredentials (Prelude.Maybe Prelude.Text)+selfManagedKafkaAccessConfigurationCredentials_saslScram256Auth = Lens.lens (\SelfManagedKafkaAccessConfigurationCredentials' {saslScram256Auth} -> saslScram256Auth) (\s@SelfManagedKafkaAccessConfigurationCredentials' {} a -> s {saslScram256Auth = a} :: SelfManagedKafkaAccessConfigurationCredentials)++-- | The ARN of the Secrets Manager secret.+selfManagedKafkaAccessConfigurationCredentials_saslScram512Auth :: Lens.Lens' SelfManagedKafkaAccessConfigurationCredentials (Prelude.Maybe Prelude.Text)+selfManagedKafkaAccessConfigurationCredentials_saslScram512Auth = Lens.lens (\SelfManagedKafkaAccessConfigurationCredentials' {saslScram512Auth} -> saslScram512Auth) (\s@SelfManagedKafkaAccessConfigurationCredentials' {} a -> s {saslScram512Auth = a} :: SelfManagedKafkaAccessConfigurationCredentials)++instance+  Data.FromJSON+    SelfManagedKafkaAccessConfigurationCredentials+  where+  parseJSON =+    Data.withObject+      "SelfManagedKafkaAccessConfigurationCredentials"+      ( \x ->+          SelfManagedKafkaAccessConfigurationCredentials'+            Prelude.<$> (x Data..:? "BasicAuth")+            Prelude.<*> (x Data..:? "ClientCertificateTlsAuth")+            Prelude.<*> (x Data..:? "SaslScram256Auth")+            Prelude.<*> (x Data..:? "SaslScram512Auth")+      )++instance+  Prelude.Hashable+    SelfManagedKafkaAccessConfigurationCredentials+  where+  hashWithSalt+    _salt+    SelfManagedKafkaAccessConfigurationCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` basicAuth+        `Prelude.hashWithSalt` clientCertificateTlsAuth+        `Prelude.hashWithSalt` saslScram256Auth+        `Prelude.hashWithSalt` saslScram512Auth++instance+  Prelude.NFData+    SelfManagedKafkaAccessConfigurationCredentials+  where+  rnf+    SelfManagedKafkaAccessConfigurationCredentials' {..} =+      Prelude.rnf basicAuth+        `Prelude.seq` Prelude.rnf clientCertificateTlsAuth+        `Prelude.seq` Prelude.rnf saslScram256Auth+        `Prelude.seq` Prelude.rnf saslScram512Auth++instance+  Data.ToJSON+    SelfManagedKafkaAccessConfigurationCredentials+  where+  toJSON+    SelfManagedKafkaAccessConfigurationCredentials' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("BasicAuth" Data..=) Prelude.<$> basicAuth,+              ("ClientCertificateTlsAuth" Data..=)+                Prelude.<$> clientCertificateTlsAuth,+              ("SaslScram256Auth" Data..=)+                Prelude.<$> saslScram256Auth,+              ("SaslScram512Auth" Data..=)+                Prelude.<$> saslScram512Auth+            ]+        )
+ gen/Amazonka/Pipes/Types/SelfManagedKafkaAccessConfigurationVpc.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.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc 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++-- | This structure specifies the VPC subnets and security groups for the+-- stream, and whether a public IP address is to be used.+--+-- /See:/ 'newSelfManagedKafkaAccessConfigurationVpc' smart constructor.+data SelfManagedKafkaAccessConfigurationVpc = SelfManagedKafkaAccessConfigurationVpc'+  { -- | Specifies the security groups associated with the stream. These security+    -- groups must all be in the same VPC. You can specify as many as five+    -- security groups. If you do not specify a security group, the default+    -- security group for the VPC is used.+    securityGroup :: Prelude.Maybe [Data.Sensitive Prelude.Text],+    -- | Specifies the subnets associated with the stream. These subnets must all+    -- be in the same VPC. You can specify as many as 16 subnets.+    subnets :: Prelude.Maybe [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelfManagedKafkaAccessConfigurationVpc' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityGroup', 'selfManagedKafkaAccessConfigurationVpc_securityGroup' - Specifies the security groups associated with the stream. These security+-- groups must all be in the same VPC. You can specify as many as five+-- security groups. If you do not specify a security group, the default+-- security group for the VPC is used.+--+-- 'subnets', 'selfManagedKafkaAccessConfigurationVpc_subnets' - Specifies the subnets associated with the stream. These subnets must all+-- be in the same VPC. You can specify as many as 16 subnets.+newSelfManagedKafkaAccessConfigurationVpc ::+  SelfManagedKafkaAccessConfigurationVpc+newSelfManagedKafkaAccessConfigurationVpc =+  SelfManagedKafkaAccessConfigurationVpc'+    { securityGroup =+        Prelude.Nothing,+      subnets = Prelude.Nothing+    }++-- | Specifies the security groups associated with the stream. These security+-- groups must all be in the same VPC. You can specify as many as five+-- security groups. If you do not specify a security group, the default+-- security group for the VPC is used.+selfManagedKafkaAccessConfigurationVpc_securityGroup :: Lens.Lens' SelfManagedKafkaAccessConfigurationVpc (Prelude.Maybe [Prelude.Text])+selfManagedKafkaAccessConfigurationVpc_securityGroup = Lens.lens (\SelfManagedKafkaAccessConfigurationVpc' {securityGroup} -> securityGroup) (\s@SelfManagedKafkaAccessConfigurationVpc' {} a -> s {securityGroup = a} :: SelfManagedKafkaAccessConfigurationVpc) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the subnets associated with the stream. These subnets must all+-- be in the same VPC. You can specify as many as 16 subnets.+selfManagedKafkaAccessConfigurationVpc_subnets :: Lens.Lens' SelfManagedKafkaAccessConfigurationVpc (Prelude.Maybe [Prelude.Text])+selfManagedKafkaAccessConfigurationVpc_subnets = Lens.lens (\SelfManagedKafkaAccessConfigurationVpc' {subnets} -> subnets) (\s@SelfManagedKafkaAccessConfigurationVpc' {} a -> s {subnets = a} :: SelfManagedKafkaAccessConfigurationVpc) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    SelfManagedKafkaAccessConfigurationVpc+  where+  parseJSON =+    Data.withObject+      "SelfManagedKafkaAccessConfigurationVpc"+      ( \x ->+          SelfManagedKafkaAccessConfigurationVpc'+            Prelude.<$> (x Data..:? "SecurityGroup" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Subnets" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    SelfManagedKafkaAccessConfigurationVpc+  where+  hashWithSalt+    _salt+    SelfManagedKafkaAccessConfigurationVpc' {..} =+      _salt+        `Prelude.hashWithSalt` securityGroup+        `Prelude.hashWithSalt` subnets++instance+  Prelude.NFData+    SelfManagedKafkaAccessConfigurationVpc+  where+  rnf SelfManagedKafkaAccessConfigurationVpc' {..} =+    Prelude.rnf securityGroup+      `Prelude.seq` Prelude.rnf subnets++instance+  Data.ToJSON+    SelfManagedKafkaAccessConfigurationVpc+  where+  toJSON SelfManagedKafkaAccessConfigurationVpc' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SecurityGroup" Data..=) Prelude.<$> securityGroup,+            ("Subnets" Data..=) Prelude.<$> subnets+          ]+      )
+ gen/Amazonka/Pipes/Types/SelfManagedKafkaStartPosition.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.Pipes.Types.SelfManagedKafkaStartPosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.SelfManagedKafkaStartPosition+  ( SelfManagedKafkaStartPosition+      ( ..,+        SelfManagedKafkaStartPosition_LATEST,+        SelfManagedKafkaStartPosition_TRIM_HORIZON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SelfManagedKafkaStartPosition = SelfManagedKafkaStartPosition'+  { fromSelfManagedKafkaStartPosition ::+      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 SelfManagedKafkaStartPosition_LATEST :: SelfManagedKafkaStartPosition+pattern SelfManagedKafkaStartPosition_LATEST = SelfManagedKafkaStartPosition' "LATEST"++pattern SelfManagedKafkaStartPosition_TRIM_HORIZON :: SelfManagedKafkaStartPosition+pattern SelfManagedKafkaStartPosition_TRIM_HORIZON = SelfManagedKafkaStartPosition' "TRIM_HORIZON"++{-# COMPLETE+  SelfManagedKafkaStartPosition_LATEST,+  SelfManagedKafkaStartPosition_TRIM_HORIZON,+  SelfManagedKafkaStartPosition'+  #-}
+ gen/Amazonka/Pipes/Types/Tag.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.Pipes.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A key-value pair associated with an Amazon Web Services resource. In+-- EventBridge, rules and event buses support tagging.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | A string you can use to assign a value. The combination of tag keys and+    -- values can help you organize and categorize your resources.+    key :: Prelude.Text,+    -- | The value for the specified tag key.+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - A string you can use to assign a value. The combination of tag keys and+-- values can help you organize and categorize your resources.+--+-- 'value', 'tag_value' - The value for the specified tag key.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag'+    { key = pKey_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | A string you can use to assign a value. The combination of tag keys and+-- values can help you organize and categorize your resources.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value for the specified tag key.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag) Prelude.. Data._Sensitive++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceActiveMQBrokerParameters.hs view
@@ -0,0 +1,113 @@+{-# 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.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an Active MQ broker as a source.+--+-- /See:/ 'newUpdatePipeSourceActiveMQBrokerParameters' smart constructor.+data UpdatePipeSourceActiveMQBrokerParameters = UpdatePipeSourceActiveMQBrokerParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The credentials needed to access the resource.+    credentials :: MQBrokerAccessCredentials+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceActiveMQBrokerParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceActiveMQBrokerParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'credentials', 'updatePipeSourceActiveMQBrokerParameters_credentials' - The credentials needed to access the resource.+newUpdatePipeSourceActiveMQBrokerParameters ::+  -- | 'credentials'+  MQBrokerAccessCredentials ->+  UpdatePipeSourceActiveMQBrokerParameters+newUpdatePipeSourceActiveMQBrokerParameters+  pCredentials_ =+    UpdatePipeSourceActiveMQBrokerParameters'+      { batchSize =+          Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        credentials = pCredentials_+      }++-- | The maximum number of records to include in each batch.+updatePipeSourceActiveMQBrokerParameters_batchSize :: Lens.Lens' UpdatePipeSourceActiveMQBrokerParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceActiveMQBrokerParameters_batchSize = Lens.lens (\UpdatePipeSourceActiveMQBrokerParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceActiveMQBrokerParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceActiveMQBrokerParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceActiveMQBrokerParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceActiveMQBrokerParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceActiveMQBrokerParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceActiveMQBrokerParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceActiveMQBrokerParameters)++-- | The credentials needed to access the resource.+updatePipeSourceActiveMQBrokerParameters_credentials :: Lens.Lens' UpdatePipeSourceActiveMQBrokerParameters MQBrokerAccessCredentials+updatePipeSourceActiveMQBrokerParameters_credentials = Lens.lens (\UpdatePipeSourceActiveMQBrokerParameters' {credentials} -> credentials) (\s@UpdatePipeSourceActiveMQBrokerParameters' {} a -> s {credentials = a} :: UpdatePipeSourceActiveMQBrokerParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceActiveMQBrokerParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceActiveMQBrokerParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` credentials++instance+  Prelude.NFData+    UpdatePipeSourceActiveMQBrokerParameters+  where+  rnf UpdatePipeSourceActiveMQBrokerParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf credentials++instance+  Data.ToJSON+    UpdatePipeSourceActiveMQBrokerParameters+  where+  toJSON UpdatePipeSourceActiveMQBrokerParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            Prelude.Just ("Credentials" Data..= credentials)+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceDynamoDBStreamParameters.hs view
@@ -0,0 +1,193 @@+{-# 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.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a DynamoDB stream as a source.+--+-- /See:/ 'newUpdatePipeSourceDynamoDBStreamParameters' smart constructor.+data UpdatePipeSourceDynamoDBStreamParameters = UpdatePipeSourceDynamoDBStreamParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | Define the target queue to send dead-letter queue events to.+    deadLetterConfig :: Prelude.Maybe DeadLetterConfig,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) Discard records older than the specified age. The default+    -- value is -1, which sets the maximum age to infinite. When the value is+    -- set to infinite, EventBridge never discards old records.+    maximumRecordAgeInSeconds :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Discard records after the specified number of retries.+    -- The default value is -1, which sets the maximum number of retries to+    -- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+    -- failed records until the record expires in the event source.+    maximumRetryAttempts :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Define how to handle item process failures.+    -- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+    -- records are processed or there is one failed message left in the batch.+    onPartialBatchItemFailure :: Prelude.Maybe OnPartialBatchItemFailureStreams,+    -- | (Streams only) The number of batches to process concurrently from each+    -- shard. The default value is 1.+    parallelizationFactor :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceDynamoDBStreamParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceDynamoDBStreamParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'deadLetterConfig', 'updatePipeSourceDynamoDBStreamParameters_deadLetterConfig' - Define the target queue to send dead-letter queue events to.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'maximumRecordAgeInSeconds', 'updatePipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds' - (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+--+-- 'maximumRetryAttempts', 'updatePipeSourceDynamoDBStreamParameters_maximumRetryAttempts' - (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+--+-- 'onPartialBatchItemFailure', 'updatePipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure' - (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+--+-- 'parallelizationFactor', 'updatePipeSourceDynamoDBStreamParameters_parallelizationFactor' - (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+newUpdatePipeSourceDynamoDBStreamParameters ::+  UpdatePipeSourceDynamoDBStreamParameters+newUpdatePipeSourceDynamoDBStreamParameters =+  UpdatePipeSourceDynamoDBStreamParameters'+    { batchSize =+        Prelude.Nothing,+      deadLetterConfig =+        Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing,+      maximumRecordAgeInSeconds =+        Prelude.Nothing,+      maximumRetryAttempts =+        Prelude.Nothing,+      onPartialBatchItemFailure =+        Prelude.Nothing,+      parallelizationFactor =+        Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+updatePipeSourceDynamoDBStreamParameters_batchSize :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceDynamoDBStreamParameters_batchSize = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | Define the target queue to send dead-letter queue events to.+updatePipeSourceDynamoDBStreamParameters_deadLetterConfig :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe DeadLetterConfig)+updatePipeSourceDynamoDBStreamParameters_deadLetterConfig = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {deadLetterConfig} -> deadLetterConfig) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {deadLetterConfig = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceDynamoDBStreamParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+updatePipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Int)+updatePipeSourceDynamoDBStreamParameters_maximumRecordAgeInSeconds = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {maximumRecordAgeInSeconds} -> maximumRecordAgeInSeconds) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {maximumRecordAgeInSeconds = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+updatePipeSourceDynamoDBStreamParameters_maximumRetryAttempts :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Int)+updatePipeSourceDynamoDBStreamParameters_maximumRetryAttempts = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {maximumRetryAttempts} -> maximumRetryAttempts) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {maximumRetryAttempts = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+updatePipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe OnPartialBatchItemFailureStreams)+updatePipeSourceDynamoDBStreamParameters_onPartialBatchItemFailure = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {onPartialBatchItemFailure} -> onPartialBatchItemFailure) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {onPartialBatchItemFailure = a} :: UpdatePipeSourceDynamoDBStreamParameters)++-- | (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+updatePipeSourceDynamoDBStreamParameters_parallelizationFactor :: Lens.Lens' UpdatePipeSourceDynamoDBStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceDynamoDBStreamParameters_parallelizationFactor = Lens.lens (\UpdatePipeSourceDynamoDBStreamParameters' {parallelizationFactor} -> parallelizationFactor) (\s@UpdatePipeSourceDynamoDBStreamParameters' {} a -> s {parallelizationFactor = a} :: UpdatePipeSourceDynamoDBStreamParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceDynamoDBStreamParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceDynamoDBStreamParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` deadLetterConfig+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` maximumRecordAgeInSeconds+        `Prelude.hashWithSalt` maximumRetryAttempts+        `Prelude.hashWithSalt` onPartialBatchItemFailure+        `Prelude.hashWithSalt` parallelizationFactor++instance+  Prelude.NFData+    UpdatePipeSourceDynamoDBStreamParameters+  where+  rnf UpdatePipeSourceDynamoDBStreamParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf deadLetterConfig+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf maximumRecordAgeInSeconds+      `Prelude.seq` Prelude.rnf maximumRetryAttempts+      `Prelude.seq` Prelude.rnf onPartialBatchItemFailure+      `Prelude.seq` Prelude.rnf parallelizationFactor++instance+  Data.ToJSON+    UpdatePipeSourceDynamoDBStreamParameters+  where+  toJSON UpdatePipeSourceDynamoDBStreamParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("DeadLetterConfig" Data..=)+              Prelude.<$> deadLetterConfig,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("MaximumRecordAgeInSeconds" Data..=)+              Prelude.<$> maximumRecordAgeInSeconds,+            ("MaximumRetryAttempts" Data..=)+              Prelude.<$> maximumRetryAttempts,+            ("OnPartialBatchItemFailure" Data..=)+              Prelude.<$> onPartialBatchItemFailure,+            ("ParallelizationFactor" Data..=)+              Prelude.<$> parallelizationFactor+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceKinesisStreamParameters.hs view
@@ -0,0 +1,192 @@+{-# 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.Pipes.Types.UpdatePipeSourceKinesisStreamParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceKinesisStreamParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.DeadLetterConfig+import Amazonka.Pipes.Types.OnPartialBatchItemFailureStreams+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Kinesis stream as a source.+--+-- /See:/ 'newUpdatePipeSourceKinesisStreamParameters' smart constructor.+data UpdatePipeSourceKinesisStreamParameters = UpdatePipeSourceKinesisStreamParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | Define the target queue to send dead-letter queue events to.+    deadLetterConfig :: Prelude.Maybe DeadLetterConfig,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | (Streams only) Discard records older than the specified age. The default+    -- value is -1, which sets the maximum age to infinite. When the value is+    -- set to infinite, EventBridge never discards old records.+    maximumRecordAgeInSeconds :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Discard records after the specified number of retries.+    -- The default value is -1, which sets the maximum number of retries to+    -- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+    -- failed records until the record expires in the event source.+    maximumRetryAttempts :: Prelude.Maybe Prelude.Int,+    -- | (Streams only) Define how to handle item process failures.+    -- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+    -- records are processed or there is one failed message left in the batch.+    onPartialBatchItemFailure :: Prelude.Maybe OnPartialBatchItemFailureStreams,+    -- | (Streams only) The number of batches to process concurrently from each+    -- shard. The default value is 1.+    parallelizationFactor :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceKinesisStreamParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceKinesisStreamParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'deadLetterConfig', 'updatePipeSourceKinesisStreamParameters_deadLetterConfig' - Define the target queue to send dead-letter queue events to.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'maximumRecordAgeInSeconds', 'updatePipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds' - (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+--+-- 'maximumRetryAttempts', 'updatePipeSourceKinesisStreamParameters_maximumRetryAttempts' - (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+--+-- 'onPartialBatchItemFailure', 'updatePipeSourceKinesisStreamParameters_onPartialBatchItemFailure' - (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+--+-- 'parallelizationFactor', 'updatePipeSourceKinesisStreamParameters_parallelizationFactor' - (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+newUpdatePipeSourceKinesisStreamParameters ::+  UpdatePipeSourceKinesisStreamParameters+newUpdatePipeSourceKinesisStreamParameters =+  UpdatePipeSourceKinesisStreamParameters'+    { batchSize =+        Prelude.Nothing,+      deadLetterConfig = Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing,+      maximumRecordAgeInSeconds =+        Prelude.Nothing,+      maximumRetryAttempts =+        Prelude.Nothing,+      onPartialBatchItemFailure =+        Prelude.Nothing,+      parallelizationFactor =+        Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+updatePipeSourceKinesisStreamParameters_batchSize :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceKinesisStreamParameters_batchSize = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | Define the target queue to send dead-letter queue events to.+updatePipeSourceKinesisStreamParameters_deadLetterConfig :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe DeadLetterConfig)+updatePipeSourceKinesisStreamParameters_deadLetterConfig = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {deadLetterConfig} -> deadLetterConfig) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {deadLetterConfig = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceKinesisStreamParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | (Streams only) Discard records older than the specified age. The default+-- value is -1, which sets the maximum age to infinite. When the value is+-- set to infinite, EventBridge never discards old records.+updatePipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Int)+updatePipeSourceKinesisStreamParameters_maximumRecordAgeInSeconds = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {maximumRecordAgeInSeconds} -> maximumRecordAgeInSeconds) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {maximumRecordAgeInSeconds = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | (Streams only) Discard records after the specified number of retries.+-- The default value is -1, which sets the maximum number of retries to+-- infinite. When MaximumRetryAttempts is infinite, EventBridge retries+-- failed records until the record expires in the event source.+updatePipeSourceKinesisStreamParameters_maximumRetryAttempts :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Int)+updatePipeSourceKinesisStreamParameters_maximumRetryAttempts = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {maximumRetryAttempts} -> maximumRetryAttempts) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {maximumRetryAttempts = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | (Streams only) Define how to handle item process failures.+-- @AUTOMATIC_BISECT@ halves each batch and retry each half until all the+-- records are processed or there is one failed message left in the batch.+updatePipeSourceKinesisStreamParameters_onPartialBatchItemFailure :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe OnPartialBatchItemFailureStreams)+updatePipeSourceKinesisStreamParameters_onPartialBatchItemFailure = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {onPartialBatchItemFailure} -> onPartialBatchItemFailure) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {onPartialBatchItemFailure = a} :: UpdatePipeSourceKinesisStreamParameters)++-- | (Streams only) The number of batches to process concurrently from each+-- shard. The default value is 1.+updatePipeSourceKinesisStreamParameters_parallelizationFactor :: Lens.Lens' UpdatePipeSourceKinesisStreamParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceKinesisStreamParameters_parallelizationFactor = Lens.lens (\UpdatePipeSourceKinesisStreamParameters' {parallelizationFactor} -> parallelizationFactor) (\s@UpdatePipeSourceKinesisStreamParameters' {} a -> s {parallelizationFactor = a} :: UpdatePipeSourceKinesisStreamParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceKinesisStreamParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceKinesisStreamParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` deadLetterConfig+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` maximumRecordAgeInSeconds+        `Prelude.hashWithSalt` maximumRetryAttempts+        `Prelude.hashWithSalt` onPartialBatchItemFailure+        `Prelude.hashWithSalt` parallelizationFactor++instance+  Prelude.NFData+    UpdatePipeSourceKinesisStreamParameters+  where+  rnf UpdatePipeSourceKinesisStreamParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf deadLetterConfig+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf maximumRecordAgeInSeconds+      `Prelude.seq` Prelude.rnf maximumRetryAttempts+      `Prelude.seq` Prelude.rnf onPartialBatchItemFailure+      `Prelude.seq` Prelude.rnf parallelizationFactor++instance+  Data.ToJSON+    UpdatePipeSourceKinesisStreamParameters+  where+  toJSON UpdatePipeSourceKinesisStreamParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("DeadLetterConfig" Data..=)+              Prelude.<$> deadLetterConfig,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            ("MaximumRecordAgeInSeconds" Data..=)+              Prelude.<$> maximumRecordAgeInSeconds,+            ("MaximumRetryAttempts" Data..=)+              Prelude.<$> maximumRetryAttempts,+            ("OnPartialBatchItemFailure" Data..=)+              Prelude.<$> onPartialBatchItemFailure,+            ("ParallelizationFactor" Data..=)+              Prelude.<$> parallelizationFactor+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceManagedStreamingKafkaParameters.hs view
@@ -0,0 +1,113 @@+{-# 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.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MSKAccessCredentials+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using an MSK stream as a source.+--+-- /See:/ 'newUpdatePipeSourceManagedStreamingKafkaParameters' smart constructor.+data UpdatePipeSourceManagedStreamingKafkaParameters = UpdatePipeSourceManagedStreamingKafkaParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The credentials needed to access the resource.+    credentials :: Prelude.Maybe MSKAccessCredentials,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceManagedStreamingKafkaParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceManagedStreamingKafkaParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'credentials', 'updatePipeSourceManagedStreamingKafkaParameters_credentials' - The credentials needed to access the resource.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+newUpdatePipeSourceManagedStreamingKafkaParameters ::+  UpdatePipeSourceManagedStreamingKafkaParameters+newUpdatePipeSourceManagedStreamingKafkaParameters =+  UpdatePipeSourceManagedStreamingKafkaParameters'+    { batchSize =+        Prelude.Nothing,+      credentials =+        Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+updatePipeSourceManagedStreamingKafkaParameters_batchSize :: Lens.Lens' UpdatePipeSourceManagedStreamingKafkaParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceManagedStreamingKafkaParameters_batchSize = Lens.lens (\UpdatePipeSourceManagedStreamingKafkaParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceManagedStreamingKafkaParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceManagedStreamingKafkaParameters)++-- | The credentials needed to access the resource.+updatePipeSourceManagedStreamingKafkaParameters_credentials :: Lens.Lens' UpdatePipeSourceManagedStreamingKafkaParameters (Prelude.Maybe MSKAccessCredentials)+updatePipeSourceManagedStreamingKafkaParameters_credentials = Lens.lens (\UpdatePipeSourceManagedStreamingKafkaParameters' {credentials} -> credentials) (\s@UpdatePipeSourceManagedStreamingKafkaParameters' {} a -> s {credentials = a} :: UpdatePipeSourceManagedStreamingKafkaParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceManagedStreamingKafkaParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceManagedStreamingKafkaParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceManagedStreamingKafkaParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceManagedStreamingKafkaParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceManagedStreamingKafkaParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceManagedStreamingKafkaParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceManagedStreamingKafkaParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds++instance+  Prelude.NFData+    UpdatePipeSourceManagedStreamingKafkaParameters+  where+  rnf+    UpdatePipeSourceManagedStreamingKafkaParameters' {..} =+      Prelude.rnf batchSize+        `Prelude.seq` Prelude.rnf credentials+        `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds++instance+  Data.ToJSON+    UpdatePipeSourceManagedStreamingKafkaParameters+  where+  toJSON+    UpdatePipeSourceManagedStreamingKafkaParameters' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("BatchSize" Data..=) Prelude.<$> batchSize,+              ("Credentials" Data..=) Prelude.<$> credentials,+              ("MaximumBatchingWindowInSeconds" Data..=)+                Prelude.<$> maximumBatchingWindowInSeconds+            ]+        )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceParameters.hs view
@@ -0,0 +1,182 @@+{-# 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.Pipes.Types.UpdatePipeSourceParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.FilterCriteria+import Amazonka.Pipes.Types.UpdatePipeSourceActiveMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceDynamoDBStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceKinesisStreamParameters+import Amazonka.Pipes.Types.UpdatePipeSourceManagedStreamingKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters+import Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters+import qualified Amazonka.Prelude as Prelude++-- | The parameters required to set up a source for your pipe.+--+-- /See:/ 'newUpdatePipeSourceParameters' smart constructor.+data UpdatePipeSourceParameters = UpdatePipeSourceParameters'+  { -- | The parameters for using an Active MQ broker as a source.+    activeMQBrokerParameters :: Prelude.Maybe UpdatePipeSourceActiveMQBrokerParameters,+    -- | The parameters for using a DynamoDB stream as a source.+    dynamoDBStreamParameters :: Prelude.Maybe UpdatePipeSourceDynamoDBStreamParameters,+    -- | The collection of event patterns used to filter events. For more+    -- information, see+    -- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+    -- in the /Amazon EventBridge User Guide/.+    filterCriteria :: Prelude.Maybe FilterCriteria,+    -- | The parameters for using a Kinesis stream as a source.+    kinesisStreamParameters :: Prelude.Maybe UpdatePipeSourceKinesisStreamParameters,+    -- | The parameters for using an MSK stream as a source.+    managedStreamingKafkaParameters :: Prelude.Maybe UpdatePipeSourceManagedStreamingKafkaParameters,+    -- | The parameters for using a Rabbit MQ broker as a source.+    rabbitMQBrokerParameters :: Prelude.Maybe UpdatePipeSourceRabbitMQBrokerParameters,+    -- | The parameters for using a self-managed Apache Kafka stream as a source.+    selfManagedKafkaParameters :: Prelude.Maybe UpdatePipeSourceSelfManagedKafkaParameters,+    -- | The parameters for using a Amazon SQS stream as a source.+    sqsQueueParameters :: Prelude.Maybe UpdatePipeSourceSqsQueueParameters+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeMQBrokerParameters', 'updatePipeSourceParameters_activeMQBrokerParameters' - The parameters for using an Active MQ broker as a source.+--+-- 'dynamoDBStreamParameters', 'updatePipeSourceParameters_dynamoDBStreamParameters' - The parameters for using a DynamoDB stream as a source.+--+-- 'filterCriteria', 'updatePipeSourceParameters_filterCriteria' - The collection of event patterns used to filter events. For more+-- information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+--+-- 'kinesisStreamParameters', 'updatePipeSourceParameters_kinesisStreamParameters' - The parameters for using a Kinesis stream as a source.+--+-- 'managedStreamingKafkaParameters', 'updatePipeSourceParameters_managedStreamingKafkaParameters' - The parameters for using an MSK stream as a source.+--+-- 'rabbitMQBrokerParameters', 'updatePipeSourceParameters_rabbitMQBrokerParameters' - The parameters for using a Rabbit MQ broker as a source.+--+-- 'selfManagedKafkaParameters', 'updatePipeSourceParameters_selfManagedKafkaParameters' - The parameters for using a self-managed Apache Kafka stream as a source.+--+-- 'sqsQueueParameters', 'updatePipeSourceParameters_sqsQueueParameters' - The parameters for using a Amazon SQS stream as a source.+newUpdatePipeSourceParameters ::+  UpdatePipeSourceParameters+newUpdatePipeSourceParameters =+  UpdatePipeSourceParameters'+    { activeMQBrokerParameters =+        Prelude.Nothing,+      dynamoDBStreamParameters = Prelude.Nothing,+      filterCriteria = Prelude.Nothing,+      kinesisStreamParameters = Prelude.Nothing,+      managedStreamingKafkaParameters =+        Prelude.Nothing,+      rabbitMQBrokerParameters = Prelude.Nothing,+      selfManagedKafkaParameters = Prelude.Nothing,+      sqsQueueParameters = Prelude.Nothing+    }++-- | The parameters for using an Active MQ broker as a source.+updatePipeSourceParameters_activeMQBrokerParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceActiveMQBrokerParameters)+updatePipeSourceParameters_activeMQBrokerParameters = Lens.lens (\UpdatePipeSourceParameters' {activeMQBrokerParameters} -> activeMQBrokerParameters) (\s@UpdatePipeSourceParameters' {} a -> s {activeMQBrokerParameters = a} :: UpdatePipeSourceParameters)++-- | The parameters for using a DynamoDB stream as a source.+updatePipeSourceParameters_dynamoDBStreamParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceDynamoDBStreamParameters)+updatePipeSourceParameters_dynamoDBStreamParameters = Lens.lens (\UpdatePipeSourceParameters' {dynamoDBStreamParameters} -> dynamoDBStreamParameters) (\s@UpdatePipeSourceParameters' {} a -> s {dynamoDBStreamParameters = a} :: UpdatePipeSourceParameters)++-- | The collection of event patterns used to filter events. For more+-- information, see+-- <https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html Events and Event Patterns>+-- in the /Amazon EventBridge User Guide/.+updatePipeSourceParameters_filterCriteria :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe FilterCriteria)+updatePipeSourceParameters_filterCriteria = Lens.lens (\UpdatePipeSourceParameters' {filterCriteria} -> filterCriteria) (\s@UpdatePipeSourceParameters' {} a -> s {filterCriteria = a} :: UpdatePipeSourceParameters)++-- | The parameters for using a Kinesis stream as a source.+updatePipeSourceParameters_kinesisStreamParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceKinesisStreamParameters)+updatePipeSourceParameters_kinesisStreamParameters = Lens.lens (\UpdatePipeSourceParameters' {kinesisStreamParameters} -> kinesisStreamParameters) (\s@UpdatePipeSourceParameters' {} a -> s {kinesisStreamParameters = a} :: UpdatePipeSourceParameters)++-- | The parameters for using an MSK stream as a source.+updatePipeSourceParameters_managedStreamingKafkaParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceManagedStreamingKafkaParameters)+updatePipeSourceParameters_managedStreamingKafkaParameters = Lens.lens (\UpdatePipeSourceParameters' {managedStreamingKafkaParameters} -> managedStreamingKafkaParameters) (\s@UpdatePipeSourceParameters' {} a -> s {managedStreamingKafkaParameters = a} :: UpdatePipeSourceParameters)++-- | The parameters for using a Rabbit MQ broker as a source.+updatePipeSourceParameters_rabbitMQBrokerParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceRabbitMQBrokerParameters)+updatePipeSourceParameters_rabbitMQBrokerParameters = Lens.lens (\UpdatePipeSourceParameters' {rabbitMQBrokerParameters} -> rabbitMQBrokerParameters) (\s@UpdatePipeSourceParameters' {} a -> s {rabbitMQBrokerParameters = a} :: UpdatePipeSourceParameters)++-- | The parameters for using a self-managed Apache Kafka stream as a source.+updatePipeSourceParameters_selfManagedKafkaParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceSelfManagedKafkaParameters)+updatePipeSourceParameters_selfManagedKafkaParameters = Lens.lens (\UpdatePipeSourceParameters' {selfManagedKafkaParameters} -> selfManagedKafkaParameters) (\s@UpdatePipeSourceParameters' {} a -> s {selfManagedKafkaParameters = a} :: UpdatePipeSourceParameters)++-- | The parameters for using a Amazon SQS stream as a source.+updatePipeSourceParameters_sqsQueueParameters :: Lens.Lens' UpdatePipeSourceParameters (Prelude.Maybe UpdatePipeSourceSqsQueueParameters)+updatePipeSourceParameters_sqsQueueParameters = Lens.lens (\UpdatePipeSourceParameters' {sqsQueueParameters} -> sqsQueueParameters) (\s@UpdatePipeSourceParameters' {} a -> s {sqsQueueParameters = a} :: UpdatePipeSourceParameters)++instance Prelude.Hashable UpdatePipeSourceParameters where+  hashWithSalt _salt UpdatePipeSourceParameters' {..} =+    _salt+      `Prelude.hashWithSalt` activeMQBrokerParameters+      `Prelude.hashWithSalt` dynamoDBStreamParameters+      `Prelude.hashWithSalt` filterCriteria+      `Prelude.hashWithSalt` kinesisStreamParameters+      `Prelude.hashWithSalt` managedStreamingKafkaParameters+      `Prelude.hashWithSalt` rabbitMQBrokerParameters+      `Prelude.hashWithSalt` selfManagedKafkaParameters+      `Prelude.hashWithSalt` sqsQueueParameters++instance Prelude.NFData UpdatePipeSourceParameters where+  rnf UpdatePipeSourceParameters' {..} =+    Prelude.rnf activeMQBrokerParameters+      `Prelude.seq` Prelude.rnf dynamoDBStreamParameters+      `Prelude.seq` Prelude.rnf filterCriteria+      `Prelude.seq` Prelude.rnf kinesisStreamParameters+      `Prelude.seq` Prelude.rnf managedStreamingKafkaParameters+      `Prelude.seq` Prelude.rnf rabbitMQBrokerParameters+      `Prelude.seq` Prelude.rnf selfManagedKafkaParameters+      `Prelude.seq` Prelude.rnf sqsQueueParameters++instance Data.ToJSON UpdatePipeSourceParameters where+  toJSON UpdatePipeSourceParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ActiveMQBrokerParameters" Data..=)+              Prelude.<$> activeMQBrokerParameters,+            ("DynamoDBStreamParameters" Data..=)+              Prelude.<$> dynamoDBStreamParameters,+            ("FilterCriteria" Data..=)+              Prelude.<$> filterCriteria,+            ("KinesisStreamParameters" Data..=)+              Prelude.<$> kinesisStreamParameters,+            ("ManagedStreamingKafkaParameters" Data..=)+              Prelude.<$> managedStreamingKafkaParameters,+            ("RabbitMQBrokerParameters" Data..=)+              Prelude.<$> rabbitMQBrokerParameters,+            ("SelfManagedKafkaParameters" Data..=)+              Prelude.<$> selfManagedKafkaParameters,+            ("SqsQueueParameters" Data..=)+              Prelude.<$> sqsQueueParameters+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceRabbitMQBrokerParameters.hs view
@@ -0,0 +1,113 @@+{-# 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.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceRabbitMQBrokerParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.MQBrokerAccessCredentials+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a Rabbit MQ broker as a source.+--+-- /See:/ 'newUpdatePipeSourceRabbitMQBrokerParameters' smart constructor.+data UpdatePipeSourceRabbitMQBrokerParameters = UpdatePipeSourceRabbitMQBrokerParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The credentials needed to access the resource.+    credentials :: MQBrokerAccessCredentials+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceRabbitMQBrokerParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceRabbitMQBrokerParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'credentials', 'updatePipeSourceRabbitMQBrokerParameters_credentials' - The credentials needed to access the resource.+newUpdatePipeSourceRabbitMQBrokerParameters ::+  -- | 'credentials'+  MQBrokerAccessCredentials ->+  UpdatePipeSourceRabbitMQBrokerParameters+newUpdatePipeSourceRabbitMQBrokerParameters+  pCredentials_ =+    UpdatePipeSourceRabbitMQBrokerParameters'+      { batchSize =+          Prelude.Nothing,+        maximumBatchingWindowInSeconds =+          Prelude.Nothing,+        credentials = pCredentials_+      }++-- | The maximum number of records to include in each batch.+updatePipeSourceRabbitMQBrokerParameters_batchSize :: Lens.Lens' UpdatePipeSourceRabbitMQBrokerParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceRabbitMQBrokerParameters_batchSize = Lens.lens (\UpdatePipeSourceRabbitMQBrokerParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceRabbitMQBrokerParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceRabbitMQBrokerParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceRabbitMQBrokerParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceRabbitMQBrokerParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceRabbitMQBrokerParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceRabbitMQBrokerParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceRabbitMQBrokerParameters)++-- | The credentials needed to access the resource.+updatePipeSourceRabbitMQBrokerParameters_credentials :: Lens.Lens' UpdatePipeSourceRabbitMQBrokerParameters MQBrokerAccessCredentials+updatePipeSourceRabbitMQBrokerParameters_credentials = Lens.lens (\UpdatePipeSourceRabbitMQBrokerParameters' {credentials} -> credentials) (\s@UpdatePipeSourceRabbitMQBrokerParameters' {} a -> s {credentials = a} :: UpdatePipeSourceRabbitMQBrokerParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceRabbitMQBrokerParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceRabbitMQBrokerParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` credentials++instance+  Prelude.NFData+    UpdatePipeSourceRabbitMQBrokerParameters+  where+  rnf UpdatePipeSourceRabbitMQBrokerParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf credentials++instance+  Data.ToJSON+    UpdatePipeSourceRabbitMQBrokerParameters+  where+  toJSON UpdatePipeSourceRabbitMQBrokerParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds,+            Prelude.Just ("Credentials" Data..= credentials)+          ]+      )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceSelfManagedKafkaParameters.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceSelfManagedKafkaParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationCredentials+import Amazonka.Pipes.Types.SelfManagedKafkaAccessConfigurationVpc+import qualified Amazonka.Prelude as Prelude++-- | The parameters for using a self-managed Apache Kafka stream as a source.+--+-- /See:/ 'newUpdatePipeSourceSelfManagedKafkaParameters' smart constructor.+data UpdatePipeSourceSelfManagedKafkaParameters = UpdatePipeSourceSelfManagedKafkaParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The credentials needed to access the resource.+    credentials :: Prelude.Maybe SelfManagedKafkaAccessConfigurationCredentials,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The ARN of the Secrets Manager secret used for certification.+    serverRootCaCertificate :: Prelude.Maybe Prelude.Text,+    -- | This structure specifies the VPC subnets and security groups for the+    -- stream, and whether a public IP address is to be used.+    vpc :: Prelude.Maybe SelfManagedKafkaAccessConfigurationVpc+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceSelfManagedKafkaParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceSelfManagedKafkaParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'credentials', 'updatePipeSourceSelfManagedKafkaParameters_credentials' - The credentials needed to access the resource.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+--+-- 'serverRootCaCertificate', 'updatePipeSourceSelfManagedKafkaParameters_serverRootCaCertificate' - The ARN of the Secrets Manager secret used for certification.+--+-- 'vpc', 'updatePipeSourceSelfManagedKafkaParameters_vpc' - This structure specifies the VPC subnets and security groups for the+-- stream, and whether a public IP address is to be used.+newUpdatePipeSourceSelfManagedKafkaParameters ::+  UpdatePipeSourceSelfManagedKafkaParameters+newUpdatePipeSourceSelfManagedKafkaParameters =+  UpdatePipeSourceSelfManagedKafkaParameters'+    { batchSize =+        Prelude.Nothing,+      credentials = Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing,+      serverRootCaCertificate =+        Prelude.Nothing,+      vpc = Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+updatePipeSourceSelfManagedKafkaParameters_batchSize :: Lens.Lens' UpdatePipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceSelfManagedKafkaParameters_batchSize = Lens.lens (\UpdatePipeSourceSelfManagedKafkaParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceSelfManagedKafkaParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceSelfManagedKafkaParameters)++-- | The credentials needed to access the resource.+updatePipeSourceSelfManagedKafkaParameters_credentials :: Lens.Lens' UpdatePipeSourceSelfManagedKafkaParameters (Prelude.Maybe SelfManagedKafkaAccessConfigurationCredentials)+updatePipeSourceSelfManagedKafkaParameters_credentials = Lens.lens (\UpdatePipeSourceSelfManagedKafkaParameters' {credentials} -> credentials) (\s@UpdatePipeSourceSelfManagedKafkaParameters' {} a -> s {credentials = a} :: UpdatePipeSourceSelfManagedKafkaParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceSelfManagedKafkaParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceSelfManagedKafkaParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceSelfManagedKafkaParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceSelfManagedKafkaParameters)++-- | The ARN of the Secrets Manager secret used for certification.+updatePipeSourceSelfManagedKafkaParameters_serverRootCaCertificate :: Lens.Lens' UpdatePipeSourceSelfManagedKafkaParameters (Prelude.Maybe Prelude.Text)+updatePipeSourceSelfManagedKafkaParameters_serverRootCaCertificate = Lens.lens (\UpdatePipeSourceSelfManagedKafkaParameters' {serverRootCaCertificate} -> serverRootCaCertificate) (\s@UpdatePipeSourceSelfManagedKafkaParameters' {} a -> s {serverRootCaCertificate = a} :: UpdatePipeSourceSelfManagedKafkaParameters)++-- | This structure specifies the VPC subnets and security groups for the+-- stream, and whether a public IP address is to be used.+updatePipeSourceSelfManagedKafkaParameters_vpc :: Lens.Lens' UpdatePipeSourceSelfManagedKafkaParameters (Prelude.Maybe SelfManagedKafkaAccessConfigurationVpc)+updatePipeSourceSelfManagedKafkaParameters_vpc = Lens.lens (\UpdatePipeSourceSelfManagedKafkaParameters' {vpc} -> vpc) (\s@UpdatePipeSourceSelfManagedKafkaParameters' {} a -> s {vpc = a} :: UpdatePipeSourceSelfManagedKafkaParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceSelfManagedKafkaParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceSelfManagedKafkaParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` credentials+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds+        `Prelude.hashWithSalt` serverRootCaCertificate+        `Prelude.hashWithSalt` vpc++instance+  Prelude.NFData+    UpdatePipeSourceSelfManagedKafkaParameters+  where+  rnf UpdatePipeSourceSelfManagedKafkaParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds+      `Prelude.seq` Prelude.rnf serverRootCaCertificate+      `Prelude.seq` Prelude.rnf vpc++instance+  Data.ToJSON+    UpdatePipeSourceSelfManagedKafkaParameters+  where+  toJSON+    UpdatePipeSourceSelfManagedKafkaParameters' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("BatchSize" Data..=) Prelude.<$> batchSize,+              ("Credentials" Data..=) Prelude.<$> credentials,+              ("MaximumBatchingWindowInSeconds" Data..=)+                Prelude.<$> maximumBatchingWindowInSeconds,+              ("ServerRootCaCertificate" Data..=)+                Prelude.<$> serverRootCaCertificate,+              ("Vpc" Data..=) Prelude.<$> vpc+            ]+        )
+ gen/Amazonka/Pipes/Types/UpdatePipeSourceSqsQueueParameters.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Pipes.Types.UpdatePipeSourceSqsQueueParameters 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 parameters for using a Amazon SQS stream as a source.+--+-- /See:/ 'newUpdatePipeSourceSqsQueueParameters' smart constructor.+data UpdatePipeSourceSqsQueueParameters = UpdatePipeSourceSqsQueueParameters'+  { -- | The maximum number of records to include in each batch.+    batchSize :: Prelude.Maybe Prelude.Natural,+    -- | The maximum length of a time to wait for events.+    maximumBatchingWindowInSeconds :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipeSourceSqsQueueParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batchSize', 'updatePipeSourceSqsQueueParameters_batchSize' - The maximum number of records to include in each batch.+--+-- 'maximumBatchingWindowInSeconds', 'updatePipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds' - The maximum length of a time to wait for events.+newUpdatePipeSourceSqsQueueParameters ::+  UpdatePipeSourceSqsQueueParameters+newUpdatePipeSourceSqsQueueParameters =+  UpdatePipeSourceSqsQueueParameters'+    { batchSize =+        Prelude.Nothing,+      maximumBatchingWindowInSeconds =+        Prelude.Nothing+    }++-- | The maximum number of records to include in each batch.+updatePipeSourceSqsQueueParameters_batchSize :: Lens.Lens' UpdatePipeSourceSqsQueueParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceSqsQueueParameters_batchSize = Lens.lens (\UpdatePipeSourceSqsQueueParameters' {batchSize} -> batchSize) (\s@UpdatePipeSourceSqsQueueParameters' {} a -> s {batchSize = a} :: UpdatePipeSourceSqsQueueParameters)++-- | The maximum length of a time to wait for events.+updatePipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds :: Lens.Lens' UpdatePipeSourceSqsQueueParameters (Prelude.Maybe Prelude.Natural)+updatePipeSourceSqsQueueParameters_maximumBatchingWindowInSeconds = Lens.lens (\UpdatePipeSourceSqsQueueParameters' {maximumBatchingWindowInSeconds} -> maximumBatchingWindowInSeconds) (\s@UpdatePipeSourceSqsQueueParameters' {} a -> s {maximumBatchingWindowInSeconds = a} :: UpdatePipeSourceSqsQueueParameters)++instance+  Prelude.Hashable+    UpdatePipeSourceSqsQueueParameters+  where+  hashWithSalt+    _salt+    UpdatePipeSourceSqsQueueParameters' {..} =+      _salt+        `Prelude.hashWithSalt` batchSize+        `Prelude.hashWithSalt` maximumBatchingWindowInSeconds++instance+  Prelude.NFData+    UpdatePipeSourceSqsQueueParameters+  where+  rnf UpdatePipeSourceSqsQueueParameters' {..} =+    Prelude.rnf batchSize+      `Prelude.seq` Prelude.rnf maximumBatchingWindowInSeconds++instance+  Data.ToJSON+    UpdatePipeSourceSqsQueueParameters+  where+  toJSON UpdatePipeSourceSqsQueueParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BatchSize" Data..=) Prelude.<$> batchSize,+            ("MaximumBatchingWindowInSeconds" Data..=)+              Prelude.<$> maximumBatchingWindowInSeconds+          ]+      )
+ gen/Amazonka/Pipes/UntagResource.hs view
@@ -0,0 +1,161 @@+{-# 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.Pipes.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes one or more tags from the specified pipes.+module Amazonka.Pipes.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The ARN of the pipe.+    resourceArn :: Prelude.Text,+    -- | The list of tag keys to remove from the pipe.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The ARN of the pipe.+--+-- 'tagKeys', 'untagResource_tagKeys' - The list of tag keys to remove from the pipe.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The ARN of the pipe.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The list of tag keys to remove from the pipe.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/UpdatePipe.hs view
@@ -0,0 +1,351 @@+{-# 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.Pipes.UpdatePipe+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update an existing pipe. When you call @UpdatePipe@, only the fields+-- that are included in the request are changed, the rest are unchanged.+-- The exception to this is if you modify any Amazon Web Services-service+-- specific fields in the @SourceParameters@, @EnrichmentParameters@, or+-- @TargetParameters@ objects. The fields in these objects are updated+-- atomically as one and override existing values. This is by design and+-- means that if you don\'t specify an optional field in one of these+-- Parameters objects, that field will be set to its system-default value+-- after the update.+--+-- >  <p>For more information about pipes, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html"> Amazon EventBridge Pipes</a> in the Amazon EventBridge User Guide.</p>+module Amazonka.Pipes.UpdatePipe+  ( -- * Creating a Request+    UpdatePipe (..),+    newUpdatePipe,++    -- * Request Lenses+    updatePipe_description,+    updatePipe_desiredState,+    updatePipe_enrichment,+    updatePipe_enrichmentParameters,+    updatePipe_sourceParameters,+    updatePipe_target,+    updatePipe_targetParameters,+    updatePipe_name,+    updatePipe_roleArn,++    -- * Destructuring the Response+    UpdatePipeResponse (..),+    newUpdatePipeResponse,++    -- * Response Lenses+    updatePipeResponse_arn,+    updatePipeResponse_creationTime,+    updatePipeResponse_currentState,+    updatePipeResponse_desiredState,+    updatePipeResponse_lastModifiedTime,+    updatePipeResponse_name,+    updatePipeResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePipe' smart constructor.+data UpdatePipe = UpdatePipe'+  { -- | A description of the pipe.+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | The ARN of the enrichment resource.+    enrichment :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up enrichment on your pipe.+    enrichmentParameters :: Prelude.Maybe PipeEnrichmentParameters,+    -- | The parameters required to set up a source for your pipe.+    sourceParameters :: Prelude.Maybe UpdatePipeSourceParameters,+    -- | The ARN of the target resource.+    target :: Prelude.Maybe Prelude.Text,+    -- | The parameters required to set up a target for your pipe.+    targetParameters :: Prelude.Maybe PipeTargetParameters,+    -- | The name of the pipe.+    name :: Prelude.Text,+    -- | The ARN of the role that allows the pipe to send data to the target.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePipe' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updatePipe_description' - A description of the pipe.+--+-- 'desiredState', 'updatePipe_desiredState' - The state the pipe should be in.+--+-- 'enrichment', 'updatePipe_enrichment' - The ARN of the enrichment resource.+--+-- 'enrichmentParameters', 'updatePipe_enrichmentParameters' - The parameters required to set up enrichment on your pipe.+--+-- 'sourceParameters', 'updatePipe_sourceParameters' - The parameters required to set up a source for your pipe.+--+-- 'target', 'updatePipe_target' - The ARN of the target resource.+--+-- 'targetParameters', 'updatePipe_targetParameters' - The parameters required to set up a target for your pipe.+--+-- 'name', 'updatePipe_name' - The name of the pipe.+--+-- 'roleArn', 'updatePipe_roleArn' - The ARN of the role that allows the pipe to send data to the target.+newUpdatePipe ::+  -- | 'name'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  UpdatePipe+newUpdatePipe pName_ pRoleArn_ =+  UpdatePipe'+    { description = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      enrichment = Prelude.Nothing,+      enrichmentParameters = Prelude.Nothing,+      sourceParameters = Prelude.Nothing,+      target = Prelude.Nothing,+      targetParameters = Prelude.Nothing,+      name = pName_,+      roleArn = pRoleArn_+    }++-- | A description of the pipe.+updatePipe_description :: Lens.Lens' UpdatePipe (Prelude.Maybe Prelude.Text)+updatePipe_description = Lens.lens (\UpdatePipe' {description} -> description) (\s@UpdatePipe' {} a -> s {description = a} :: UpdatePipe) Prelude.. Lens.mapping Data._Sensitive++-- | The state the pipe should be in.+updatePipe_desiredState :: Lens.Lens' UpdatePipe (Prelude.Maybe RequestedPipeState)+updatePipe_desiredState = Lens.lens (\UpdatePipe' {desiredState} -> desiredState) (\s@UpdatePipe' {} a -> s {desiredState = a} :: UpdatePipe)++-- | The ARN of the enrichment resource.+updatePipe_enrichment :: Lens.Lens' UpdatePipe (Prelude.Maybe Prelude.Text)+updatePipe_enrichment = Lens.lens (\UpdatePipe' {enrichment} -> enrichment) (\s@UpdatePipe' {} a -> s {enrichment = a} :: UpdatePipe)++-- | The parameters required to set up enrichment on your pipe.+updatePipe_enrichmentParameters :: Lens.Lens' UpdatePipe (Prelude.Maybe PipeEnrichmentParameters)+updatePipe_enrichmentParameters = Lens.lens (\UpdatePipe' {enrichmentParameters} -> enrichmentParameters) (\s@UpdatePipe' {} a -> s {enrichmentParameters = a} :: UpdatePipe)++-- | The parameters required to set up a source for your pipe.+updatePipe_sourceParameters :: Lens.Lens' UpdatePipe (Prelude.Maybe UpdatePipeSourceParameters)+updatePipe_sourceParameters = Lens.lens (\UpdatePipe' {sourceParameters} -> sourceParameters) (\s@UpdatePipe' {} a -> s {sourceParameters = a} :: UpdatePipe)++-- | The ARN of the target resource.+updatePipe_target :: Lens.Lens' UpdatePipe (Prelude.Maybe Prelude.Text)+updatePipe_target = Lens.lens (\UpdatePipe' {target} -> target) (\s@UpdatePipe' {} a -> s {target = a} :: UpdatePipe)++-- | The parameters required to set up a target for your pipe.+updatePipe_targetParameters :: Lens.Lens' UpdatePipe (Prelude.Maybe PipeTargetParameters)+updatePipe_targetParameters = Lens.lens (\UpdatePipe' {targetParameters} -> targetParameters) (\s@UpdatePipe' {} a -> s {targetParameters = a} :: UpdatePipe)++-- | The name of the pipe.+updatePipe_name :: Lens.Lens' UpdatePipe Prelude.Text+updatePipe_name = Lens.lens (\UpdatePipe' {name} -> name) (\s@UpdatePipe' {} a -> s {name = a} :: UpdatePipe)++-- | The ARN of the role that allows the pipe to send data to the target.+updatePipe_roleArn :: Lens.Lens' UpdatePipe Prelude.Text+updatePipe_roleArn = Lens.lens (\UpdatePipe' {roleArn} -> roleArn) (\s@UpdatePipe' {} a -> s {roleArn = a} :: UpdatePipe)++instance Core.AWSRequest UpdatePipe where+  type AWSResponse UpdatePipe = UpdatePipeResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdatePipeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "CurrentState")+            Prelude.<*> (x Data..?> "DesiredState")+            Prelude.<*> (x Data..?> "LastModifiedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdatePipe where+  hashWithSalt _salt UpdatePipe' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` desiredState+      `Prelude.hashWithSalt` enrichment+      `Prelude.hashWithSalt` enrichmentParameters+      `Prelude.hashWithSalt` sourceParameters+      `Prelude.hashWithSalt` target+      `Prelude.hashWithSalt` targetParameters+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData UpdatePipe where+  rnf UpdatePipe' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf enrichment+      `Prelude.seq` Prelude.rnf enrichmentParameters+      `Prelude.seq` Prelude.rnf sourceParameters+      `Prelude.seq` Prelude.rnf target+      `Prelude.seq` Prelude.rnf targetParameters+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders UpdatePipe where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdatePipe where+  toJSON UpdatePipe' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("DesiredState" Data..=) Prelude.<$> desiredState,+            ("Enrichment" Data..=) Prelude.<$> enrichment,+            ("EnrichmentParameters" Data..=)+              Prelude.<$> enrichmentParameters,+            ("SourceParameters" Data..=)+              Prelude.<$> sourceParameters,+            ("Target" Data..=) Prelude.<$> target,+            ("TargetParameters" Data..=)+              Prelude.<$> targetParameters,+            Prelude.Just ("RoleArn" Data..= roleArn)+          ]+      )++instance Data.ToPath UpdatePipe where+  toPath UpdatePipe' {..} =+    Prelude.mconcat ["/v1/pipes/", Data.toBS name]++instance Data.ToQuery UpdatePipe where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePipeResponse' smart constructor.+data UpdatePipeResponse = UpdatePipeResponse'+  { -- | The ARN of the pipe.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the pipe was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The state the pipe is in.+    currentState :: Prelude.Maybe PipeState,+    -- | The state the pipe should be in.+    desiredState :: Prelude.Maybe RequestedPipeState,+    -- | When the pipe was last updated, in+    -- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+    -- (YYYY-MM-DDThh:mm:ss.sTZD).+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the pipe.+    name :: 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 'UpdatePipeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updatePipeResponse_arn' - The ARN of the pipe.+--+-- 'creationTime', 'updatePipeResponse_creationTime' - The time the pipe was created.+--+-- 'currentState', 'updatePipeResponse_currentState' - The state the pipe is in.+--+-- 'desiredState', 'updatePipeResponse_desiredState' - The state the pipe should be in.+--+-- 'lastModifiedTime', 'updatePipeResponse_lastModifiedTime' - When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+--+-- 'name', 'updatePipeResponse_name' - The name of the pipe.+--+-- 'httpStatus', 'updatePipeResponse_httpStatus' - The response's http status code.+newUpdatePipeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdatePipeResponse+newUpdatePipeResponse pHttpStatus_ =+  UpdatePipeResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      currentState = Prelude.Nothing,+      desiredState = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the pipe.+updatePipeResponse_arn :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe Prelude.Text)+updatePipeResponse_arn = Lens.lens (\UpdatePipeResponse' {arn} -> arn) (\s@UpdatePipeResponse' {} a -> s {arn = a} :: UpdatePipeResponse)++-- | The time the pipe was created.+updatePipeResponse_creationTime :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe Prelude.UTCTime)+updatePipeResponse_creationTime = Lens.lens (\UpdatePipeResponse' {creationTime} -> creationTime) (\s@UpdatePipeResponse' {} a -> s {creationTime = a} :: UpdatePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The state the pipe is in.+updatePipeResponse_currentState :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe PipeState)+updatePipeResponse_currentState = Lens.lens (\UpdatePipeResponse' {currentState} -> currentState) (\s@UpdatePipeResponse' {} a -> s {currentState = a} :: UpdatePipeResponse)++-- | The state the pipe should be in.+updatePipeResponse_desiredState :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe RequestedPipeState)+updatePipeResponse_desiredState = Lens.lens (\UpdatePipeResponse' {desiredState} -> desiredState) (\s@UpdatePipeResponse' {} a -> s {desiredState = a} :: UpdatePipeResponse)++-- | When the pipe was last updated, in+-- <https://www.w3.org/TR/NOTE-datetime ISO-8601 format>+-- (YYYY-MM-DDThh:mm:ss.sTZD).+updatePipeResponse_lastModifiedTime :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe Prelude.UTCTime)+updatePipeResponse_lastModifiedTime = Lens.lens (\UpdatePipeResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdatePipeResponse' {} a -> s {lastModifiedTime = a} :: UpdatePipeResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the pipe.+updatePipeResponse_name :: Lens.Lens' UpdatePipeResponse (Prelude.Maybe Prelude.Text)+updatePipeResponse_name = Lens.lens (\UpdatePipeResponse' {name} -> name) (\s@UpdatePipeResponse' {} a -> s {name = a} :: UpdatePipeResponse)++-- | The response's http status code.+updatePipeResponse_httpStatus :: Lens.Lens' UpdatePipeResponse Prelude.Int+updatePipeResponse_httpStatus = Lens.lens (\UpdatePipeResponse' {httpStatus} -> httpStatus) (\s@UpdatePipeResponse' {} a -> s {httpStatus = a} :: UpdatePipeResponse)++instance Prelude.NFData UpdatePipeResponse where+  rnf UpdatePipeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf currentState+      `Prelude.seq` Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pipes/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.Pipes.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.Pipes.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pipes.Lens+import Amazonka.Pipes.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.Pipes+import Test.Amazonka.Pipes.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Pipes"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Pipes.hs view
@@ -0,0 +1,238 @@+{-# 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.Pipes+-- Copyright   : (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.Pipes where++import Amazonka.Pipes+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Pipes.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"+--         [ requestCreatePipe $+--             newCreatePipe+--+--         , requestDeletePipe $+--             newDeletePipe+--+--         , requestDescribePipe $+--             newDescribePipe+--+--         , requestListPipes $+--             newListPipes+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartPipe $+--             newStartPipe+--+--         , requestStopPipe $+--             newStopPipe+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdatePipe $+--             newUpdatePipe+--+--           ]++--     , testGroup "response"+--         [ responseCreatePipe $+--             newCreatePipeResponse+--+--         , responseDeletePipe $+--             newDeletePipeResponse+--+--         , responseDescribePipe $+--             newDescribePipeResponse+--+--         , responseListPipes $+--             newListPipesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartPipe $+--             newStartPipeResponse+--+--         , responseStopPipe $+--             newStopPipeResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdatePipe $+--             newUpdatePipeResponse+--+--           ]+--     ]++-- Requests++requestCreatePipe :: CreatePipe -> TestTree+requestCreatePipe =+  req+    "CreatePipe"+    "fixture/CreatePipe.yaml"++requestDeletePipe :: DeletePipe -> TestTree+requestDeletePipe =+  req+    "DeletePipe"+    "fixture/DeletePipe.yaml"++requestDescribePipe :: DescribePipe -> TestTree+requestDescribePipe =+  req+    "DescribePipe"+    "fixture/DescribePipe.yaml"++requestListPipes :: ListPipes -> TestTree+requestListPipes =+  req+    "ListPipes"+    "fixture/ListPipes.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartPipe :: StartPipe -> TestTree+requestStartPipe =+  req+    "StartPipe"+    "fixture/StartPipe.yaml"++requestStopPipe :: StopPipe -> TestTree+requestStopPipe =+  req+    "StopPipe"+    "fixture/StopPipe.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdatePipe :: UpdatePipe -> TestTree+requestUpdatePipe =+  req+    "UpdatePipe"+    "fixture/UpdatePipe.yaml"++-- Responses++responseCreatePipe :: CreatePipeResponse -> TestTree+responseCreatePipe =+  res+    "CreatePipeResponse"+    "fixture/CreatePipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePipe)++responseDeletePipe :: DeletePipeResponse -> TestTree+responseDeletePipe =+  res+    "DeletePipeResponse"+    "fixture/DeletePipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePipe)++responseDescribePipe :: DescribePipeResponse -> TestTree+responseDescribePipe =+  res+    "DescribePipeResponse"+    "fixture/DescribePipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePipe)++responseListPipes :: ListPipesResponse -> TestTree+responseListPipes =+  res+    "ListPipesResponse"+    "fixture/ListPipesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPipes)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartPipe :: StartPipeResponse -> TestTree+responseStartPipe =+  res+    "StartPipeResponse"+    "fixture/StartPipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartPipe)++responseStopPipe :: StopPipeResponse -> TestTree+responseStopPipe =+  res+    "StopPipeResponse"+    "fixture/StopPipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopPipe)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdatePipe :: UpdatePipeResponse -> TestTree+responseUpdatePipe =+  res+    "UpdatePipeResponse"+    "fixture/UpdatePipeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePipe)
+ test/Test/Amazonka/Pipes.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Pipes+-- Copyright   : (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.Pipes+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Pipes/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Pipes.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.Pipes.Internal where