packages feed

amazonka-appintegrations (empty) → 2.0

raw patch · 63 files changed

+5488/−0 lines, 63 filesdep +amazonka-appintegrationsdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-appintegrations, amazonka-core, 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 AppIntegrations Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-07-29@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-appintegrations)+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.AppIntegrationS](http://hackage.haskell.org/package/amazonka-appintegrations/docs/Amazonka-AppIntegrationS.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-appintegrations` 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-appintegrations.cabal view
@@ -0,0 +1,104 @@+cabal-version:      2.2+name:               amazonka-appintegrations+version:            2.0+synopsis:           Amazon AppIntegrations Service 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 @2020-07-29@ 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.AppIntegrationS.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.AppIntegrationS" 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-appintegrations++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.AppIntegrationS+    Amazonka.AppIntegrationS.CreateDataIntegration+    Amazonka.AppIntegrationS.CreateEventIntegration+    Amazonka.AppIntegrationS.DeleteDataIntegration+    Amazonka.AppIntegrationS.DeleteEventIntegration+    Amazonka.AppIntegrationS.GetDataIntegration+    Amazonka.AppIntegrationS.GetEventIntegration+    Amazonka.AppIntegrationS.Lens+    Amazonka.AppIntegrationS.ListDataIntegrationAssociations+    Amazonka.AppIntegrationS.ListDataIntegrations+    Amazonka.AppIntegrationS.ListEventIntegrationAssociations+    Amazonka.AppIntegrationS.ListEventIntegrations+    Amazonka.AppIntegrationS.ListTagsForResource+    Amazonka.AppIntegrationS.TagResource+    Amazonka.AppIntegrationS.Types+    Amazonka.AppIntegrationS.Types.DataIntegrationAssociationSummary+    Amazonka.AppIntegrationS.Types.DataIntegrationSummary+    Amazonka.AppIntegrationS.Types.EventFilter+    Amazonka.AppIntegrationS.Types.EventIntegration+    Amazonka.AppIntegrationS.Types.EventIntegrationAssociation+    Amazonka.AppIntegrationS.Types.ScheduleConfiguration+    Amazonka.AppIntegrationS.UntagResource+    Amazonka.AppIntegrationS.UpdateDataIntegration+    Amazonka.AppIntegrationS.UpdateEventIntegration+    Amazonka.AppIntegrationS.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-appintegrations-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.AppIntegrationS+    Test.Amazonka.AppIntegrationS.Internal+    Test.Amazonka.Gen.AppIntegrationS++  build-depends:+    , amazonka-appintegrations+    , amazonka-core             >=2.0 && <2.1+    , amazonka-test             >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateDataIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/CreateDataIntegrationResponse.proto view
+ fixture/CreateEventIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/CreateEventIntegrationResponse.proto view
+ fixture/DeleteDataIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/DeleteDataIntegrationResponse.proto view
+ fixture/DeleteEventIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/DeleteEventIntegrationResponse.proto view
+ fixture/GetDataIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/GetDataIntegrationResponse.proto view
+ fixture/GetEventIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/GetEventIntegrationResponse.proto view
+ fixture/ListDataIntegrationAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/ListDataIntegrationAssociationsResponse.proto view
+ fixture/ListDataIntegrations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/ListDataIntegrationsResponse.proto view
+ fixture/ListEventIntegrationAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/ListEventIntegrationAssociationsResponse.proto view
+ fixture/ListEventIntegrations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/ListEventIntegrationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/UpdateDataIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/UpdateDataIntegrationResponse.proto view
+ fixture/UpdateEventIntegration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/app-integrations/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  app-integrations.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/UpdateEventIntegrationResponse.proto view
+ gen/Amazonka/AppIntegrationS.hs view
@@ -0,0 +1,219 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.AppIntegrationS+-- 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 @2020-07-29@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Amazon AppIntegrations service enables you to configure and reuse+-- connections to external applications.+--+-- For information about how you can use external applications with Amazon+-- Connect, see+-- <https://docs.aws.amazon.com/connect/latest/adminguide/crm.html Set up pre-built integrations>+-- and+-- <https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-wisdom.html Deliver information to agents using Amazon Connect Wisdom>+-- in the /Amazon Connect Administrator Guide/.+module Amazonka.AppIntegrationS+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** DuplicateResourceException+    _DuplicateResourceException,++    -- ** InternalServiceError+    _InternalServiceError,++    -- ** InvalidRequestException+    _InvalidRequestException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ResourceQuotaExceededException+    _ResourceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateDataIntegration+    CreateDataIntegration (CreateDataIntegration'),+    newCreateDataIntegration,+    CreateDataIntegrationResponse (CreateDataIntegrationResponse'),+    newCreateDataIntegrationResponse,++    -- ** CreateEventIntegration+    CreateEventIntegration (CreateEventIntegration'),+    newCreateEventIntegration,+    CreateEventIntegrationResponse (CreateEventIntegrationResponse'),+    newCreateEventIntegrationResponse,++    -- ** DeleteDataIntegration+    DeleteDataIntegration (DeleteDataIntegration'),+    newDeleteDataIntegration,+    DeleteDataIntegrationResponse (DeleteDataIntegrationResponse'),+    newDeleteDataIntegrationResponse,++    -- ** DeleteEventIntegration+    DeleteEventIntegration (DeleteEventIntegration'),+    newDeleteEventIntegration,+    DeleteEventIntegrationResponse (DeleteEventIntegrationResponse'),+    newDeleteEventIntegrationResponse,++    -- ** GetDataIntegration+    GetDataIntegration (GetDataIntegration'),+    newGetDataIntegration,+    GetDataIntegrationResponse (GetDataIntegrationResponse'),+    newGetDataIntegrationResponse,++    -- ** GetEventIntegration+    GetEventIntegration (GetEventIntegration'),+    newGetEventIntegration,+    GetEventIntegrationResponse (GetEventIntegrationResponse'),+    newGetEventIntegrationResponse,++    -- ** ListDataIntegrationAssociations+    ListDataIntegrationAssociations (ListDataIntegrationAssociations'),+    newListDataIntegrationAssociations,+    ListDataIntegrationAssociationsResponse (ListDataIntegrationAssociationsResponse'),+    newListDataIntegrationAssociationsResponse,++    -- ** ListDataIntegrations+    ListDataIntegrations (ListDataIntegrations'),+    newListDataIntegrations,+    ListDataIntegrationsResponse (ListDataIntegrationsResponse'),+    newListDataIntegrationsResponse,++    -- ** ListEventIntegrationAssociations+    ListEventIntegrationAssociations (ListEventIntegrationAssociations'),+    newListEventIntegrationAssociations,+    ListEventIntegrationAssociationsResponse (ListEventIntegrationAssociationsResponse'),+    newListEventIntegrationAssociationsResponse,++    -- ** ListEventIntegrations+    ListEventIntegrations (ListEventIntegrations'),+    newListEventIntegrations,+    ListEventIntegrationsResponse (ListEventIntegrationsResponse'),+    newListEventIntegrationsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateDataIntegration+    UpdateDataIntegration (UpdateDataIntegration'),+    newUpdateDataIntegration,+    UpdateDataIntegrationResponse (UpdateDataIntegrationResponse'),+    newUpdateDataIntegrationResponse,++    -- ** UpdateEventIntegration+    UpdateEventIntegration (UpdateEventIntegration'),+    newUpdateEventIntegration,+    UpdateEventIntegrationResponse (UpdateEventIntegrationResponse'),+    newUpdateEventIntegrationResponse,++    -- * Types++    -- ** DataIntegrationAssociationSummary+    DataIntegrationAssociationSummary (DataIntegrationAssociationSummary'),+    newDataIntegrationAssociationSummary,++    -- ** DataIntegrationSummary+    DataIntegrationSummary (DataIntegrationSummary'),+    newDataIntegrationSummary,++    -- ** EventFilter+    EventFilter (EventFilter'),+    newEventFilter,++    -- ** EventIntegration+    EventIntegration (EventIntegration'),+    newEventIntegration,++    -- ** EventIntegrationAssociation+    EventIntegrationAssociation (EventIntegrationAssociation'),+    newEventIntegrationAssociation,++    -- ** ScheduleConfiguration+    ScheduleConfiguration (ScheduleConfiguration'),+    newScheduleConfiguration,+  )+where++import Amazonka.AppIntegrationS.CreateDataIntegration+import Amazonka.AppIntegrationS.CreateEventIntegration+import Amazonka.AppIntegrationS.DeleteDataIntegration+import Amazonka.AppIntegrationS.DeleteEventIntegration+import Amazonka.AppIntegrationS.GetDataIntegration+import Amazonka.AppIntegrationS.GetEventIntegration+import Amazonka.AppIntegrationS.Lens+import Amazonka.AppIntegrationS.ListDataIntegrationAssociations+import Amazonka.AppIntegrationS.ListDataIntegrations+import Amazonka.AppIntegrationS.ListEventIntegrationAssociations+import Amazonka.AppIntegrationS.ListEventIntegrations+import Amazonka.AppIntegrationS.ListTagsForResource+import Amazonka.AppIntegrationS.TagResource+import Amazonka.AppIntegrationS.Types+import Amazonka.AppIntegrationS.UntagResource+import Amazonka.AppIntegrationS.UpdateDataIntegration+import Amazonka.AppIntegrationS.UpdateEventIntegration+import Amazonka.AppIntegrationS.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 'AppIntegrationS'.++-- $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/AppIntegrationS/CreateDataIntegration.hs view
@@ -0,0 +1,355 @@+{-# 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.AppIntegrationS.CreateDataIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates and persists a DataIntegration resource.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the @CreateDataIntegration@ API.+module Amazonka.AppIntegrationS.CreateDataIntegration+  ( -- * Creating a Request+    CreateDataIntegration (..),+    newCreateDataIntegration,++    -- * Request Lenses+    createDataIntegration_clientToken,+    createDataIntegration_description,+    createDataIntegration_kmsKey,+    createDataIntegration_scheduleConfig,+    createDataIntegration_sourceURI,+    createDataIntegration_tags,+    createDataIntegration_name,++    -- * Destructuring the Response+    CreateDataIntegrationResponse (..),+    newCreateDataIntegrationResponse,++    -- * Response Lenses+    createDataIntegrationResponse_arn,+    createDataIntegrationResponse_clientToken,+    createDataIntegrationResponse_description,+    createDataIntegrationResponse_id,+    createDataIntegrationResponse_kmsKey,+    createDataIntegrationResponse_name,+    createDataIntegrationResponse_scheduleConfiguration,+    createDataIntegrationResponse_sourceURI,+    createDataIntegrationResponse_tags,+    createDataIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataIntegration' smart constructor.+data CreateDataIntegration = CreateDataIntegration'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A description of the DataIntegration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The KMS key for the DataIntegration.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the data and how often it should be pulled from the source.+    scheduleConfig :: Prelude.Maybe ScheduleConfiguration,+    -- | The URI of the data source.+    sourceURI :: Prelude.Maybe Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the DataIntegration.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createDataIntegration_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createDataIntegration_description' - A description of the DataIntegration.+--+-- 'kmsKey', 'createDataIntegration_kmsKey' - The KMS key for the DataIntegration.+--+-- 'scheduleConfig', 'createDataIntegration_scheduleConfig' - The name of the data and how often it should be pulled from the source.+--+-- 'sourceURI', 'createDataIntegration_sourceURI' - The URI of the data source.+--+-- 'tags', 'createDataIntegration_tags' - One or more tags.+--+-- 'name', 'createDataIntegration_name' - The name of the DataIntegration.+newCreateDataIntegration ::+  -- | 'name'+  Prelude.Text ->+  CreateDataIntegration+newCreateDataIntegration pName_ =+  CreateDataIntegration'+    { clientToken =+        Prelude.Nothing,+      description = Prelude.Nothing,+      kmsKey = Prelude.Nothing,+      scheduleConfig = Prelude.Nothing,+      sourceURI = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createDataIntegration_clientToken :: Lens.Lens' CreateDataIntegration (Prelude.Maybe Prelude.Text)+createDataIntegration_clientToken = Lens.lens (\CreateDataIntegration' {clientToken} -> clientToken) (\s@CreateDataIntegration' {} a -> s {clientToken = a} :: CreateDataIntegration)++-- | A description of the DataIntegration.+createDataIntegration_description :: Lens.Lens' CreateDataIntegration (Prelude.Maybe Prelude.Text)+createDataIntegration_description = Lens.lens (\CreateDataIntegration' {description} -> description) (\s@CreateDataIntegration' {} a -> s {description = a} :: CreateDataIntegration)++-- | The KMS key for the DataIntegration.+createDataIntegration_kmsKey :: Lens.Lens' CreateDataIntegration (Prelude.Maybe Prelude.Text)+createDataIntegration_kmsKey = Lens.lens (\CreateDataIntegration' {kmsKey} -> kmsKey) (\s@CreateDataIntegration' {} a -> s {kmsKey = a} :: CreateDataIntegration)++-- | The name of the data and how often it should be pulled from the source.+createDataIntegration_scheduleConfig :: Lens.Lens' CreateDataIntegration (Prelude.Maybe ScheduleConfiguration)+createDataIntegration_scheduleConfig = Lens.lens (\CreateDataIntegration' {scheduleConfig} -> scheduleConfig) (\s@CreateDataIntegration' {} a -> s {scheduleConfig = a} :: CreateDataIntegration)++-- | The URI of the data source.+createDataIntegration_sourceURI :: Lens.Lens' CreateDataIntegration (Prelude.Maybe Prelude.Text)+createDataIntegration_sourceURI = Lens.lens (\CreateDataIntegration' {sourceURI} -> sourceURI) (\s@CreateDataIntegration' {} a -> s {sourceURI = a} :: CreateDataIntegration)++-- | One or more tags.+createDataIntegration_tags :: Lens.Lens' CreateDataIntegration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createDataIntegration_tags = Lens.lens (\CreateDataIntegration' {tags} -> tags) (\s@CreateDataIntegration' {} a -> s {tags = a} :: CreateDataIntegration) Prelude.. Lens.mapping Lens.coerced++-- | The name of the DataIntegration.+createDataIntegration_name :: Lens.Lens' CreateDataIntegration Prelude.Text+createDataIntegration_name = Lens.lens (\CreateDataIntegration' {name} -> name) (\s@CreateDataIntegration' {} a -> s {name = a} :: CreateDataIntegration)++instance Core.AWSRequest CreateDataIntegration where+  type+    AWSResponse CreateDataIntegration =+      CreateDataIntegrationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDataIntegrationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "ClientToken")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "KmsKey")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "ScheduleConfiguration")+            Prelude.<*> (x Data..?> "SourceURI")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDataIntegration where+  hashWithSalt _salt CreateDataIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` scheduleConfig+      `Prelude.hashWithSalt` sourceURI+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateDataIntegration where+  rnf CreateDataIntegration' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf scheduleConfig+      `Prelude.seq` Prelude.rnf sourceURI+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateDataIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDataIntegration where+  toJSON CreateDataIntegration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("KmsKey" Data..=) Prelude.<$> kmsKey,+            ("ScheduleConfig" Data..=)+              Prelude.<$> scheduleConfig,+            ("SourceURI" Data..=) Prelude.<$> sourceURI,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateDataIntegration where+  toPath = Prelude.const "/dataIntegrations"++instance Data.ToQuery CreateDataIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDataIntegrationResponse' smart constructor.+data CreateDataIntegrationResponse = CreateDataIntegrationResponse'+  { -- | The Amazon Resource Name (ARN)+    arn :: Prelude.Maybe Prelude.Text,+    -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A description of the DataIntegration.+    description :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier.+    id :: Prelude.Maybe Prelude.Text,+    -- | The KMS key for the DataIntegration.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the DataIntegration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name of the data and how often it should be pulled from the source.+    scheduleConfiguration :: Prelude.Maybe ScheduleConfiguration,+    -- | The URI of the data source.+    sourceURI :: Prelude.Maybe Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDataIntegrationResponse_arn' - The Amazon Resource Name (ARN)+--+-- 'clientToken', 'createDataIntegrationResponse_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createDataIntegrationResponse_description' - A description of the DataIntegration.+--+-- 'id', 'createDataIntegrationResponse_id' - A unique identifier.+--+-- 'kmsKey', 'createDataIntegrationResponse_kmsKey' - The KMS key for the DataIntegration.+--+-- 'name', 'createDataIntegrationResponse_name' - The name of the DataIntegration.+--+-- 'scheduleConfiguration', 'createDataIntegrationResponse_scheduleConfiguration' - The name of the data and how often it should be pulled from the source.+--+-- 'sourceURI', 'createDataIntegrationResponse_sourceURI' - The URI of the data source.+--+-- 'tags', 'createDataIntegrationResponse_tags' - One or more tags.+--+-- 'httpStatus', 'createDataIntegrationResponse_httpStatus' - The response's http status code.+newCreateDataIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDataIntegrationResponse+newCreateDataIntegrationResponse pHttpStatus_ =+  CreateDataIntegrationResponse'+    { arn =+        Prelude.Nothing,+      clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      kmsKey = Prelude.Nothing,+      name = Prelude.Nothing,+      scheduleConfiguration = Prelude.Nothing,+      sourceURI = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN)+createDataIntegrationResponse_arn :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_arn = Lens.lens (\CreateDataIntegrationResponse' {arn} -> arn) (\s@CreateDataIntegrationResponse' {} a -> s {arn = a} :: CreateDataIntegrationResponse)++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createDataIntegrationResponse_clientToken :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_clientToken = Lens.lens (\CreateDataIntegrationResponse' {clientToken} -> clientToken) (\s@CreateDataIntegrationResponse' {} a -> s {clientToken = a} :: CreateDataIntegrationResponse)++-- | A description of the DataIntegration.+createDataIntegrationResponse_description :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_description = Lens.lens (\CreateDataIntegrationResponse' {description} -> description) (\s@CreateDataIntegrationResponse' {} a -> s {description = a} :: CreateDataIntegrationResponse)++-- | A unique identifier.+createDataIntegrationResponse_id :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_id = Lens.lens (\CreateDataIntegrationResponse' {id} -> id) (\s@CreateDataIntegrationResponse' {} a -> s {id = a} :: CreateDataIntegrationResponse)++-- | The KMS key for the DataIntegration.+createDataIntegrationResponse_kmsKey :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_kmsKey = Lens.lens (\CreateDataIntegrationResponse' {kmsKey} -> kmsKey) (\s@CreateDataIntegrationResponse' {} a -> s {kmsKey = a} :: CreateDataIntegrationResponse)++-- | The name of the DataIntegration.+createDataIntegrationResponse_name :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_name = Lens.lens (\CreateDataIntegrationResponse' {name} -> name) (\s@CreateDataIntegrationResponse' {} a -> s {name = a} :: CreateDataIntegrationResponse)++-- | The name of the data and how often it should be pulled from the source.+createDataIntegrationResponse_scheduleConfiguration :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe ScheduleConfiguration)+createDataIntegrationResponse_scheduleConfiguration = Lens.lens (\CreateDataIntegrationResponse' {scheduleConfiguration} -> scheduleConfiguration) (\s@CreateDataIntegrationResponse' {} a -> s {scheduleConfiguration = a} :: CreateDataIntegrationResponse)++-- | The URI of the data source.+createDataIntegrationResponse_sourceURI :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe Prelude.Text)+createDataIntegrationResponse_sourceURI = Lens.lens (\CreateDataIntegrationResponse' {sourceURI} -> sourceURI) (\s@CreateDataIntegrationResponse' {} a -> s {sourceURI = a} :: CreateDataIntegrationResponse)++-- | One or more tags.+createDataIntegrationResponse_tags :: Lens.Lens' CreateDataIntegrationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createDataIntegrationResponse_tags = Lens.lens (\CreateDataIntegrationResponse' {tags} -> tags) (\s@CreateDataIntegrationResponse' {} a -> s {tags = a} :: CreateDataIntegrationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createDataIntegrationResponse_httpStatus :: Lens.Lens' CreateDataIntegrationResponse Prelude.Int+createDataIntegrationResponse_httpStatus = Lens.lens (\CreateDataIntegrationResponse' {httpStatus} -> httpStatus) (\s@CreateDataIntegrationResponse' {} a -> s {httpStatus = a} :: CreateDataIntegrationResponse)++instance Prelude.NFData CreateDataIntegrationResponse where+  rnf CreateDataIntegrationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf scheduleConfiguration+      `Prelude.seq` Prelude.rnf sourceURI+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/CreateEventIntegration.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.CreateEventIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an EventIntegration, given a specified name, description, and a+-- reference to an Amazon EventBridge bus in your account and a partner+-- event source that pushes events to that bus. No objects are created in+-- the your account, only metadata that is persisted on the+-- EventIntegration control plane.+module Amazonka.AppIntegrationS.CreateEventIntegration+  ( -- * Creating a Request+    CreateEventIntegration (..),+    newCreateEventIntegration,++    -- * Request Lenses+    createEventIntegration_clientToken,+    createEventIntegration_description,+    createEventIntegration_tags,+    createEventIntegration_name,+    createEventIntegration_eventFilter,+    createEventIntegration_eventBridgeBus,++    -- * Destructuring the Response+    CreateEventIntegrationResponse (..),+    newCreateEventIntegrationResponse,++    -- * Response Lenses+    createEventIntegrationResponse_eventIntegrationArn,+    createEventIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateEventIntegration' smart constructor.+data CreateEventIntegration = CreateEventIntegration'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the event integration.+    description :: Prelude.Maybe Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the event integration.+    name :: Prelude.Text,+    -- | The event filter.+    eventFilter :: EventFilter,+    -- | The EventBridge bus.+    eventBridgeBus :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEventIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createEventIntegration_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createEventIntegration_description' - The description of the event integration.+--+-- 'tags', 'createEventIntegration_tags' - One or more tags.+--+-- 'name', 'createEventIntegration_name' - The name of the event integration.+--+-- 'eventFilter', 'createEventIntegration_eventFilter' - The event filter.+--+-- 'eventBridgeBus', 'createEventIntegration_eventBridgeBus' - The EventBridge bus.+newCreateEventIntegration ::+  -- | 'name'+  Prelude.Text ->+  -- | 'eventFilter'+  EventFilter ->+  -- | 'eventBridgeBus'+  Prelude.Text ->+  CreateEventIntegration+newCreateEventIntegration+  pName_+  pEventFilter_+  pEventBridgeBus_ =+    CreateEventIntegration'+      { clientToken =+          Prelude.Nothing,+        description = Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        eventFilter = pEventFilter_,+        eventBridgeBus = pEventBridgeBus_+      }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createEventIntegration_clientToken :: Lens.Lens' CreateEventIntegration (Prelude.Maybe Prelude.Text)+createEventIntegration_clientToken = Lens.lens (\CreateEventIntegration' {clientToken} -> clientToken) (\s@CreateEventIntegration' {} a -> s {clientToken = a} :: CreateEventIntegration)++-- | The description of the event integration.+createEventIntegration_description :: Lens.Lens' CreateEventIntegration (Prelude.Maybe Prelude.Text)+createEventIntegration_description = Lens.lens (\CreateEventIntegration' {description} -> description) (\s@CreateEventIntegration' {} a -> s {description = a} :: CreateEventIntegration)++-- | One or more tags.+createEventIntegration_tags :: Lens.Lens' CreateEventIntegration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEventIntegration_tags = Lens.lens (\CreateEventIntegration' {tags} -> tags) (\s@CreateEventIntegration' {} a -> s {tags = a} :: CreateEventIntegration) Prelude.. Lens.mapping Lens.coerced++-- | The name of the event integration.+createEventIntegration_name :: Lens.Lens' CreateEventIntegration Prelude.Text+createEventIntegration_name = Lens.lens (\CreateEventIntegration' {name} -> name) (\s@CreateEventIntegration' {} a -> s {name = a} :: CreateEventIntegration)++-- | The event filter.+createEventIntegration_eventFilter :: Lens.Lens' CreateEventIntegration EventFilter+createEventIntegration_eventFilter = Lens.lens (\CreateEventIntegration' {eventFilter} -> eventFilter) (\s@CreateEventIntegration' {} a -> s {eventFilter = a} :: CreateEventIntegration)++-- | The EventBridge bus.+createEventIntegration_eventBridgeBus :: Lens.Lens' CreateEventIntegration Prelude.Text+createEventIntegration_eventBridgeBus = Lens.lens (\CreateEventIntegration' {eventBridgeBus} -> eventBridgeBus) (\s@CreateEventIntegration' {} a -> s {eventBridgeBus = a} :: CreateEventIntegration)++instance Core.AWSRequest CreateEventIntegration where+  type+    AWSResponse CreateEventIntegration =+      CreateEventIntegrationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateEventIntegrationResponse'+            Prelude.<$> (x Data..?> "EventIntegrationArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateEventIntegration where+  hashWithSalt _salt CreateEventIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` eventFilter+      `Prelude.hashWithSalt` eventBridgeBus++instance Prelude.NFData CreateEventIntegration where+  rnf CreateEventIntegration' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf eventFilter+      `Prelude.seq` Prelude.rnf eventBridgeBus++instance Data.ToHeaders CreateEventIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateEventIntegration where+  toJSON CreateEventIntegration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("EventFilter" Data..= eventFilter),+            Prelude.Just+              ("EventBridgeBus" Data..= eventBridgeBus)+          ]+      )++instance Data.ToPath CreateEventIntegration where+  toPath = Prelude.const "/eventIntegrations"++instance Data.ToQuery CreateEventIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateEventIntegrationResponse' smart constructor.+data CreateEventIntegrationResponse = CreateEventIntegrationResponse'+  { -- | The Amazon Resource Name (ARN) of the event integration.+    eventIntegrationArn :: 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 'CreateEventIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventIntegrationArn', 'createEventIntegrationResponse_eventIntegrationArn' - The Amazon Resource Name (ARN) of the event integration.+--+-- 'httpStatus', 'createEventIntegrationResponse_httpStatus' - The response's http status code.+newCreateEventIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateEventIntegrationResponse+newCreateEventIntegrationResponse pHttpStatus_ =+  CreateEventIntegrationResponse'+    { eventIntegrationArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the event integration.+createEventIntegrationResponse_eventIntegrationArn :: Lens.Lens' CreateEventIntegrationResponse (Prelude.Maybe Prelude.Text)+createEventIntegrationResponse_eventIntegrationArn = Lens.lens (\CreateEventIntegrationResponse' {eventIntegrationArn} -> eventIntegrationArn) (\s@CreateEventIntegrationResponse' {} a -> s {eventIntegrationArn = a} :: CreateEventIntegrationResponse)++-- | The response's http status code.+createEventIntegrationResponse_httpStatus :: Lens.Lens' CreateEventIntegrationResponse Prelude.Int+createEventIntegrationResponse_httpStatus = Lens.lens (\CreateEventIntegrationResponse' {httpStatus} -> httpStatus) (\s@CreateEventIntegrationResponse' {} a -> s {httpStatus = a} :: CreateEventIntegrationResponse)++instance+  Prelude.NFData+    CreateEventIntegrationResponse+  where+  rnf CreateEventIntegrationResponse' {..} =+    Prelude.rnf eventIntegrationArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/DeleteDataIntegration.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.DeleteDataIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the DataIntegration. Only DataIntegrations that don\'t have any+-- DataIntegrationAssociations can be deleted. Deleting a DataIntegration+-- also deletes the underlying Amazon AppFlow flow and service linked role.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- API.+module Amazonka.AppIntegrationS.DeleteDataIntegration+  ( -- * Creating a Request+    DeleteDataIntegration (..),+    newDeleteDataIntegration,++    -- * Request Lenses+    deleteDataIntegration_dataIntegrationIdentifier,++    -- * Destructuring the Response+    DeleteDataIntegrationResponse (..),+    newDeleteDataIntegrationResponse,++    -- * Response Lenses+    deleteDataIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataIntegration' smart constructor.+data DeleteDataIntegration = DeleteDataIntegration'+  { -- | A unique identifier for the DataIntegration.+    dataIntegrationIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataIntegrationIdentifier', 'deleteDataIntegration_dataIntegrationIdentifier' - A unique identifier for the DataIntegration.+newDeleteDataIntegration ::+  -- | 'dataIntegrationIdentifier'+  Prelude.Text ->+  DeleteDataIntegration+newDeleteDataIntegration pDataIntegrationIdentifier_ =+  DeleteDataIntegration'+    { dataIntegrationIdentifier =+        pDataIntegrationIdentifier_+    }++-- | A unique identifier for the DataIntegration.+deleteDataIntegration_dataIntegrationIdentifier :: Lens.Lens' DeleteDataIntegration Prelude.Text+deleteDataIntegration_dataIntegrationIdentifier = Lens.lens (\DeleteDataIntegration' {dataIntegrationIdentifier} -> dataIntegrationIdentifier) (\s@DeleteDataIntegration' {} a -> s {dataIntegrationIdentifier = a} :: DeleteDataIntegration)++instance Core.AWSRequest DeleteDataIntegration where+  type+    AWSResponse DeleteDataIntegration =+      DeleteDataIntegrationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteDataIntegrationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDataIntegration where+  hashWithSalt _salt DeleteDataIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` dataIntegrationIdentifier++instance Prelude.NFData DeleteDataIntegration where+  rnf DeleteDataIntegration' {..} =+    Prelude.rnf dataIntegrationIdentifier++instance Data.ToHeaders DeleteDataIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDataIntegration where+  toPath DeleteDataIntegration' {..} =+    Prelude.mconcat+      [ "/dataIntegrations/",+        Data.toBS dataIntegrationIdentifier+      ]++instance Data.ToQuery DeleteDataIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDataIntegrationResponse' smart constructor.+data DeleteDataIntegrationResponse = DeleteDataIntegrationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDataIntegrationResponse_httpStatus' - The response's http status code.+newDeleteDataIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDataIntegrationResponse+newDeleteDataIntegrationResponse pHttpStatus_ =+  DeleteDataIntegrationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteDataIntegrationResponse_httpStatus :: Lens.Lens' DeleteDataIntegrationResponse Prelude.Int+deleteDataIntegrationResponse_httpStatus = Lens.lens (\DeleteDataIntegrationResponse' {httpStatus} -> httpStatus) (\s@DeleteDataIntegrationResponse' {} a -> s {httpStatus = a} :: DeleteDataIntegrationResponse)++instance Prelude.NFData DeleteDataIntegrationResponse where+  rnf DeleteDataIntegrationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/DeleteEventIntegration.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.DeleteEventIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified existing event integration. If the event+-- integration is associated with clients, the request is rejected.+module Amazonka.AppIntegrationS.DeleteEventIntegration+  ( -- * Creating a Request+    DeleteEventIntegration (..),+    newDeleteEventIntegration,++    -- * Request Lenses+    deleteEventIntegration_name,++    -- * Destructuring the Response+    DeleteEventIntegrationResponse (..),+    newDeleteEventIntegrationResponse,++    -- * Response Lenses+    deleteEventIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteEventIntegration' smart constructor.+data DeleteEventIntegration = DeleteEventIntegration'+  { -- | The name of the event integration.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEventIntegration_name' - The name of the event integration.+newDeleteEventIntegration ::+  -- | 'name'+  Prelude.Text ->+  DeleteEventIntegration+newDeleteEventIntegration pName_ =+  DeleteEventIntegration' {name = pName_}++-- | The name of the event integration.+deleteEventIntegration_name :: Lens.Lens' DeleteEventIntegration Prelude.Text+deleteEventIntegration_name = Lens.lens (\DeleteEventIntegration' {name} -> name) (\s@DeleteEventIntegration' {} a -> s {name = a} :: DeleteEventIntegration)++instance Core.AWSRequest DeleteEventIntegration where+  type+    AWSResponse DeleteEventIntegration =+      DeleteEventIntegrationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteEventIntegrationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteEventIntegration where+  hashWithSalt _salt DeleteEventIntegration' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteEventIntegration where+  rnf DeleteEventIntegration' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteEventIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteEventIntegration where+  toPath DeleteEventIntegration' {..} =+    Prelude.mconcat+      ["/eventIntegrations/", Data.toBS name]++instance Data.ToQuery DeleteEventIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEventIntegrationResponse' smart constructor.+data DeleteEventIntegrationResponse = DeleteEventIntegrationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEventIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEventIntegrationResponse_httpStatus' - The response's http status code.+newDeleteEventIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteEventIntegrationResponse+newDeleteEventIntegrationResponse pHttpStatus_ =+  DeleteEventIntegrationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteEventIntegrationResponse_httpStatus :: Lens.Lens' DeleteEventIntegrationResponse Prelude.Int+deleteEventIntegrationResponse_httpStatus = Lens.lens (\DeleteEventIntegrationResponse' {httpStatus} -> httpStatus) (\s@DeleteEventIntegrationResponse' {} a -> s {httpStatus = a} :: DeleteEventIntegrationResponse)++instance+  Prelude.NFData+    DeleteEventIntegrationResponse+  where+  rnf DeleteEventIntegrationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/GetDataIntegration.hs view
@@ -0,0 +1,248 @@+{-# 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.AppIntegrationS.GetDataIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the DataIntegration.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- API.+module Amazonka.AppIntegrationS.GetDataIntegration+  ( -- * Creating a Request+    GetDataIntegration (..),+    newGetDataIntegration,++    -- * Request Lenses+    getDataIntegration_identifier,++    -- * Destructuring the Response+    GetDataIntegrationResponse (..),+    newGetDataIntegrationResponse,++    -- * Response Lenses+    getDataIntegrationResponse_arn,+    getDataIntegrationResponse_description,+    getDataIntegrationResponse_id,+    getDataIntegrationResponse_kmsKey,+    getDataIntegrationResponse_name,+    getDataIntegrationResponse_scheduleConfiguration,+    getDataIntegrationResponse_sourceURI,+    getDataIntegrationResponse_tags,+    getDataIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDataIntegration' smart constructor.+data GetDataIntegration = GetDataIntegration'+  { -- | A unique identifier.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'getDataIntegration_identifier' - A unique identifier.+newGetDataIntegration ::+  -- | 'identifier'+  Prelude.Text ->+  GetDataIntegration+newGetDataIntegration pIdentifier_ =+  GetDataIntegration' {identifier = pIdentifier_}++-- | A unique identifier.+getDataIntegration_identifier :: Lens.Lens' GetDataIntegration Prelude.Text+getDataIntegration_identifier = Lens.lens (\GetDataIntegration' {identifier} -> identifier) (\s@GetDataIntegration' {} a -> s {identifier = a} :: GetDataIntegration)++instance Core.AWSRequest GetDataIntegration where+  type+    AWSResponse GetDataIntegration =+      GetDataIntegrationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDataIntegrationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "KmsKey")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "ScheduleConfiguration")+            Prelude.<*> (x Data..?> "SourceURI")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDataIntegration where+  hashWithSalt _salt GetDataIntegration' {..} =+    _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData GetDataIntegration where+  rnf GetDataIntegration' {..} = Prelude.rnf identifier++instance Data.ToHeaders GetDataIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetDataIntegration where+  toPath GetDataIntegration' {..} =+    Prelude.mconcat+      ["/dataIntegrations/", Data.toBS identifier]++instance Data.ToQuery GetDataIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDataIntegrationResponse' smart constructor.+data GetDataIntegrationResponse = GetDataIntegrationResponse'+  { -- | The Amazon Resource Name (ARN) for the DataIntegration.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The KMS key for the DataIntegration.+    description :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier.+    id :: Prelude.Maybe Prelude.Text,+    -- | The KMS key for the DataIntegration.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the DataIntegration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name of the data and how often it should be pulled from the source.+    scheduleConfiguration :: Prelude.Maybe ScheduleConfiguration,+    -- | The URI of the data source.+    sourceURI :: Prelude.Maybe Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDataIntegrationResponse_arn' - The Amazon Resource Name (ARN) for the DataIntegration.+--+-- 'description', 'getDataIntegrationResponse_description' - The KMS key for the DataIntegration.+--+-- 'id', 'getDataIntegrationResponse_id' - A unique identifier.+--+-- 'kmsKey', 'getDataIntegrationResponse_kmsKey' - The KMS key for the DataIntegration.+--+-- 'name', 'getDataIntegrationResponse_name' - The name of the DataIntegration.+--+-- 'scheduleConfiguration', 'getDataIntegrationResponse_scheduleConfiguration' - The name of the data and how often it should be pulled from the source.+--+-- 'sourceURI', 'getDataIntegrationResponse_sourceURI' - The URI of the data source.+--+-- 'tags', 'getDataIntegrationResponse_tags' - One or more tags.+--+-- 'httpStatus', 'getDataIntegrationResponse_httpStatus' - The response's http status code.+newGetDataIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDataIntegrationResponse+newGetDataIntegrationResponse pHttpStatus_ =+  GetDataIntegrationResponse'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      kmsKey = Prelude.Nothing,+      name = Prelude.Nothing,+      scheduleConfiguration = Prelude.Nothing,+      sourceURI = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the DataIntegration.+getDataIntegrationResponse_arn :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_arn = Lens.lens (\GetDataIntegrationResponse' {arn} -> arn) (\s@GetDataIntegrationResponse' {} a -> s {arn = a} :: GetDataIntegrationResponse)++-- | The KMS key for the DataIntegration.+getDataIntegrationResponse_description :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_description = Lens.lens (\GetDataIntegrationResponse' {description} -> description) (\s@GetDataIntegrationResponse' {} a -> s {description = a} :: GetDataIntegrationResponse)++-- | A unique identifier.+getDataIntegrationResponse_id :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_id = Lens.lens (\GetDataIntegrationResponse' {id} -> id) (\s@GetDataIntegrationResponse' {} a -> s {id = a} :: GetDataIntegrationResponse)++-- | The KMS key for the DataIntegration.+getDataIntegrationResponse_kmsKey :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_kmsKey = Lens.lens (\GetDataIntegrationResponse' {kmsKey} -> kmsKey) (\s@GetDataIntegrationResponse' {} a -> s {kmsKey = a} :: GetDataIntegrationResponse)++-- | The name of the DataIntegration.+getDataIntegrationResponse_name :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_name = Lens.lens (\GetDataIntegrationResponse' {name} -> name) (\s@GetDataIntegrationResponse' {} a -> s {name = a} :: GetDataIntegrationResponse)++-- | The name of the data and how often it should be pulled from the source.+getDataIntegrationResponse_scheduleConfiguration :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe ScheduleConfiguration)+getDataIntegrationResponse_scheduleConfiguration = Lens.lens (\GetDataIntegrationResponse' {scheduleConfiguration} -> scheduleConfiguration) (\s@GetDataIntegrationResponse' {} a -> s {scheduleConfiguration = a} :: GetDataIntegrationResponse)++-- | The URI of the data source.+getDataIntegrationResponse_sourceURI :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe Prelude.Text)+getDataIntegrationResponse_sourceURI = Lens.lens (\GetDataIntegrationResponse' {sourceURI} -> sourceURI) (\s@GetDataIntegrationResponse' {} a -> s {sourceURI = a} :: GetDataIntegrationResponse)++-- | One or more tags.+getDataIntegrationResponse_tags :: Lens.Lens' GetDataIntegrationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getDataIntegrationResponse_tags = Lens.lens (\GetDataIntegrationResponse' {tags} -> tags) (\s@GetDataIntegrationResponse' {} a -> s {tags = a} :: GetDataIntegrationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getDataIntegrationResponse_httpStatus :: Lens.Lens' GetDataIntegrationResponse Prelude.Int+getDataIntegrationResponse_httpStatus = Lens.lens (\GetDataIntegrationResponse' {httpStatus} -> httpStatus) (\s@GetDataIntegrationResponse' {} a -> s {httpStatus = a} :: GetDataIntegrationResponse)++instance Prelude.NFData GetDataIntegrationResponse where+  rnf GetDataIntegrationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf scheduleConfiguration+      `Prelude.seq` Prelude.rnf sourceURI+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/GetEventIntegration.hs view
@@ -0,0 +1,219 @@+{-# 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.AppIntegrationS.GetEventIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the event integration.+module Amazonka.AppIntegrationS.GetEventIntegration+  ( -- * Creating a Request+    GetEventIntegration (..),+    newGetEventIntegration,++    -- * Request Lenses+    getEventIntegration_name,++    -- * Destructuring the Response+    GetEventIntegrationResponse (..),+    newGetEventIntegrationResponse,++    -- * Response Lenses+    getEventIntegrationResponse_description,+    getEventIntegrationResponse_eventBridgeBus,+    getEventIntegrationResponse_eventFilter,+    getEventIntegrationResponse_eventIntegrationArn,+    getEventIntegrationResponse_name,+    getEventIntegrationResponse_tags,+    getEventIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEventIntegration' smart constructor.+data GetEventIntegration = GetEventIntegration'+  { -- | The name of the event integration.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getEventIntegration_name' - The name of the event integration.+newGetEventIntegration ::+  -- | 'name'+  Prelude.Text ->+  GetEventIntegration+newGetEventIntegration pName_ =+  GetEventIntegration' {name = pName_}++-- | The name of the event integration.+getEventIntegration_name :: Lens.Lens' GetEventIntegration Prelude.Text+getEventIntegration_name = Lens.lens (\GetEventIntegration' {name} -> name) (\s@GetEventIntegration' {} a -> s {name = a} :: GetEventIntegration)++instance Core.AWSRequest GetEventIntegration where+  type+    AWSResponse GetEventIntegration =+      GetEventIntegrationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEventIntegrationResponse'+            Prelude.<$> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "EventBridgeBus")+            Prelude.<*> (x Data..?> "EventFilter")+            Prelude.<*> (x Data..?> "EventIntegrationArn")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetEventIntegration where+  hashWithSalt _salt GetEventIntegration' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetEventIntegration where+  rnf GetEventIntegration' {..} = Prelude.rnf name++instance Data.ToHeaders GetEventIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetEventIntegration where+  toPath GetEventIntegration' {..} =+    Prelude.mconcat+      ["/eventIntegrations/", Data.toBS name]++instance Data.ToQuery GetEventIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEventIntegrationResponse' smart constructor.+data GetEventIntegrationResponse = GetEventIntegrationResponse'+  { -- | The description of the event integration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The EventBridge bus.+    eventBridgeBus :: Prelude.Maybe Prelude.Text,+    -- | The event filter.+    eventFilter :: Prelude.Maybe EventFilter,+    -- | The Amazon Resource Name (ARN) for the event integration.+    eventIntegrationArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the event integration.+    name :: Prelude.Maybe Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getEventIntegrationResponse_description' - The description of the event integration.+--+-- 'eventBridgeBus', 'getEventIntegrationResponse_eventBridgeBus' - The EventBridge bus.+--+-- 'eventFilter', 'getEventIntegrationResponse_eventFilter' - The event filter.+--+-- 'eventIntegrationArn', 'getEventIntegrationResponse_eventIntegrationArn' - The Amazon Resource Name (ARN) for the event integration.+--+-- 'name', 'getEventIntegrationResponse_name' - The name of the event integration.+--+-- 'tags', 'getEventIntegrationResponse_tags' - One or more tags.+--+-- 'httpStatus', 'getEventIntegrationResponse_httpStatus' - The response's http status code.+newGetEventIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetEventIntegrationResponse+newGetEventIntegrationResponse pHttpStatus_ =+  GetEventIntegrationResponse'+    { description =+        Prelude.Nothing,+      eventBridgeBus = Prelude.Nothing,+      eventFilter = Prelude.Nothing,+      eventIntegrationArn = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The description of the event integration.+getEventIntegrationResponse_description :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe Prelude.Text)+getEventIntegrationResponse_description = Lens.lens (\GetEventIntegrationResponse' {description} -> description) (\s@GetEventIntegrationResponse' {} a -> s {description = a} :: GetEventIntegrationResponse)++-- | The EventBridge bus.+getEventIntegrationResponse_eventBridgeBus :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe Prelude.Text)+getEventIntegrationResponse_eventBridgeBus = Lens.lens (\GetEventIntegrationResponse' {eventBridgeBus} -> eventBridgeBus) (\s@GetEventIntegrationResponse' {} a -> s {eventBridgeBus = a} :: GetEventIntegrationResponse)++-- | The event filter.+getEventIntegrationResponse_eventFilter :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe EventFilter)+getEventIntegrationResponse_eventFilter = Lens.lens (\GetEventIntegrationResponse' {eventFilter} -> eventFilter) (\s@GetEventIntegrationResponse' {} a -> s {eventFilter = a} :: GetEventIntegrationResponse)++-- | The Amazon Resource Name (ARN) for the event integration.+getEventIntegrationResponse_eventIntegrationArn :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe Prelude.Text)+getEventIntegrationResponse_eventIntegrationArn = Lens.lens (\GetEventIntegrationResponse' {eventIntegrationArn} -> eventIntegrationArn) (\s@GetEventIntegrationResponse' {} a -> s {eventIntegrationArn = a} :: GetEventIntegrationResponse)++-- | The name of the event integration.+getEventIntegrationResponse_name :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe Prelude.Text)+getEventIntegrationResponse_name = Lens.lens (\GetEventIntegrationResponse' {name} -> name) (\s@GetEventIntegrationResponse' {} a -> s {name = a} :: GetEventIntegrationResponse)++-- | One or more tags.+getEventIntegrationResponse_tags :: Lens.Lens' GetEventIntegrationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getEventIntegrationResponse_tags = Lens.lens (\GetEventIntegrationResponse' {tags} -> tags) (\s@GetEventIntegrationResponse' {} a -> s {tags = a} :: GetEventIntegrationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getEventIntegrationResponse_httpStatus :: Lens.Lens' GetEventIntegrationResponse Prelude.Int+getEventIntegrationResponse_httpStatus = Lens.lens (\GetEventIntegrationResponse' {httpStatus} -> httpStatus) (\s@GetEventIntegrationResponse' {} a -> s {httpStatus = a} :: GetEventIntegrationResponse)++instance Prelude.NFData GetEventIntegrationResponse where+  rnf GetEventIntegrationResponse' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf eventBridgeBus+      `Prelude.seq` Prelude.rnf eventFilter+      `Prelude.seq` Prelude.rnf eventIntegrationArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/Lens.hs view
@@ -0,0 +1,190 @@+{-# 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.AppIntegrationS.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.AppIntegrationS.Lens+  ( -- * Operations++    -- ** CreateDataIntegration+    createDataIntegration_clientToken,+    createDataIntegration_description,+    createDataIntegration_kmsKey,+    createDataIntegration_scheduleConfig,+    createDataIntegration_sourceURI,+    createDataIntegration_tags,+    createDataIntegration_name,+    createDataIntegrationResponse_arn,+    createDataIntegrationResponse_clientToken,+    createDataIntegrationResponse_description,+    createDataIntegrationResponse_id,+    createDataIntegrationResponse_kmsKey,+    createDataIntegrationResponse_name,+    createDataIntegrationResponse_scheduleConfiguration,+    createDataIntegrationResponse_sourceURI,+    createDataIntegrationResponse_tags,+    createDataIntegrationResponse_httpStatus,++    -- ** CreateEventIntegration+    createEventIntegration_clientToken,+    createEventIntegration_description,+    createEventIntegration_tags,+    createEventIntegration_name,+    createEventIntegration_eventFilter,+    createEventIntegration_eventBridgeBus,+    createEventIntegrationResponse_eventIntegrationArn,+    createEventIntegrationResponse_httpStatus,++    -- ** DeleteDataIntegration+    deleteDataIntegration_dataIntegrationIdentifier,+    deleteDataIntegrationResponse_httpStatus,++    -- ** DeleteEventIntegration+    deleteEventIntegration_name,+    deleteEventIntegrationResponse_httpStatus,++    -- ** GetDataIntegration+    getDataIntegration_identifier,+    getDataIntegrationResponse_arn,+    getDataIntegrationResponse_description,+    getDataIntegrationResponse_id,+    getDataIntegrationResponse_kmsKey,+    getDataIntegrationResponse_name,+    getDataIntegrationResponse_scheduleConfiguration,+    getDataIntegrationResponse_sourceURI,+    getDataIntegrationResponse_tags,+    getDataIntegrationResponse_httpStatus,++    -- ** GetEventIntegration+    getEventIntegration_name,+    getEventIntegrationResponse_description,+    getEventIntegrationResponse_eventBridgeBus,+    getEventIntegrationResponse_eventFilter,+    getEventIntegrationResponse_eventIntegrationArn,+    getEventIntegrationResponse_name,+    getEventIntegrationResponse_tags,+    getEventIntegrationResponse_httpStatus,++    -- ** ListDataIntegrationAssociations+    listDataIntegrationAssociations_maxResults,+    listDataIntegrationAssociations_nextToken,+    listDataIntegrationAssociations_dataIntegrationIdentifier,+    listDataIntegrationAssociationsResponse_dataIntegrationAssociations,+    listDataIntegrationAssociationsResponse_nextToken,+    listDataIntegrationAssociationsResponse_httpStatus,++    -- ** ListDataIntegrations+    listDataIntegrations_maxResults,+    listDataIntegrations_nextToken,+    listDataIntegrationsResponse_dataIntegrations,+    listDataIntegrationsResponse_nextToken,+    listDataIntegrationsResponse_httpStatus,++    -- ** ListEventIntegrationAssociations+    listEventIntegrationAssociations_maxResults,+    listEventIntegrationAssociations_nextToken,+    listEventIntegrationAssociations_eventIntegrationName,+    listEventIntegrationAssociationsResponse_eventIntegrationAssociations,+    listEventIntegrationAssociationsResponse_nextToken,+    listEventIntegrationAssociationsResponse_httpStatus,++    -- ** ListEventIntegrations+    listEventIntegrations_maxResults,+    listEventIntegrations_nextToken,+    listEventIntegrationsResponse_eventIntegrations,+    listEventIntegrationsResponse_nextToken,+    listEventIntegrationsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateDataIntegration+    updateDataIntegration_description,+    updateDataIntegration_name,+    updateDataIntegration_identifier,+    updateDataIntegrationResponse_httpStatus,++    -- ** UpdateEventIntegration+    updateEventIntegration_description,+    updateEventIntegration_name,+    updateEventIntegrationResponse_httpStatus,++    -- * Types++    -- ** DataIntegrationAssociationSummary+    dataIntegrationAssociationSummary_clientId,+    dataIntegrationAssociationSummary_dataIntegrationArn,+    dataIntegrationAssociationSummary_dataIntegrationAssociationArn,++    -- ** DataIntegrationSummary+    dataIntegrationSummary_arn,+    dataIntegrationSummary_name,+    dataIntegrationSummary_sourceURI,++    -- ** EventFilter+    eventFilter_source,++    -- ** EventIntegration+    eventIntegration_description,+    eventIntegration_eventBridgeBus,+    eventIntegration_eventFilter,+    eventIntegration_eventIntegrationArn,+    eventIntegration_name,+    eventIntegration_tags,++    -- ** EventIntegrationAssociation+    eventIntegrationAssociation_clientAssociationMetadata,+    eventIntegrationAssociation_clientId,+    eventIntegrationAssociation_eventBridgeRuleName,+    eventIntegrationAssociation_eventIntegrationAssociationArn,+    eventIntegrationAssociation_eventIntegrationAssociationId,+    eventIntegrationAssociation_eventIntegrationName,++    -- ** ScheduleConfiguration+    scheduleConfiguration_firstExecutionFrom,+    scheduleConfiguration_object,+    scheduleConfiguration_scheduleExpression,+  )+where++import Amazonka.AppIntegrationS.CreateDataIntegration+import Amazonka.AppIntegrationS.CreateEventIntegration+import Amazonka.AppIntegrationS.DeleteDataIntegration+import Amazonka.AppIntegrationS.DeleteEventIntegration+import Amazonka.AppIntegrationS.GetDataIntegration+import Amazonka.AppIntegrationS.GetEventIntegration+import Amazonka.AppIntegrationS.ListDataIntegrationAssociations+import Amazonka.AppIntegrationS.ListDataIntegrations+import Amazonka.AppIntegrationS.ListEventIntegrationAssociations+import Amazonka.AppIntegrationS.ListEventIntegrations+import Amazonka.AppIntegrationS.ListTagsForResource+import Amazonka.AppIntegrationS.TagResource+import Amazonka.AppIntegrationS.Types.DataIntegrationAssociationSummary+import Amazonka.AppIntegrationS.Types.DataIntegrationSummary+import Amazonka.AppIntegrationS.Types.EventFilter+import Amazonka.AppIntegrationS.Types.EventIntegration+import Amazonka.AppIntegrationS.Types.EventIntegrationAssociation+import Amazonka.AppIntegrationS.Types.ScheduleConfiguration+import Amazonka.AppIntegrationS.UntagResource+import Amazonka.AppIntegrationS.UpdateDataIntegration+import Amazonka.AppIntegrationS.UpdateEventIntegration
+ gen/Amazonka/AppIntegrationS/ListDataIntegrationAssociations.hs view
@@ -0,0 +1,245 @@+{-# 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.AppIntegrationS.ListDataIntegrationAssociations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a paginated list of DataIntegration associations in the account.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- API.+module Amazonka.AppIntegrationS.ListDataIntegrationAssociations+  ( -- * Creating a Request+    ListDataIntegrationAssociations (..),+    newListDataIntegrationAssociations,++    -- * Request Lenses+    listDataIntegrationAssociations_maxResults,+    listDataIntegrationAssociations_nextToken,+    listDataIntegrationAssociations_dataIntegrationIdentifier,++    -- * Destructuring the Response+    ListDataIntegrationAssociationsResponse (..),+    newListDataIntegrationAssociationsResponse,++    -- * Response Lenses+    listDataIntegrationAssociationsResponse_dataIntegrationAssociations,+    listDataIntegrationAssociationsResponse_nextToken,+    listDataIntegrationAssociationsResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDataIntegrationAssociations' smart constructor.+data ListDataIntegrationAssociations = ListDataIntegrationAssociations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the DataIntegration.+    dataIntegrationIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataIntegrationAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDataIntegrationAssociations_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listDataIntegrationAssociations_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'dataIntegrationIdentifier', 'listDataIntegrationAssociations_dataIntegrationIdentifier' - A unique identifier for the DataIntegration.+newListDataIntegrationAssociations ::+  -- | 'dataIntegrationIdentifier'+  Prelude.Text ->+  ListDataIntegrationAssociations+newListDataIntegrationAssociations+  pDataIntegrationIdentifier_ =+    ListDataIntegrationAssociations'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        dataIntegrationIdentifier =+          pDataIntegrationIdentifier_+      }++-- | The maximum number of results to return per page.+listDataIntegrationAssociations_maxResults :: Lens.Lens' ListDataIntegrationAssociations (Prelude.Maybe Prelude.Natural)+listDataIntegrationAssociations_maxResults = Lens.lens (\ListDataIntegrationAssociations' {maxResults} -> maxResults) (\s@ListDataIntegrationAssociations' {} a -> s {maxResults = a} :: ListDataIntegrationAssociations)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listDataIntegrationAssociations_nextToken :: Lens.Lens' ListDataIntegrationAssociations (Prelude.Maybe Prelude.Text)+listDataIntegrationAssociations_nextToken = Lens.lens (\ListDataIntegrationAssociations' {nextToken} -> nextToken) (\s@ListDataIntegrationAssociations' {} a -> s {nextToken = a} :: ListDataIntegrationAssociations)++-- | A unique identifier for the DataIntegration.+listDataIntegrationAssociations_dataIntegrationIdentifier :: Lens.Lens' ListDataIntegrationAssociations Prelude.Text+listDataIntegrationAssociations_dataIntegrationIdentifier = Lens.lens (\ListDataIntegrationAssociations' {dataIntegrationIdentifier} -> dataIntegrationIdentifier) (\s@ListDataIntegrationAssociations' {} a -> s {dataIntegrationIdentifier = a} :: ListDataIntegrationAssociations)++instance+  Core.AWSRequest+    ListDataIntegrationAssociations+  where+  type+    AWSResponse ListDataIntegrationAssociations =+      ListDataIntegrationAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDataIntegrationAssociationsResponse'+            Prelude.<$> (x Data..?> "DataIntegrationAssociations")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListDataIntegrationAssociations+  where+  hashWithSalt+    _salt+    ListDataIntegrationAssociations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` dataIntegrationIdentifier++instance+  Prelude.NFData+    ListDataIntegrationAssociations+  where+  rnf ListDataIntegrationAssociations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf dataIntegrationIdentifier++instance+  Data.ToHeaders+    ListDataIntegrationAssociations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDataIntegrationAssociations where+  toPath ListDataIntegrationAssociations' {..} =+    Prelude.mconcat+      [ "/dataIntegrations/",+        Data.toBS dataIntegrationIdentifier,+        "/associations"+      ]++instance Data.ToQuery ListDataIntegrationAssociations where+  toQuery ListDataIntegrationAssociations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListDataIntegrationAssociationsResponse' smart constructor.+data ListDataIntegrationAssociationsResponse = ListDataIntegrationAssociationsResponse'+  { -- | The Amazon Resource Name (ARN) and unique ID of the DataIntegration+    -- association.+    dataIntegrationAssociations :: Prelude.Maybe (Prelude.NonEmpty DataIntegrationAssociationSummary),+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataIntegrationAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataIntegrationAssociations', 'listDataIntegrationAssociationsResponse_dataIntegrationAssociations' - The Amazon Resource Name (ARN) and unique ID of the DataIntegration+-- association.+--+-- 'nextToken', 'listDataIntegrationAssociationsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listDataIntegrationAssociationsResponse_httpStatus' - The response's http status code.+newListDataIntegrationAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDataIntegrationAssociationsResponse+newListDataIntegrationAssociationsResponse+  pHttpStatus_ =+    ListDataIntegrationAssociationsResponse'+      { dataIntegrationAssociations =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name (ARN) and unique ID of the DataIntegration+-- association.+listDataIntegrationAssociationsResponse_dataIntegrationAssociations :: Lens.Lens' ListDataIntegrationAssociationsResponse (Prelude.Maybe (Prelude.NonEmpty DataIntegrationAssociationSummary))+listDataIntegrationAssociationsResponse_dataIntegrationAssociations = Lens.lens (\ListDataIntegrationAssociationsResponse' {dataIntegrationAssociations} -> dataIntegrationAssociations) (\s@ListDataIntegrationAssociationsResponse' {} a -> s {dataIntegrationAssociations = a} :: ListDataIntegrationAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If there are additional results, this is the token for the next set of+-- results.+listDataIntegrationAssociationsResponse_nextToken :: Lens.Lens' ListDataIntegrationAssociationsResponse (Prelude.Maybe Prelude.Text)+listDataIntegrationAssociationsResponse_nextToken = Lens.lens (\ListDataIntegrationAssociationsResponse' {nextToken} -> nextToken) (\s@ListDataIntegrationAssociationsResponse' {} a -> s {nextToken = a} :: ListDataIntegrationAssociationsResponse)++-- | The response's http status code.+listDataIntegrationAssociationsResponse_httpStatus :: Lens.Lens' ListDataIntegrationAssociationsResponse Prelude.Int+listDataIntegrationAssociationsResponse_httpStatus = Lens.lens (\ListDataIntegrationAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListDataIntegrationAssociationsResponse' {} a -> s {httpStatus = a} :: ListDataIntegrationAssociationsResponse)++instance+  Prelude.NFData+    ListDataIntegrationAssociationsResponse+  where+  rnf ListDataIntegrationAssociationsResponse' {..} =+    Prelude.rnf dataIntegrationAssociations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/ListDataIntegrations.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.ListDataIntegrations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a paginated list of DataIntegrations in the account.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- API.+module Amazonka.AppIntegrationS.ListDataIntegrations+  ( -- * Creating a Request+    ListDataIntegrations (..),+    newListDataIntegrations,++    -- * Request Lenses+    listDataIntegrations_maxResults,+    listDataIntegrations_nextToken,++    -- * Destructuring the Response+    ListDataIntegrationsResponse (..),+    newListDataIntegrationsResponse,++    -- * Response Lenses+    listDataIntegrationsResponse_dataIntegrations,+    listDataIntegrationsResponse_nextToken,+    listDataIntegrationsResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDataIntegrations' smart constructor.+data ListDataIntegrations = ListDataIntegrations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataIntegrations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDataIntegrations_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listDataIntegrations_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+newListDataIntegrations ::+  ListDataIntegrations+newListDataIntegrations =+  ListDataIntegrations'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listDataIntegrations_maxResults :: Lens.Lens' ListDataIntegrations (Prelude.Maybe Prelude.Natural)+listDataIntegrations_maxResults = Lens.lens (\ListDataIntegrations' {maxResults} -> maxResults) (\s@ListDataIntegrations' {} a -> s {maxResults = a} :: ListDataIntegrations)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listDataIntegrations_nextToken :: Lens.Lens' ListDataIntegrations (Prelude.Maybe Prelude.Text)+listDataIntegrations_nextToken = Lens.lens (\ListDataIntegrations' {nextToken} -> nextToken) (\s@ListDataIntegrations' {} a -> s {nextToken = a} :: ListDataIntegrations)++instance Core.AWSRequest ListDataIntegrations where+  type+    AWSResponse ListDataIntegrations =+      ListDataIntegrationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDataIntegrationsResponse'+            Prelude.<$> (x Data..?> "DataIntegrations")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDataIntegrations where+  hashWithSalt _salt ListDataIntegrations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDataIntegrations where+  rnf ListDataIntegrations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDataIntegrations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDataIntegrations where+  toPath = Prelude.const "/dataIntegrations"++instance Data.ToQuery ListDataIntegrations where+  toQuery ListDataIntegrations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListDataIntegrationsResponse' smart constructor.+data ListDataIntegrationsResponse = ListDataIntegrationsResponse'+  { -- | The DataIntegrations associated with this account.+    dataIntegrations :: Prelude.Maybe (Prelude.NonEmpty DataIntegrationSummary),+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataIntegrationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataIntegrations', 'listDataIntegrationsResponse_dataIntegrations' - The DataIntegrations associated with this account.+--+-- 'nextToken', 'listDataIntegrationsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listDataIntegrationsResponse_httpStatus' - The response's http status code.+newListDataIntegrationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDataIntegrationsResponse+newListDataIntegrationsResponse pHttpStatus_ =+  ListDataIntegrationsResponse'+    { dataIntegrations =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The DataIntegrations associated with this account.+listDataIntegrationsResponse_dataIntegrations :: Lens.Lens' ListDataIntegrationsResponse (Prelude.Maybe (Prelude.NonEmpty DataIntegrationSummary))+listDataIntegrationsResponse_dataIntegrations = Lens.lens (\ListDataIntegrationsResponse' {dataIntegrations} -> dataIntegrations) (\s@ListDataIntegrationsResponse' {} a -> s {dataIntegrations = a} :: ListDataIntegrationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If there are additional results, this is the token for the next set of+-- results.+listDataIntegrationsResponse_nextToken :: Lens.Lens' ListDataIntegrationsResponse (Prelude.Maybe Prelude.Text)+listDataIntegrationsResponse_nextToken = Lens.lens (\ListDataIntegrationsResponse' {nextToken} -> nextToken) (\s@ListDataIntegrationsResponse' {} a -> s {nextToken = a} :: ListDataIntegrationsResponse)++-- | The response's http status code.+listDataIntegrationsResponse_httpStatus :: Lens.Lens' ListDataIntegrationsResponse Prelude.Int+listDataIntegrationsResponse_httpStatus = Lens.lens (\ListDataIntegrationsResponse' {httpStatus} -> httpStatus) (\s@ListDataIntegrationsResponse' {} a -> s {httpStatus = a} :: ListDataIntegrationsResponse)++instance Prelude.NFData ListDataIntegrationsResponse where+  rnf ListDataIntegrationsResponse' {..} =+    Prelude.rnf dataIntegrations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/ListEventIntegrationAssociations.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.ListEventIntegrationAssociations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a paginated list of event integration associations in the+-- account.+module Amazonka.AppIntegrationS.ListEventIntegrationAssociations+  ( -- * Creating a Request+    ListEventIntegrationAssociations (..),+    newListEventIntegrationAssociations,++    -- * Request Lenses+    listEventIntegrationAssociations_maxResults,+    listEventIntegrationAssociations_nextToken,+    listEventIntegrationAssociations_eventIntegrationName,++    -- * Destructuring the Response+    ListEventIntegrationAssociationsResponse (..),+    newListEventIntegrationAssociationsResponse,++    -- * Response Lenses+    listEventIntegrationAssociationsResponse_eventIntegrationAssociations,+    listEventIntegrationAssociationsResponse_nextToken,+    listEventIntegrationAssociationsResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEventIntegrationAssociations' smart constructor.+data ListEventIntegrationAssociations = ListEventIntegrationAssociations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the event integration.+    eventIntegrationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventIntegrationAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listEventIntegrationAssociations_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listEventIntegrationAssociations_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'eventIntegrationName', 'listEventIntegrationAssociations_eventIntegrationName' - The name of the event integration.+newListEventIntegrationAssociations ::+  -- | 'eventIntegrationName'+  Prelude.Text ->+  ListEventIntegrationAssociations+newListEventIntegrationAssociations+  pEventIntegrationName_ =+    ListEventIntegrationAssociations'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        eventIntegrationName =+          pEventIntegrationName_+      }++-- | The maximum number of results to return per page.+listEventIntegrationAssociations_maxResults :: Lens.Lens' ListEventIntegrationAssociations (Prelude.Maybe Prelude.Natural)+listEventIntegrationAssociations_maxResults = Lens.lens (\ListEventIntegrationAssociations' {maxResults} -> maxResults) (\s@ListEventIntegrationAssociations' {} a -> s {maxResults = a} :: ListEventIntegrationAssociations)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listEventIntegrationAssociations_nextToken :: Lens.Lens' ListEventIntegrationAssociations (Prelude.Maybe Prelude.Text)+listEventIntegrationAssociations_nextToken = Lens.lens (\ListEventIntegrationAssociations' {nextToken} -> nextToken) (\s@ListEventIntegrationAssociations' {} a -> s {nextToken = a} :: ListEventIntegrationAssociations)++-- | The name of the event integration.+listEventIntegrationAssociations_eventIntegrationName :: Lens.Lens' ListEventIntegrationAssociations Prelude.Text+listEventIntegrationAssociations_eventIntegrationName = Lens.lens (\ListEventIntegrationAssociations' {eventIntegrationName} -> eventIntegrationName) (\s@ListEventIntegrationAssociations' {} a -> s {eventIntegrationName = a} :: ListEventIntegrationAssociations)++instance+  Core.AWSRequest+    ListEventIntegrationAssociations+  where+  type+    AWSResponse ListEventIntegrationAssociations =+      ListEventIntegrationAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEventIntegrationAssociationsResponse'+            Prelude.<$> (x Data..?> "EventIntegrationAssociations")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListEventIntegrationAssociations+  where+  hashWithSalt+    _salt+    ListEventIntegrationAssociations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` eventIntegrationName++instance+  Prelude.NFData+    ListEventIntegrationAssociations+  where+  rnf ListEventIntegrationAssociations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf eventIntegrationName++instance+  Data.ToHeaders+    ListEventIntegrationAssociations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListEventIntegrationAssociations where+  toPath ListEventIntegrationAssociations' {..} =+    Prelude.mconcat+      [ "/eventIntegrations/",+        Data.toBS eventIntegrationName,+        "/associations"+      ]++instance+  Data.ToQuery+    ListEventIntegrationAssociations+  where+  toQuery ListEventIntegrationAssociations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListEventIntegrationAssociationsResponse' smart constructor.+data ListEventIntegrationAssociationsResponse = ListEventIntegrationAssociationsResponse'+  { -- | The event integration associations.+    eventIntegrationAssociations :: Prelude.Maybe (Prelude.NonEmpty EventIntegrationAssociation),+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventIntegrationAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventIntegrationAssociations', 'listEventIntegrationAssociationsResponse_eventIntegrationAssociations' - The event integration associations.+--+-- 'nextToken', 'listEventIntegrationAssociationsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listEventIntegrationAssociationsResponse_httpStatus' - The response's http status code.+newListEventIntegrationAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEventIntegrationAssociationsResponse+newListEventIntegrationAssociationsResponse+  pHttpStatus_ =+    ListEventIntegrationAssociationsResponse'+      { eventIntegrationAssociations =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The event integration associations.+listEventIntegrationAssociationsResponse_eventIntegrationAssociations :: Lens.Lens' ListEventIntegrationAssociationsResponse (Prelude.Maybe (Prelude.NonEmpty EventIntegrationAssociation))+listEventIntegrationAssociationsResponse_eventIntegrationAssociations = Lens.lens (\ListEventIntegrationAssociationsResponse' {eventIntegrationAssociations} -> eventIntegrationAssociations) (\s@ListEventIntegrationAssociationsResponse' {} a -> s {eventIntegrationAssociations = a} :: ListEventIntegrationAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If there are additional results, this is the token for the next set of+-- results.+listEventIntegrationAssociationsResponse_nextToken :: Lens.Lens' ListEventIntegrationAssociationsResponse (Prelude.Maybe Prelude.Text)+listEventIntegrationAssociationsResponse_nextToken = Lens.lens (\ListEventIntegrationAssociationsResponse' {nextToken} -> nextToken) (\s@ListEventIntegrationAssociationsResponse' {} a -> s {nextToken = a} :: ListEventIntegrationAssociationsResponse)++-- | The response's http status code.+listEventIntegrationAssociationsResponse_httpStatus :: Lens.Lens' ListEventIntegrationAssociationsResponse Prelude.Int+listEventIntegrationAssociationsResponse_httpStatus = Lens.lens (\ListEventIntegrationAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListEventIntegrationAssociationsResponse' {} a -> s {httpStatus = a} :: ListEventIntegrationAssociationsResponse)++instance+  Prelude.NFData+    ListEventIntegrationAssociationsResponse+  where+  rnf ListEventIntegrationAssociationsResponse' {..} =+    Prelude.rnf eventIntegrationAssociations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/ListEventIntegrations.hs view
@@ -0,0 +1,197 @@+{-# 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.AppIntegrationS.ListEventIntegrations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a paginated list of event integrations in the account.+module Amazonka.AppIntegrationS.ListEventIntegrations+  ( -- * Creating a Request+    ListEventIntegrations (..),+    newListEventIntegrations,++    -- * Request Lenses+    listEventIntegrations_maxResults,+    listEventIntegrations_nextToken,++    -- * Destructuring the Response+    ListEventIntegrationsResponse (..),+    newListEventIntegrationsResponse,++    -- * Response Lenses+    listEventIntegrationsResponse_eventIntegrations,+    listEventIntegrationsResponse_nextToken,+    listEventIntegrationsResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEventIntegrations' smart constructor.+data ListEventIntegrations = ListEventIntegrations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventIntegrations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listEventIntegrations_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listEventIntegrations_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+newListEventIntegrations ::+  ListEventIntegrations+newListEventIntegrations =+  ListEventIntegrations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listEventIntegrations_maxResults :: Lens.Lens' ListEventIntegrations (Prelude.Maybe Prelude.Natural)+listEventIntegrations_maxResults = Lens.lens (\ListEventIntegrations' {maxResults} -> maxResults) (\s@ListEventIntegrations' {} a -> s {maxResults = a} :: ListEventIntegrations)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listEventIntegrations_nextToken :: Lens.Lens' ListEventIntegrations (Prelude.Maybe Prelude.Text)+listEventIntegrations_nextToken = Lens.lens (\ListEventIntegrations' {nextToken} -> nextToken) (\s@ListEventIntegrations' {} a -> s {nextToken = a} :: ListEventIntegrations)++instance Core.AWSRequest ListEventIntegrations where+  type+    AWSResponse ListEventIntegrations =+      ListEventIntegrationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEventIntegrationsResponse'+            Prelude.<$> (x Data..?> "EventIntegrations")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEventIntegrations where+  hashWithSalt _salt ListEventIntegrations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEventIntegrations where+  rnf ListEventIntegrations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEventIntegrations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListEventIntegrations where+  toPath = Prelude.const "/eventIntegrations"++instance Data.ToQuery ListEventIntegrations where+  toQuery ListEventIntegrations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListEventIntegrationsResponse' smart constructor.+data ListEventIntegrationsResponse = ListEventIntegrationsResponse'+  { -- | The event integrations.+    eventIntegrations :: Prelude.Maybe (Prelude.NonEmpty EventIntegration),+    -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventIntegrationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventIntegrations', 'listEventIntegrationsResponse_eventIntegrations' - The event integrations.+--+-- 'nextToken', 'listEventIntegrationsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listEventIntegrationsResponse_httpStatus' - The response's http status code.+newListEventIntegrationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEventIntegrationsResponse+newListEventIntegrationsResponse pHttpStatus_ =+  ListEventIntegrationsResponse'+    { eventIntegrations =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The event integrations.+listEventIntegrationsResponse_eventIntegrations :: Lens.Lens' ListEventIntegrationsResponse (Prelude.Maybe (Prelude.NonEmpty EventIntegration))+listEventIntegrationsResponse_eventIntegrations = Lens.lens (\ListEventIntegrationsResponse' {eventIntegrations} -> eventIntegrations) (\s@ListEventIntegrationsResponse' {} a -> s {eventIntegrations = a} :: ListEventIntegrationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If there are additional results, this is the token for the next set of+-- results.+listEventIntegrationsResponse_nextToken :: Lens.Lens' ListEventIntegrationsResponse (Prelude.Maybe Prelude.Text)+listEventIntegrationsResponse_nextToken = Lens.lens (\ListEventIntegrationsResponse' {nextToken} -> nextToken) (\s@ListEventIntegrationsResponse' {} a -> s {nextToken = a} :: ListEventIntegrationsResponse)++-- | The response's http status code.+listEventIntegrationsResponse_httpStatus :: Lens.Lens' ListEventIntegrationsResponse Prelude.Int+listEventIntegrationsResponse_httpStatus = Lens.lens (\ListEventIntegrationsResponse' {httpStatus} -> httpStatus) (\s@ListEventIntegrationsResponse' {} a -> s {httpStatus = a} :: ListEventIntegrationsResponse)++instance Prelude.NFData ListEventIntegrationsResponse where+  rnf ListEventIntegrationsResponse' {..} =+    Prelude.rnf eventIntegrations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/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.AppIntegrationS.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)+--+-- Lists the tags for the specified resource.+module Amazonka.AppIntegrationS.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource.+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'+  { -- | Information about the tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - Information about the tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the tags.+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/AppIntegrationS/TagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds the specified tags to the specified resource.+module Amazonka.AppIntegrationS.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | One or more tags.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tags', 'tagResource_tags' - One or more tags.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | One or more tags.+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/AppIntegrationS/Types.hs view
@@ -0,0 +1,212 @@+{-# 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.AppIntegrationS.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.AppIntegrationS.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _DuplicateResourceException,+    _InternalServiceError,+    _InvalidRequestException,+    _ResourceNotFoundException,+    _ResourceQuotaExceededException,+    _ThrottlingException,++    -- * DataIntegrationAssociationSummary+    DataIntegrationAssociationSummary (..),+    newDataIntegrationAssociationSummary,+    dataIntegrationAssociationSummary_clientId,+    dataIntegrationAssociationSummary_dataIntegrationArn,+    dataIntegrationAssociationSummary_dataIntegrationAssociationArn,++    -- * DataIntegrationSummary+    DataIntegrationSummary (..),+    newDataIntegrationSummary,+    dataIntegrationSummary_arn,+    dataIntegrationSummary_name,+    dataIntegrationSummary_sourceURI,++    -- * EventFilter+    EventFilter (..),+    newEventFilter,+    eventFilter_source,++    -- * EventIntegration+    EventIntegration (..),+    newEventIntegration,+    eventIntegration_description,+    eventIntegration_eventBridgeBus,+    eventIntegration_eventFilter,+    eventIntegration_eventIntegrationArn,+    eventIntegration_name,+    eventIntegration_tags,++    -- * EventIntegrationAssociation+    EventIntegrationAssociation (..),+    newEventIntegrationAssociation,+    eventIntegrationAssociation_clientAssociationMetadata,+    eventIntegrationAssociation_clientId,+    eventIntegrationAssociation_eventBridgeRuleName,+    eventIntegrationAssociation_eventIntegrationAssociationArn,+    eventIntegrationAssociation_eventIntegrationAssociationId,+    eventIntegrationAssociation_eventIntegrationName,++    -- * ScheduleConfiguration+    ScheduleConfiguration (..),+    newScheduleConfiguration,+    scheduleConfiguration_firstExecutionFrom,+    scheduleConfiguration_object,+    scheduleConfiguration_scheduleExpression,+  )+where++import Amazonka.AppIntegrationS.Types.DataIntegrationAssociationSummary+import Amazonka.AppIntegrationS.Types.DataIntegrationSummary+import Amazonka.AppIntegrationS.Types.EventFilter+import Amazonka.AppIntegrationS.Types.EventIntegration+import Amazonka.AppIntegrationS.Types.EventIntegrationAssociation+import Amazonka.AppIntegrationS.Types.ScheduleConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-07-29@ of the Amazon AppIntegrations Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "AppIntegrationS",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "app-integrations",+      Core.signingName = "app-integrations",+      Core.version = "2020-07-29",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "AppIntegrationS",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | A resource with the specified name already exists.+_DuplicateResourceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DuplicateResourceException =+  Core._MatchServiceError+    defaultService+    "DuplicateResourceException"+    Prelude.. Core.hasStatus 409++-- | Request processing failed due to an error or failure with the service.+_InternalServiceError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceError =+  Core._MatchServiceError+    defaultService+    "InternalServiceError"+    Prelude.. Core.hasStatus 500++-- | The request is not valid.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+  Core._MatchServiceError+    defaultService+    "InvalidRequestException"+    Prelude.. Core.hasStatus 400++-- | The specified resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The allowed quota for the resource has been exceeded.+_ResourceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ResourceQuotaExceededException"+    Prelude.. Core.hasStatus 429++-- | The throttling limit has been exceeded.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429
+ gen/Amazonka/AppIntegrationS/Types/DataIntegrationAssociationSummary.hs view
@@ -0,0 +1,112 @@+{-# 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.AppIntegrationS.Types.DataIntegrationAssociationSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.DataIntegrationAssociationSummary 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++-- | Summary information about the DataIntegration association.+--+-- /See:/ 'newDataIntegrationAssociationSummary' smart constructor.+data DataIntegrationAssociationSummary = DataIntegrationAssociationSummary'+  { -- | The identifier for teh client that is associated with the+    -- DataIntegration association.+    clientId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN)of the DataIntegration.+    dataIntegrationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the DataIntegration association.+    dataIntegrationAssociationArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataIntegrationAssociationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientId', 'dataIntegrationAssociationSummary_clientId' - The identifier for teh client that is associated with the+-- DataIntegration association.+--+-- 'dataIntegrationArn', 'dataIntegrationAssociationSummary_dataIntegrationArn' - The Amazon Resource Name (ARN)of the DataIntegration.+--+-- 'dataIntegrationAssociationArn', 'dataIntegrationAssociationSummary_dataIntegrationAssociationArn' - The Amazon Resource Name (ARN) of the DataIntegration association.+newDataIntegrationAssociationSummary ::+  DataIntegrationAssociationSummary+newDataIntegrationAssociationSummary =+  DataIntegrationAssociationSummary'+    { clientId =+        Prelude.Nothing,+      dataIntegrationArn = Prelude.Nothing,+      dataIntegrationAssociationArn =+        Prelude.Nothing+    }++-- | The identifier for teh client that is associated with the+-- DataIntegration association.+dataIntegrationAssociationSummary_clientId :: Lens.Lens' DataIntegrationAssociationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationAssociationSummary_clientId = Lens.lens (\DataIntegrationAssociationSummary' {clientId} -> clientId) (\s@DataIntegrationAssociationSummary' {} a -> s {clientId = a} :: DataIntegrationAssociationSummary)++-- | The Amazon Resource Name (ARN)of the DataIntegration.+dataIntegrationAssociationSummary_dataIntegrationArn :: Lens.Lens' DataIntegrationAssociationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationAssociationSummary_dataIntegrationArn = Lens.lens (\DataIntegrationAssociationSummary' {dataIntegrationArn} -> dataIntegrationArn) (\s@DataIntegrationAssociationSummary' {} a -> s {dataIntegrationArn = a} :: DataIntegrationAssociationSummary)++-- | The Amazon Resource Name (ARN) of the DataIntegration association.+dataIntegrationAssociationSummary_dataIntegrationAssociationArn :: Lens.Lens' DataIntegrationAssociationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationAssociationSummary_dataIntegrationAssociationArn = Lens.lens (\DataIntegrationAssociationSummary' {dataIntegrationAssociationArn} -> dataIntegrationAssociationArn) (\s@DataIntegrationAssociationSummary' {} a -> s {dataIntegrationAssociationArn = a} :: DataIntegrationAssociationSummary)++instance+  Data.FromJSON+    DataIntegrationAssociationSummary+  where+  parseJSON =+    Data.withObject+      "DataIntegrationAssociationSummary"+      ( \x ->+          DataIntegrationAssociationSummary'+            Prelude.<$> (x Data..:? "ClientId")+            Prelude.<*> (x Data..:? "DataIntegrationArn")+            Prelude.<*> (x Data..:? "DataIntegrationAssociationArn")+      )++instance+  Prelude.Hashable+    DataIntegrationAssociationSummary+  where+  hashWithSalt+    _salt+    DataIntegrationAssociationSummary' {..} =+      _salt+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` dataIntegrationArn+        `Prelude.hashWithSalt` dataIntegrationAssociationArn++instance+  Prelude.NFData+    DataIntegrationAssociationSummary+  where+  rnf DataIntegrationAssociationSummary' {..} =+    Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf dataIntegrationArn+      `Prelude.seq` Prelude.rnf dataIntegrationAssociationArn
+ gen/Amazonka/AppIntegrationS/Types/DataIntegrationSummary.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.AppIntegrationS.Types.DataIntegrationSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.DataIntegrationSummary 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++-- | Summary information about the DataIntegration.+--+-- /See:/ 'newDataIntegrationSummary' smart constructor.+data DataIntegrationSummary = DataIntegrationSummary'+  { -- | The Amazon Resource Name (ARN) of the DataIntegration.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the DataIntegration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The URI of the data source.+    sourceURI :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataIntegrationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dataIntegrationSummary_arn' - The Amazon Resource Name (ARN) of the DataIntegration.+--+-- 'name', 'dataIntegrationSummary_name' - The name of the DataIntegration.+--+-- 'sourceURI', 'dataIntegrationSummary_sourceURI' - The URI of the data source.+newDataIntegrationSummary ::+  DataIntegrationSummary+newDataIntegrationSummary =+  DataIntegrationSummary'+    { arn = Prelude.Nothing,+      name = Prelude.Nothing,+      sourceURI = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the DataIntegration.+dataIntegrationSummary_arn :: Lens.Lens' DataIntegrationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationSummary_arn = Lens.lens (\DataIntegrationSummary' {arn} -> arn) (\s@DataIntegrationSummary' {} a -> s {arn = a} :: DataIntegrationSummary)++-- | The name of the DataIntegration.+dataIntegrationSummary_name :: Lens.Lens' DataIntegrationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationSummary_name = Lens.lens (\DataIntegrationSummary' {name} -> name) (\s@DataIntegrationSummary' {} a -> s {name = a} :: DataIntegrationSummary)++-- | The URI of the data source.+dataIntegrationSummary_sourceURI :: Lens.Lens' DataIntegrationSummary (Prelude.Maybe Prelude.Text)+dataIntegrationSummary_sourceURI = Lens.lens (\DataIntegrationSummary' {sourceURI} -> sourceURI) (\s@DataIntegrationSummary' {} a -> s {sourceURI = a} :: DataIntegrationSummary)++instance Data.FromJSON DataIntegrationSummary where+  parseJSON =+    Data.withObject+      "DataIntegrationSummary"+      ( \x ->+          DataIntegrationSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SourceURI")+      )++instance Prelude.Hashable DataIntegrationSummary where+  hashWithSalt _salt DataIntegrationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sourceURI++instance Prelude.NFData DataIntegrationSummary where+  rnf DataIntegrationSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sourceURI
+ gen/Amazonka/AppIntegrationS/Types/EventFilter.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.AppIntegrationS.Types.EventFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.EventFilter 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 event filter.+--+-- /See:/ 'newEventFilter' smart constructor.+data EventFilter = EventFilter'+  { -- | The source of the events.+    source :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'source', 'eventFilter_source' - The source of the events.+newEventFilter ::+  -- | 'source'+  Prelude.Text ->+  EventFilter+newEventFilter pSource_ =+  EventFilter' {source = pSource_}++-- | The source of the events.+eventFilter_source :: Lens.Lens' EventFilter Prelude.Text+eventFilter_source = Lens.lens (\EventFilter' {source} -> source) (\s@EventFilter' {} a -> s {source = a} :: EventFilter)++instance Data.FromJSON EventFilter where+  parseJSON =+    Data.withObject+      "EventFilter"+      ( \x ->+          EventFilter' Prelude.<$> (x Data..: "Source")+      )++instance Prelude.Hashable EventFilter where+  hashWithSalt _salt EventFilter' {..} =+    _salt `Prelude.hashWithSalt` source++instance Prelude.NFData EventFilter where+  rnf EventFilter' {..} = Prelude.rnf source++instance Data.ToJSON EventFilter where+  toJSON EventFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Source" Data..= source)]+      )
+ gen/Amazonka/AppIntegrationS/Types/EventIntegration.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.AppIntegrationS.Types.EventIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.EventIntegration where++import Amazonka.AppIntegrationS.Types.EventFilter+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 event integration.+--+-- /See:/ 'newEventIntegration' smart constructor.+data EventIntegration = EventIntegration'+  { -- | The event integration description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The Amazon EventBridge bus for the event integration.+    eventBridgeBus :: Prelude.Maybe Prelude.Text,+    -- | The event integration filter.+    eventFilter :: Prelude.Maybe EventFilter,+    -- | The Amazon Resource Name (ARN) of the event integration.+    eventIntegrationArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the event integration.+    name :: Prelude.Maybe Prelude.Text,+    -- | The tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'eventIntegration_description' - The event integration description.+--+-- 'eventBridgeBus', 'eventIntegration_eventBridgeBus' - The Amazon EventBridge bus for the event integration.+--+-- 'eventFilter', 'eventIntegration_eventFilter' - The event integration filter.+--+-- 'eventIntegrationArn', 'eventIntegration_eventIntegrationArn' - The Amazon Resource Name (ARN) of the event integration.+--+-- 'name', 'eventIntegration_name' - The name of the event integration.+--+-- 'tags', 'eventIntegration_tags' - The tags.+newEventIntegration ::+  EventIntegration+newEventIntegration =+  EventIntegration'+    { description = Prelude.Nothing,+      eventBridgeBus = Prelude.Nothing,+      eventFilter = Prelude.Nothing,+      eventIntegrationArn = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The event integration description.+eventIntegration_description :: Lens.Lens' EventIntegration (Prelude.Maybe Prelude.Text)+eventIntegration_description = Lens.lens (\EventIntegration' {description} -> description) (\s@EventIntegration' {} a -> s {description = a} :: EventIntegration)++-- | The Amazon EventBridge bus for the event integration.+eventIntegration_eventBridgeBus :: Lens.Lens' EventIntegration (Prelude.Maybe Prelude.Text)+eventIntegration_eventBridgeBus = Lens.lens (\EventIntegration' {eventBridgeBus} -> eventBridgeBus) (\s@EventIntegration' {} a -> s {eventBridgeBus = a} :: EventIntegration)++-- | The event integration filter.+eventIntegration_eventFilter :: Lens.Lens' EventIntegration (Prelude.Maybe EventFilter)+eventIntegration_eventFilter = Lens.lens (\EventIntegration' {eventFilter} -> eventFilter) (\s@EventIntegration' {} a -> s {eventFilter = a} :: EventIntegration)++-- | The Amazon Resource Name (ARN) of the event integration.+eventIntegration_eventIntegrationArn :: Lens.Lens' EventIntegration (Prelude.Maybe Prelude.Text)+eventIntegration_eventIntegrationArn = Lens.lens (\EventIntegration' {eventIntegrationArn} -> eventIntegrationArn) (\s@EventIntegration' {} a -> s {eventIntegrationArn = a} :: EventIntegration)++-- | The name of the event integration.+eventIntegration_name :: Lens.Lens' EventIntegration (Prelude.Maybe Prelude.Text)+eventIntegration_name = Lens.lens (\EventIntegration' {name} -> name) (\s@EventIntegration' {} a -> s {name = a} :: EventIntegration)++-- | The tags.+eventIntegration_tags :: Lens.Lens' EventIntegration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+eventIntegration_tags = Lens.lens (\EventIntegration' {tags} -> tags) (\s@EventIntegration' {} a -> s {tags = a} :: EventIntegration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON EventIntegration where+  parseJSON =+    Data.withObject+      "EventIntegration"+      ( \x ->+          EventIntegration'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "EventBridgeBus")+            Prelude.<*> (x Data..:? "EventFilter")+            Prelude.<*> (x Data..:? "EventIntegrationArn")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable EventIntegration where+  hashWithSalt _salt EventIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` eventBridgeBus+      `Prelude.hashWithSalt` eventFilter+      `Prelude.hashWithSalt` eventIntegrationArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags++instance Prelude.NFData EventIntegration where+  rnf EventIntegration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf eventBridgeBus+      `Prelude.seq` Prelude.rnf eventFilter+      `Prelude.seq` Prelude.rnf eventIntegrationArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/AppIntegrationS/Types/EventIntegrationAssociation.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.AppIntegrationS.Types.EventIntegrationAssociation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.EventIntegrationAssociation 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 event integration association.+--+-- /See:/ 'newEventIntegrationAssociation' smart constructor.+data EventIntegrationAssociation = EventIntegrationAssociation'+  { -- | The metadata associated with the client.+    clientAssociationMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The identifier for the client that is associated with the event+    -- integration.+    clientId :: Prelude.Maybe Prelude.Text,+    -- | The name of the EventBridge rule.+    eventBridgeRuleName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the event integration association.+    eventIntegrationAssociationArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier for the event integration association.+    eventIntegrationAssociationId :: Prelude.Maybe Prelude.Text,+    -- | The name of the event integration.+    eventIntegrationName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventIntegrationAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientAssociationMetadata', 'eventIntegrationAssociation_clientAssociationMetadata' - The metadata associated with the client.+--+-- 'clientId', 'eventIntegrationAssociation_clientId' - The identifier for the client that is associated with the event+-- integration.+--+-- 'eventBridgeRuleName', 'eventIntegrationAssociation_eventBridgeRuleName' - The name of the EventBridge rule.+--+-- 'eventIntegrationAssociationArn', 'eventIntegrationAssociation_eventIntegrationAssociationArn' - The Amazon Resource Name (ARN) for the event integration association.+--+-- 'eventIntegrationAssociationId', 'eventIntegrationAssociation_eventIntegrationAssociationId' - The identifier for the event integration association.+--+-- 'eventIntegrationName', 'eventIntegrationAssociation_eventIntegrationName' - The name of the event integration.+newEventIntegrationAssociation ::+  EventIntegrationAssociation+newEventIntegrationAssociation =+  EventIntegrationAssociation'+    { clientAssociationMetadata =+        Prelude.Nothing,+      clientId = Prelude.Nothing,+      eventBridgeRuleName = Prelude.Nothing,+      eventIntegrationAssociationArn =+        Prelude.Nothing,+      eventIntegrationAssociationId =+        Prelude.Nothing,+      eventIntegrationName = Prelude.Nothing+    }++-- | The metadata associated with the client.+eventIntegrationAssociation_clientAssociationMetadata :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+eventIntegrationAssociation_clientAssociationMetadata = Lens.lens (\EventIntegrationAssociation' {clientAssociationMetadata} -> clientAssociationMetadata) (\s@EventIntegrationAssociation' {} a -> s {clientAssociationMetadata = a} :: EventIntegrationAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the client that is associated with the event+-- integration.+eventIntegrationAssociation_clientId :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe Prelude.Text)+eventIntegrationAssociation_clientId = Lens.lens (\EventIntegrationAssociation' {clientId} -> clientId) (\s@EventIntegrationAssociation' {} a -> s {clientId = a} :: EventIntegrationAssociation)++-- | The name of the EventBridge rule.+eventIntegrationAssociation_eventBridgeRuleName :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe Prelude.Text)+eventIntegrationAssociation_eventBridgeRuleName = Lens.lens (\EventIntegrationAssociation' {eventBridgeRuleName} -> eventBridgeRuleName) (\s@EventIntegrationAssociation' {} a -> s {eventBridgeRuleName = a} :: EventIntegrationAssociation)++-- | The Amazon Resource Name (ARN) for the event integration association.+eventIntegrationAssociation_eventIntegrationAssociationArn :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe Prelude.Text)+eventIntegrationAssociation_eventIntegrationAssociationArn = Lens.lens (\EventIntegrationAssociation' {eventIntegrationAssociationArn} -> eventIntegrationAssociationArn) (\s@EventIntegrationAssociation' {} a -> s {eventIntegrationAssociationArn = a} :: EventIntegrationAssociation)++-- | The identifier for the event integration association.+eventIntegrationAssociation_eventIntegrationAssociationId :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe Prelude.Text)+eventIntegrationAssociation_eventIntegrationAssociationId = Lens.lens (\EventIntegrationAssociation' {eventIntegrationAssociationId} -> eventIntegrationAssociationId) (\s@EventIntegrationAssociation' {} a -> s {eventIntegrationAssociationId = a} :: EventIntegrationAssociation)++-- | The name of the event integration.+eventIntegrationAssociation_eventIntegrationName :: Lens.Lens' EventIntegrationAssociation (Prelude.Maybe Prelude.Text)+eventIntegrationAssociation_eventIntegrationName = Lens.lens (\EventIntegrationAssociation' {eventIntegrationName} -> eventIntegrationName) (\s@EventIntegrationAssociation' {} a -> s {eventIntegrationName = a} :: EventIntegrationAssociation)++instance Data.FromJSON EventIntegrationAssociation where+  parseJSON =+    Data.withObject+      "EventIntegrationAssociation"+      ( \x ->+          EventIntegrationAssociation'+            Prelude.<$> ( x+                            Data..:? "ClientAssociationMetadata"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ClientId")+            Prelude.<*> (x Data..:? "EventBridgeRuleName")+            Prelude.<*> (x Data..:? "EventIntegrationAssociationArn")+            Prelude.<*> (x Data..:? "EventIntegrationAssociationId")+            Prelude.<*> (x Data..:? "EventIntegrationName")+      )++instance Prelude.Hashable EventIntegrationAssociation where+  hashWithSalt _salt EventIntegrationAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` clientAssociationMetadata+      `Prelude.hashWithSalt` clientId+      `Prelude.hashWithSalt` eventBridgeRuleName+      `Prelude.hashWithSalt` eventIntegrationAssociationArn+      `Prelude.hashWithSalt` eventIntegrationAssociationId+      `Prelude.hashWithSalt` eventIntegrationName++instance Prelude.NFData EventIntegrationAssociation where+  rnf EventIntegrationAssociation' {..} =+    Prelude.rnf clientAssociationMetadata+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf eventBridgeRuleName+      `Prelude.seq` Prelude.rnf eventIntegrationAssociationArn+      `Prelude.seq` Prelude.rnf eventIntegrationAssociationId+      `Prelude.seq` Prelude.rnf eventIntegrationName
+ gen/Amazonka/AppIntegrationS/Types/ScheduleConfiguration.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.Types.ScheduleConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppIntegrationS.Types.ScheduleConfiguration 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 name of the data and how often it should be pulled from the source.+--+-- /See:/ 'newScheduleConfiguration' smart constructor.+data ScheduleConfiguration = ScheduleConfiguration'+  { -- | The start date for objects to import in the first flow run.+    firstExecutionFrom :: Prelude.Maybe Prelude.Text,+    -- | The name of the object to pull from the data source.+    object' :: Prelude.Maybe Prelude.Text,+    -- | How often the data should be pulled from data source.+    scheduleExpression :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScheduleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'firstExecutionFrom', 'scheduleConfiguration_firstExecutionFrom' - The start date for objects to import in the first flow run.+--+-- 'object'', 'scheduleConfiguration_object' - The name of the object to pull from the data source.+--+-- 'scheduleExpression', 'scheduleConfiguration_scheduleExpression' - How often the data should be pulled from data source.+newScheduleConfiguration ::+  ScheduleConfiguration+newScheduleConfiguration =+  ScheduleConfiguration'+    { firstExecutionFrom =+        Prelude.Nothing,+      object' = Prelude.Nothing,+      scheduleExpression = Prelude.Nothing+    }++-- | The start date for objects to import in the first flow run.+scheduleConfiguration_firstExecutionFrom :: Lens.Lens' ScheduleConfiguration (Prelude.Maybe Prelude.Text)+scheduleConfiguration_firstExecutionFrom = Lens.lens (\ScheduleConfiguration' {firstExecutionFrom} -> firstExecutionFrom) (\s@ScheduleConfiguration' {} a -> s {firstExecutionFrom = a} :: ScheduleConfiguration)++-- | The name of the object to pull from the data source.+scheduleConfiguration_object :: Lens.Lens' ScheduleConfiguration (Prelude.Maybe Prelude.Text)+scheduleConfiguration_object = Lens.lens (\ScheduleConfiguration' {object'} -> object') (\s@ScheduleConfiguration' {} a -> s {object' = a} :: ScheduleConfiguration)++-- | How often the data should be pulled from data source.+scheduleConfiguration_scheduleExpression :: Lens.Lens' ScheduleConfiguration (Prelude.Maybe Prelude.Text)+scheduleConfiguration_scheduleExpression = Lens.lens (\ScheduleConfiguration' {scheduleExpression} -> scheduleExpression) (\s@ScheduleConfiguration' {} a -> s {scheduleExpression = a} :: ScheduleConfiguration)++instance Data.FromJSON ScheduleConfiguration where+  parseJSON =+    Data.withObject+      "ScheduleConfiguration"+      ( \x ->+          ScheduleConfiguration'+            Prelude.<$> (x Data..:? "FirstExecutionFrom")+            Prelude.<*> (x Data..:? "Object")+            Prelude.<*> (x Data..:? "ScheduleExpression")+      )++instance Prelude.Hashable ScheduleConfiguration where+  hashWithSalt _salt ScheduleConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` firstExecutionFrom+      `Prelude.hashWithSalt` object'+      `Prelude.hashWithSalt` scheduleExpression++instance Prelude.NFData ScheduleConfiguration where+  rnf ScheduleConfiguration' {..} =+    Prelude.rnf firstExecutionFrom+      `Prelude.seq` Prelude.rnf object'+      `Prelude.seq` Prelude.rnf scheduleExpression++instance Data.ToJSON ScheduleConfiguration where+  toJSON ScheduleConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FirstExecutionFrom" Data..=)+              Prelude.<$> firstExecutionFrom,+            ("Object" Data..=) Prelude.<$> object',+            ("ScheduleExpression" Data..=)+              Prelude.<$> scheduleExpression+          ]+      )
+ gen/Amazonka/AppIntegrationS/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified tags from the specified resource.+module Amazonka.AppIntegrationS.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/UpdateDataIntegration.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppIntegrationS.UpdateDataIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the description of a DataIntegration.+--+-- You cannot create a DataIntegration association for a DataIntegration+-- that has been previously associated. Use a different DataIntegration, or+-- recreate the DataIntegration using the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- API.+module Amazonka.AppIntegrationS.UpdateDataIntegration+  ( -- * Creating a Request+    UpdateDataIntegration (..),+    newUpdateDataIntegration,++    -- * Request Lenses+    updateDataIntegration_description,+    updateDataIntegration_name,+    updateDataIntegration_identifier,++    -- * Destructuring the Response+    UpdateDataIntegrationResponse (..),+    newUpdateDataIntegrationResponse,++    -- * Response Lenses+    updateDataIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataIntegration' smart constructor.+data UpdateDataIntegration = UpdateDataIntegration'+  { -- | A description of the DataIntegration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the DataIntegration.+    name :: Prelude.Maybe Prelude.Text,+    -- | A unique identifier for the DataIntegration.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDataIntegration_description' - A description of the DataIntegration.+--+-- 'name', 'updateDataIntegration_name' - The name of the DataIntegration.+--+-- 'identifier', 'updateDataIntegration_identifier' - A unique identifier for the DataIntegration.+newUpdateDataIntegration ::+  -- | 'identifier'+  Prelude.Text ->+  UpdateDataIntegration+newUpdateDataIntegration pIdentifier_ =+  UpdateDataIntegration'+    { description =+        Prelude.Nothing,+      name = Prelude.Nothing,+      identifier = pIdentifier_+    }++-- | A description of the DataIntegration.+updateDataIntegration_description :: Lens.Lens' UpdateDataIntegration (Prelude.Maybe Prelude.Text)+updateDataIntegration_description = Lens.lens (\UpdateDataIntegration' {description} -> description) (\s@UpdateDataIntegration' {} a -> s {description = a} :: UpdateDataIntegration)++-- | The name of the DataIntegration.+updateDataIntegration_name :: Lens.Lens' UpdateDataIntegration (Prelude.Maybe Prelude.Text)+updateDataIntegration_name = Lens.lens (\UpdateDataIntegration' {name} -> name) (\s@UpdateDataIntegration' {} a -> s {name = a} :: UpdateDataIntegration)++-- | A unique identifier for the DataIntegration.+updateDataIntegration_identifier :: Lens.Lens' UpdateDataIntegration Prelude.Text+updateDataIntegration_identifier = Lens.lens (\UpdateDataIntegration' {identifier} -> identifier) (\s@UpdateDataIntegration' {} a -> s {identifier = a} :: UpdateDataIntegration)++instance Core.AWSRequest UpdateDataIntegration where+  type+    AWSResponse UpdateDataIntegration =+      UpdateDataIntegrationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateDataIntegrationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDataIntegration where+  hashWithSalt _salt UpdateDataIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` identifier++instance Prelude.NFData UpdateDataIntegration where+  rnf UpdateDataIntegration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf identifier++instance Data.ToHeaders UpdateDataIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDataIntegration where+  toJSON UpdateDataIntegration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateDataIntegration where+  toPath UpdateDataIntegration' {..} =+    Prelude.mconcat+      ["/dataIntegrations/", Data.toBS identifier]++instance Data.ToQuery UpdateDataIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataIntegrationResponse' smart constructor.+data UpdateDataIntegrationResponse = UpdateDataIntegrationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDataIntegrationResponse_httpStatus' - The response's http status code.+newUpdateDataIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDataIntegrationResponse+newUpdateDataIntegrationResponse pHttpStatus_ =+  UpdateDataIntegrationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateDataIntegrationResponse_httpStatus :: Lens.Lens' UpdateDataIntegrationResponse Prelude.Int+updateDataIntegrationResponse_httpStatus = Lens.lens (\UpdateDataIntegrationResponse' {httpStatus} -> httpStatus) (\s@UpdateDataIntegrationResponse' {} a -> s {httpStatus = a} :: UpdateDataIntegrationResponse)++instance Prelude.NFData UpdateDataIntegrationResponse where+  rnf UpdateDataIntegrationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/UpdateEventIntegration.hs view
@@ -0,0 +1,174 @@+{-# 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.AppIntegrationS.UpdateEventIntegration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the description of an event integration.+module Amazonka.AppIntegrationS.UpdateEventIntegration+  ( -- * Creating a Request+    UpdateEventIntegration (..),+    newUpdateEventIntegration,++    -- * Request Lenses+    updateEventIntegration_description,+    updateEventIntegration_name,++    -- * Destructuring the Response+    UpdateEventIntegrationResponse (..),+    newUpdateEventIntegrationResponse,++    -- * Response Lenses+    updateEventIntegrationResponse_httpStatus,+  )+where++import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateEventIntegration' smart constructor.+data UpdateEventIntegration = UpdateEventIntegration'+  { -- | The description of the event inegration.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the event integration.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEventIntegration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateEventIntegration_description' - The description of the event inegration.+--+-- 'name', 'updateEventIntegration_name' - The name of the event integration.+newUpdateEventIntegration ::+  -- | 'name'+  Prelude.Text ->+  UpdateEventIntegration+newUpdateEventIntegration pName_ =+  UpdateEventIntegration'+    { description =+        Prelude.Nothing,+      name = pName_+    }++-- | The description of the event inegration.+updateEventIntegration_description :: Lens.Lens' UpdateEventIntegration (Prelude.Maybe Prelude.Text)+updateEventIntegration_description = Lens.lens (\UpdateEventIntegration' {description} -> description) (\s@UpdateEventIntegration' {} a -> s {description = a} :: UpdateEventIntegration)++-- | The name of the event integration.+updateEventIntegration_name :: Lens.Lens' UpdateEventIntegration Prelude.Text+updateEventIntegration_name = Lens.lens (\UpdateEventIntegration' {name} -> name) (\s@UpdateEventIntegration' {} a -> s {name = a} :: UpdateEventIntegration)++instance Core.AWSRequest UpdateEventIntegration where+  type+    AWSResponse UpdateEventIntegration =+      UpdateEventIntegrationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateEventIntegrationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateEventIntegration where+  hashWithSalt _salt UpdateEventIntegration' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateEventIntegration where+  rnf UpdateEventIntegration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateEventIntegration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateEventIntegration where+  toJSON UpdateEventIntegration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateEventIntegration where+  toPath UpdateEventIntegration' {..} =+    Prelude.mconcat+      ["/eventIntegrations/", Data.toBS name]++instance Data.ToQuery UpdateEventIntegration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateEventIntegrationResponse' smart constructor.+data UpdateEventIntegrationResponse = UpdateEventIntegrationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEventIntegrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateEventIntegrationResponse_httpStatus' - The response's http status code.+newUpdateEventIntegrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateEventIntegrationResponse+newUpdateEventIntegrationResponse pHttpStatus_ =+  UpdateEventIntegrationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateEventIntegrationResponse_httpStatus :: Lens.Lens' UpdateEventIntegrationResponse Prelude.Int+updateEventIntegrationResponse_httpStatus = Lens.lens (\UpdateEventIntegrationResponse' {httpStatus} -> httpStatus) (\s@UpdateEventIntegrationResponse' {} a -> s {httpStatus = a} :: UpdateEventIntegrationResponse)++instance+  Prelude.NFData+    UpdateEventIntegrationResponse+  where+  rnf UpdateEventIntegrationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppIntegrationS/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.AppIntegrationS.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.AppIntegrationS.Waiters where++import Amazonka.AppIntegrationS.Lens+import Amazonka.AppIntegrationS.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.AppIntegrationS+import Test.Amazonka.AppIntegrationS.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "AppIntegrationS"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/AppIntegrationS.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.AppIntegrationS+-- Copyright   : (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.AppIntegrationS+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AppIntegrationS/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.AppIntegrationS.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.AppIntegrationS.Internal where
+ test/Test/Amazonka/Gen/AppIntegrationS.hs view
@@ -0,0 +1,338 @@+{-# 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.AppIntegrationS+-- Copyright   : (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.AppIntegrationS where++import Amazonka.AppIntegrationS+import qualified Data.Proxy as Proxy+import Test.Amazonka.AppIntegrationS.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateDataIntegration $+--             newCreateDataIntegration+--+--         , requestCreateEventIntegration $+--             newCreateEventIntegration+--+--         , requestDeleteDataIntegration $+--             newDeleteDataIntegration+--+--         , requestDeleteEventIntegration $+--             newDeleteEventIntegration+--+--         , requestGetDataIntegration $+--             newGetDataIntegration+--+--         , requestGetEventIntegration $+--             newGetEventIntegration+--+--         , requestListDataIntegrationAssociations $+--             newListDataIntegrationAssociations+--+--         , requestListDataIntegrations $+--             newListDataIntegrations+--+--         , requestListEventIntegrationAssociations $+--             newListEventIntegrationAssociations+--+--         , requestListEventIntegrations $+--             newListEventIntegrations+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateDataIntegration $+--             newUpdateDataIntegration+--+--         , requestUpdateEventIntegration $+--             newUpdateEventIntegration+--+--           ]++--     , testGroup "response"+--         [ responseCreateDataIntegration $+--             newCreateDataIntegrationResponse+--+--         , responseCreateEventIntegration $+--             newCreateEventIntegrationResponse+--+--         , responseDeleteDataIntegration $+--             newDeleteDataIntegrationResponse+--+--         , responseDeleteEventIntegration $+--             newDeleteEventIntegrationResponse+--+--         , responseGetDataIntegration $+--             newGetDataIntegrationResponse+--+--         , responseGetEventIntegration $+--             newGetEventIntegrationResponse+--+--         , responseListDataIntegrationAssociations $+--             newListDataIntegrationAssociationsResponse+--+--         , responseListDataIntegrations $+--             newListDataIntegrationsResponse+--+--         , responseListEventIntegrationAssociations $+--             newListEventIntegrationAssociationsResponse+--+--         , responseListEventIntegrations $+--             newListEventIntegrationsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateDataIntegration $+--             newUpdateDataIntegrationResponse+--+--         , responseUpdateEventIntegration $+--             newUpdateEventIntegrationResponse+--+--           ]+--     ]++-- Requests++requestCreateDataIntegration :: CreateDataIntegration -> TestTree+requestCreateDataIntegration =+  req+    "CreateDataIntegration"+    "fixture/CreateDataIntegration.yaml"++requestCreateEventIntegration :: CreateEventIntegration -> TestTree+requestCreateEventIntegration =+  req+    "CreateEventIntegration"+    "fixture/CreateEventIntegration.yaml"++requestDeleteDataIntegration :: DeleteDataIntegration -> TestTree+requestDeleteDataIntegration =+  req+    "DeleteDataIntegration"+    "fixture/DeleteDataIntegration.yaml"++requestDeleteEventIntegration :: DeleteEventIntegration -> TestTree+requestDeleteEventIntegration =+  req+    "DeleteEventIntegration"+    "fixture/DeleteEventIntegration.yaml"++requestGetDataIntegration :: GetDataIntegration -> TestTree+requestGetDataIntegration =+  req+    "GetDataIntegration"+    "fixture/GetDataIntegration.yaml"++requestGetEventIntegration :: GetEventIntegration -> TestTree+requestGetEventIntegration =+  req+    "GetEventIntegration"+    "fixture/GetEventIntegration.yaml"++requestListDataIntegrationAssociations :: ListDataIntegrationAssociations -> TestTree+requestListDataIntegrationAssociations =+  req+    "ListDataIntegrationAssociations"+    "fixture/ListDataIntegrationAssociations.yaml"++requestListDataIntegrations :: ListDataIntegrations -> TestTree+requestListDataIntegrations =+  req+    "ListDataIntegrations"+    "fixture/ListDataIntegrations.yaml"++requestListEventIntegrationAssociations :: ListEventIntegrationAssociations -> TestTree+requestListEventIntegrationAssociations =+  req+    "ListEventIntegrationAssociations"+    "fixture/ListEventIntegrationAssociations.yaml"++requestListEventIntegrations :: ListEventIntegrations -> TestTree+requestListEventIntegrations =+  req+    "ListEventIntegrations"+    "fixture/ListEventIntegrations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateDataIntegration :: UpdateDataIntegration -> TestTree+requestUpdateDataIntegration =+  req+    "UpdateDataIntegration"+    "fixture/UpdateDataIntegration.yaml"++requestUpdateEventIntegration :: UpdateEventIntegration -> TestTree+requestUpdateEventIntegration =+  req+    "UpdateEventIntegration"+    "fixture/UpdateEventIntegration.yaml"++-- Responses++responseCreateDataIntegration :: CreateDataIntegrationResponse -> TestTree+responseCreateDataIntegration =+  res+    "CreateDataIntegrationResponse"+    "fixture/CreateDataIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDataIntegration)++responseCreateEventIntegration :: CreateEventIntegrationResponse -> TestTree+responseCreateEventIntegration =+  res+    "CreateEventIntegrationResponse"+    "fixture/CreateEventIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateEventIntegration)++responseDeleteDataIntegration :: DeleteDataIntegrationResponse -> TestTree+responseDeleteDataIntegration =+  res+    "DeleteDataIntegrationResponse"+    "fixture/DeleteDataIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDataIntegration)++responseDeleteEventIntegration :: DeleteEventIntegrationResponse -> TestTree+responseDeleteEventIntegration =+  res+    "DeleteEventIntegrationResponse"+    "fixture/DeleteEventIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEventIntegration)++responseGetDataIntegration :: GetDataIntegrationResponse -> TestTree+responseGetDataIntegration =+  res+    "GetDataIntegrationResponse"+    "fixture/GetDataIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDataIntegration)++responseGetEventIntegration :: GetEventIntegrationResponse -> TestTree+responseGetEventIntegration =+  res+    "GetEventIntegrationResponse"+    "fixture/GetEventIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEventIntegration)++responseListDataIntegrationAssociations :: ListDataIntegrationAssociationsResponse -> TestTree+responseListDataIntegrationAssociations =+  res+    "ListDataIntegrationAssociationsResponse"+    "fixture/ListDataIntegrationAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDataIntegrationAssociations)++responseListDataIntegrations :: ListDataIntegrationsResponse -> TestTree+responseListDataIntegrations =+  res+    "ListDataIntegrationsResponse"+    "fixture/ListDataIntegrationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDataIntegrations)++responseListEventIntegrationAssociations :: ListEventIntegrationAssociationsResponse -> TestTree+responseListEventIntegrationAssociations =+  res+    "ListEventIntegrationAssociationsResponse"+    "fixture/ListEventIntegrationAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEventIntegrationAssociations)++responseListEventIntegrations :: ListEventIntegrationsResponse -> TestTree+responseListEventIntegrations =+  res+    "ListEventIntegrationsResponse"+    "fixture/ListEventIntegrationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEventIntegrations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDataIntegration :: UpdateDataIntegrationResponse -> TestTree+responseUpdateDataIntegration =+  res+    "UpdateDataIntegrationResponse"+    "fixture/UpdateDataIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDataIntegration)++responseUpdateEventIntegration :: UpdateEventIntegrationResponse -> TestTree+responseUpdateEventIntegration =+  res+    "UpdateEventIntegrationResponse"+    "fixture/UpdateEventIntegrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateEventIntegration)