packages feed

amazonka-appflow (empty) → 2.0

raw patch · 265 files changed

+32083/−0 lines, 265 filesdep +amazonka-appflowdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-appflow, 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 Appflow SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-08-23@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-appflow)+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.AppFlow](http://hackage.haskell.org/package/amazonka-appflow/docs/Amazonka-AppFlow.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-appflow` 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-appflow.cabal view
@@ -0,0 +1,290 @@+cabal-version:      2.2+name:               amazonka-appflow+version:            2.0+synopsis:           Amazon Appflow 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-08-23@ 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.AppFlow.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.AppFlow" 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-appflow++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.AppFlow+    Amazonka.AppFlow.CreateConnectorProfile+    Amazonka.AppFlow.CreateFlow+    Amazonka.AppFlow.DeleteConnectorProfile+    Amazonka.AppFlow.DeleteFlow+    Amazonka.AppFlow.DescribeConnector+    Amazonka.AppFlow.DescribeConnectorEntity+    Amazonka.AppFlow.DescribeConnectorProfiles+    Amazonka.AppFlow.DescribeConnectors+    Amazonka.AppFlow.DescribeFlow+    Amazonka.AppFlow.DescribeFlowExecutionRecords+    Amazonka.AppFlow.Lens+    Amazonka.AppFlow.ListConnectorEntities+    Amazonka.AppFlow.ListConnectors+    Amazonka.AppFlow.ListFlows+    Amazonka.AppFlow.ListTagsForResource+    Amazonka.AppFlow.RegisterConnector+    Amazonka.AppFlow.StartFlow+    Amazonka.AppFlow.StopFlow+    Amazonka.AppFlow.TagResource+    Amazonka.AppFlow.Types+    Amazonka.AppFlow.Types.AggregationConfig+    Amazonka.AppFlow.Types.AggregationType+    Amazonka.AppFlow.Types.AmplitudeConnectorOperator+    Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials+    Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties+    Amazonka.AppFlow.Types.AmplitudeMetadata+    Amazonka.AppFlow.Types.AmplitudeSourceProperties+    Amazonka.AppFlow.Types.ApiKeyCredentials+    Amazonka.AppFlow.Types.AuthenticationConfig+    Amazonka.AppFlow.Types.AuthenticationType+    Amazonka.AppFlow.Types.AuthParameter+    Amazonka.AppFlow.Types.BasicAuthCredentials+    Amazonka.AppFlow.Types.CatalogType+    Amazonka.AppFlow.Types.ConnectionMode+    Amazonka.AppFlow.Types.ConnectorConfiguration+    Amazonka.AppFlow.Types.ConnectorDetail+    Amazonka.AppFlow.Types.ConnectorEntity+    Amazonka.AppFlow.Types.ConnectorEntityField+    Amazonka.AppFlow.Types.ConnectorMetadata+    Amazonka.AppFlow.Types.ConnectorOAuthRequest+    Amazonka.AppFlow.Types.ConnectorOperator+    Amazonka.AppFlow.Types.ConnectorProfile+    Amazonka.AppFlow.Types.ConnectorProfileConfig+    Amazonka.AppFlow.Types.ConnectorProfileCredentials+    Amazonka.AppFlow.Types.ConnectorProfileProperties+    Amazonka.AppFlow.Types.ConnectorProvisioningConfig+    Amazonka.AppFlow.Types.ConnectorProvisioningType+    Amazonka.AppFlow.Types.ConnectorRuntimeSetting+    Amazonka.AppFlow.Types.ConnectorType+    Amazonka.AppFlow.Types.CustomAuthConfig+    Amazonka.AppFlow.Types.CustomAuthCredentials+    Amazonka.AppFlow.Types.CustomConnectorDestinationProperties+    Amazonka.AppFlow.Types.CustomConnectorProfileCredentials+    Amazonka.AppFlow.Types.CustomConnectorProfileProperties+    Amazonka.AppFlow.Types.CustomConnectorSourceProperties+    Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties+    Amazonka.AppFlow.Types.CustomerProfilesMetadata+    Amazonka.AppFlow.Types.DatadogConnectorOperator+    Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials+    Amazonka.AppFlow.Types.DatadogConnectorProfileProperties+    Amazonka.AppFlow.Types.DatadogMetadata+    Amazonka.AppFlow.Types.DatadogSourceProperties+    Amazonka.AppFlow.Types.DataPullMode+    Amazonka.AppFlow.Types.DestinationConnectorProperties+    Amazonka.AppFlow.Types.DestinationFieldProperties+    Amazonka.AppFlow.Types.DestinationFlowConfig+    Amazonka.AppFlow.Types.DynatraceConnectorOperator+    Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials+    Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties+    Amazonka.AppFlow.Types.DynatraceMetadata+    Amazonka.AppFlow.Types.DynatraceSourceProperties+    Amazonka.AppFlow.Types.ErrorHandlingConfig+    Amazonka.AppFlow.Types.ErrorInfo+    Amazonka.AppFlow.Types.EventBridgeDestinationProperties+    Amazonka.AppFlow.Types.EventBridgeMetadata+    Amazonka.AppFlow.Types.ExecutionDetails+    Amazonka.AppFlow.Types.ExecutionRecord+    Amazonka.AppFlow.Types.ExecutionResult+    Amazonka.AppFlow.Types.ExecutionStatus+    Amazonka.AppFlow.Types.FieldTypeDetails+    Amazonka.AppFlow.Types.FileType+    Amazonka.AppFlow.Types.FlowDefinition+    Amazonka.AppFlow.Types.FlowStatus+    Amazonka.AppFlow.Types.GlueDataCatalogConfig+    Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator+    Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials+    Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties+    Amazonka.AppFlow.Types.GoogleAnalyticsMetadata+    Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties+    Amazonka.AppFlow.Types.HoneycodeConnectorProfileCredentials+    Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties+    Amazonka.AppFlow.Types.HoneycodeDestinationProperties+    Amazonka.AppFlow.Types.HoneycodeMetadata+    Amazonka.AppFlow.Types.IncrementalPullConfig+    Amazonka.AppFlow.Types.InforNexusConnectorOperator+    Amazonka.AppFlow.Types.InforNexusConnectorProfileCredentials+    Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties+    Amazonka.AppFlow.Types.InforNexusMetadata+    Amazonka.AppFlow.Types.InforNexusSourceProperties+    Amazonka.AppFlow.Types.LambdaConnectorProvisioningConfig+    Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties+    Amazonka.AppFlow.Types.MarketoConnectorOperator+    Amazonka.AppFlow.Types.MarketoConnectorProfileCredentials+    Amazonka.AppFlow.Types.MarketoConnectorProfileProperties+    Amazonka.AppFlow.Types.MarketoDestinationProperties+    Amazonka.AppFlow.Types.MarketoMetadata+    Amazonka.AppFlow.Types.MarketoSourceProperties+    Amazonka.AppFlow.Types.MetadataCatalogConfig+    Amazonka.AppFlow.Types.MetadataCatalogDetail+    Amazonka.AppFlow.Types.OAuth2Credentials+    Amazonka.AppFlow.Types.OAuth2CustomParameter+    Amazonka.AppFlow.Types.OAuth2CustomPropType+    Amazonka.AppFlow.Types.OAuth2Defaults+    Amazonka.AppFlow.Types.OAuth2GrantType+    Amazonka.AppFlow.Types.OAuth2Properties+    Amazonka.AppFlow.Types.OAuthCredentials+    Amazonka.AppFlow.Types.OAuthProperties+    Amazonka.AppFlow.Types.Operator+    Amazonka.AppFlow.Types.OperatorPropertiesKeys+    Amazonka.AppFlow.Types.Operators+    Amazonka.AppFlow.Types.PathPrefix+    Amazonka.AppFlow.Types.PrefixConfig+    Amazonka.AppFlow.Types.PrefixFormat+    Amazonka.AppFlow.Types.PrefixType+    Amazonka.AppFlow.Types.PrivateConnectionProvisioningFailureCause+    Amazonka.AppFlow.Types.PrivateConnectionProvisioningState+    Amazonka.AppFlow.Types.PrivateConnectionProvisioningStatus+    Amazonka.AppFlow.Types.Range+    Amazonka.AppFlow.Types.RedshiftConnectorProfileCredentials+    Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties+    Amazonka.AppFlow.Types.RedshiftDestinationProperties+    Amazonka.AppFlow.Types.RedshiftMetadata+    Amazonka.AppFlow.Types.RegistrationOutput+    Amazonka.AppFlow.Types.S3ConnectorOperator+    Amazonka.AppFlow.Types.S3DestinationProperties+    Amazonka.AppFlow.Types.S3InputFileType+    Amazonka.AppFlow.Types.S3InputFormatConfig+    Amazonka.AppFlow.Types.S3Metadata+    Amazonka.AppFlow.Types.S3OutputFormatConfig+    Amazonka.AppFlow.Types.S3SourceProperties+    Amazonka.AppFlow.Types.SalesforceConnectorOperator+    Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials+    Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties+    Amazonka.AppFlow.Types.SalesforceDataTransferApi+    Amazonka.AppFlow.Types.SalesforceDestinationProperties+    Amazonka.AppFlow.Types.SalesforceMetadata+    Amazonka.AppFlow.Types.SalesforceSourceProperties+    Amazonka.AppFlow.Types.SAPODataConnectorOperator+    Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials+    Amazonka.AppFlow.Types.SAPODataConnectorProfileProperties+    Amazonka.AppFlow.Types.SAPODataDestinationProperties+    Amazonka.AppFlow.Types.SAPODataMetadata+    Amazonka.AppFlow.Types.SAPODataSourceProperties+    Amazonka.AppFlow.Types.ScheduledTriggerProperties+    Amazonka.AppFlow.Types.ScheduleFrequencyType+    Amazonka.AppFlow.Types.ServiceNowConnectorOperator+    Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials+    Amazonka.AppFlow.Types.ServiceNowConnectorProfileProperties+    Amazonka.AppFlow.Types.ServiceNowMetadata+    Amazonka.AppFlow.Types.ServiceNowSourceProperties+    Amazonka.AppFlow.Types.SingularConnectorOperator+    Amazonka.AppFlow.Types.SingularConnectorProfileCredentials+    Amazonka.AppFlow.Types.SingularConnectorProfileProperties+    Amazonka.AppFlow.Types.SingularMetadata+    Amazonka.AppFlow.Types.SingularSourceProperties+    Amazonka.AppFlow.Types.SlackConnectorOperator+    Amazonka.AppFlow.Types.SlackConnectorProfileCredentials+    Amazonka.AppFlow.Types.SlackConnectorProfileProperties+    Amazonka.AppFlow.Types.SlackMetadata+    Amazonka.AppFlow.Types.SlackSourceProperties+    Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials+    Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties+    Amazonka.AppFlow.Types.SnowflakeDestinationProperties+    Amazonka.AppFlow.Types.SnowflakeMetadata+    Amazonka.AppFlow.Types.SourceConnectorProperties+    Amazonka.AppFlow.Types.SourceFieldProperties+    Amazonka.AppFlow.Types.SourceFlowConfig+    Amazonka.AppFlow.Types.SuccessResponseHandlingConfig+    Amazonka.AppFlow.Types.SupportedFieldTypeDetails+    Amazonka.AppFlow.Types.Task+    Amazonka.AppFlow.Types.TaskType+    Amazonka.AppFlow.Types.TrendmicroConnectorOperator+    Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials+    Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties+    Amazonka.AppFlow.Types.TrendmicroMetadata+    Amazonka.AppFlow.Types.TrendmicroSourceProperties+    Amazonka.AppFlow.Types.TriggerConfig+    Amazonka.AppFlow.Types.TriggerProperties+    Amazonka.AppFlow.Types.TriggerType+    Amazonka.AppFlow.Types.UpsolverDestinationProperties+    Amazonka.AppFlow.Types.UpsolverMetadata+    Amazonka.AppFlow.Types.UpsolverS3OutputFormatConfig+    Amazonka.AppFlow.Types.VeevaConnectorOperator+    Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials+    Amazonka.AppFlow.Types.VeevaConnectorProfileProperties+    Amazonka.AppFlow.Types.VeevaMetadata+    Amazonka.AppFlow.Types.VeevaSourceProperties+    Amazonka.AppFlow.Types.WriteOperationType+    Amazonka.AppFlow.Types.ZendeskConnectorOperator+    Amazonka.AppFlow.Types.ZendeskConnectorProfileCredentials+    Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties+    Amazonka.AppFlow.Types.ZendeskDestinationProperties+    Amazonka.AppFlow.Types.ZendeskMetadata+    Amazonka.AppFlow.Types.ZendeskSourceProperties+    Amazonka.AppFlow.UnregisterConnector+    Amazonka.AppFlow.UntagResource+    Amazonka.AppFlow.UpdateConnectorProfile+    Amazonka.AppFlow.UpdateConnectorRegistration+    Amazonka.AppFlow.UpdateFlow+    Amazonka.AppFlow.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-appflow-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.AppFlow+    Test.Amazonka.AppFlow.Internal+    Test.Amazonka.Gen.AppFlow++  build-depends:+    , amazonka-appflow+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateConnectorProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/CreateConnectorProfileResponse.proto view
+ fixture/CreateFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/CreateFlowResponse.proto view
+ fixture/DeleteConnectorProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DeleteConnectorProfileResponse.proto view
+ fixture/DeleteFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DeleteFlowResponse.proto view
+ fixture/DescribeConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeConnectorEntity.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeConnectorEntityResponse.proto view
+ fixture/DescribeConnectorProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeConnectorProfilesResponse.proto view
+ fixture/DescribeConnectorResponse.proto view
+ fixture/DescribeConnectors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeConnectorsResponse.proto view
+ fixture/DescribeFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeFlowExecutionRecords.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/DescribeFlowExecutionRecordsResponse.proto view
+ fixture/DescribeFlowResponse.proto view
+ fixture/ListConnectorEntities.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/ListConnectorEntitiesResponse.proto view
+ fixture/ListConnectors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListConnectorsResponse.proto view
+ fixture/ListFlows.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/ListFlowsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/RegisterConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/RegisterConnectorResponse.proto view
+ fixture/StartFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/StartFlowResponse.proto view
+ fixture/StopFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/StopFlowResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UnregisterConnector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UnregisterConnectorResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UpdateConnectorProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UpdateConnectorProfileResponse.proto view
+ fixture/UpdateConnectorRegistration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UpdateConnectorRegistrationResponse.proto view
+ fixture/UpdateFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appflow/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  appflow.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/UpdateFlowResponse.proto view
+ gen/Amazonka/AppFlow.hs view
@@ -0,0 +1,979 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.AppFlow+-- 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-08-23@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Welcome to the Amazon AppFlow API reference. This guide is for+-- developers who need detailed information about the Amazon AppFlow API+-- operations, data types, and errors.+--+-- Amazon AppFlow is a fully managed integration service that enables you+-- to securely transfer data between software as a service (SaaS)+-- applications like Salesforce, Marketo, Slack, and ServiceNow, and Amazon+-- Web Services like Amazon S3 and Amazon Redshift.+--+-- Use the following links to get started on the Amazon AppFlow API:+--+-- -   <https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Operations.html Actions>:+--     An alphabetical list of all Amazon AppFlow API operations.+--+-- -   <https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Types.html Data types>:+--     An alphabetical list of all Amazon AppFlow data types.+--+-- -   <https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonParameters.html Common parameters>:+--     Parameters that all Query operations can use.+--+-- -   <https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonErrors.html Common errors>:+--     Client and server errors that all operations can return.+--+-- If you\'re new to Amazon AppFlow, we recommend that you review the+-- <https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html Amazon AppFlow User Guide>.+--+-- Amazon AppFlow API users can use vendor-specific mechanisms for OAuth,+-- and include applicable OAuth attributes (such as @auth-code@ and+-- @redirecturi@) with the connector-specific @ConnectorProfileProperties@+-- when creating a new connector profile using Amazon AppFlow API+-- operations. For example, Salesforce users can refer to the+-- <https://help.salesforce.com/articleView?id=remoteaccess_authenticate.htm Authorize Apps with OAuth>+-- documentation.+module Amazonka.AppFlow+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** ConnectorAuthenticationException+    _ConnectorAuthenticationException,++    -- ** ConnectorServerException+    _ConnectorServerException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** UnsupportedOperationException+    _UnsupportedOperationException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateConnectorProfile+    CreateConnectorProfile (CreateConnectorProfile'),+    newCreateConnectorProfile,+    CreateConnectorProfileResponse (CreateConnectorProfileResponse'),+    newCreateConnectorProfileResponse,++    -- ** CreateFlow+    CreateFlow (CreateFlow'),+    newCreateFlow,+    CreateFlowResponse (CreateFlowResponse'),+    newCreateFlowResponse,++    -- ** DeleteConnectorProfile+    DeleteConnectorProfile (DeleteConnectorProfile'),+    newDeleteConnectorProfile,+    DeleteConnectorProfileResponse (DeleteConnectorProfileResponse'),+    newDeleteConnectorProfileResponse,++    -- ** DeleteFlow+    DeleteFlow (DeleteFlow'),+    newDeleteFlow,+    DeleteFlowResponse (DeleteFlowResponse'),+    newDeleteFlowResponse,++    -- ** DescribeConnector+    DescribeConnector (DescribeConnector'),+    newDescribeConnector,+    DescribeConnectorResponse (DescribeConnectorResponse'),+    newDescribeConnectorResponse,++    -- ** DescribeConnectorEntity+    DescribeConnectorEntity (DescribeConnectorEntity'),+    newDescribeConnectorEntity,+    DescribeConnectorEntityResponse (DescribeConnectorEntityResponse'),+    newDescribeConnectorEntityResponse,++    -- ** DescribeConnectorProfiles+    DescribeConnectorProfiles (DescribeConnectorProfiles'),+    newDescribeConnectorProfiles,+    DescribeConnectorProfilesResponse (DescribeConnectorProfilesResponse'),+    newDescribeConnectorProfilesResponse,++    -- ** DescribeConnectors+    DescribeConnectors (DescribeConnectors'),+    newDescribeConnectors,+    DescribeConnectorsResponse (DescribeConnectorsResponse'),+    newDescribeConnectorsResponse,++    -- ** DescribeFlow+    DescribeFlow (DescribeFlow'),+    newDescribeFlow,+    DescribeFlowResponse (DescribeFlowResponse'),+    newDescribeFlowResponse,++    -- ** DescribeFlowExecutionRecords+    DescribeFlowExecutionRecords (DescribeFlowExecutionRecords'),+    newDescribeFlowExecutionRecords,+    DescribeFlowExecutionRecordsResponse (DescribeFlowExecutionRecordsResponse'),+    newDescribeFlowExecutionRecordsResponse,++    -- ** ListConnectorEntities+    ListConnectorEntities (ListConnectorEntities'),+    newListConnectorEntities,+    ListConnectorEntitiesResponse (ListConnectorEntitiesResponse'),+    newListConnectorEntitiesResponse,++    -- ** ListConnectors+    ListConnectors (ListConnectors'),+    newListConnectors,+    ListConnectorsResponse (ListConnectorsResponse'),+    newListConnectorsResponse,++    -- ** ListFlows+    ListFlows (ListFlows'),+    newListFlows,+    ListFlowsResponse (ListFlowsResponse'),+    newListFlowsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** RegisterConnector+    RegisterConnector (RegisterConnector'),+    newRegisterConnector,+    RegisterConnectorResponse (RegisterConnectorResponse'),+    newRegisterConnectorResponse,++    -- ** StartFlow+    StartFlow (StartFlow'),+    newStartFlow,+    StartFlowResponse (StartFlowResponse'),+    newStartFlowResponse,++    -- ** StopFlow+    StopFlow (StopFlow'),+    newStopFlow,+    StopFlowResponse (StopFlowResponse'),+    newStopFlowResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UnregisterConnector+    UnregisterConnector (UnregisterConnector'),+    newUnregisterConnector,+    UnregisterConnectorResponse (UnregisterConnectorResponse'),+    newUnregisterConnectorResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateConnectorProfile+    UpdateConnectorProfile (UpdateConnectorProfile'),+    newUpdateConnectorProfile,+    UpdateConnectorProfileResponse (UpdateConnectorProfileResponse'),+    newUpdateConnectorProfileResponse,++    -- ** UpdateConnectorRegistration+    UpdateConnectorRegistration (UpdateConnectorRegistration'),+    newUpdateConnectorRegistration,+    UpdateConnectorRegistrationResponse (UpdateConnectorRegistrationResponse'),+    newUpdateConnectorRegistrationResponse,++    -- ** UpdateFlow+    UpdateFlow (UpdateFlow'),+    newUpdateFlow,+    UpdateFlowResponse (UpdateFlowResponse'),+    newUpdateFlowResponse,++    -- * Types++    -- ** AggregationType+    AggregationType (..),++    -- ** AmplitudeConnectorOperator+    AmplitudeConnectorOperator (..),++    -- ** AuthenticationType+    AuthenticationType (..),++    -- ** CatalogType+    CatalogType (..),++    -- ** ConnectionMode+    ConnectionMode (..),++    -- ** ConnectorProvisioningType+    ConnectorProvisioningType (..),++    -- ** ConnectorType+    ConnectorType (..),++    -- ** DataPullMode+    DataPullMode (..),++    -- ** DatadogConnectorOperator+    DatadogConnectorOperator (..),++    -- ** DynatraceConnectorOperator+    DynatraceConnectorOperator (..),++    -- ** ExecutionStatus+    ExecutionStatus (..),++    -- ** FileType+    FileType (..),++    -- ** FlowStatus+    FlowStatus (..),++    -- ** GoogleAnalyticsConnectorOperator+    GoogleAnalyticsConnectorOperator (..),++    -- ** InforNexusConnectorOperator+    InforNexusConnectorOperator (..),++    -- ** MarketoConnectorOperator+    MarketoConnectorOperator (..),++    -- ** OAuth2CustomPropType+    OAuth2CustomPropType (..),++    -- ** OAuth2GrantType+    OAuth2GrantType (..),++    -- ** Operator+    Operator (..),++    -- ** OperatorPropertiesKeys+    OperatorPropertiesKeys (..),++    -- ** Operators+    Operators (..),++    -- ** PathPrefix+    PathPrefix (..),++    -- ** PrefixFormat+    PrefixFormat (..),++    -- ** PrefixType+    PrefixType (..),++    -- ** PrivateConnectionProvisioningFailureCause+    PrivateConnectionProvisioningFailureCause (..),++    -- ** PrivateConnectionProvisioningStatus+    PrivateConnectionProvisioningStatus (..),++    -- ** S3ConnectorOperator+    S3ConnectorOperator (..),++    -- ** S3InputFileType+    S3InputFileType (..),++    -- ** SAPODataConnectorOperator+    SAPODataConnectorOperator (..),++    -- ** SalesforceConnectorOperator+    SalesforceConnectorOperator (..),++    -- ** SalesforceDataTransferApi+    SalesforceDataTransferApi (..),++    -- ** ScheduleFrequencyType+    ScheduleFrequencyType (..),++    -- ** ServiceNowConnectorOperator+    ServiceNowConnectorOperator (..),++    -- ** SingularConnectorOperator+    SingularConnectorOperator (..),++    -- ** SlackConnectorOperator+    SlackConnectorOperator (..),++    -- ** TaskType+    TaskType (..),++    -- ** TrendmicroConnectorOperator+    TrendmicroConnectorOperator (..),++    -- ** TriggerType+    TriggerType (..),++    -- ** VeevaConnectorOperator+    VeevaConnectorOperator (..),++    -- ** WriteOperationType+    WriteOperationType (..),++    -- ** ZendeskConnectorOperator+    ZendeskConnectorOperator (..),++    -- ** AggregationConfig+    AggregationConfig (AggregationConfig'),+    newAggregationConfig,++    -- ** AmplitudeConnectorProfileCredentials+    AmplitudeConnectorProfileCredentials (AmplitudeConnectorProfileCredentials'),+    newAmplitudeConnectorProfileCredentials,++    -- ** AmplitudeConnectorProfileProperties+    AmplitudeConnectorProfileProperties (AmplitudeConnectorProfileProperties'),+    newAmplitudeConnectorProfileProperties,++    -- ** AmplitudeMetadata+    AmplitudeMetadata (AmplitudeMetadata'),+    newAmplitudeMetadata,++    -- ** AmplitudeSourceProperties+    AmplitudeSourceProperties (AmplitudeSourceProperties'),+    newAmplitudeSourceProperties,++    -- ** ApiKeyCredentials+    ApiKeyCredentials (ApiKeyCredentials'),+    newApiKeyCredentials,++    -- ** AuthParameter+    AuthParameter (AuthParameter'),+    newAuthParameter,++    -- ** AuthenticationConfig+    AuthenticationConfig (AuthenticationConfig'),+    newAuthenticationConfig,++    -- ** BasicAuthCredentials+    BasicAuthCredentials (BasicAuthCredentials'),+    newBasicAuthCredentials,++    -- ** ConnectorConfiguration+    ConnectorConfiguration (ConnectorConfiguration'),+    newConnectorConfiguration,++    -- ** ConnectorDetail+    ConnectorDetail (ConnectorDetail'),+    newConnectorDetail,++    -- ** ConnectorEntity+    ConnectorEntity (ConnectorEntity'),+    newConnectorEntity,++    -- ** ConnectorEntityField+    ConnectorEntityField (ConnectorEntityField'),+    newConnectorEntityField,++    -- ** ConnectorMetadata+    ConnectorMetadata (ConnectorMetadata'),+    newConnectorMetadata,++    -- ** ConnectorOAuthRequest+    ConnectorOAuthRequest (ConnectorOAuthRequest'),+    newConnectorOAuthRequest,++    -- ** ConnectorOperator+    ConnectorOperator (ConnectorOperator'),+    newConnectorOperator,++    -- ** ConnectorProfile+    ConnectorProfile (ConnectorProfile'),+    newConnectorProfile,++    -- ** ConnectorProfileConfig+    ConnectorProfileConfig (ConnectorProfileConfig'),+    newConnectorProfileConfig,++    -- ** ConnectorProfileCredentials+    ConnectorProfileCredentials (ConnectorProfileCredentials'),+    newConnectorProfileCredentials,++    -- ** ConnectorProfileProperties+    ConnectorProfileProperties (ConnectorProfileProperties'),+    newConnectorProfileProperties,++    -- ** ConnectorProvisioningConfig+    ConnectorProvisioningConfig (ConnectorProvisioningConfig'),+    newConnectorProvisioningConfig,++    -- ** ConnectorRuntimeSetting+    ConnectorRuntimeSetting (ConnectorRuntimeSetting'),+    newConnectorRuntimeSetting,++    -- ** CustomAuthConfig+    CustomAuthConfig (CustomAuthConfig'),+    newCustomAuthConfig,++    -- ** CustomAuthCredentials+    CustomAuthCredentials (CustomAuthCredentials'),+    newCustomAuthCredentials,++    -- ** CustomConnectorDestinationProperties+    CustomConnectorDestinationProperties (CustomConnectorDestinationProperties'),+    newCustomConnectorDestinationProperties,++    -- ** CustomConnectorProfileCredentials+    CustomConnectorProfileCredentials (CustomConnectorProfileCredentials'),+    newCustomConnectorProfileCredentials,++    -- ** CustomConnectorProfileProperties+    CustomConnectorProfileProperties (CustomConnectorProfileProperties'),+    newCustomConnectorProfileProperties,++    -- ** CustomConnectorSourceProperties+    CustomConnectorSourceProperties (CustomConnectorSourceProperties'),+    newCustomConnectorSourceProperties,++    -- ** CustomerProfilesDestinationProperties+    CustomerProfilesDestinationProperties (CustomerProfilesDestinationProperties'),+    newCustomerProfilesDestinationProperties,++    -- ** CustomerProfilesMetadata+    CustomerProfilesMetadata (CustomerProfilesMetadata'),+    newCustomerProfilesMetadata,++    -- ** DatadogConnectorProfileCredentials+    DatadogConnectorProfileCredentials (DatadogConnectorProfileCredentials'),+    newDatadogConnectorProfileCredentials,++    -- ** DatadogConnectorProfileProperties+    DatadogConnectorProfileProperties (DatadogConnectorProfileProperties'),+    newDatadogConnectorProfileProperties,++    -- ** DatadogMetadata+    DatadogMetadata (DatadogMetadata'),+    newDatadogMetadata,++    -- ** DatadogSourceProperties+    DatadogSourceProperties (DatadogSourceProperties'),+    newDatadogSourceProperties,++    -- ** DestinationConnectorProperties+    DestinationConnectorProperties (DestinationConnectorProperties'),+    newDestinationConnectorProperties,++    -- ** DestinationFieldProperties+    DestinationFieldProperties (DestinationFieldProperties'),+    newDestinationFieldProperties,++    -- ** DestinationFlowConfig+    DestinationFlowConfig (DestinationFlowConfig'),+    newDestinationFlowConfig,++    -- ** DynatraceConnectorProfileCredentials+    DynatraceConnectorProfileCredentials (DynatraceConnectorProfileCredentials'),+    newDynatraceConnectorProfileCredentials,++    -- ** DynatraceConnectorProfileProperties+    DynatraceConnectorProfileProperties (DynatraceConnectorProfileProperties'),+    newDynatraceConnectorProfileProperties,++    -- ** DynatraceMetadata+    DynatraceMetadata (DynatraceMetadata'),+    newDynatraceMetadata,++    -- ** DynatraceSourceProperties+    DynatraceSourceProperties (DynatraceSourceProperties'),+    newDynatraceSourceProperties,++    -- ** ErrorHandlingConfig+    ErrorHandlingConfig (ErrorHandlingConfig'),+    newErrorHandlingConfig,++    -- ** ErrorInfo+    ErrorInfo (ErrorInfo'),+    newErrorInfo,++    -- ** EventBridgeDestinationProperties+    EventBridgeDestinationProperties (EventBridgeDestinationProperties'),+    newEventBridgeDestinationProperties,++    -- ** EventBridgeMetadata+    EventBridgeMetadata (EventBridgeMetadata'),+    newEventBridgeMetadata,++    -- ** ExecutionDetails+    ExecutionDetails (ExecutionDetails'),+    newExecutionDetails,++    -- ** ExecutionRecord+    ExecutionRecord (ExecutionRecord'),+    newExecutionRecord,++    -- ** ExecutionResult+    ExecutionResult (ExecutionResult'),+    newExecutionResult,++    -- ** FieldTypeDetails+    FieldTypeDetails (FieldTypeDetails'),+    newFieldTypeDetails,++    -- ** FlowDefinition+    FlowDefinition (FlowDefinition'),+    newFlowDefinition,++    -- ** GlueDataCatalogConfig+    GlueDataCatalogConfig (GlueDataCatalogConfig'),+    newGlueDataCatalogConfig,++    -- ** GoogleAnalyticsConnectorProfileCredentials+    GoogleAnalyticsConnectorProfileCredentials (GoogleAnalyticsConnectorProfileCredentials'),+    newGoogleAnalyticsConnectorProfileCredentials,++    -- ** GoogleAnalyticsConnectorProfileProperties+    GoogleAnalyticsConnectorProfileProperties (GoogleAnalyticsConnectorProfileProperties'),+    newGoogleAnalyticsConnectorProfileProperties,++    -- ** GoogleAnalyticsMetadata+    GoogleAnalyticsMetadata (GoogleAnalyticsMetadata'),+    newGoogleAnalyticsMetadata,++    -- ** GoogleAnalyticsSourceProperties+    GoogleAnalyticsSourceProperties (GoogleAnalyticsSourceProperties'),+    newGoogleAnalyticsSourceProperties,++    -- ** HoneycodeConnectorProfileCredentials+    HoneycodeConnectorProfileCredentials (HoneycodeConnectorProfileCredentials'),+    newHoneycodeConnectorProfileCredentials,++    -- ** HoneycodeConnectorProfileProperties+    HoneycodeConnectorProfileProperties (HoneycodeConnectorProfileProperties'),+    newHoneycodeConnectorProfileProperties,++    -- ** HoneycodeDestinationProperties+    HoneycodeDestinationProperties (HoneycodeDestinationProperties'),+    newHoneycodeDestinationProperties,++    -- ** HoneycodeMetadata+    HoneycodeMetadata (HoneycodeMetadata'),+    newHoneycodeMetadata,++    -- ** IncrementalPullConfig+    IncrementalPullConfig (IncrementalPullConfig'),+    newIncrementalPullConfig,++    -- ** InforNexusConnectorProfileCredentials+    InforNexusConnectorProfileCredentials (InforNexusConnectorProfileCredentials'),+    newInforNexusConnectorProfileCredentials,++    -- ** InforNexusConnectorProfileProperties+    InforNexusConnectorProfileProperties (InforNexusConnectorProfileProperties'),+    newInforNexusConnectorProfileProperties,++    -- ** InforNexusMetadata+    InforNexusMetadata (InforNexusMetadata'),+    newInforNexusMetadata,++    -- ** InforNexusSourceProperties+    InforNexusSourceProperties (InforNexusSourceProperties'),+    newInforNexusSourceProperties,++    -- ** LambdaConnectorProvisioningConfig+    LambdaConnectorProvisioningConfig (LambdaConnectorProvisioningConfig'),+    newLambdaConnectorProvisioningConfig,++    -- ** LookoutMetricsDestinationProperties+    LookoutMetricsDestinationProperties (LookoutMetricsDestinationProperties'),+    newLookoutMetricsDestinationProperties,++    -- ** MarketoConnectorProfileCredentials+    MarketoConnectorProfileCredentials (MarketoConnectorProfileCredentials'),+    newMarketoConnectorProfileCredentials,++    -- ** MarketoConnectorProfileProperties+    MarketoConnectorProfileProperties (MarketoConnectorProfileProperties'),+    newMarketoConnectorProfileProperties,++    -- ** MarketoDestinationProperties+    MarketoDestinationProperties (MarketoDestinationProperties'),+    newMarketoDestinationProperties,++    -- ** MarketoMetadata+    MarketoMetadata (MarketoMetadata'),+    newMarketoMetadata,++    -- ** MarketoSourceProperties+    MarketoSourceProperties (MarketoSourceProperties'),+    newMarketoSourceProperties,++    -- ** MetadataCatalogConfig+    MetadataCatalogConfig (MetadataCatalogConfig'),+    newMetadataCatalogConfig,++    -- ** MetadataCatalogDetail+    MetadataCatalogDetail (MetadataCatalogDetail'),+    newMetadataCatalogDetail,++    -- ** OAuth2Credentials+    OAuth2Credentials (OAuth2Credentials'),+    newOAuth2Credentials,++    -- ** OAuth2CustomParameter+    OAuth2CustomParameter (OAuth2CustomParameter'),+    newOAuth2CustomParameter,++    -- ** OAuth2Defaults+    OAuth2Defaults (OAuth2Defaults'),+    newOAuth2Defaults,++    -- ** OAuth2Properties+    OAuth2Properties (OAuth2Properties'),+    newOAuth2Properties,++    -- ** OAuthCredentials+    OAuthCredentials (OAuthCredentials'),+    newOAuthCredentials,++    -- ** OAuthProperties+    OAuthProperties (OAuthProperties'),+    newOAuthProperties,++    -- ** PrefixConfig+    PrefixConfig (PrefixConfig'),+    newPrefixConfig,++    -- ** PrivateConnectionProvisioningState+    PrivateConnectionProvisioningState (PrivateConnectionProvisioningState'),+    newPrivateConnectionProvisioningState,++    -- ** Range+    Range (Range'),+    newRange,++    -- ** RedshiftConnectorProfileCredentials+    RedshiftConnectorProfileCredentials (RedshiftConnectorProfileCredentials'),+    newRedshiftConnectorProfileCredentials,++    -- ** RedshiftConnectorProfileProperties+    RedshiftConnectorProfileProperties (RedshiftConnectorProfileProperties'),+    newRedshiftConnectorProfileProperties,++    -- ** RedshiftDestinationProperties+    RedshiftDestinationProperties (RedshiftDestinationProperties'),+    newRedshiftDestinationProperties,++    -- ** RedshiftMetadata+    RedshiftMetadata (RedshiftMetadata'),+    newRedshiftMetadata,++    -- ** RegistrationOutput+    RegistrationOutput (RegistrationOutput'),+    newRegistrationOutput,++    -- ** S3DestinationProperties+    S3DestinationProperties (S3DestinationProperties'),+    newS3DestinationProperties,++    -- ** S3InputFormatConfig+    S3InputFormatConfig (S3InputFormatConfig'),+    newS3InputFormatConfig,++    -- ** S3Metadata+    S3Metadata (S3Metadata'),+    newS3Metadata,++    -- ** S3OutputFormatConfig+    S3OutputFormatConfig (S3OutputFormatConfig'),+    newS3OutputFormatConfig,++    -- ** S3SourceProperties+    S3SourceProperties (S3SourceProperties'),+    newS3SourceProperties,++    -- ** SAPODataConnectorProfileCredentials+    SAPODataConnectorProfileCredentials (SAPODataConnectorProfileCredentials'),+    newSAPODataConnectorProfileCredentials,++    -- ** SAPODataConnectorProfileProperties+    SAPODataConnectorProfileProperties (SAPODataConnectorProfileProperties'),+    newSAPODataConnectorProfileProperties,++    -- ** SAPODataDestinationProperties+    SAPODataDestinationProperties (SAPODataDestinationProperties'),+    newSAPODataDestinationProperties,++    -- ** SAPODataMetadata+    SAPODataMetadata (SAPODataMetadata'),+    newSAPODataMetadata,++    -- ** SAPODataSourceProperties+    SAPODataSourceProperties (SAPODataSourceProperties'),+    newSAPODataSourceProperties,++    -- ** SalesforceConnectorProfileCredentials+    SalesforceConnectorProfileCredentials (SalesforceConnectorProfileCredentials'),+    newSalesforceConnectorProfileCredentials,++    -- ** SalesforceConnectorProfileProperties+    SalesforceConnectorProfileProperties (SalesforceConnectorProfileProperties'),+    newSalesforceConnectorProfileProperties,++    -- ** SalesforceDestinationProperties+    SalesforceDestinationProperties (SalesforceDestinationProperties'),+    newSalesforceDestinationProperties,++    -- ** SalesforceMetadata+    SalesforceMetadata (SalesforceMetadata'),+    newSalesforceMetadata,++    -- ** SalesforceSourceProperties+    SalesforceSourceProperties (SalesforceSourceProperties'),+    newSalesforceSourceProperties,++    -- ** ScheduledTriggerProperties+    ScheduledTriggerProperties (ScheduledTriggerProperties'),+    newScheduledTriggerProperties,++    -- ** ServiceNowConnectorProfileCredentials+    ServiceNowConnectorProfileCredentials (ServiceNowConnectorProfileCredentials'),+    newServiceNowConnectorProfileCredentials,++    -- ** ServiceNowConnectorProfileProperties+    ServiceNowConnectorProfileProperties (ServiceNowConnectorProfileProperties'),+    newServiceNowConnectorProfileProperties,++    -- ** ServiceNowMetadata+    ServiceNowMetadata (ServiceNowMetadata'),+    newServiceNowMetadata,++    -- ** ServiceNowSourceProperties+    ServiceNowSourceProperties (ServiceNowSourceProperties'),+    newServiceNowSourceProperties,++    -- ** SingularConnectorProfileCredentials+    SingularConnectorProfileCredentials (SingularConnectorProfileCredentials'),+    newSingularConnectorProfileCredentials,++    -- ** SingularConnectorProfileProperties+    SingularConnectorProfileProperties (SingularConnectorProfileProperties'),+    newSingularConnectorProfileProperties,++    -- ** SingularMetadata+    SingularMetadata (SingularMetadata'),+    newSingularMetadata,++    -- ** SingularSourceProperties+    SingularSourceProperties (SingularSourceProperties'),+    newSingularSourceProperties,++    -- ** SlackConnectorProfileCredentials+    SlackConnectorProfileCredentials (SlackConnectorProfileCredentials'),+    newSlackConnectorProfileCredentials,++    -- ** SlackConnectorProfileProperties+    SlackConnectorProfileProperties (SlackConnectorProfileProperties'),+    newSlackConnectorProfileProperties,++    -- ** SlackMetadata+    SlackMetadata (SlackMetadata'),+    newSlackMetadata,++    -- ** SlackSourceProperties+    SlackSourceProperties (SlackSourceProperties'),+    newSlackSourceProperties,++    -- ** SnowflakeConnectorProfileCredentials+    SnowflakeConnectorProfileCredentials (SnowflakeConnectorProfileCredentials'),+    newSnowflakeConnectorProfileCredentials,++    -- ** SnowflakeConnectorProfileProperties+    SnowflakeConnectorProfileProperties (SnowflakeConnectorProfileProperties'),+    newSnowflakeConnectorProfileProperties,++    -- ** SnowflakeDestinationProperties+    SnowflakeDestinationProperties (SnowflakeDestinationProperties'),+    newSnowflakeDestinationProperties,++    -- ** SnowflakeMetadata+    SnowflakeMetadata (SnowflakeMetadata'),+    newSnowflakeMetadata,++    -- ** SourceConnectorProperties+    SourceConnectorProperties (SourceConnectorProperties'),+    newSourceConnectorProperties,++    -- ** SourceFieldProperties+    SourceFieldProperties (SourceFieldProperties'),+    newSourceFieldProperties,++    -- ** SourceFlowConfig+    SourceFlowConfig (SourceFlowConfig'),+    newSourceFlowConfig,++    -- ** SuccessResponseHandlingConfig+    SuccessResponseHandlingConfig (SuccessResponseHandlingConfig'),+    newSuccessResponseHandlingConfig,++    -- ** SupportedFieldTypeDetails+    SupportedFieldTypeDetails (SupportedFieldTypeDetails'),+    newSupportedFieldTypeDetails,++    -- ** Task+    Task (Task'),+    newTask,++    -- ** TrendmicroConnectorProfileCredentials+    TrendmicroConnectorProfileCredentials (TrendmicroConnectorProfileCredentials'),+    newTrendmicroConnectorProfileCredentials,++    -- ** TrendmicroConnectorProfileProperties+    TrendmicroConnectorProfileProperties (TrendmicroConnectorProfileProperties'),+    newTrendmicroConnectorProfileProperties,++    -- ** TrendmicroMetadata+    TrendmicroMetadata (TrendmicroMetadata'),+    newTrendmicroMetadata,++    -- ** TrendmicroSourceProperties+    TrendmicroSourceProperties (TrendmicroSourceProperties'),+    newTrendmicroSourceProperties,++    -- ** TriggerConfig+    TriggerConfig (TriggerConfig'),+    newTriggerConfig,++    -- ** TriggerProperties+    TriggerProperties (TriggerProperties'),+    newTriggerProperties,++    -- ** UpsolverDestinationProperties+    UpsolverDestinationProperties (UpsolverDestinationProperties'),+    newUpsolverDestinationProperties,++    -- ** UpsolverMetadata+    UpsolverMetadata (UpsolverMetadata'),+    newUpsolverMetadata,++    -- ** UpsolverS3OutputFormatConfig+    UpsolverS3OutputFormatConfig (UpsolverS3OutputFormatConfig'),+    newUpsolverS3OutputFormatConfig,++    -- ** VeevaConnectorProfileCredentials+    VeevaConnectorProfileCredentials (VeevaConnectorProfileCredentials'),+    newVeevaConnectorProfileCredentials,++    -- ** VeevaConnectorProfileProperties+    VeevaConnectorProfileProperties (VeevaConnectorProfileProperties'),+    newVeevaConnectorProfileProperties,++    -- ** VeevaMetadata+    VeevaMetadata (VeevaMetadata'),+    newVeevaMetadata,++    -- ** VeevaSourceProperties+    VeevaSourceProperties (VeevaSourceProperties'),+    newVeevaSourceProperties,++    -- ** ZendeskConnectorProfileCredentials+    ZendeskConnectorProfileCredentials (ZendeskConnectorProfileCredentials'),+    newZendeskConnectorProfileCredentials,++    -- ** ZendeskConnectorProfileProperties+    ZendeskConnectorProfileProperties (ZendeskConnectorProfileProperties'),+    newZendeskConnectorProfileProperties,++    -- ** ZendeskDestinationProperties+    ZendeskDestinationProperties (ZendeskDestinationProperties'),+    newZendeskDestinationProperties,++    -- ** ZendeskMetadata+    ZendeskMetadata (ZendeskMetadata'),+    newZendeskMetadata,++    -- ** ZendeskSourceProperties+    ZendeskSourceProperties (ZendeskSourceProperties'),+    newZendeskSourceProperties,+  )+where++import Amazonka.AppFlow.CreateConnectorProfile+import Amazonka.AppFlow.CreateFlow+import Amazonka.AppFlow.DeleteConnectorProfile+import Amazonka.AppFlow.DeleteFlow+import Amazonka.AppFlow.DescribeConnector+import Amazonka.AppFlow.DescribeConnectorEntity+import Amazonka.AppFlow.DescribeConnectorProfiles+import Amazonka.AppFlow.DescribeConnectors+import Amazonka.AppFlow.DescribeFlow+import Amazonka.AppFlow.DescribeFlowExecutionRecords+import Amazonka.AppFlow.Lens+import Amazonka.AppFlow.ListConnectorEntities+import Amazonka.AppFlow.ListConnectors+import Amazonka.AppFlow.ListFlows+import Amazonka.AppFlow.ListTagsForResource+import Amazonka.AppFlow.RegisterConnector+import Amazonka.AppFlow.StartFlow+import Amazonka.AppFlow.StopFlow+import Amazonka.AppFlow.TagResource+import Amazonka.AppFlow.Types+import Amazonka.AppFlow.UnregisterConnector+import Amazonka.AppFlow.UntagResource+import Amazonka.AppFlow.UpdateConnectorProfile+import Amazonka.AppFlow.UpdateConnectorRegistration+import Amazonka.AppFlow.UpdateFlow+import Amazonka.AppFlow.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 'AppFlow'.++-- $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/AppFlow/CreateConnectorProfile.hs view
@@ -0,0 +1,289 @@+{-# 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.AppFlow.CreateConnectorProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new connector profile associated with your Amazon Web Services+-- account. There is a soft quota of 100 connector profiles per Amazon Web+-- Services account. If you need more connector profiles than this quota+-- allows, you can submit a request to the Amazon AppFlow team through the+-- Amazon AppFlow support channel. In each connector profile that you+-- create, you can provide the credentials and properties for only one+-- connector.+module Amazonka.AppFlow.CreateConnectorProfile+  ( -- * Creating a Request+    CreateConnectorProfile (..),+    newCreateConnectorProfile,++    -- * Request Lenses+    createConnectorProfile_connectorLabel,+    createConnectorProfile_kmsArn,+    createConnectorProfile_connectorProfileName,+    createConnectorProfile_connectorType,+    createConnectorProfile_connectionMode,+    createConnectorProfile_connectorProfileConfig,++    -- * Destructuring the Response+    CreateConnectorProfileResponse (..),+    newCreateConnectorProfileResponse,++    -- * Response Lenses+    createConnectorProfileResponse_connectorProfileArn,+    createConnectorProfileResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newCreateConnectorProfile' smart constructor.+data CreateConnectorProfile = CreateConnectorProfile'+  { -- | The label of the connector. The label is unique for each+    -- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+    -- if calling for CUSTOMCONNECTOR connector type\/.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+    -- you provide for encryption. This is required if you do not want to use+    -- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+    -- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+    kmsArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in your Amazon Web Services account.+    connectorProfileName :: Prelude.Text,+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: ConnectorType,+    -- | Indicates the connection mode and specifies whether it is public or+    -- private. Private flows use Amazon Web Services PrivateLink to route data+    -- over Amazon Web Services infrastructure without exposing it to the+    -- public internet.+    connectionMode :: ConnectionMode,+    -- | Defines the connector-specific configuration and credentials.+    connectorProfileConfig :: ConnectorProfileConfig+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectorProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorLabel', 'createConnectorProfile_connectorLabel' - The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+--+-- 'kmsArn', 'createConnectorProfile_kmsArn' - The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+--+-- 'connectorProfileName', 'createConnectorProfile_connectorProfileName' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in your Amazon Web Services account.+--+-- 'connectorType', 'createConnectorProfile_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'connectionMode', 'createConnectorProfile_connectionMode' - Indicates the connection mode and specifies whether it is public or+-- private. Private flows use Amazon Web Services PrivateLink to route data+-- over Amazon Web Services infrastructure without exposing it to the+-- public internet.+--+-- 'connectorProfileConfig', 'createConnectorProfile_connectorProfileConfig' - Defines the connector-specific configuration and credentials.+newCreateConnectorProfile ::+  -- | 'connectorProfileName'+  Prelude.Text ->+  -- | 'connectorType'+  ConnectorType ->+  -- | 'connectionMode'+  ConnectionMode ->+  -- | 'connectorProfileConfig'+  ConnectorProfileConfig ->+  CreateConnectorProfile+newCreateConnectorProfile+  pConnectorProfileName_+  pConnectorType_+  pConnectionMode_+  pConnectorProfileConfig_ =+    CreateConnectorProfile'+      { connectorLabel =+          Prelude.Nothing,+        kmsArn = Prelude.Nothing,+        connectorProfileName = pConnectorProfileName_,+        connectorType = pConnectorType_,+        connectionMode = pConnectionMode_,+        connectorProfileConfig = pConnectorProfileConfig_+      }++-- | The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+createConnectorProfile_connectorLabel :: Lens.Lens' CreateConnectorProfile (Prelude.Maybe Prelude.Text)+createConnectorProfile_connectorLabel = Lens.lens (\CreateConnectorProfile' {connectorLabel} -> connectorLabel) (\s@CreateConnectorProfile' {} a -> s {connectorLabel = a} :: CreateConnectorProfile)++-- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+createConnectorProfile_kmsArn :: Lens.Lens' CreateConnectorProfile (Prelude.Maybe Prelude.Text)+createConnectorProfile_kmsArn = Lens.lens (\CreateConnectorProfile' {kmsArn} -> kmsArn) (\s@CreateConnectorProfile' {} a -> s {kmsArn = a} :: CreateConnectorProfile)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in your Amazon Web Services account.+createConnectorProfile_connectorProfileName :: Lens.Lens' CreateConnectorProfile Prelude.Text+createConnectorProfile_connectorProfileName = Lens.lens (\CreateConnectorProfile' {connectorProfileName} -> connectorProfileName) (\s@CreateConnectorProfile' {} a -> s {connectorProfileName = a} :: CreateConnectorProfile)++-- | The type of connector, such as Salesforce, Amplitude, and so on.+createConnectorProfile_connectorType :: Lens.Lens' CreateConnectorProfile ConnectorType+createConnectorProfile_connectorType = Lens.lens (\CreateConnectorProfile' {connectorType} -> connectorType) (\s@CreateConnectorProfile' {} a -> s {connectorType = a} :: CreateConnectorProfile)++-- | Indicates the connection mode and specifies whether it is public or+-- private. Private flows use Amazon Web Services PrivateLink to route data+-- over Amazon Web Services infrastructure without exposing it to the+-- public internet.+createConnectorProfile_connectionMode :: Lens.Lens' CreateConnectorProfile ConnectionMode+createConnectorProfile_connectionMode = Lens.lens (\CreateConnectorProfile' {connectionMode} -> connectionMode) (\s@CreateConnectorProfile' {} a -> s {connectionMode = a} :: CreateConnectorProfile)++-- | Defines the connector-specific configuration and credentials.+createConnectorProfile_connectorProfileConfig :: Lens.Lens' CreateConnectorProfile ConnectorProfileConfig+createConnectorProfile_connectorProfileConfig = Lens.lens (\CreateConnectorProfile' {connectorProfileConfig} -> connectorProfileConfig) (\s@CreateConnectorProfile' {} a -> s {connectorProfileConfig = a} :: CreateConnectorProfile)++instance Core.AWSRequest CreateConnectorProfile where+  type+    AWSResponse CreateConnectorProfile =+      CreateConnectorProfileResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectorProfileResponse'+            Prelude.<$> (x Data..?> "connectorProfileArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateConnectorProfile where+  hashWithSalt _salt CreateConnectorProfile' {..} =+    _salt+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` kmsArn+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` connectionMode+      `Prelude.hashWithSalt` connectorProfileConfig++instance Prelude.NFData CreateConnectorProfile where+  rnf CreateConnectorProfile' {..} =+    Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf kmsArn+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf connectionMode+      `Prelude.seq` Prelude.rnf connectorProfileConfig++instance Data.ToHeaders CreateConnectorProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnectorProfile where+  toJSON CreateConnectorProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorLabel" Data..=)+              Prelude.<$> connectorLabel,+            ("kmsArn" Data..=) Prelude.<$> kmsArn,+            Prelude.Just+              ( "connectorProfileName"+                  Data..= connectorProfileName+              ),+            Prelude.Just ("connectorType" Data..= connectorType),+            Prelude.Just+              ("connectionMode" Data..= connectionMode),+            Prelude.Just+              ( "connectorProfileConfig"+                  Data..= connectorProfileConfig+              )+          ]+      )++instance Data.ToPath CreateConnectorProfile where+  toPath = Prelude.const "/create-connector-profile"++instance Data.ToQuery CreateConnectorProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectorProfileResponse' smart constructor.+data CreateConnectorProfileResponse = CreateConnectorProfileResponse'+  { -- | The Amazon Resource Name (ARN) of the connector profile.+    connectorProfileArn :: 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 'CreateConnectorProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProfileArn', 'createConnectorProfileResponse_connectorProfileArn' - The Amazon Resource Name (ARN) of the connector profile.+--+-- 'httpStatus', 'createConnectorProfileResponse_httpStatus' - The response's http status code.+newCreateConnectorProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateConnectorProfileResponse+newCreateConnectorProfileResponse pHttpStatus_ =+  CreateConnectorProfileResponse'+    { connectorProfileArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the connector profile.+createConnectorProfileResponse_connectorProfileArn :: Lens.Lens' CreateConnectorProfileResponse (Prelude.Maybe Prelude.Text)+createConnectorProfileResponse_connectorProfileArn = Lens.lens (\CreateConnectorProfileResponse' {connectorProfileArn} -> connectorProfileArn) (\s@CreateConnectorProfileResponse' {} a -> s {connectorProfileArn = a} :: CreateConnectorProfileResponse)++-- | The response's http status code.+createConnectorProfileResponse_httpStatus :: Lens.Lens' CreateConnectorProfileResponse Prelude.Int+createConnectorProfileResponse_httpStatus = Lens.lens (\CreateConnectorProfileResponse' {httpStatus} -> httpStatus) (\s@CreateConnectorProfileResponse' {} a -> s {httpStatus = a} :: CreateConnectorProfileResponse)++instance+  Prelude.NFData+    CreateConnectorProfileResponse+  where+  rnf CreateConnectorProfileResponse' {..} =+    Prelude.rnf connectorProfileArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/CreateFlow.hs view
@@ -0,0 +1,326 @@+{-# 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.AppFlow.CreateFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables your application to create a new flow using Amazon AppFlow. You+-- must create a connector profile before calling this API. Please note+-- that the Request Syntax below shows syntax for multiple destinations,+-- however, you can only transfer data to one item in this list at a time.+-- Amazon AppFlow does not currently support flows to multiple destinations+-- at once.+module Amazonka.AppFlow.CreateFlow+  ( -- * Creating a Request+    CreateFlow (..),+    newCreateFlow,++    -- * Request Lenses+    createFlow_description,+    createFlow_kmsArn,+    createFlow_metadataCatalogConfig,+    createFlow_tags,+    createFlow_flowName,+    createFlow_triggerConfig,+    createFlow_sourceFlowConfig,+    createFlow_destinationFlowConfigList,+    createFlow_tasks,++    -- * Destructuring the Response+    CreateFlowResponse (..),+    newCreateFlowResponse,++    -- * Response Lenses+    createFlowResponse_flowArn,+    createFlowResponse_flowStatus,+    createFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newCreateFlow' smart constructor.+data CreateFlow = CreateFlow'+  { -- | A description of the flow you want to create.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+    -- you provide for encryption. This is required if you do not want to use+    -- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+    -- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+    kmsArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies the configuration that Amazon AppFlow uses when it catalogs+    -- the data that\'s transferred by the associated flow. When Amazon AppFlow+    -- catalogs the data from a flow, it stores metadata in a data catalog.+    metadataCatalogConfig :: Prelude.Maybe MetadataCatalogConfig,+    -- | The tags used to organize, track, or control access for your flow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text,+    -- | The trigger settings that determine how and when the flow runs.+    triggerConfig :: TriggerConfig,+    -- | The configuration that controls how Amazon AppFlow retrieves data from+    -- the source connector.+    sourceFlowConfig :: SourceFlowConfig,+    -- | The configuration that controls how Amazon AppFlow places data in the+    -- destination connector.+    destinationFlowConfigList :: [DestinationFlowConfig],+    -- | A list of tasks that Amazon AppFlow performs while transferring the data+    -- in the flow run.+    tasks :: [Task]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFlow_description' - A description of the flow you want to create.+--+-- 'kmsArn', 'createFlow_kmsArn' - The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+--+-- 'metadataCatalogConfig', 'createFlow_metadataCatalogConfig' - Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+--+-- 'tags', 'createFlow_tags' - The tags used to organize, track, or control access for your flow.+--+-- 'flowName', 'createFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+--+-- 'triggerConfig', 'createFlow_triggerConfig' - The trigger settings that determine how and when the flow runs.+--+-- 'sourceFlowConfig', 'createFlow_sourceFlowConfig' - The configuration that controls how Amazon AppFlow retrieves data from+-- the source connector.+--+-- 'destinationFlowConfigList', 'createFlow_destinationFlowConfigList' - The configuration that controls how Amazon AppFlow places data in the+-- destination connector.+--+-- 'tasks', 'createFlow_tasks' - A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+newCreateFlow ::+  -- | 'flowName'+  Prelude.Text ->+  -- | 'triggerConfig'+  TriggerConfig ->+  -- | 'sourceFlowConfig'+  SourceFlowConfig ->+  CreateFlow+newCreateFlow+  pFlowName_+  pTriggerConfig_+  pSourceFlowConfig_ =+    CreateFlow'+      { description = Prelude.Nothing,+        kmsArn = Prelude.Nothing,+        metadataCatalogConfig = Prelude.Nothing,+        tags = Prelude.Nothing,+        flowName = pFlowName_,+        triggerConfig = pTriggerConfig_,+        sourceFlowConfig = pSourceFlowConfig_,+        destinationFlowConfigList = Prelude.mempty,+        tasks = Prelude.mempty+      }++-- | A description of the flow you want to create.+createFlow_description :: Lens.Lens' CreateFlow (Prelude.Maybe Prelude.Text)+createFlow_description = Lens.lens (\CreateFlow' {description} -> description) (\s@CreateFlow' {} a -> s {description = a} :: CreateFlow)++-- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+createFlow_kmsArn :: Lens.Lens' CreateFlow (Prelude.Maybe Prelude.Text)+createFlow_kmsArn = Lens.lens (\CreateFlow' {kmsArn} -> kmsArn) (\s@CreateFlow' {} a -> s {kmsArn = a} :: CreateFlow)++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+createFlow_metadataCatalogConfig :: Lens.Lens' CreateFlow (Prelude.Maybe MetadataCatalogConfig)+createFlow_metadataCatalogConfig = Lens.lens (\CreateFlow' {metadataCatalogConfig} -> metadataCatalogConfig) (\s@CreateFlow' {} a -> s {metadataCatalogConfig = a} :: CreateFlow)++-- | The tags used to organize, track, or control access for your flow.+createFlow_tags :: Lens.Lens' CreateFlow (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createFlow_tags = Lens.lens (\CreateFlow' {tags} -> tags) (\s@CreateFlow' {} a -> s {tags = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+createFlow_flowName :: Lens.Lens' CreateFlow Prelude.Text+createFlow_flowName = Lens.lens (\CreateFlow' {flowName} -> flowName) (\s@CreateFlow' {} a -> s {flowName = a} :: CreateFlow)++-- | The trigger settings that determine how and when the flow runs.+createFlow_triggerConfig :: Lens.Lens' CreateFlow TriggerConfig+createFlow_triggerConfig = Lens.lens (\CreateFlow' {triggerConfig} -> triggerConfig) (\s@CreateFlow' {} a -> s {triggerConfig = a} :: CreateFlow)++-- | The configuration that controls how Amazon AppFlow retrieves data from+-- the source connector.+createFlow_sourceFlowConfig :: Lens.Lens' CreateFlow SourceFlowConfig+createFlow_sourceFlowConfig = Lens.lens (\CreateFlow' {sourceFlowConfig} -> sourceFlowConfig) (\s@CreateFlow' {} a -> s {sourceFlowConfig = a} :: CreateFlow)++-- | The configuration that controls how Amazon AppFlow places data in the+-- destination connector.+createFlow_destinationFlowConfigList :: Lens.Lens' CreateFlow [DestinationFlowConfig]+createFlow_destinationFlowConfigList = Lens.lens (\CreateFlow' {destinationFlowConfigList} -> destinationFlowConfigList) (\s@CreateFlow' {} a -> s {destinationFlowConfigList = a} :: CreateFlow) Prelude.. Lens.coerced++-- | A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+createFlow_tasks :: Lens.Lens' CreateFlow [Task]+createFlow_tasks = Lens.lens (\CreateFlow' {tasks} -> tasks) (\s@CreateFlow' {} a -> s {tasks = a} :: CreateFlow) Prelude.. Lens.coerced++instance Core.AWSRequest CreateFlow where+  type AWSResponse CreateFlow = CreateFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateFlowResponse'+            Prelude.<$> (x Data..?> "flowArn")+            Prelude.<*> (x Data..?> "flowStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateFlow where+  hashWithSalt _salt CreateFlow' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` kmsArn+      `Prelude.hashWithSalt` metadataCatalogConfig+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` flowName+      `Prelude.hashWithSalt` triggerConfig+      `Prelude.hashWithSalt` sourceFlowConfig+      `Prelude.hashWithSalt` destinationFlowConfigList+      `Prelude.hashWithSalt` tasks++instance Prelude.NFData CreateFlow where+  rnf CreateFlow' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf kmsArn+      `Prelude.seq` Prelude.rnf metadataCatalogConfig+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf flowName+      `Prelude.seq` Prelude.rnf triggerConfig+      `Prelude.seq` Prelude.rnf sourceFlowConfig+      `Prelude.seq` Prelude.rnf destinationFlowConfigList+      `Prelude.seq` Prelude.rnf tasks++instance Data.ToHeaders CreateFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateFlow where+  toJSON CreateFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("kmsArn" Data..=) Prelude.<$> kmsArn,+            ("metadataCatalogConfig" Data..=)+              Prelude.<$> metadataCatalogConfig,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("flowName" Data..= flowName),+            Prelude.Just ("triggerConfig" Data..= triggerConfig),+            Prelude.Just+              ("sourceFlowConfig" Data..= sourceFlowConfig),+            Prelude.Just+              ( "destinationFlowConfigList"+                  Data..= destinationFlowConfigList+              ),+            Prelude.Just ("tasks" Data..= tasks)+          ]+      )++instance Data.ToPath CreateFlow where+  toPath = Prelude.const "/create-flow"++instance Data.ToQuery CreateFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFlowResponse' smart constructor.+data CreateFlowResponse = CreateFlowResponse'+  { -- | The flow\'s Amazon Resource Name (ARN).+    flowArn :: Prelude.Maybe Prelude.Text,+    -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'createFlowResponse_flowArn' - The flow\'s Amazon Resource Name (ARN).+--+-- 'flowStatus', 'createFlowResponse_flowStatus' - Indicates the current status of the flow.+--+-- 'httpStatus', 'createFlowResponse_httpStatus' - The response's http status code.+newCreateFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateFlowResponse+newCreateFlowResponse pHttpStatus_ =+  CreateFlowResponse'+    { flowArn = Prelude.Nothing,+      flowStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The flow\'s Amazon Resource Name (ARN).+createFlowResponse_flowArn :: Lens.Lens' CreateFlowResponse (Prelude.Maybe Prelude.Text)+createFlowResponse_flowArn = Lens.lens (\CreateFlowResponse' {flowArn} -> flowArn) (\s@CreateFlowResponse' {} a -> s {flowArn = a} :: CreateFlowResponse)++-- | Indicates the current status of the flow.+createFlowResponse_flowStatus :: Lens.Lens' CreateFlowResponse (Prelude.Maybe FlowStatus)+createFlowResponse_flowStatus = Lens.lens (\CreateFlowResponse' {flowStatus} -> flowStatus) (\s@CreateFlowResponse' {} a -> s {flowStatus = a} :: CreateFlowResponse)++-- | The response's http status code.+createFlowResponse_httpStatus :: Lens.Lens' CreateFlowResponse Prelude.Int+createFlowResponse_httpStatus = Lens.lens (\CreateFlowResponse' {httpStatus} -> httpStatus) (\s@CreateFlowResponse' {} a -> s {httpStatus = a} :: CreateFlowResponse)++instance Prelude.NFData CreateFlowResponse where+  rnf CreateFlowResponse' {..} =+    Prelude.rnf flowArn+      `Prelude.seq` Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DeleteConnectorProfile.hs view
@@ -0,0 +1,183 @@+{-# 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.AppFlow.DeleteConnectorProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables you to delete an existing connector profile.+module Amazonka.AppFlow.DeleteConnectorProfile+  ( -- * Creating a Request+    DeleteConnectorProfile (..),+    newDeleteConnectorProfile,++    -- * Request Lenses+    deleteConnectorProfile_forceDelete,+    deleteConnectorProfile_connectorProfileName,++    -- * Destructuring the Response+    DeleteConnectorProfileResponse (..),+    newDeleteConnectorProfileResponse,++    -- * Response Lenses+    deleteConnectorProfileResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDeleteConnectorProfile' smart constructor.+data DeleteConnectorProfile = DeleteConnectorProfile'+  { -- | Indicates whether Amazon AppFlow should delete the profile, even if it+    -- is currently in use in one or more flows.+    forceDelete :: Prelude.Maybe Prelude.Bool,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in your account.+    connectorProfileName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectorProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceDelete', 'deleteConnectorProfile_forceDelete' - Indicates whether Amazon AppFlow should delete the profile, even if it+-- is currently in use in one or more flows.+--+-- 'connectorProfileName', 'deleteConnectorProfile_connectorProfileName' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in your account.+newDeleteConnectorProfile ::+  -- | 'connectorProfileName'+  Prelude.Text ->+  DeleteConnectorProfile+newDeleteConnectorProfile pConnectorProfileName_ =+  DeleteConnectorProfile'+    { forceDelete =+        Prelude.Nothing,+      connectorProfileName = pConnectorProfileName_+    }++-- | Indicates whether Amazon AppFlow should delete the profile, even if it+-- is currently in use in one or more flows.+deleteConnectorProfile_forceDelete :: Lens.Lens' DeleteConnectorProfile (Prelude.Maybe Prelude.Bool)+deleteConnectorProfile_forceDelete = Lens.lens (\DeleteConnectorProfile' {forceDelete} -> forceDelete) (\s@DeleteConnectorProfile' {} a -> s {forceDelete = a} :: DeleteConnectorProfile)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in your account.+deleteConnectorProfile_connectorProfileName :: Lens.Lens' DeleteConnectorProfile Prelude.Text+deleteConnectorProfile_connectorProfileName = Lens.lens (\DeleteConnectorProfile' {connectorProfileName} -> connectorProfileName) (\s@DeleteConnectorProfile' {} a -> s {connectorProfileName = a} :: DeleteConnectorProfile)++instance Core.AWSRequest DeleteConnectorProfile where+  type+    AWSResponse DeleteConnectorProfile =+      DeleteConnectorProfileResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteConnectorProfileResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteConnectorProfile where+  hashWithSalt _salt DeleteConnectorProfile' {..} =+    _salt+      `Prelude.hashWithSalt` forceDelete+      `Prelude.hashWithSalt` connectorProfileName++instance Prelude.NFData DeleteConnectorProfile where+  rnf DeleteConnectorProfile' {..} =+    Prelude.rnf forceDelete+      `Prelude.seq` Prelude.rnf connectorProfileName++instance Data.ToHeaders DeleteConnectorProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteConnectorProfile where+  toJSON DeleteConnectorProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("forceDelete" Data..=) Prelude.<$> forceDelete,+            Prelude.Just+              ( "connectorProfileName"+                  Data..= connectorProfileName+              )+          ]+      )++instance Data.ToPath DeleteConnectorProfile where+  toPath = Prelude.const "/delete-connector-profile"++instance Data.ToQuery DeleteConnectorProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConnectorProfileResponse' smart constructor.+data DeleteConnectorProfileResponse = DeleteConnectorProfileResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectorProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteConnectorProfileResponse_httpStatus' - The response's http status code.+newDeleteConnectorProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteConnectorProfileResponse+newDeleteConnectorProfileResponse pHttpStatus_ =+  DeleteConnectorProfileResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteConnectorProfileResponse_httpStatus :: Lens.Lens' DeleteConnectorProfileResponse Prelude.Int+deleteConnectorProfileResponse_httpStatus = Lens.lens (\DeleteConnectorProfileResponse' {httpStatus} -> httpStatus) (\s@DeleteConnectorProfileResponse' {} a -> s {httpStatus = a} :: DeleteConnectorProfileResponse)++instance+  Prelude.NFData+    DeleteConnectorProfileResponse+  where+  rnf DeleteConnectorProfileResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DeleteFlow.hs view
@@ -0,0 +1,172 @@+{-# 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.AppFlow.DeleteFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables your application to delete an existing flow. Before deleting the+-- flow, Amazon AppFlow validates the request by checking the flow+-- configuration and status. You can delete flows one at a time.+module Amazonka.AppFlow.DeleteFlow+  ( -- * Creating a Request+    DeleteFlow (..),+    newDeleteFlow,++    -- * Request Lenses+    deleteFlow_forceDelete,+    deleteFlow_flowName,++    -- * Destructuring the Response+    DeleteFlowResponse (..),+    newDeleteFlowResponse,++    -- * Response Lenses+    deleteFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDeleteFlow' smart constructor.+data DeleteFlow = DeleteFlow'+  { -- | Indicates whether Amazon AppFlow should delete the flow, even if it is+    -- currently in use.+    forceDelete :: Prelude.Maybe Prelude.Bool,+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceDelete', 'deleteFlow_forceDelete' - Indicates whether Amazon AppFlow should delete the flow, even if it is+-- currently in use.+--+-- 'flowName', 'deleteFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+newDeleteFlow ::+  -- | 'flowName'+  Prelude.Text ->+  DeleteFlow+newDeleteFlow pFlowName_ =+  DeleteFlow'+    { forceDelete = Prelude.Nothing,+      flowName = pFlowName_+    }++-- | Indicates whether Amazon AppFlow should delete the flow, even if it is+-- currently in use.+deleteFlow_forceDelete :: Lens.Lens' DeleteFlow (Prelude.Maybe Prelude.Bool)+deleteFlow_forceDelete = Lens.lens (\DeleteFlow' {forceDelete} -> forceDelete) (\s@DeleteFlow' {} a -> s {forceDelete = a} :: DeleteFlow)++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+deleteFlow_flowName :: Lens.Lens' DeleteFlow Prelude.Text+deleteFlow_flowName = Lens.lens (\DeleteFlow' {flowName} -> flowName) (\s@DeleteFlow' {} a -> s {flowName = a} :: DeleteFlow)++instance Core.AWSRequest DeleteFlow where+  type AWSResponse DeleteFlow = DeleteFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteFlowResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteFlow where+  hashWithSalt _salt DeleteFlow' {..} =+    _salt+      `Prelude.hashWithSalt` forceDelete+      `Prelude.hashWithSalt` flowName++instance Prelude.NFData DeleteFlow where+  rnf DeleteFlow' {..} =+    Prelude.rnf forceDelete+      `Prelude.seq` Prelude.rnf flowName++instance Data.ToHeaders DeleteFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteFlow where+  toJSON DeleteFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("forceDelete" Data..=) Prelude.<$> forceDelete,+            Prelude.Just ("flowName" Data..= flowName)+          ]+      )++instance Data.ToPath DeleteFlow where+  toPath = Prelude.const "/delete-flow"++instance Data.ToQuery DeleteFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFlowResponse' smart constructor.+data DeleteFlowResponse = DeleteFlowResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteFlowResponse_httpStatus' - The response's http status code.+newDeleteFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteFlowResponse+newDeleteFlowResponse pHttpStatus_ =+  DeleteFlowResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteFlowResponse_httpStatus :: Lens.Lens' DeleteFlowResponse Prelude.Int+deleteFlowResponse_httpStatus = Lens.lens (\DeleteFlowResponse' {httpStatus} -> httpStatus) (\s@DeleteFlowResponse' {} a -> s {httpStatus = a} :: DeleteFlowResponse)++instance Prelude.NFData DeleteFlowResponse where+  rnf DeleteFlowResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DescribeConnector.hs view
@@ -0,0 +1,196 @@+{-# 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.AppFlow.DescribeConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the given custom connector registered in your Amazon Web+-- Services account. This API can be used for custom connectors that are+-- registered in your account and also for Amazon authored connectors.+module Amazonka.AppFlow.DescribeConnector+  ( -- * Creating a Request+    DescribeConnector (..),+    newDescribeConnector,++    -- * Request Lenses+    describeConnector_connectorLabel,+    describeConnector_connectorType,++    -- * Destructuring the Response+    DescribeConnectorResponse (..),+    newDescribeConnectorResponse,++    -- * Response Lenses+    describeConnectorResponse_connectorConfiguration,+    describeConnectorResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeConnector' smart constructor.+data DescribeConnector = DescribeConnector'+  { -- | The label of the connector. The label is unique for each+    -- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+    -- if calling for CUSTOMCONNECTOR connector type\/.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please+    -- choose CUSTOMCONNECTOR for Lambda based custom connectors.+    connectorType :: ConnectorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorLabel', 'describeConnector_connectorLabel' - The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+--+-- 'connectorType', 'describeConnector_connectorType' - The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please+-- choose CUSTOMCONNECTOR for Lambda based custom connectors.+newDescribeConnector ::+  -- | 'connectorType'+  ConnectorType ->+  DescribeConnector+newDescribeConnector pConnectorType_ =+  DescribeConnector'+    { connectorLabel =+        Prelude.Nothing,+      connectorType = pConnectorType_+    }++-- | The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+describeConnector_connectorLabel :: Lens.Lens' DescribeConnector (Prelude.Maybe Prelude.Text)+describeConnector_connectorLabel = Lens.lens (\DescribeConnector' {connectorLabel} -> connectorLabel) (\s@DescribeConnector' {} a -> s {connectorLabel = a} :: DescribeConnector)++-- | The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please+-- choose CUSTOMCONNECTOR for Lambda based custom connectors.+describeConnector_connectorType :: Lens.Lens' DescribeConnector ConnectorType+describeConnector_connectorType = Lens.lens (\DescribeConnector' {connectorType} -> connectorType) (\s@DescribeConnector' {} a -> s {connectorType = a} :: DescribeConnector)++instance Core.AWSRequest DescribeConnector where+  type+    AWSResponse DescribeConnector =+      DescribeConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeConnectorResponse'+            Prelude.<$> (x Data..?> "connectorConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeConnector where+  hashWithSalt _salt DescribeConnector' {..} =+    _salt+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorType++instance Prelude.NFData DescribeConnector where+  rnf DescribeConnector' {..} =+    Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorType++instance Data.ToHeaders DescribeConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeConnector where+  toJSON DescribeConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorLabel" Data..=)+              Prelude.<$> connectorLabel,+            Prelude.Just+              ("connectorType" Data..= connectorType)+          ]+      )++instance Data.ToPath DescribeConnector where+  toPath = Prelude.const "/describe-connector"++instance Data.ToQuery DescribeConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConnectorResponse' smart constructor.+data DescribeConnectorResponse = DescribeConnectorResponse'+  { -- | Configuration info of all the connectors that the user requested.+    connectorConfiguration :: Prelude.Maybe ConnectorConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorConfiguration', 'describeConnectorResponse_connectorConfiguration' - Configuration info of all the connectors that the user requested.+--+-- 'httpStatus', 'describeConnectorResponse_httpStatus' - The response's http status code.+newDescribeConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeConnectorResponse+newDescribeConnectorResponse pHttpStatus_ =+  DescribeConnectorResponse'+    { connectorConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Configuration info of all the connectors that the user requested.+describeConnectorResponse_connectorConfiguration :: Lens.Lens' DescribeConnectorResponse (Prelude.Maybe ConnectorConfiguration)+describeConnectorResponse_connectorConfiguration = Lens.lens (\DescribeConnectorResponse' {connectorConfiguration} -> connectorConfiguration) (\s@DescribeConnectorResponse' {} a -> s {connectorConfiguration = a} :: DescribeConnectorResponse)++-- | The response's http status code.+describeConnectorResponse_httpStatus :: Lens.Lens' DescribeConnectorResponse Prelude.Int+describeConnectorResponse_httpStatus = Lens.lens (\DescribeConnectorResponse' {httpStatus} -> httpStatus) (\s@DescribeConnectorResponse' {} a -> s {httpStatus = a} :: DescribeConnectorResponse)++instance Prelude.NFData DescribeConnectorResponse where+  rnf DescribeConnectorResponse' {..} =+    Prelude.rnf connectorConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DescribeConnectorEntity.hs view
@@ -0,0 +1,230 @@+{-# 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.AppFlow.DescribeConnectorEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides details regarding the entity used with the connector, with a+-- description of the data model for each field in that entity.+module Amazonka.AppFlow.DescribeConnectorEntity+  ( -- * Creating a Request+    DescribeConnectorEntity (..),+    newDescribeConnectorEntity,++    -- * Request Lenses+    describeConnectorEntity_apiVersion,+    describeConnectorEntity_connectorProfileName,+    describeConnectorEntity_connectorType,+    describeConnectorEntity_connectorEntityName,++    -- * Destructuring the Response+    DescribeConnectorEntityResponse (..),+    newDescribeConnectorEntityResponse,++    -- * Response Lenses+    describeConnectorEntityResponse_httpStatus,+    describeConnectorEntityResponse_connectorEntityFields,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeConnectorEntity' smart constructor.+data DescribeConnectorEntity = DescribeConnectorEntity'+  { -- | The version of the API that\'s used by the connector.+    apiVersion :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in the Amazon Web Services account.+    connectorProfileName :: Prelude.Maybe Prelude.Text,+    -- | The type of connector application, such as Salesforce, Amplitude, and so+    -- on.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | The entity name for that connector.+    connectorEntityName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectorEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiVersion', 'describeConnectorEntity_apiVersion' - The version of the API that\'s used by the connector.+--+-- 'connectorProfileName', 'describeConnectorEntity_connectorProfileName' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+--+-- 'connectorType', 'describeConnectorEntity_connectorType' - The type of connector application, such as Salesforce, Amplitude, and so+-- on.+--+-- 'connectorEntityName', 'describeConnectorEntity_connectorEntityName' - The entity name for that connector.+newDescribeConnectorEntity ::+  -- | 'connectorEntityName'+  Prelude.Text ->+  DescribeConnectorEntity+newDescribeConnectorEntity pConnectorEntityName_ =+  DescribeConnectorEntity'+    { apiVersion =+        Prelude.Nothing,+      connectorProfileName = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      connectorEntityName = pConnectorEntityName_+    }++-- | The version of the API that\'s used by the connector.+describeConnectorEntity_apiVersion :: Lens.Lens' DescribeConnectorEntity (Prelude.Maybe Prelude.Text)+describeConnectorEntity_apiVersion = Lens.lens (\DescribeConnectorEntity' {apiVersion} -> apiVersion) (\s@DescribeConnectorEntity' {} a -> s {apiVersion = a} :: DescribeConnectorEntity)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+describeConnectorEntity_connectorProfileName :: Lens.Lens' DescribeConnectorEntity (Prelude.Maybe Prelude.Text)+describeConnectorEntity_connectorProfileName = Lens.lens (\DescribeConnectorEntity' {connectorProfileName} -> connectorProfileName) (\s@DescribeConnectorEntity' {} a -> s {connectorProfileName = a} :: DescribeConnectorEntity)++-- | The type of connector application, such as Salesforce, Amplitude, and so+-- on.+describeConnectorEntity_connectorType :: Lens.Lens' DescribeConnectorEntity (Prelude.Maybe ConnectorType)+describeConnectorEntity_connectorType = Lens.lens (\DescribeConnectorEntity' {connectorType} -> connectorType) (\s@DescribeConnectorEntity' {} a -> s {connectorType = a} :: DescribeConnectorEntity)++-- | The entity name for that connector.+describeConnectorEntity_connectorEntityName :: Lens.Lens' DescribeConnectorEntity Prelude.Text+describeConnectorEntity_connectorEntityName = Lens.lens (\DescribeConnectorEntity' {connectorEntityName} -> connectorEntityName) (\s@DescribeConnectorEntity' {} a -> s {connectorEntityName = a} :: DescribeConnectorEntity)++instance Core.AWSRequest DescribeConnectorEntity where+  type+    AWSResponse DescribeConnectorEntity =+      DescribeConnectorEntityResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeConnectorEntityResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "connectorEntityFields"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable DescribeConnectorEntity where+  hashWithSalt _salt DescribeConnectorEntity' {..} =+    _salt+      `Prelude.hashWithSalt` apiVersion+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` connectorEntityName++instance Prelude.NFData DescribeConnectorEntity where+  rnf DescribeConnectorEntity' {..} =+    Prelude.rnf apiVersion+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf connectorEntityName++instance Data.ToHeaders DescribeConnectorEntity where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeConnectorEntity where+  toJSON DescribeConnectorEntity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiVersion" Data..=) Prelude.<$> apiVersion,+            ("connectorProfileName" Data..=)+              Prelude.<$> connectorProfileName,+            ("connectorType" Data..=) Prelude.<$> connectorType,+            Prelude.Just+              ("connectorEntityName" Data..= connectorEntityName)+          ]+      )++instance Data.ToPath DescribeConnectorEntity where+  toPath = Prelude.const "/describe-connector-entity"++instance Data.ToQuery DescribeConnectorEntity where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConnectorEntityResponse' smart constructor.+data DescribeConnectorEntityResponse = DescribeConnectorEntityResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Describes the fields for that connector entity. For example, for an+    -- /account/ entity, the fields would be /account name/, /account ID/, and+    -- so on.+    connectorEntityFields :: [ConnectorEntityField]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectorEntityResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeConnectorEntityResponse_httpStatus' - The response's http status code.+--+-- 'connectorEntityFields', 'describeConnectorEntityResponse_connectorEntityFields' - Describes the fields for that connector entity. For example, for an+-- /account/ entity, the fields would be /account name/, /account ID/, and+-- so on.+newDescribeConnectorEntityResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeConnectorEntityResponse+newDescribeConnectorEntityResponse pHttpStatus_ =+  DescribeConnectorEntityResponse'+    { httpStatus =+        pHttpStatus_,+      connectorEntityFields = Prelude.mempty+    }++-- | The response's http status code.+describeConnectorEntityResponse_httpStatus :: Lens.Lens' DescribeConnectorEntityResponse Prelude.Int+describeConnectorEntityResponse_httpStatus = Lens.lens (\DescribeConnectorEntityResponse' {httpStatus} -> httpStatus) (\s@DescribeConnectorEntityResponse' {} a -> s {httpStatus = a} :: DescribeConnectorEntityResponse)++-- | Describes the fields for that connector entity. For example, for an+-- /account/ entity, the fields would be /account name/, /account ID/, and+-- so on.+describeConnectorEntityResponse_connectorEntityFields :: Lens.Lens' DescribeConnectorEntityResponse [ConnectorEntityField]+describeConnectorEntityResponse_connectorEntityFields = Lens.lens (\DescribeConnectorEntityResponse' {connectorEntityFields} -> connectorEntityFields) (\s@DescribeConnectorEntityResponse' {} a -> s {connectorEntityFields = a} :: DescribeConnectorEntityResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    DescribeConnectorEntityResponse+  where+  rnf DescribeConnectorEntityResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf connectorEntityFields
+ gen/Amazonka/AppFlow/DescribeConnectorProfiles.hs view
@@ -0,0 +1,267 @@+{-# 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.AppFlow.DescribeConnectorProfiles+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of @connector-profile@ details matching the provided+-- @connector-profile@ names and @connector-types@. Both input lists are+-- optional, and you can use them to filter the result.+--+-- If no names or @connector-types@ are provided, returns all connector+-- profiles in a paginated form. If there is no match, this operation+-- returns an empty list.+module Amazonka.AppFlow.DescribeConnectorProfiles+  ( -- * Creating a Request+    DescribeConnectorProfiles (..),+    newDescribeConnectorProfiles,++    -- * Request Lenses+    describeConnectorProfiles_connectorLabel,+    describeConnectorProfiles_connectorProfileNames,+    describeConnectorProfiles_connectorType,+    describeConnectorProfiles_maxResults,+    describeConnectorProfiles_nextToken,++    -- * Destructuring the Response+    DescribeConnectorProfilesResponse (..),+    newDescribeConnectorProfilesResponse,++    -- * Response Lenses+    describeConnectorProfilesResponse_connectorProfileDetails,+    describeConnectorProfilesResponse_nextToken,+    describeConnectorProfilesResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeConnectorProfiles' smart constructor.+data DescribeConnectorProfiles = DescribeConnectorProfiles'+  { -- | The name of the connector. The name is unique for each+    -- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+    -- if calling for CUSTOMCONNECTOR connector type\/.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in the Amazon Web Services account.+    connectorProfileNames :: Prelude.Maybe [Prelude.Text],+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | Specifies the maximum number of items that should be returned in the+    -- result set. The default for @maxResults@ is 20 (for all paginated API+    -- operations).+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token for the next page of data.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectorProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorLabel', 'describeConnectorProfiles_connectorLabel' - The name of the connector. The name is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+--+-- 'connectorProfileNames', 'describeConnectorProfiles_connectorProfileNames' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+--+-- 'connectorType', 'describeConnectorProfiles_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'maxResults', 'describeConnectorProfiles_maxResults' - Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+--+-- 'nextToken', 'describeConnectorProfiles_nextToken' - The pagination token for the next page of data.+newDescribeConnectorProfiles ::+  DescribeConnectorProfiles+newDescribeConnectorProfiles =+  DescribeConnectorProfiles'+    { connectorLabel =+        Prelude.Nothing,+      connectorProfileNames = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The name of the connector. The name is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account. Only needed+-- if calling for CUSTOMCONNECTOR connector type\/.+describeConnectorProfiles_connectorLabel :: Lens.Lens' DescribeConnectorProfiles (Prelude.Maybe Prelude.Text)+describeConnectorProfiles_connectorLabel = Lens.lens (\DescribeConnectorProfiles' {connectorLabel} -> connectorLabel) (\s@DescribeConnectorProfiles' {} a -> s {connectorLabel = a} :: DescribeConnectorProfiles)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+describeConnectorProfiles_connectorProfileNames :: Lens.Lens' DescribeConnectorProfiles (Prelude.Maybe [Prelude.Text])+describeConnectorProfiles_connectorProfileNames = Lens.lens (\DescribeConnectorProfiles' {connectorProfileNames} -> connectorProfileNames) (\s@DescribeConnectorProfiles' {} a -> s {connectorProfileNames = a} :: DescribeConnectorProfiles) Prelude.. Lens.mapping Lens.coerced++-- | The type of connector, such as Salesforce, Amplitude, and so on.+describeConnectorProfiles_connectorType :: Lens.Lens' DescribeConnectorProfiles (Prelude.Maybe ConnectorType)+describeConnectorProfiles_connectorType = Lens.lens (\DescribeConnectorProfiles' {connectorType} -> connectorType) (\s@DescribeConnectorProfiles' {} a -> s {connectorType = a} :: DescribeConnectorProfiles)++-- | Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+describeConnectorProfiles_maxResults :: Lens.Lens' DescribeConnectorProfiles (Prelude.Maybe Prelude.Natural)+describeConnectorProfiles_maxResults = Lens.lens (\DescribeConnectorProfiles' {maxResults} -> maxResults) (\s@DescribeConnectorProfiles' {} a -> s {maxResults = a} :: DescribeConnectorProfiles)++-- | The pagination token for the next page of data.+describeConnectorProfiles_nextToken :: Lens.Lens' DescribeConnectorProfiles (Prelude.Maybe Prelude.Text)+describeConnectorProfiles_nextToken = Lens.lens (\DescribeConnectorProfiles' {nextToken} -> nextToken) (\s@DescribeConnectorProfiles' {} a -> s {nextToken = a} :: DescribeConnectorProfiles)++instance Core.AWSRequest DescribeConnectorProfiles where+  type+    AWSResponse DescribeConnectorProfiles =+      DescribeConnectorProfilesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeConnectorProfilesResponse'+            Prelude.<$> ( x+                            Data..?> "connectorProfileDetails"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeConnectorProfiles where+  hashWithSalt _salt DescribeConnectorProfiles' {..} =+    _salt+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorProfileNames+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeConnectorProfiles where+  rnf DescribeConnectorProfiles' {..} =+    Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorProfileNames+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeConnectorProfiles where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeConnectorProfiles where+  toJSON DescribeConnectorProfiles' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorLabel" Data..=)+              Prelude.<$> connectorLabel,+            ("connectorProfileNames" Data..=)+              Prelude.<$> connectorProfileNames,+            ("connectorType" Data..=) Prelude.<$> connectorType,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath DescribeConnectorProfiles where+  toPath = Prelude.const "/describe-connector-profiles"++instance Data.ToQuery DescribeConnectorProfiles where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConnectorProfilesResponse' smart constructor.+data DescribeConnectorProfilesResponse = DescribeConnectorProfilesResponse'+  { -- | Returns information about the connector profiles associated with the+    -- flow.+    connectorProfileDetails :: Prelude.Maybe [ConnectorProfile],+    -- | The pagination token for the next page of data. If @nextToken=null@,+    -- this means that all records have been fetched.+    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 'DescribeConnectorProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProfileDetails', 'describeConnectorProfilesResponse_connectorProfileDetails' - Returns information about the connector profiles associated with the+-- flow.+--+-- 'nextToken', 'describeConnectorProfilesResponse_nextToken' - The pagination token for the next page of data. If @nextToken=null@,+-- this means that all records have been fetched.+--+-- 'httpStatus', 'describeConnectorProfilesResponse_httpStatus' - The response's http status code.+newDescribeConnectorProfilesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeConnectorProfilesResponse+newDescribeConnectorProfilesResponse pHttpStatus_ =+  DescribeConnectorProfilesResponse'+    { connectorProfileDetails =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns information about the connector profiles associated with the+-- flow.+describeConnectorProfilesResponse_connectorProfileDetails :: Lens.Lens' DescribeConnectorProfilesResponse (Prelude.Maybe [ConnectorProfile])+describeConnectorProfilesResponse_connectorProfileDetails = Lens.lens (\DescribeConnectorProfilesResponse' {connectorProfileDetails} -> connectorProfileDetails) (\s@DescribeConnectorProfilesResponse' {} a -> s {connectorProfileDetails = a} :: DescribeConnectorProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token for the next page of data. If @nextToken=null@,+-- this means that all records have been fetched.+describeConnectorProfilesResponse_nextToken :: Lens.Lens' DescribeConnectorProfilesResponse (Prelude.Maybe Prelude.Text)+describeConnectorProfilesResponse_nextToken = Lens.lens (\DescribeConnectorProfilesResponse' {nextToken} -> nextToken) (\s@DescribeConnectorProfilesResponse' {} a -> s {nextToken = a} :: DescribeConnectorProfilesResponse)++-- | The response's http status code.+describeConnectorProfilesResponse_httpStatus :: Lens.Lens' DescribeConnectorProfilesResponse Prelude.Int+describeConnectorProfilesResponse_httpStatus = Lens.lens (\DescribeConnectorProfilesResponse' {httpStatus} -> httpStatus) (\s@DescribeConnectorProfilesResponse' {} a -> s {httpStatus = a} :: DescribeConnectorProfilesResponse)++instance+  Prelude.NFData+    DescribeConnectorProfilesResponse+  where+  rnf DescribeConnectorProfilesResponse' {..} =+    Prelude.rnf connectorProfileDetails+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DescribeConnectors.hs view
@@ -0,0 +1,230 @@+{-# 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.AppFlow.DescribeConnectors+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the connectors vended by Amazon AppFlow for specified+-- connector types. If you don\'t specify a connector type, this operation+-- describes all connectors vended by Amazon AppFlow. If there are more+-- connectors than can be returned in one page, the response contains a+-- @nextToken@ object, which can be be passed in to the next call to the+-- @DescribeConnectors@ API operation to retrieve the next page.+module Amazonka.AppFlow.DescribeConnectors+  ( -- * Creating a Request+    DescribeConnectors (..),+    newDescribeConnectors,++    -- * Request Lenses+    describeConnectors_connectorTypes,+    describeConnectors_maxResults,+    describeConnectors_nextToken,++    -- * Destructuring the Response+    DescribeConnectorsResponse (..),+    newDescribeConnectorsResponse,++    -- * Response Lenses+    describeConnectorsResponse_connectorConfigurations,+    describeConnectorsResponse_connectors,+    describeConnectorsResponse_nextToken,+    describeConnectorsResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeConnectors' smart constructor.+data DescribeConnectors = DescribeConnectors'+  { -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorTypes :: Prelude.Maybe [ConnectorType],+    -- | The maximum number of items that should be returned in the result set.+    -- The default is 20.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token for the next page of data.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeConnectors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorTypes', 'describeConnectors_connectorTypes' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'maxResults', 'describeConnectors_maxResults' - The maximum number of items that should be returned in the result set.+-- The default is 20.+--+-- 'nextToken', 'describeConnectors_nextToken' - The pagination token for the next page of data.+newDescribeConnectors ::+  DescribeConnectors+newDescribeConnectors =+  DescribeConnectors'+    { connectorTypes =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The type of connector, such as Salesforce, Amplitude, and so on.+describeConnectors_connectorTypes :: Lens.Lens' DescribeConnectors (Prelude.Maybe [ConnectorType])+describeConnectors_connectorTypes = Lens.lens (\DescribeConnectors' {connectorTypes} -> connectorTypes) (\s@DescribeConnectors' {} a -> s {connectorTypes = a} :: DescribeConnectors) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of items that should be returned in the result set.+-- The default is 20.+describeConnectors_maxResults :: Lens.Lens' DescribeConnectors (Prelude.Maybe Prelude.Natural)+describeConnectors_maxResults = Lens.lens (\DescribeConnectors' {maxResults} -> maxResults) (\s@DescribeConnectors' {} a -> s {maxResults = a} :: DescribeConnectors)++-- | The pagination token for the next page of data.+describeConnectors_nextToken :: Lens.Lens' DescribeConnectors (Prelude.Maybe Prelude.Text)+describeConnectors_nextToken = Lens.lens (\DescribeConnectors' {nextToken} -> nextToken) (\s@DescribeConnectors' {} a -> s {nextToken = a} :: DescribeConnectors)++instance Core.AWSRequest DescribeConnectors where+  type+    AWSResponse DescribeConnectors =+      DescribeConnectorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeConnectorsResponse'+            Prelude.<$> ( x+                            Data..?> "connectorConfigurations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "connectors" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeConnectors where+  hashWithSalt _salt DescribeConnectors' {..} =+    _salt+      `Prelude.hashWithSalt` connectorTypes+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeConnectors where+  rnf DescribeConnectors' {..} =+    Prelude.rnf connectorTypes+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeConnectors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeConnectors where+  toJSON DescribeConnectors' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorTypes" Data..=)+              Prelude.<$> connectorTypes,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath DescribeConnectors where+  toPath = Prelude.const "/describe-connectors"++instance Data.ToQuery DescribeConnectors where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeConnectorsResponse' smart constructor.+data DescribeConnectorsResponse = DescribeConnectorsResponse'+  { -- | The configuration that is applied to the connectors used in the flow.+    connectorConfigurations :: Prelude.Maybe (Prelude.HashMap ConnectorType ConnectorConfiguration),+    -- | Information about the connectors supported in Amazon AppFlow.+    connectors :: Prelude.Maybe [ConnectorDetail],+    -- | The pagination token for the next page of data.+    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 'DescribeConnectorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorConfigurations', 'describeConnectorsResponse_connectorConfigurations' - The configuration that is applied to the connectors used in the flow.+--+-- 'connectors', 'describeConnectorsResponse_connectors' - Information about the connectors supported in Amazon AppFlow.+--+-- 'nextToken', 'describeConnectorsResponse_nextToken' - The pagination token for the next page of data.+--+-- 'httpStatus', 'describeConnectorsResponse_httpStatus' - The response's http status code.+newDescribeConnectorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeConnectorsResponse+newDescribeConnectorsResponse pHttpStatus_ =+  DescribeConnectorsResponse'+    { connectorConfigurations =+        Prelude.Nothing,+      connectors = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The configuration that is applied to the connectors used in the flow.+describeConnectorsResponse_connectorConfigurations :: Lens.Lens' DescribeConnectorsResponse (Prelude.Maybe (Prelude.HashMap ConnectorType ConnectorConfiguration))+describeConnectorsResponse_connectorConfigurations = Lens.lens (\DescribeConnectorsResponse' {connectorConfigurations} -> connectorConfigurations) (\s@DescribeConnectorsResponse' {} a -> s {connectorConfigurations = a} :: DescribeConnectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Information about the connectors supported in Amazon AppFlow.+describeConnectorsResponse_connectors :: Lens.Lens' DescribeConnectorsResponse (Prelude.Maybe [ConnectorDetail])+describeConnectorsResponse_connectors = Lens.lens (\DescribeConnectorsResponse' {connectors} -> connectors) (\s@DescribeConnectorsResponse' {} a -> s {connectors = a} :: DescribeConnectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token for the next page of data.+describeConnectorsResponse_nextToken :: Lens.Lens' DescribeConnectorsResponse (Prelude.Maybe Prelude.Text)+describeConnectorsResponse_nextToken = Lens.lens (\DescribeConnectorsResponse' {nextToken} -> nextToken) (\s@DescribeConnectorsResponse' {} a -> s {nextToken = a} :: DescribeConnectorsResponse)++-- | The response's http status code.+describeConnectorsResponse_httpStatus :: Lens.Lens' DescribeConnectorsResponse Prelude.Int+describeConnectorsResponse_httpStatus = Lens.lens (\DescribeConnectorsResponse' {httpStatus} -> httpStatus) (\s@DescribeConnectorsResponse' {} a -> s {httpStatus = a} :: DescribeConnectorsResponse)++instance Prelude.NFData DescribeConnectorsResponse where+  rnf DescribeConnectorsResponse' {..} =+    Prelude.rnf connectorConfigurations+      `Prelude.seq` Prelude.rnf connectors+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DescribeFlow.hs view
@@ -0,0 +1,446 @@+{-# 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.AppFlow.DescribeFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a description of the specified flow.+module Amazonka.AppFlow.DescribeFlow+  ( -- * Creating a Request+    DescribeFlow (..),+    newDescribeFlow,++    -- * Request Lenses+    describeFlow_flowName,++    -- * Destructuring the Response+    DescribeFlowResponse (..),+    newDescribeFlowResponse,++    -- * Response Lenses+    describeFlowResponse_createdAt,+    describeFlowResponse_createdBy,+    describeFlowResponse_description,+    describeFlowResponse_destinationFlowConfigList,+    describeFlowResponse_flowArn,+    describeFlowResponse_flowName,+    describeFlowResponse_flowStatus,+    describeFlowResponse_flowStatusMessage,+    describeFlowResponse_kmsArn,+    describeFlowResponse_lastRunExecutionDetails,+    describeFlowResponse_lastRunMetadataCatalogDetails,+    describeFlowResponse_lastUpdatedAt,+    describeFlowResponse_lastUpdatedBy,+    describeFlowResponse_metadataCatalogConfig,+    describeFlowResponse_schemaVersion,+    describeFlowResponse_sourceFlowConfig,+    describeFlowResponse_tags,+    describeFlowResponse_tasks,+    describeFlowResponse_triggerConfig,+    describeFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeFlow' smart constructor.+data DescribeFlow = DescribeFlow'+  { -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowName', 'describeFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+newDescribeFlow ::+  -- | 'flowName'+  Prelude.Text ->+  DescribeFlow+newDescribeFlow pFlowName_ =+  DescribeFlow' {flowName = pFlowName_}++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+describeFlow_flowName :: Lens.Lens' DescribeFlow Prelude.Text+describeFlow_flowName = Lens.lens (\DescribeFlow' {flowName} -> flowName) (\s@DescribeFlow' {} a -> s {flowName = a} :: DescribeFlow)++instance Core.AWSRequest DescribeFlow where+  type AWSResponse DescribeFlow = DescribeFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeFlowResponse'+            Prelude.<$> (x Data..?> "createdAt")+            Prelude.<*> (x Data..?> "createdBy")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> ( x+                            Data..?> "destinationFlowConfigList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "flowArn")+            Prelude.<*> (x Data..?> "flowName")+            Prelude.<*> (x Data..?> "flowStatus")+            Prelude.<*> (x Data..?> "flowStatusMessage")+            Prelude.<*> (x Data..?> "kmsArn")+            Prelude.<*> (x Data..?> "lastRunExecutionDetails")+            Prelude.<*> ( x+                            Data..?> "lastRunMetadataCatalogDetails"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "lastUpdatedAt")+            Prelude.<*> (x Data..?> "lastUpdatedBy")+            Prelude.<*> (x Data..?> "metadataCatalogConfig")+            Prelude.<*> (x Data..?> "schemaVersion")+            Prelude.<*> (x Data..?> "sourceFlowConfig")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tasks" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "triggerConfig")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeFlow where+  hashWithSalt _salt DescribeFlow' {..} =+    _salt `Prelude.hashWithSalt` flowName++instance Prelude.NFData DescribeFlow where+  rnf DescribeFlow' {..} = Prelude.rnf flowName++instance Data.ToHeaders DescribeFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeFlow where+  toJSON DescribeFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("flowName" Data..= flowName)]+      )++instance Data.ToPath DescribeFlow where+  toPath = Prelude.const "/describe-flow"++instance Data.ToQuery DescribeFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFlowResponse' smart constructor.+data DescribeFlowResponse = DescribeFlowResponse'+  { -- | Specifies when the flow was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The ARN of the user who created the flow.+    createdBy :: Prelude.Maybe Prelude.Text,+    -- | A description of the flow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The configuration that controls how Amazon AppFlow transfers data to the+    -- destination connector.+    destinationFlowConfigList :: Prelude.Maybe [DestinationFlowConfig],+    -- | The flow\'s Amazon Resource Name (ARN).+    flowArn :: Prelude.Maybe Prelude.Text,+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Maybe Prelude.Text,+    -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | Contains an error message if the flow status is in a suspended or error+    -- state. This applies only to scheduled or event-triggered flows.+    flowStatusMessage :: Prelude.Maybe Prelude.Text,+    -- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+    -- you provide for encryption. This is required if you do not want to use+    -- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+    -- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+    kmsArn :: Prelude.Maybe Prelude.Text,+    -- | Describes the details of the most recent flow run.+    lastRunExecutionDetails :: Prelude.Maybe ExecutionDetails,+    -- | Describes the metadata catalog, metadata table, and data partitions that+    -- Amazon AppFlow used for the associated flow run.+    lastRunMetadataCatalogDetails :: Prelude.Maybe [MetadataCatalogDetail],+    -- | Specifies when the flow was last updated.+    lastUpdatedAt :: Prelude.Maybe Data.POSIX,+    -- | Specifies the user name of the account that performed the most recent+    -- update.+    lastUpdatedBy :: Prelude.Maybe Prelude.Text,+    -- | Specifies the configuration that Amazon AppFlow uses when it catalogs+    -- the data that\'s transferred by the associated flow. When Amazon AppFlow+    -- catalogs the data from a flow, it stores metadata in a data catalog.+    metadataCatalogConfig :: Prelude.Maybe MetadataCatalogConfig,+    -- | The version number of your data schema. Amazon AppFlow assigns this+    -- version number. The version number increases by one when you change any+    -- of the following settings in your flow configuration:+    --+    -- -   Source-to-destination field mappings+    --+    -- -   Field data types+    --+    -- -   Partition keys+    schemaVersion :: Prelude.Maybe Prelude.Integer,+    -- | The configuration that controls how Amazon AppFlow retrieves data from+    -- the source connector.+    sourceFlowConfig :: Prelude.Maybe SourceFlowConfig,+    -- | The tags used to organize, track, or control access for your flow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | A list of tasks that Amazon AppFlow performs while transferring the data+    -- in the flow run.+    tasks :: Prelude.Maybe [Task],+    -- | The trigger settings that determine how and when the flow runs.+    triggerConfig :: Prelude.Maybe TriggerConfig,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'describeFlowResponse_createdAt' - Specifies when the flow was created.+--+-- 'createdBy', 'describeFlowResponse_createdBy' - The ARN of the user who created the flow.+--+-- 'description', 'describeFlowResponse_description' - A description of the flow.+--+-- 'destinationFlowConfigList', 'describeFlowResponse_destinationFlowConfigList' - The configuration that controls how Amazon AppFlow transfers data to the+-- destination connector.+--+-- 'flowArn', 'describeFlowResponse_flowArn' - The flow\'s Amazon Resource Name (ARN).+--+-- 'flowName', 'describeFlowResponse_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+--+-- 'flowStatus', 'describeFlowResponse_flowStatus' - Indicates the current status of the flow.+--+-- 'flowStatusMessage', 'describeFlowResponse_flowStatusMessage' - Contains an error message if the flow status is in a suspended or error+-- state. This applies only to scheduled or event-triggered flows.+--+-- 'kmsArn', 'describeFlowResponse_kmsArn' - The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+--+-- 'lastRunExecutionDetails', 'describeFlowResponse_lastRunExecutionDetails' - Describes the details of the most recent flow run.+--+-- 'lastRunMetadataCatalogDetails', 'describeFlowResponse_lastRunMetadataCatalogDetails' - Describes the metadata catalog, metadata table, and data partitions that+-- Amazon AppFlow used for the associated flow run.+--+-- 'lastUpdatedAt', 'describeFlowResponse_lastUpdatedAt' - Specifies when the flow was last updated.+--+-- 'lastUpdatedBy', 'describeFlowResponse_lastUpdatedBy' - Specifies the user name of the account that performed the most recent+-- update.+--+-- 'metadataCatalogConfig', 'describeFlowResponse_metadataCatalogConfig' - Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+--+-- 'schemaVersion', 'describeFlowResponse_schemaVersion' - The version number of your data schema. Amazon AppFlow assigns this+-- version number. The version number increases by one when you change any+-- of the following settings in your flow configuration:+--+-- -   Source-to-destination field mappings+--+-- -   Field data types+--+-- -   Partition keys+--+-- 'sourceFlowConfig', 'describeFlowResponse_sourceFlowConfig' - The configuration that controls how Amazon AppFlow retrieves data from+-- the source connector.+--+-- 'tags', 'describeFlowResponse_tags' - The tags used to organize, track, or control access for your flow.+--+-- 'tasks', 'describeFlowResponse_tasks' - A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+--+-- 'triggerConfig', 'describeFlowResponse_triggerConfig' - The trigger settings that determine how and when the flow runs.+--+-- 'httpStatus', 'describeFlowResponse_httpStatus' - The response's http status code.+newDescribeFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeFlowResponse+newDescribeFlowResponse pHttpStatus_ =+  DescribeFlowResponse'+    { createdAt = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      description = Prelude.Nothing,+      destinationFlowConfigList = Prelude.Nothing,+      flowArn = Prelude.Nothing,+      flowName = Prelude.Nothing,+      flowStatus = Prelude.Nothing,+      flowStatusMessage = Prelude.Nothing,+      kmsArn = Prelude.Nothing,+      lastRunExecutionDetails = Prelude.Nothing,+      lastRunMetadataCatalogDetails = Prelude.Nothing,+      lastUpdatedAt = Prelude.Nothing,+      lastUpdatedBy = Prelude.Nothing,+      metadataCatalogConfig = Prelude.Nothing,+      schemaVersion = Prelude.Nothing,+      sourceFlowConfig = Prelude.Nothing,+      tags = Prelude.Nothing,+      tasks = Prelude.Nothing,+      triggerConfig = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Specifies when the flow was created.+describeFlowResponse_createdAt :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.UTCTime)+describeFlowResponse_createdAt = Lens.lens (\DescribeFlowResponse' {createdAt} -> createdAt) (\s@DescribeFlowResponse' {} a -> s {createdAt = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the user who created the flow.+describeFlowResponse_createdBy :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_createdBy = Lens.lens (\DescribeFlowResponse' {createdBy} -> createdBy) (\s@DescribeFlowResponse' {} a -> s {createdBy = a} :: DescribeFlowResponse)++-- | A description of the flow.+describeFlowResponse_description :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_description = Lens.lens (\DescribeFlowResponse' {description} -> description) (\s@DescribeFlowResponse' {} a -> s {description = a} :: DescribeFlowResponse)++-- | The configuration that controls how Amazon AppFlow transfers data to the+-- destination connector.+describeFlowResponse_destinationFlowConfigList :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe [DestinationFlowConfig])+describeFlowResponse_destinationFlowConfigList = Lens.lens (\DescribeFlowResponse' {destinationFlowConfigList} -> destinationFlowConfigList) (\s@DescribeFlowResponse' {} a -> s {destinationFlowConfigList = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The flow\'s Amazon Resource Name (ARN).+describeFlowResponse_flowArn :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_flowArn = Lens.lens (\DescribeFlowResponse' {flowArn} -> flowArn) (\s@DescribeFlowResponse' {} a -> s {flowArn = a} :: DescribeFlowResponse)++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+describeFlowResponse_flowName :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_flowName = Lens.lens (\DescribeFlowResponse' {flowName} -> flowName) (\s@DescribeFlowResponse' {} a -> s {flowName = a} :: DescribeFlowResponse)++-- | Indicates the current status of the flow.+describeFlowResponse_flowStatus :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe FlowStatus)+describeFlowResponse_flowStatus = Lens.lens (\DescribeFlowResponse' {flowStatus} -> flowStatus) (\s@DescribeFlowResponse' {} a -> s {flowStatus = a} :: DescribeFlowResponse)++-- | Contains an error message if the flow status is in a suspended or error+-- state. This applies only to scheduled or event-triggered flows.+describeFlowResponse_flowStatusMessage :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_flowStatusMessage = Lens.lens (\DescribeFlowResponse' {flowStatusMessage} -> flowStatusMessage) (\s@DescribeFlowResponse' {} a -> s {flowStatusMessage = a} :: DescribeFlowResponse)++-- | The ARN (Amazon Resource Name) of the Key Management Service (KMS) key+-- you provide for encryption. This is required if you do not want to use+-- the Amazon AppFlow-managed KMS key. If you don\'t provide anything here,+-- Amazon AppFlow uses the Amazon AppFlow-managed KMS key.+describeFlowResponse_kmsArn :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_kmsArn = Lens.lens (\DescribeFlowResponse' {kmsArn} -> kmsArn) (\s@DescribeFlowResponse' {} a -> s {kmsArn = a} :: DescribeFlowResponse)++-- | Describes the details of the most recent flow run.+describeFlowResponse_lastRunExecutionDetails :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe ExecutionDetails)+describeFlowResponse_lastRunExecutionDetails = Lens.lens (\DescribeFlowResponse' {lastRunExecutionDetails} -> lastRunExecutionDetails) (\s@DescribeFlowResponse' {} a -> s {lastRunExecutionDetails = a} :: DescribeFlowResponse)++-- | Describes the metadata catalog, metadata table, and data partitions that+-- Amazon AppFlow used for the associated flow run.+describeFlowResponse_lastRunMetadataCatalogDetails :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe [MetadataCatalogDetail])+describeFlowResponse_lastRunMetadataCatalogDetails = Lens.lens (\DescribeFlowResponse' {lastRunMetadataCatalogDetails} -> lastRunMetadataCatalogDetails) (\s@DescribeFlowResponse' {} a -> s {lastRunMetadataCatalogDetails = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Lens.coerced++-- | Specifies when the flow was last updated.+describeFlowResponse_lastUpdatedAt :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.UTCTime)+describeFlowResponse_lastUpdatedAt = Lens.lens (\DescribeFlowResponse' {lastUpdatedAt} -> lastUpdatedAt) (\s@DescribeFlowResponse' {} a -> s {lastUpdatedAt = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Data._Time++-- | Specifies the user name of the account that performed the most recent+-- update.+describeFlowResponse_lastUpdatedBy :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Text)+describeFlowResponse_lastUpdatedBy = Lens.lens (\DescribeFlowResponse' {lastUpdatedBy} -> lastUpdatedBy) (\s@DescribeFlowResponse' {} a -> s {lastUpdatedBy = a} :: DescribeFlowResponse)++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+describeFlowResponse_metadataCatalogConfig :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe MetadataCatalogConfig)+describeFlowResponse_metadataCatalogConfig = Lens.lens (\DescribeFlowResponse' {metadataCatalogConfig} -> metadataCatalogConfig) (\s@DescribeFlowResponse' {} a -> s {metadataCatalogConfig = a} :: DescribeFlowResponse)++-- | The version number of your data schema. Amazon AppFlow assigns this+-- version number. The version number increases by one when you change any+-- of the following settings in your flow configuration:+--+-- -   Source-to-destination field mappings+--+-- -   Field data types+--+-- -   Partition keys+describeFlowResponse_schemaVersion :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Prelude.Integer)+describeFlowResponse_schemaVersion = Lens.lens (\DescribeFlowResponse' {schemaVersion} -> schemaVersion) (\s@DescribeFlowResponse' {} a -> s {schemaVersion = a} :: DescribeFlowResponse)++-- | The configuration that controls how Amazon AppFlow retrieves data from+-- the source connector.+describeFlowResponse_sourceFlowConfig :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe SourceFlowConfig)+describeFlowResponse_sourceFlowConfig = Lens.lens (\DescribeFlowResponse' {sourceFlowConfig} -> sourceFlowConfig) (\s@DescribeFlowResponse' {} a -> s {sourceFlowConfig = a} :: DescribeFlowResponse)++-- | The tags used to organize, track, or control access for your flow.+describeFlowResponse_tags :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeFlowResponse_tags = Lens.lens (\DescribeFlowResponse' {tags} -> tags) (\s@DescribeFlowResponse' {} a -> s {tags = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+describeFlowResponse_tasks :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe [Task])+describeFlowResponse_tasks = Lens.lens (\DescribeFlowResponse' {tasks} -> tasks) (\s@DescribeFlowResponse' {} a -> s {tasks = a} :: DescribeFlowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The trigger settings that determine how and when the flow runs.+describeFlowResponse_triggerConfig :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe TriggerConfig)+describeFlowResponse_triggerConfig = Lens.lens (\DescribeFlowResponse' {triggerConfig} -> triggerConfig) (\s@DescribeFlowResponse' {} a -> s {triggerConfig = a} :: DescribeFlowResponse)++-- | The response's http status code.+describeFlowResponse_httpStatus :: Lens.Lens' DescribeFlowResponse Prelude.Int+describeFlowResponse_httpStatus = Lens.lens (\DescribeFlowResponse' {httpStatus} -> httpStatus) (\s@DescribeFlowResponse' {} a -> s {httpStatus = a} :: DescribeFlowResponse)++instance Prelude.NFData DescribeFlowResponse where+  rnf DescribeFlowResponse' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationFlowConfigList+      `Prelude.seq` Prelude.rnf flowArn+      `Prelude.seq` Prelude.rnf flowName+      `Prelude.seq` Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf flowStatusMessage+      `Prelude.seq` Prelude.rnf kmsArn+      `Prelude.seq` Prelude.rnf lastRunExecutionDetails+      `Prelude.seq` Prelude.rnf lastRunMetadataCatalogDetails+      `Prelude.seq` Prelude.rnf lastUpdatedAt+      `Prelude.seq` Prelude.rnf lastUpdatedBy+      `Prelude.seq` Prelude.rnf metadataCatalogConfig+      `Prelude.seq` Prelude.rnf schemaVersion+      `Prelude.seq` Prelude.rnf sourceFlowConfig+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf tasks+      `Prelude.seq` Prelude.rnf triggerConfig+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/DescribeFlowExecutionRecords.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.DescribeFlowExecutionRecords+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetches the execution history of the flow.+module Amazonka.AppFlow.DescribeFlowExecutionRecords+  ( -- * Creating a Request+    DescribeFlowExecutionRecords (..),+    newDescribeFlowExecutionRecords,++    -- * Request Lenses+    describeFlowExecutionRecords_maxResults,+    describeFlowExecutionRecords_nextToken,+    describeFlowExecutionRecords_flowName,++    -- * Destructuring the Response+    DescribeFlowExecutionRecordsResponse (..),+    newDescribeFlowExecutionRecordsResponse,++    -- * Response Lenses+    describeFlowExecutionRecordsResponse_flowExecutions,+    describeFlowExecutionRecordsResponse_nextToken,+    describeFlowExecutionRecordsResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newDescribeFlowExecutionRecords' smart constructor.+data DescribeFlowExecutionRecords = DescribeFlowExecutionRecords'+  { -- | Specifies the maximum number of items that should be returned in the+    -- result set. The default for @maxResults@ is 20 (for all paginated API+    -- operations).+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token for the next page of data.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFlowExecutionRecords' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeFlowExecutionRecords_maxResults' - Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+--+-- 'nextToken', 'describeFlowExecutionRecords_nextToken' - The pagination token for the next page of data.+--+-- 'flowName', 'describeFlowExecutionRecords_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+newDescribeFlowExecutionRecords ::+  -- | 'flowName'+  Prelude.Text ->+  DescribeFlowExecutionRecords+newDescribeFlowExecutionRecords pFlowName_ =+  DescribeFlowExecutionRecords'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      flowName = pFlowName_+    }++-- | Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+describeFlowExecutionRecords_maxResults :: Lens.Lens' DescribeFlowExecutionRecords (Prelude.Maybe Prelude.Natural)+describeFlowExecutionRecords_maxResults = Lens.lens (\DescribeFlowExecutionRecords' {maxResults} -> maxResults) (\s@DescribeFlowExecutionRecords' {} a -> s {maxResults = a} :: DescribeFlowExecutionRecords)++-- | The pagination token for the next page of data.+describeFlowExecutionRecords_nextToken :: Lens.Lens' DescribeFlowExecutionRecords (Prelude.Maybe Prelude.Text)+describeFlowExecutionRecords_nextToken = Lens.lens (\DescribeFlowExecutionRecords' {nextToken} -> nextToken) (\s@DescribeFlowExecutionRecords' {} a -> s {nextToken = a} :: DescribeFlowExecutionRecords)++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+describeFlowExecutionRecords_flowName :: Lens.Lens' DescribeFlowExecutionRecords Prelude.Text+describeFlowExecutionRecords_flowName = Lens.lens (\DescribeFlowExecutionRecords' {flowName} -> flowName) (\s@DescribeFlowExecutionRecords' {} a -> s {flowName = a} :: DescribeFlowExecutionRecords)++instance Core.AWSRequest DescribeFlowExecutionRecords where+  type+    AWSResponse DescribeFlowExecutionRecords =+      DescribeFlowExecutionRecordsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeFlowExecutionRecordsResponse'+            Prelude.<$> (x Data..?> "flowExecutions" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeFlowExecutionRecords+  where+  hashWithSalt _salt DescribeFlowExecutionRecords' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` flowName++instance Prelude.NFData DescribeFlowExecutionRecords where+  rnf DescribeFlowExecutionRecords' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf flowName++instance Data.ToHeaders DescribeFlowExecutionRecords where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeFlowExecutionRecords where+  toJSON DescribeFlowExecutionRecords' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("flowName" Data..= flowName)+          ]+      )++instance Data.ToPath DescribeFlowExecutionRecords where+  toPath =+    Prelude.const "/describe-flow-execution-records"++instance Data.ToQuery DescribeFlowExecutionRecords where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFlowExecutionRecordsResponse' smart constructor.+data DescribeFlowExecutionRecordsResponse = DescribeFlowExecutionRecordsResponse'+  { -- | Returns a list of all instances when this flow was run.+    flowExecutions :: Prelude.Maybe [ExecutionRecord],+    -- | The pagination token for the next page of data.+    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 'DescribeFlowExecutionRecordsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowExecutions', 'describeFlowExecutionRecordsResponse_flowExecutions' - Returns a list of all instances when this flow was run.+--+-- 'nextToken', 'describeFlowExecutionRecordsResponse_nextToken' - The pagination token for the next page of data.+--+-- 'httpStatus', 'describeFlowExecutionRecordsResponse_httpStatus' - The response's http status code.+newDescribeFlowExecutionRecordsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeFlowExecutionRecordsResponse+newDescribeFlowExecutionRecordsResponse pHttpStatus_ =+  DescribeFlowExecutionRecordsResponse'+    { flowExecutions =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns a list of all instances when this flow was run.+describeFlowExecutionRecordsResponse_flowExecutions :: Lens.Lens' DescribeFlowExecutionRecordsResponse (Prelude.Maybe [ExecutionRecord])+describeFlowExecutionRecordsResponse_flowExecutions = Lens.lens (\DescribeFlowExecutionRecordsResponse' {flowExecutions} -> flowExecutions) (\s@DescribeFlowExecutionRecordsResponse' {} a -> s {flowExecutions = a} :: DescribeFlowExecutionRecordsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token for the next page of data.+describeFlowExecutionRecordsResponse_nextToken :: Lens.Lens' DescribeFlowExecutionRecordsResponse (Prelude.Maybe Prelude.Text)+describeFlowExecutionRecordsResponse_nextToken = Lens.lens (\DescribeFlowExecutionRecordsResponse' {nextToken} -> nextToken) (\s@DescribeFlowExecutionRecordsResponse' {} a -> s {nextToken = a} :: DescribeFlowExecutionRecordsResponse)++-- | The response's http status code.+describeFlowExecutionRecordsResponse_httpStatus :: Lens.Lens' DescribeFlowExecutionRecordsResponse Prelude.Int+describeFlowExecutionRecordsResponse_httpStatus = Lens.lens (\DescribeFlowExecutionRecordsResponse' {httpStatus} -> httpStatus) (\s@DescribeFlowExecutionRecordsResponse' {} a -> s {httpStatus = a} :: DescribeFlowExecutionRecordsResponse)++instance+  Prelude.NFData+    DescribeFlowExecutionRecordsResponse+  where+  rnf DescribeFlowExecutionRecordsResponse' {..} =+    Prelude.rnf flowExecutions+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/Lens.hs view
@@ -0,0 +1,1153 @@+{-# 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.AppFlow.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.AppFlow.Lens+  ( -- * Operations++    -- ** CreateConnectorProfile+    createConnectorProfile_connectorLabel,+    createConnectorProfile_kmsArn,+    createConnectorProfile_connectorProfileName,+    createConnectorProfile_connectorType,+    createConnectorProfile_connectionMode,+    createConnectorProfile_connectorProfileConfig,+    createConnectorProfileResponse_connectorProfileArn,+    createConnectorProfileResponse_httpStatus,++    -- ** CreateFlow+    createFlow_description,+    createFlow_kmsArn,+    createFlow_metadataCatalogConfig,+    createFlow_tags,+    createFlow_flowName,+    createFlow_triggerConfig,+    createFlow_sourceFlowConfig,+    createFlow_destinationFlowConfigList,+    createFlow_tasks,+    createFlowResponse_flowArn,+    createFlowResponse_flowStatus,+    createFlowResponse_httpStatus,++    -- ** DeleteConnectorProfile+    deleteConnectorProfile_forceDelete,+    deleteConnectorProfile_connectorProfileName,+    deleteConnectorProfileResponse_httpStatus,++    -- ** DeleteFlow+    deleteFlow_forceDelete,+    deleteFlow_flowName,+    deleteFlowResponse_httpStatus,++    -- ** DescribeConnector+    describeConnector_connectorLabel,+    describeConnector_connectorType,+    describeConnectorResponse_connectorConfiguration,+    describeConnectorResponse_httpStatus,++    -- ** DescribeConnectorEntity+    describeConnectorEntity_apiVersion,+    describeConnectorEntity_connectorProfileName,+    describeConnectorEntity_connectorType,+    describeConnectorEntity_connectorEntityName,+    describeConnectorEntityResponse_httpStatus,+    describeConnectorEntityResponse_connectorEntityFields,++    -- ** DescribeConnectorProfiles+    describeConnectorProfiles_connectorLabel,+    describeConnectorProfiles_connectorProfileNames,+    describeConnectorProfiles_connectorType,+    describeConnectorProfiles_maxResults,+    describeConnectorProfiles_nextToken,+    describeConnectorProfilesResponse_connectorProfileDetails,+    describeConnectorProfilesResponse_nextToken,+    describeConnectorProfilesResponse_httpStatus,++    -- ** DescribeConnectors+    describeConnectors_connectorTypes,+    describeConnectors_maxResults,+    describeConnectors_nextToken,+    describeConnectorsResponse_connectorConfigurations,+    describeConnectorsResponse_connectors,+    describeConnectorsResponse_nextToken,+    describeConnectorsResponse_httpStatus,++    -- ** DescribeFlow+    describeFlow_flowName,+    describeFlowResponse_createdAt,+    describeFlowResponse_createdBy,+    describeFlowResponse_description,+    describeFlowResponse_destinationFlowConfigList,+    describeFlowResponse_flowArn,+    describeFlowResponse_flowName,+    describeFlowResponse_flowStatus,+    describeFlowResponse_flowStatusMessage,+    describeFlowResponse_kmsArn,+    describeFlowResponse_lastRunExecutionDetails,+    describeFlowResponse_lastRunMetadataCatalogDetails,+    describeFlowResponse_lastUpdatedAt,+    describeFlowResponse_lastUpdatedBy,+    describeFlowResponse_metadataCatalogConfig,+    describeFlowResponse_schemaVersion,+    describeFlowResponse_sourceFlowConfig,+    describeFlowResponse_tags,+    describeFlowResponse_tasks,+    describeFlowResponse_triggerConfig,+    describeFlowResponse_httpStatus,++    -- ** DescribeFlowExecutionRecords+    describeFlowExecutionRecords_maxResults,+    describeFlowExecutionRecords_nextToken,+    describeFlowExecutionRecords_flowName,+    describeFlowExecutionRecordsResponse_flowExecutions,+    describeFlowExecutionRecordsResponse_nextToken,+    describeFlowExecutionRecordsResponse_httpStatus,++    -- ** ListConnectorEntities+    listConnectorEntities_apiVersion,+    listConnectorEntities_connectorProfileName,+    listConnectorEntities_connectorType,+    listConnectorEntities_entitiesPath,+    listConnectorEntities_maxResults,+    listConnectorEntities_nextToken,+    listConnectorEntitiesResponse_nextToken,+    listConnectorEntitiesResponse_httpStatus,+    listConnectorEntitiesResponse_connectorEntityMap,++    -- ** ListConnectors+    listConnectors_maxResults,+    listConnectors_nextToken,+    listConnectorsResponse_connectors,+    listConnectorsResponse_nextToken,+    listConnectorsResponse_httpStatus,++    -- ** ListFlows+    listFlows_maxResults,+    listFlows_nextToken,+    listFlowsResponse_flows,+    listFlowsResponse_nextToken,+    listFlowsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** RegisterConnector+    registerConnector_connectorLabel,+    registerConnector_connectorProvisioningConfig,+    registerConnector_connectorProvisioningType,+    registerConnector_description,+    registerConnectorResponse_connectorArn,+    registerConnectorResponse_httpStatus,++    -- ** StartFlow+    startFlow_flowName,+    startFlowResponse_executionId,+    startFlowResponse_flowArn,+    startFlowResponse_flowStatus,+    startFlowResponse_httpStatus,++    -- ** StopFlow+    stopFlow_flowName,+    stopFlowResponse_flowArn,+    stopFlowResponse_flowStatus,+    stopFlowResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UnregisterConnector+    unregisterConnector_forceDelete,+    unregisterConnector_connectorLabel,+    unregisterConnectorResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateConnectorProfile+    updateConnectorProfile_connectorProfileName,+    updateConnectorProfile_connectionMode,+    updateConnectorProfile_connectorProfileConfig,+    updateConnectorProfileResponse_connectorProfileArn,+    updateConnectorProfileResponse_httpStatus,++    -- ** UpdateConnectorRegistration+    updateConnectorRegistration_connectorProvisioningConfig,+    updateConnectorRegistration_description,+    updateConnectorRegistration_connectorLabel,+    updateConnectorRegistrationResponse_connectorArn,+    updateConnectorRegistrationResponse_httpStatus,++    -- ** UpdateFlow+    updateFlow_description,+    updateFlow_metadataCatalogConfig,+    updateFlow_flowName,+    updateFlow_triggerConfig,+    updateFlow_sourceFlowConfig,+    updateFlow_destinationFlowConfigList,+    updateFlow_tasks,+    updateFlowResponse_flowStatus,+    updateFlowResponse_httpStatus,++    -- * Types++    -- ** AggregationConfig+    aggregationConfig_aggregationType,+    aggregationConfig_targetFileSize,++    -- ** AmplitudeConnectorProfileCredentials+    amplitudeConnectorProfileCredentials_apiKey,+    amplitudeConnectorProfileCredentials_secretKey,++    -- ** AmplitudeConnectorProfileProperties++    -- ** AmplitudeMetadata++    -- ** AmplitudeSourceProperties+    amplitudeSourceProperties_object,++    -- ** ApiKeyCredentials+    apiKeyCredentials_apiSecretKey,+    apiKeyCredentials_apiKey,++    -- ** AuthParameter+    authParameter_connectorSuppliedValues,+    authParameter_description,+    authParameter_isRequired,+    authParameter_isSensitiveField,+    authParameter_key,+    authParameter_label,++    -- ** AuthenticationConfig+    authenticationConfig_customAuthConfigs,+    authenticationConfig_isApiKeyAuthSupported,+    authenticationConfig_isBasicAuthSupported,+    authenticationConfig_isCustomAuthSupported,+    authenticationConfig_isOAuth2Supported,+    authenticationConfig_oAuth2Defaults,++    -- ** BasicAuthCredentials+    basicAuthCredentials_username,+    basicAuthCredentials_password,++    -- ** ConnectorConfiguration+    connectorConfiguration_authenticationConfig,+    connectorConfiguration_canUseAsDestination,+    connectorConfiguration_canUseAsSource,+    connectorConfiguration_connectorArn,+    connectorConfiguration_connectorDescription,+    connectorConfiguration_connectorLabel,+    connectorConfiguration_connectorMetadata,+    connectorConfiguration_connectorModes,+    connectorConfiguration_connectorName,+    connectorConfiguration_connectorOwner,+    connectorConfiguration_connectorProvisioningConfig,+    connectorConfiguration_connectorProvisioningType,+    connectorConfiguration_connectorRuntimeSettings,+    connectorConfiguration_connectorType,+    connectorConfiguration_connectorVersion,+    connectorConfiguration_isPrivateLinkEnabled,+    connectorConfiguration_isPrivateLinkEndpointUrlRequired,+    connectorConfiguration_logoURL,+    connectorConfiguration_registeredAt,+    connectorConfiguration_registeredBy,+    connectorConfiguration_supportedApiVersions,+    connectorConfiguration_supportedDestinationConnectors,+    connectorConfiguration_supportedOperators,+    connectorConfiguration_supportedSchedulingFrequencies,+    connectorConfiguration_supportedTriggerTypes,+    connectorConfiguration_supportedWriteOperations,++    -- ** ConnectorDetail+    connectorDetail_applicationType,+    connectorDetail_connectorDescription,+    connectorDetail_connectorLabel,+    connectorDetail_connectorModes,+    connectorDetail_connectorName,+    connectorDetail_connectorOwner,+    connectorDetail_connectorProvisioningType,+    connectorDetail_connectorType,+    connectorDetail_connectorVersion,+    connectorDetail_registeredAt,+    connectorDetail_registeredBy,++    -- ** ConnectorEntity+    connectorEntity_hasNestedEntities,+    connectorEntity_label,+    connectorEntity_name,++    -- ** ConnectorEntityField+    connectorEntityField_customProperties,+    connectorEntityField_defaultValue,+    connectorEntityField_description,+    connectorEntityField_destinationProperties,+    connectorEntityField_isDeprecated,+    connectorEntityField_isPrimaryKey,+    connectorEntityField_label,+    connectorEntityField_parentIdentifier,+    connectorEntityField_sourceProperties,+    connectorEntityField_supportedFieldTypeDetails,+    connectorEntityField_identifier,++    -- ** ConnectorMetadata+    connectorMetadata_amplitude,+    connectorMetadata_customerProfiles,+    connectorMetadata_datadog,+    connectorMetadata_dynatrace,+    connectorMetadata_eventBridge,+    connectorMetadata_googleAnalytics,+    connectorMetadata_honeycode,+    connectorMetadata_inforNexus,+    connectorMetadata_marketo,+    connectorMetadata_redshift,+    connectorMetadata_s3,+    connectorMetadata_sAPOData,+    connectorMetadata_salesforce,+    connectorMetadata_serviceNow,+    connectorMetadata_singular,+    connectorMetadata_slack,+    connectorMetadata_snowflake,+    connectorMetadata_trendmicro,+    connectorMetadata_upsolver,+    connectorMetadata_veeva,+    connectorMetadata_zendesk,++    -- ** ConnectorOAuthRequest+    connectorOAuthRequest_authCode,+    connectorOAuthRequest_redirectUri,++    -- ** ConnectorOperator+    connectorOperator_amplitude,+    connectorOperator_customConnector,+    connectorOperator_datadog,+    connectorOperator_dynatrace,+    connectorOperator_googleAnalytics,+    connectorOperator_inforNexus,+    connectorOperator_marketo,+    connectorOperator_s3,+    connectorOperator_sAPOData,+    connectorOperator_salesforce,+    connectorOperator_serviceNow,+    connectorOperator_singular,+    connectorOperator_slack,+    connectorOperator_trendmicro,+    connectorOperator_veeva,+    connectorOperator_zendesk,++    -- ** ConnectorProfile+    connectorProfile_connectionMode,+    connectorProfile_connectorLabel,+    connectorProfile_connectorProfileArn,+    connectorProfile_connectorProfileName,+    connectorProfile_connectorProfileProperties,+    connectorProfile_connectorType,+    connectorProfile_createdAt,+    connectorProfile_credentialsArn,+    connectorProfile_lastUpdatedAt,+    connectorProfile_privateConnectionProvisioningState,++    -- ** ConnectorProfileConfig+    connectorProfileConfig_connectorProfileCredentials,+    connectorProfileConfig_connectorProfileProperties,++    -- ** ConnectorProfileCredentials+    connectorProfileCredentials_amplitude,+    connectorProfileCredentials_customConnector,+    connectorProfileCredentials_datadog,+    connectorProfileCredentials_dynatrace,+    connectorProfileCredentials_googleAnalytics,+    connectorProfileCredentials_honeycode,+    connectorProfileCredentials_inforNexus,+    connectorProfileCredentials_marketo,+    connectorProfileCredentials_redshift,+    connectorProfileCredentials_sAPOData,+    connectorProfileCredentials_salesforce,+    connectorProfileCredentials_serviceNow,+    connectorProfileCredentials_singular,+    connectorProfileCredentials_slack,+    connectorProfileCredentials_snowflake,+    connectorProfileCredentials_trendmicro,+    connectorProfileCredentials_veeva,+    connectorProfileCredentials_zendesk,++    -- ** ConnectorProfileProperties+    connectorProfileProperties_amplitude,+    connectorProfileProperties_customConnector,+    connectorProfileProperties_datadog,+    connectorProfileProperties_dynatrace,+    connectorProfileProperties_googleAnalytics,+    connectorProfileProperties_honeycode,+    connectorProfileProperties_inforNexus,+    connectorProfileProperties_marketo,+    connectorProfileProperties_redshift,+    connectorProfileProperties_sAPOData,+    connectorProfileProperties_salesforce,+    connectorProfileProperties_serviceNow,+    connectorProfileProperties_singular,+    connectorProfileProperties_slack,+    connectorProfileProperties_snowflake,+    connectorProfileProperties_trendmicro,+    connectorProfileProperties_veeva,+    connectorProfileProperties_zendesk,++    -- ** ConnectorProvisioningConfig+    connectorProvisioningConfig_lambda,++    -- ** ConnectorRuntimeSetting+    connectorRuntimeSetting_connectorSuppliedValueOptions,+    connectorRuntimeSetting_dataType,+    connectorRuntimeSetting_description,+    connectorRuntimeSetting_isRequired,+    connectorRuntimeSetting_key,+    connectorRuntimeSetting_label,+    connectorRuntimeSetting_scope,++    -- ** CustomAuthConfig+    customAuthConfig_authParameters,+    customAuthConfig_customAuthenticationType,++    -- ** CustomAuthCredentials+    customAuthCredentials_credentialsMap,+    customAuthCredentials_customAuthenticationType,++    -- ** CustomConnectorDestinationProperties+    customConnectorDestinationProperties_customProperties,+    customConnectorDestinationProperties_errorHandlingConfig,+    customConnectorDestinationProperties_idFieldNames,+    customConnectorDestinationProperties_writeOperationType,+    customConnectorDestinationProperties_entityName,++    -- ** CustomConnectorProfileCredentials+    customConnectorProfileCredentials_apiKey,+    customConnectorProfileCredentials_basic,+    customConnectorProfileCredentials_custom,+    customConnectorProfileCredentials_oauth2,+    customConnectorProfileCredentials_authenticationType,++    -- ** CustomConnectorProfileProperties+    customConnectorProfileProperties_oAuth2Properties,+    customConnectorProfileProperties_profileProperties,++    -- ** CustomConnectorSourceProperties+    customConnectorSourceProperties_customProperties,+    customConnectorSourceProperties_entityName,++    -- ** CustomerProfilesDestinationProperties+    customerProfilesDestinationProperties_objectTypeName,+    customerProfilesDestinationProperties_domainName,++    -- ** CustomerProfilesMetadata++    -- ** DatadogConnectorProfileCredentials+    datadogConnectorProfileCredentials_apiKey,+    datadogConnectorProfileCredentials_applicationKey,++    -- ** DatadogConnectorProfileProperties+    datadogConnectorProfileProperties_instanceUrl,++    -- ** DatadogMetadata++    -- ** DatadogSourceProperties+    datadogSourceProperties_object,++    -- ** DestinationConnectorProperties+    destinationConnectorProperties_customConnector,+    destinationConnectorProperties_customerProfiles,+    destinationConnectorProperties_eventBridge,+    destinationConnectorProperties_honeycode,+    destinationConnectorProperties_lookoutMetrics,+    destinationConnectorProperties_marketo,+    destinationConnectorProperties_redshift,+    destinationConnectorProperties_s3,+    destinationConnectorProperties_sAPOData,+    destinationConnectorProperties_salesforce,+    destinationConnectorProperties_snowflake,+    destinationConnectorProperties_upsolver,+    destinationConnectorProperties_zendesk,++    -- ** DestinationFieldProperties+    destinationFieldProperties_isCreatable,+    destinationFieldProperties_isDefaultedOnCreate,+    destinationFieldProperties_isNullable,+    destinationFieldProperties_isUpdatable,+    destinationFieldProperties_isUpsertable,+    destinationFieldProperties_supportedWriteOperations,++    -- ** DestinationFlowConfig+    destinationFlowConfig_apiVersion,+    destinationFlowConfig_connectorProfileName,+    destinationFlowConfig_connectorType,+    destinationFlowConfig_destinationConnectorProperties,++    -- ** DynatraceConnectorProfileCredentials+    dynatraceConnectorProfileCredentials_apiToken,++    -- ** DynatraceConnectorProfileProperties+    dynatraceConnectorProfileProperties_instanceUrl,++    -- ** DynatraceMetadata++    -- ** DynatraceSourceProperties+    dynatraceSourceProperties_object,++    -- ** ErrorHandlingConfig+    errorHandlingConfig_bucketName,+    errorHandlingConfig_bucketPrefix,+    errorHandlingConfig_failOnFirstDestinationError,++    -- ** ErrorInfo+    errorInfo_executionMessage,+    errorInfo_putFailuresCount,++    -- ** EventBridgeDestinationProperties+    eventBridgeDestinationProperties_errorHandlingConfig,+    eventBridgeDestinationProperties_object,++    -- ** EventBridgeMetadata++    -- ** ExecutionDetails+    executionDetails_mostRecentExecutionMessage,+    executionDetails_mostRecentExecutionStatus,+    executionDetails_mostRecentExecutionTime,++    -- ** ExecutionRecord+    executionRecord_dataPullEndTime,+    executionRecord_dataPullStartTime,+    executionRecord_executionId,+    executionRecord_executionResult,+    executionRecord_executionStatus,+    executionRecord_lastUpdatedAt,+    executionRecord_metadataCatalogDetails,+    executionRecord_startedAt,++    -- ** ExecutionResult+    executionResult_bytesProcessed,+    executionResult_bytesWritten,+    executionResult_errorInfo,+    executionResult_recordsProcessed,++    -- ** FieldTypeDetails+    fieldTypeDetails_fieldLengthRange,+    fieldTypeDetails_fieldValueRange,+    fieldTypeDetails_supportedDateFormat,+    fieldTypeDetails_supportedValues,+    fieldTypeDetails_valueRegexPattern,+    fieldTypeDetails_fieldType,+    fieldTypeDetails_filterOperators,++    -- ** FlowDefinition+    flowDefinition_createdAt,+    flowDefinition_createdBy,+    flowDefinition_description,+    flowDefinition_destinationConnectorLabel,+    flowDefinition_destinationConnectorType,+    flowDefinition_flowArn,+    flowDefinition_flowName,+    flowDefinition_flowStatus,+    flowDefinition_lastRunExecutionDetails,+    flowDefinition_lastUpdatedAt,+    flowDefinition_lastUpdatedBy,+    flowDefinition_sourceConnectorLabel,+    flowDefinition_sourceConnectorType,+    flowDefinition_tags,+    flowDefinition_triggerType,++    -- ** GlueDataCatalogConfig+    glueDataCatalogConfig_roleArn,+    glueDataCatalogConfig_databaseName,+    glueDataCatalogConfig_tablePrefix,++    -- ** GoogleAnalyticsConnectorProfileCredentials+    googleAnalyticsConnectorProfileCredentials_accessToken,+    googleAnalyticsConnectorProfileCredentials_oAuthRequest,+    googleAnalyticsConnectorProfileCredentials_refreshToken,+    googleAnalyticsConnectorProfileCredentials_clientId,+    googleAnalyticsConnectorProfileCredentials_clientSecret,++    -- ** GoogleAnalyticsConnectorProfileProperties++    -- ** GoogleAnalyticsMetadata+    googleAnalyticsMetadata_oAuthScopes,++    -- ** GoogleAnalyticsSourceProperties+    googleAnalyticsSourceProperties_object,++    -- ** HoneycodeConnectorProfileCredentials+    honeycodeConnectorProfileCredentials_accessToken,+    honeycodeConnectorProfileCredentials_oAuthRequest,+    honeycodeConnectorProfileCredentials_refreshToken,++    -- ** HoneycodeConnectorProfileProperties++    -- ** HoneycodeDestinationProperties+    honeycodeDestinationProperties_errorHandlingConfig,+    honeycodeDestinationProperties_object,++    -- ** HoneycodeMetadata+    honeycodeMetadata_oAuthScopes,++    -- ** IncrementalPullConfig+    incrementalPullConfig_datetimeTypeFieldName,++    -- ** InforNexusConnectorProfileCredentials+    inforNexusConnectorProfileCredentials_accessKeyId,+    inforNexusConnectorProfileCredentials_userId,+    inforNexusConnectorProfileCredentials_secretAccessKey,+    inforNexusConnectorProfileCredentials_datakey,++    -- ** InforNexusConnectorProfileProperties+    inforNexusConnectorProfileProperties_instanceUrl,++    -- ** InforNexusMetadata++    -- ** InforNexusSourceProperties+    inforNexusSourceProperties_object,++    -- ** LambdaConnectorProvisioningConfig+    lambdaConnectorProvisioningConfig_lambdaArn,++    -- ** LookoutMetricsDestinationProperties++    -- ** MarketoConnectorProfileCredentials+    marketoConnectorProfileCredentials_accessToken,+    marketoConnectorProfileCredentials_oAuthRequest,+    marketoConnectorProfileCredentials_clientId,+    marketoConnectorProfileCredentials_clientSecret,++    -- ** MarketoConnectorProfileProperties+    marketoConnectorProfileProperties_instanceUrl,++    -- ** MarketoDestinationProperties+    marketoDestinationProperties_errorHandlingConfig,+    marketoDestinationProperties_object,++    -- ** MarketoMetadata++    -- ** MarketoSourceProperties+    marketoSourceProperties_object,++    -- ** MetadataCatalogConfig+    metadataCatalogConfig_glueDataCatalog,++    -- ** MetadataCatalogDetail+    metadataCatalogDetail_catalogType,+    metadataCatalogDetail_partitionRegistrationOutput,+    metadataCatalogDetail_tableName,+    metadataCatalogDetail_tableRegistrationOutput,++    -- ** OAuth2Credentials+    oAuth2Credentials_accessToken,+    oAuth2Credentials_clientId,+    oAuth2Credentials_clientSecret,+    oAuth2Credentials_oAuthRequest,+    oAuth2Credentials_refreshToken,++    -- ** OAuth2CustomParameter+    oAuth2CustomParameter_connectorSuppliedValues,+    oAuth2CustomParameter_description,+    oAuth2CustomParameter_isRequired,+    oAuth2CustomParameter_isSensitiveField,+    oAuth2CustomParameter_key,+    oAuth2CustomParameter_label,+    oAuth2CustomParameter_type,++    -- ** OAuth2Defaults+    oAuth2Defaults_authCodeUrls,+    oAuth2Defaults_oauth2CustomProperties,+    oAuth2Defaults_oauth2GrantTypesSupported,+    oAuth2Defaults_oauthScopes,+    oAuth2Defaults_tokenUrls,++    -- ** OAuth2Properties+    oAuth2Properties_tokenUrlCustomProperties,+    oAuth2Properties_tokenUrl,+    oAuth2Properties_oAuth2GrantType,++    -- ** OAuthCredentials+    oAuthCredentials_accessToken,+    oAuthCredentials_oAuthRequest,+    oAuthCredentials_refreshToken,+    oAuthCredentials_clientId,+    oAuthCredentials_clientSecret,++    -- ** OAuthProperties+    oAuthProperties_tokenUrl,+    oAuthProperties_authCodeUrl,+    oAuthProperties_oAuthScopes,++    -- ** PrefixConfig+    prefixConfig_pathPrefixHierarchy,+    prefixConfig_prefixFormat,+    prefixConfig_prefixType,++    -- ** PrivateConnectionProvisioningState+    privateConnectionProvisioningState_failureCause,+    privateConnectionProvisioningState_failureMessage,+    privateConnectionProvisioningState_status,++    -- ** Range+    range_maximum,+    range_minimum,++    -- ** RedshiftConnectorProfileCredentials+    redshiftConnectorProfileCredentials_password,+    redshiftConnectorProfileCredentials_username,++    -- ** RedshiftConnectorProfileProperties+    redshiftConnectorProfileProperties_bucketPrefix,+    redshiftConnectorProfileProperties_clusterIdentifier,+    redshiftConnectorProfileProperties_dataApiRoleArn,+    redshiftConnectorProfileProperties_databaseName,+    redshiftConnectorProfileProperties_databaseUrl,+    redshiftConnectorProfileProperties_isRedshiftServerless,+    redshiftConnectorProfileProperties_workgroupName,+    redshiftConnectorProfileProperties_bucketName,+    redshiftConnectorProfileProperties_roleArn,++    -- ** RedshiftDestinationProperties+    redshiftDestinationProperties_bucketPrefix,+    redshiftDestinationProperties_errorHandlingConfig,+    redshiftDestinationProperties_object,+    redshiftDestinationProperties_intermediateBucketName,++    -- ** RedshiftMetadata++    -- ** RegistrationOutput+    registrationOutput_message,+    registrationOutput_result,+    registrationOutput_status,++    -- ** S3DestinationProperties+    s3DestinationProperties_bucketPrefix,+    s3DestinationProperties_s3OutputFormatConfig,+    s3DestinationProperties_bucketName,++    -- ** S3InputFormatConfig+    s3InputFormatConfig_s3InputFileType,++    -- ** S3Metadata++    -- ** S3OutputFormatConfig+    s3OutputFormatConfig_aggregationConfig,+    s3OutputFormatConfig_fileType,+    s3OutputFormatConfig_prefixConfig,+    s3OutputFormatConfig_preserveSourceDataTyping,++    -- ** S3SourceProperties+    s3SourceProperties_bucketPrefix,+    s3SourceProperties_s3InputFormatConfig,+    s3SourceProperties_bucketName,++    -- ** SAPODataConnectorProfileCredentials+    sAPODataConnectorProfileCredentials_basicAuthCredentials,+    sAPODataConnectorProfileCredentials_oAuthCredentials,++    -- ** SAPODataConnectorProfileProperties+    sAPODataConnectorProfileProperties_logonLanguage,+    sAPODataConnectorProfileProperties_oAuthProperties,+    sAPODataConnectorProfileProperties_privateLinkServiceName,+    sAPODataConnectorProfileProperties_applicationHostUrl,+    sAPODataConnectorProfileProperties_applicationServicePath,+    sAPODataConnectorProfileProperties_portNumber,+    sAPODataConnectorProfileProperties_clientNumber,++    -- ** SAPODataDestinationProperties+    sAPODataDestinationProperties_errorHandlingConfig,+    sAPODataDestinationProperties_idFieldNames,+    sAPODataDestinationProperties_successResponseHandlingConfig,+    sAPODataDestinationProperties_writeOperationType,+    sAPODataDestinationProperties_objectPath,++    -- ** SAPODataMetadata++    -- ** SAPODataSourceProperties+    sAPODataSourceProperties_objectPath,++    -- ** SalesforceConnectorProfileCredentials+    salesforceConnectorProfileCredentials_accessToken,+    salesforceConnectorProfileCredentials_clientCredentialsArn,+    salesforceConnectorProfileCredentials_oAuthRequest,+    salesforceConnectorProfileCredentials_refreshToken,++    -- ** SalesforceConnectorProfileProperties+    salesforceConnectorProfileProperties_instanceUrl,+    salesforceConnectorProfileProperties_isSandboxEnvironment,++    -- ** SalesforceDestinationProperties+    salesforceDestinationProperties_dataTransferApi,+    salesforceDestinationProperties_errorHandlingConfig,+    salesforceDestinationProperties_idFieldNames,+    salesforceDestinationProperties_writeOperationType,+    salesforceDestinationProperties_object,++    -- ** SalesforceMetadata+    salesforceMetadata_dataTransferApis,+    salesforceMetadata_oAuthScopes,++    -- ** SalesforceSourceProperties+    salesforceSourceProperties_dataTransferApi,+    salesforceSourceProperties_enableDynamicFieldUpdate,+    salesforceSourceProperties_includeDeletedRecords,+    salesforceSourceProperties_object,++    -- ** ScheduledTriggerProperties+    scheduledTriggerProperties_dataPullMode,+    scheduledTriggerProperties_firstExecutionFrom,+    scheduledTriggerProperties_flowErrorDeactivationThreshold,+    scheduledTriggerProperties_scheduleEndTime,+    scheduledTriggerProperties_scheduleOffset,+    scheduledTriggerProperties_scheduleStartTime,+    scheduledTriggerProperties_timezone,+    scheduledTriggerProperties_scheduleExpression,++    -- ** ServiceNowConnectorProfileCredentials+    serviceNowConnectorProfileCredentials_username,+    serviceNowConnectorProfileCredentials_password,++    -- ** ServiceNowConnectorProfileProperties+    serviceNowConnectorProfileProperties_instanceUrl,++    -- ** ServiceNowMetadata++    -- ** ServiceNowSourceProperties+    serviceNowSourceProperties_object,++    -- ** SingularConnectorProfileCredentials+    singularConnectorProfileCredentials_apiKey,++    -- ** SingularConnectorProfileProperties++    -- ** SingularMetadata++    -- ** SingularSourceProperties+    singularSourceProperties_object,++    -- ** SlackConnectorProfileCredentials+    slackConnectorProfileCredentials_accessToken,+    slackConnectorProfileCredentials_oAuthRequest,+    slackConnectorProfileCredentials_clientId,+    slackConnectorProfileCredentials_clientSecret,++    -- ** SlackConnectorProfileProperties+    slackConnectorProfileProperties_instanceUrl,++    -- ** SlackMetadata+    slackMetadata_oAuthScopes,++    -- ** SlackSourceProperties+    slackSourceProperties_object,++    -- ** SnowflakeConnectorProfileCredentials+    snowflakeConnectorProfileCredentials_username,+    snowflakeConnectorProfileCredentials_password,++    -- ** SnowflakeConnectorProfileProperties+    snowflakeConnectorProfileProperties_accountName,+    snowflakeConnectorProfileProperties_bucketPrefix,+    snowflakeConnectorProfileProperties_privateLinkServiceName,+    snowflakeConnectorProfileProperties_region,+    snowflakeConnectorProfileProperties_warehouse,+    snowflakeConnectorProfileProperties_stage,+    snowflakeConnectorProfileProperties_bucketName,++    -- ** SnowflakeDestinationProperties+    snowflakeDestinationProperties_bucketPrefix,+    snowflakeDestinationProperties_errorHandlingConfig,+    snowflakeDestinationProperties_object,+    snowflakeDestinationProperties_intermediateBucketName,++    -- ** SnowflakeMetadata+    snowflakeMetadata_supportedRegions,++    -- ** SourceConnectorProperties+    sourceConnectorProperties_amplitude,+    sourceConnectorProperties_customConnector,+    sourceConnectorProperties_datadog,+    sourceConnectorProperties_dynatrace,+    sourceConnectorProperties_googleAnalytics,+    sourceConnectorProperties_inforNexus,+    sourceConnectorProperties_marketo,+    sourceConnectorProperties_s3,+    sourceConnectorProperties_sAPOData,+    sourceConnectorProperties_salesforce,+    sourceConnectorProperties_serviceNow,+    sourceConnectorProperties_singular,+    sourceConnectorProperties_slack,+    sourceConnectorProperties_trendmicro,+    sourceConnectorProperties_veeva,+    sourceConnectorProperties_zendesk,++    -- ** SourceFieldProperties+    sourceFieldProperties_isQueryable,+    sourceFieldProperties_isRetrievable,+    sourceFieldProperties_isTimestampFieldForIncrementalQueries,++    -- ** SourceFlowConfig+    sourceFlowConfig_apiVersion,+    sourceFlowConfig_connectorProfileName,+    sourceFlowConfig_incrementalPullConfig,+    sourceFlowConfig_connectorType,+    sourceFlowConfig_sourceConnectorProperties,++    -- ** SuccessResponseHandlingConfig+    successResponseHandlingConfig_bucketName,+    successResponseHandlingConfig_bucketPrefix,++    -- ** SupportedFieldTypeDetails+    supportedFieldTypeDetails_v1,++    -- ** Task+    task_connectorOperator,+    task_destinationField,+    task_taskProperties,+    task_sourceFields,+    task_taskType,++    -- ** TrendmicroConnectorProfileCredentials+    trendmicroConnectorProfileCredentials_apiSecretKey,++    -- ** TrendmicroConnectorProfileProperties++    -- ** TrendmicroMetadata++    -- ** TrendmicroSourceProperties+    trendmicroSourceProperties_object,++    -- ** TriggerConfig+    triggerConfig_triggerProperties,+    triggerConfig_triggerType,++    -- ** TriggerProperties+    triggerProperties_scheduled,++    -- ** UpsolverDestinationProperties+    upsolverDestinationProperties_bucketPrefix,+    upsolverDestinationProperties_bucketName,+    upsolverDestinationProperties_s3OutputFormatConfig,++    -- ** UpsolverMetadata++    -- ** UpsolverS3OutputFormatConfig+    upsolverS3OutputFormatConfig_aggregationConfig,+    upsolverS3OutputFormatConfig_fileType,+    upsolverS3OutputFormatConfig_prefixConfig,++    -- ** VeevaConnectorProfileCredentials+    veevaConnectorProfileCredentials_username,+    veevaConnectorProfileCredentials_password,++    -- ** VeevaConnectorProfileProperties+    veevaConnectorProfileProperties_instanceUrl,++    -- ** VeevaMetadata++    -- ** VeevaSourceProperties+    veevaSourceProperties_documentType,+    veevaSourceProperties_includeAllVersions,+    veevaSourceProperties_includeRenditions,+    veevaSourceProperties_includeSourceFiles,+    veevaSourceProperties_object,++    -- ** ZendeskConnectorProfileCredentials+    zendeskConnectorProfileCredentials_accessToken,+    zendeskConnectorProfileCredentials_oAuthRequest,+    zendeskConnectorProfileCredentials_clientId,+    zendeskConnectorProfileCredentials_clientSecret,++    -- ** ZendeskConnectorProfileProperties+    zendeskConnectorProfileProperties_instanceUrl,++    -- ** ZendeskDestinationProperties+    zendeskDestinationProperties_errorHandlingConfig,+    zendeskDestinationProperties_idFieldNames,+    zendeskDestinationProperties_writeOperationType,+    zendeskDestinationProperties_object,++    -- ** ZendeskMetadata+    zendeskMetadata_oAuthScopes,++    -- ** ZendeskSourceProperties+    zendeskSourceProperties_object,+  )+where++import Amazonka.AppFlow.CreateConnectorProfile+import Amazonka.AppFlow.CreateFlow+import Amazonka.AppFlow.DeleteConnectorProfile+import Amazonka.AppFlow.DeleteFlow+import Amazonka.AppFlow.DescribeConnector+import Amazonka.AppFlow.DescribeConnectorEntity+import Amazonka.AppFlow.DescribeConnectorProfiles+import Amazonka.AppFlow.DescribeConnectors+import Amazonka.AppFlow.DescribeFlow+import Amazonka.AppFlow.DescribeFlowExecutionRecords+import Amazonka.AppFlow.ListConnectorEntities+import Amazonka.AppFlow.ListConnectors+import Amazonka.AppFlow.ListFlows+import Amazonka.AppFlow.ListTagsForResource+import Amazonka.AppFlow.RegisterConnector+import Amazonka.AppFlow.StartFlow+import Amazonka.AppFlow.StopFlow+import Amazonka.AppFlow.TagResource+import Amazonka.AppFlow.Types.AggregationConfig+import Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials+import Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties+import Amazonka.AppFlow.Types.AmplitudeMetadata+import Amazonka.AppFlow.Types.AmplitudeSourceProperties+import Amazonka.AppFlow.Types.ApiKeyCredentials+import Amazonka.AppFlow.Types.AuthParameter+import Amazonka.AppFlow.Types.AuthenticationConfig+import Amazonka.AppFlow.Types.BasicAuthCredentials+import Amazonka.AppFlow.Types.ConnectorConfiguration+import Amazonka.AppFlow.Types.ConnectorDetail+import Amazonka.AppFlow.Types.ConnectorEntity+import Amazonka.AppFlow.Types.ConnectorEntityField+import Amazonka.AppFlow.Types.ConnectorMetadata+import Amazonka.AppFlow.Types.ConnectorOAuthRequest+import Amazonka.AppFlow.Types.ConnectorOperator+import Amazonka.AppFlow.Types.ConnectorProfile+import Amazonka.AppFlow.Types.ConnectorProfileConfig+import Amazonka.AppFlow.Types.ConnectorProfileCredentials+import Amazonka.AppFlow.Types.ConnectorProfileProperties+import Amazonka.AppFlow.Types.ConnectorProvisioningConfig+import Amazonka.AppFlow.Types.ConnectorRuntimeSetting+import Amazonka.AppFlow.Types.CustomAuthConfig+import Amazonka.AppFlow.Types.CustomAuthCredentials+import Amazonka.AppFlow.Types.CustomConnectorDestinationProperties+import Amazonka.AppFlow.Types.CustomConnectorProfileCredentials+import Amazonka.AppFlow.Types.CustomConnectorProfileProperties+import Amazonka.AppFlow.Types.CustomConnectorSourceProperties+import Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties+import Amazonka.AppFlow.Types.CustomerProfilesMetadata+import Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials+import Amazonka.AppFlow.Types.DatadogConnectorProfileProperties+import Amazonka.AppFlow.Types.DatadogMetadata+import Amazonka.AppFlow.Types.DatadogSourceProperties+import Amazonka.AppFlow.Types.DestinationConnectorProperties+import Amazonka.AppFlow.Types.DestinationFieldProperties+import Amazonka.AppFlow.Types.DestinationFlowConfig+import Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials+import Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties+import Amazonka.AppFlow.Types.DynatraceMetadata+import Amazonka.AppFlow.Types.DynatraceSourceProperties+import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.ErrorInfo+import Amazonka.AppFlow.Types.EventBridgeDestinationProperties+import Amazonka.AppFlow.Types.EventBridgeMetadata+import Amazonka.AppFlow.Types.ExecutionDetails+import Amazonka.AppFlow.Types.ExecutionRecord+import Amazonka.AppFlow.Types.ExecutionResult+import Amazonka.AppFlow.Types.FieldTypeDetails+import Amazonka.AppFlow.Types.FlowDefinition+import Amazonka.AppFlow.Types.GlueDataCatalogConfig+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties+import Amazonka.AppFlow.Types.GoogleAnalyticsMetadata+import Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileCredentials+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties+import Amazonka.AppFlow.Types.HoneycodeDestinationProperties+import Amazonka.AppFlow.Types.HoneycodeMetadata+import Amazonka.AppFlow.Types.IncrementalPullConfig+import Amazonka.AppFlow.Types.InforNexusConnectorProfileCredentials+import Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties+import Amazonka.AppFlow.Types.InforNexusMetadata+import Amazonka.AppFlow.Types.InforNexusSourceProperties+import Amazonka.AppFlow.Types.LambdaConnectorProvisioningConfig+import Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties+import Amazonka.AppFlow.Types.MarketoConnectorProfileCredentials+import Amazonka.AppFlow.Types.MarketoConnectorProfileProperties+import Amazonka.AppFlow.Types.MarketoDestinationProperties+import Amazonka.AppFlow.Types.MarketoMetadata+import Amazonka.AppFlow.Types.MarketoSourceProperties+import Amazonka.AppFlow.Types.MetadataCatalogConfig+import Amazonka.AppFlow.Types.MetadataCatalogDetail+import Amazonka.AppFlow.Types.OAuth2Credentials+import Amazonka.AppFlow.Types.OAuth2CustomParameter+import Amazonka.AppFlow.Types.OAuth2Defaults+import Amazonka.AppFlow.Types.OAuth2Properties+import Amazonka.AppFlow.Types.OAuthCredentials+import Amazonka.AppFlow.Types.OAuthProperties+import Amazonka.AppFlow.Types.PrefixConfig+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningState+import Amazonka.AppFlow.Types.Range+import Amazonka.AppFlow.Types.RedshiftConnectorProfileCredentials+import Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties+import Amazonka.AppFlow.Types.RedshiftDestinationProperties+import Amazonka.AppFlow.Types.RedshiftMetadata+import Amazonka.AppFlow.Types.RegistrationOutput+import Amazonka.AppFlow.Types.S3DestinationProperties+import Amazonka.AppFlow.Types.S3InputFormatConfig+import Amazonka.AppFlow.Types.S3Metadata+import Amazonka.AppFlow.Types.S3OutputFormatConfig+import Amazonka.AppFlow.Types.S3SourceProperties+import Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials+import Amazonka.AppFlow.Types.SAPODataConnectorProfileProperties+import Amazonka.AppFlow.Types.SAPODataDestinationProperties+import Amazonka.AppFlow.Types.SAPODataMetadata+import Amazonka.AppFlow.Types.SAPODataSourceProperties+import Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials+import Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties+import Amazonka.AppFlow.Types.SalesforceDestinationProperties+import Amazonka.AppFlow.Types.SalesforceMetadata+import Amazonka.AppFlow.Types.SalesforceSourceProperties+import Amazonka.AppFlow.Types.ScheduledTriggerProperties+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileProperties+import Amazonka.AppFlow.Types.ServiceNowMetadata+import Amazonka.AppFlow.Types.ServiceNowSourceProperties+import Amazonka.AppFlow.Types.SingularConnectorProfileCredentials+import Amazonka.AppFlow.Types.SingularConnectorProfileProperties+import Amazonka.AppFlow.Types.SingularMetadata+import Amazonka.AppFlow.Types.SingularSourceProperties+import Amazonka.AppFlow.Types.SlackConnectorProfileCredentials+import Amazonka.AppFlow.Types.SlackConnectorProfileProperties+import Amazonka.AppFlow.Types.SlackMetadata+import Amazonka.AppFlow.Types.SlackSourceProperties+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties+import Amazonka.AppFlow.Types.SnowflakeDestinationProperties+import Amazonka.AppFlow.Types.SnowflakeMetadata+import Amazonka.AppFlow.Types.SourceConnectorProperties+import Amazonka.AppFlow.Types.SourceFieldProperties+import Amazonka.AppFlow.Types.SourceFlowConfig+import Amazonka.AppFlow.Types.SuccessResponseHandlingConfig+import Amazonka.AppFlow.Types.SupportedFieldTypeDetails+import Amazonka.AppFlow.Types.Task+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties+import Amazonka.AppFlow.Types.TrendmicroMetadata+import Amazonka.AppFlow.Types.TrendmicroSourceProperties+import Amazonka.AppFlow.Types.TriggerConfig+import Amazonka.AppFlow.Types.TriggerProperties+import Amazonka.AppFlow.Types.UpsolverDestinationProperties+import Amazonka.AppFlow.Types.UpsolverMetadata+import Amazonka.AppFlow.Types.UpsolverS3OutputFormatConfig+import Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials+import Amazonka.AppFlow.Types.VeevaConnectorProfileProperties+import Amazonka.AppFlow.Types.VeevaMetadata+import Amazonka.AppFlow.Types.VeevaSourceProperties+import Amazonka.AppFlow.Types.ZendeskConnectorProfileCredentials+import Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties+import Amazonka.AppFlow.Types.ZendeskDestinationProperties+import Amazonka.AppFlow.Types.ZendeskMetadata+import Amazonka.AppFlow.Types.ZendeskSourceProperties+import Amazonka.AppFlow.UnregisterConnector+import Amazonka.AppFlow.UntagResource+import Amazonka.AppFlow.UpdateConnectorProfile+import Amazonka.AppFlow.UpdateConnectorRegistration+import Amazonka.AppFlow.UpdateFlow
+ gen/Amazonka/AppFlow/ListConnectorEntities.hs view
@@ -0,0 +1,293 @@+{-# 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.AppFlow.ListConnectorEntities+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of available connector entities supported by Amazon+-- AppFlow. For example, you can query Salesforce for /Account/ and+-- /Opportunity/ entities, or query ServiceNow for the /Incident/ entity.+module Amazonka.AppFlow.ListConnectorEntities+  ( -- * Creating a Request+    ListConnectorEntities (..),+    newListConnectorEntities,++    -- * Request Lenses+    listConnectorEntities_apiVersion,+    listConnectorEntities_connectorProfileName,+    listConnectorEntities_connectorType,+    listConnectorEntities_entitiesPath,+    listConnectorEntities_maxResults,+    listConnectorEntities_nextToken,++    -- * Destructuring the Response+    ListConnectorEntitiesResponse (..),+    newListConnectorEntitiesResponse,++    -- * Response Lenses+    listConnectorEntitiesResponse_nextToken,+    listConnectorEntitiesResponse_httpStatus,+    listConnectorEntitiesResponse_connectorEntityMap,+  )+where++import Amazonka.AppFlow.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:/ 'newListConnectorEntities' smart constructor.+data ListConnectorEntities = ListConnectorEntities'+  { -- | The version of the API that\'s used by the connector.+    apiVersion :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in the Amazon Web Services account, and is used to+    -- query the downstream connector.+    connectorProfileName :: Prelude.Maybe Prelude.Text,+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | This optional parameter is specific to connector implementation. Some+    -- connectors support multiple levels or categories of entities. You can+    -- find out the list of roots for such providers by sending a request+    -- without the @entitiesPath@ parameter. If the connector supports entities+    -- at different roots, this initial request returns the list of roots.+    -- Otherwise, this request returns all entities supported by the provider.+    entitiesPath :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of items that the operation returns in the response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A token that was provided by your prior @ListConnectorEntities@+    -- operation if the response was too big for the page size. You specify+    -- this token to get the next page of results in paginated response.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectorEntities' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiVersion', 'listConnectorEntities_apiVersion' - The version of the API that\'s used by the connector.+--+-- 'connectorProfileName', 'listConnectorEntities_connectorProfileName' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account, and is used to+-- query the downstream connector.+--+-- 'connectorType', 'listConnectorEntities_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'entitiesPath', 'listConnectorEntities_entitiesPath' - This optional parameter is specific to connector implementation. Some+-- connectors support multiple levels or categories of entities. You can+-- find out the list of roots for such providers by sending a request+-- without the @entitiesPath@ parameter. If the connector supports entities+-- at different roots, this initial request returns the list of roots.+-- Otherwise, this request returns all entities supported by the provider.+--+-- 'maxResults', 'listConnectorEntities_maxResults' - The maximum number of items that the operation returns in the response.+--+-- 'nextToken', 'listConnectorEntities_nextToken' - A token that was provided by your prior @ListConnectorEntities@+-- operation if the response was too big for the page size. You specify+-- this token to get the next page of results in paginated response.+newListConnectorEntities ::+  ListConnectorEntities+newListConnectorEntities =+  ListConnectorEntities'+    { apiVersion =+        Prelude.Nothing,+      connectorProfileName = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      entitiesPath = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The version of the API that\'s used by the connector.+listConnectorEntities_apiVersion :: Lens.Lens' ListConnectorEntities (Prelude.Maybe Prelude.Text)+listConnectorEntities_apiVersion = Lens.lens (\ListConnectorEntities' {apiVersion} -> apiVersion) (\s@ListConnectorEntities' {} a -> s {apiVersion = a} :: ListConnectorEntities)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account, and is used to+-- query the downstream connector.+listConnectorEntities_connectorProfileName :: Lens.Lens' ListConnectorEntities (Prelude.Maybe Prelude.Text)+listConnectorEntities_connectorProfileName = Lens.lens (\ListConnectorEntities' {connectorProfileName} -> connectorProfileName) (\s@ListConnectorEntities' {} a -> s {connectorProfileName = a} :: ListConnectorEntities)++-- | The type of connector, such as Salesforce, Amplitude, and so on.+listConnectorEntities_connectorType :: Lens.Lens' ListConnectorEntities (Prelude.Maybe ConnectorType)+listConnectorEntities_connectorType = Lens.lens (\ListConnectorEntities' {connectorType} -> connectorType) (\s@ListConnectorEntities' {} a -> s {connectorType = a} :: ListConnectorEntities)++-- | This optional parameter is specific to connector implementation. Some+-- connectors support multiple levels or categories of entities. You can+-- find out the list of roots for such providers by sending a request+-- without the @entitiesPath@ parameter. If the connector supports entities+-- at different roots, this initial request returns the list of roots.+-- Otherwise, this request returns all entities supported by the provider.+listConnectorEntities_entitiesPath :: Lens.Lens' ListConnectorEntities (Prelude.Maybe Prelude.Text)+listConnectorEntities_entitiesPath = Lens.lens (\ListConnectorEntities' {entitiesPath} -> entitiesPath) (\s@ListConnectorEntities' {} a -> s {entitiesPath = a} :: ListConnectorEntities)++-- | The maximum number of items that the operation returns in the response.+listConnectorEntities_maxResults :: Lens.Lens' ListConnectorEntities (Prelude.Maybe Prelude.Natural)+listConnectorEntities_maxResults = Lens.lens (\ListConnectorEntities' {maxResults} -> maxResults) (\s@ListConnectorEntities' {} a -> s {maxResults = a} :: ListConnectorEntities)++-- | A token that was provided by your prior @ListConnectorEntities@+-- operation if the response was too big for the page size. You specify+-- this token to get the next page of results in paginated response.+listConnectorEntities_nextToken :: Lens.Lens' ListConnectorEntities (Prelude.Maybe Prelude.Text)+listConnectorEntities_nextToken = Lens.lens (\ListConnectorEntities' {nextToken} -> nextToken) (\s@ListConnectorEntities' {} a -> s {nextToken = a} :: ListConnectorEntities)++instance Core.AWSRequest ListConnectorEntities where+  type+    AWSResponse ListConnectorEntities =+      ListConnectorEntitiesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConnectorEntitiesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "connectorEntityMap"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListConnectorEntities where+  hashWithSalt _salt ListConnectorEntities' {..} =+    _salt+      `Prelude.hashWithSalt` apiVersion+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` entitiesPath+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConnectorEntities where+  rnf ListConnectorEntities' {..} =+    Prelude.rnf apiVersion+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf entitiesPath+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConnectorEntities where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListConnectorEntities where+  toJSON ListConnectorEntities' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiVersion" Data..=) Prelude.<$> apiVersion,+            ("connectorProfileName" Data..=)+              Prelude.<$> connectorProfileName,+            ("connectorType" Data..=) Prelude.<$> connectorType,+            ("entitiesPath" Data..=) Prelude.<$> entitiesPath,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListConnectorEntities where+  toPath = Prelude.const "/list-connector-entities"++instance Data.ToQuery ListConnectorEntities where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListConnectorEntitiesResponse' smart constructor.+data ListConnectorEntitiesResponse = ListConnectorEntitiesResponse'+  { -- | A token that you specify in your next @ListConnectorEntities@ operation+    -- to get the next page of results in paginated response. The+    -- @ListConnectorEntities@ operation provides this token if the response is+    -- too big for the page size.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The response of @ListConnectorEntities@ lists entities grouped by+    -- category. This map\'s key represents the group name, and its value+    -- contains the list of entities belonging to that group.+    connectorEntityMap :: Prelude.HashMap Prelude.Text [ConnectorEntity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectorEntitiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listConnectorEntitiesResponse_nextToken' - A token that you specify in your next @ListConnectorEntities@ operation+-- to get the next page of results in paginated response. The+-- @ListConnectorEntities@ operation provides this token if the response is+-- too big for the page size.+--+-- 'httpStatus', 'listConnectorEntitiesResponse_httpStatus' - The response's http status code.+--+-- 'connectorEntityMap', 'listConnectorEntitiesResponse_connectorEntityMap' - The response of @ListConnectorEntities@ lists entities grouped by+-- category. This map\'s key represents the group name, and its value+-- contains the list of entities belonging to that group.+newListConnectorEntitiesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConnectorEntitiesResponse+newListConnectorEntitiesResponse pHttpStatus_ =+  ListConnectorEntitiesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      connectorEntityMap = Prelude.mempty+    }++-- | A token that you specify in your next @ListConnectorEntities@ operation+-- to get the next page of results in paginated response. The+-- @ListConnectorEntities@ operation provides this token if the response is+-- too big for the page size.+listConnectorEntitiesResponse_nextToken :: Lens.Lens' ListConnectorEntitiesResponse (Prelude.Maybe Prelude.Text)+listConnectorEntitiesResponse_nextToken = Lens.lens (\ListConnectorEntitiesResponse' {nextToken} -> nextToken) (\s@ListConnectorEntitiesResponse' {} a -> s {nextToken = a} :: ListConnectorEntitiesResponse)++-- | The response's http status code.+listConnectorEntitiesResponse_httpStatus :: Lens.Lens' ListConnectorEntitiesResponse Prelude.Int+listConnectorEntitiesResponse_httpStatus = Lens.lens (\ListConnectorEntitiesResponse' {httpStatus} -> httpStatus) (\s@ListConnectorEntitiesResponse' {} a -> s {httpStatus = a} :: ListConnectorEntitiesResponse)++-- | The response of @ListConnectorEntities@ lists entities grouped by+-- category. This map\'s key represents the group name, and its value+-- contains the list of entities belonging to that group.+listConnectorEntitiesResponse_connectorEntityMap :: Lens.Lens' ListConnectorEntitiesResponse (Prelude.HashMap Prelude.Text [ConnectorEntity])+listConnectorEntitiesResponse_connectorEntityMap = Lens.lens (\ListConnectorEntitiesResponse' {connectorEntityMap} -> connectorEntityMap) (\s@ListConnectorEntitiesResponse' {} a -> s {connectorEntityMap = a} :: ListConnectorEntitiesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListConnectorEntitiesResponse where+  rnf ListConnectorEntitiesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf connectorEntityMap
+ gen/Amazonka/AppFlow/ListConnectors.hs view
@@ -0,0 +1,203 @@+{-# 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.AppFlow.ListConnectors+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of all registered custom connectors in your Amazon Web+-- Services account. This API lists only custom connectors registered in+-- this account, not the Amazon Web Services authored connectors.+module Amazonka.AppFlow.ListConnectors+  ( -- * Creating a Request+    ListConnectors (..),+    newListConnectors,++    -- * Request Lenses+    listConnectors_maxResults,+    listConnectors_nextToken,++    -- * Destructuring the Response+    ListConnectorsResponse (..),+    newListConnectorsResponse,++    -- * Response Lenses+    listConnectorsResponse_connectors,+    listConnectorsResponse_nextToken,+    listConnectorsResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newListConnectors' smart constructor.+data ListConnectors = ListConnectors'+  { -- | Specifies the maximum number of items that should be returned in the+    -- result set. The default for @maxResults@ is 20 (for all paginated API+    -- operations).+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token for the next page of data.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listConnectors_maxResults' - Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+--+-- 'nextToken', 'listConnectors_nextToken' - The pagination token for the next page of data.+newListConnectors ::+  ListConnectors+newListConnectors =+  ListConnectors'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Specifies the maximum number of items that should be returned in the+-- result set. The default for @maxResults@ is 20 (for all paginated API+-- operations).+listConnectors_maxResults :: Lens.Lens' ListConnectors (Prelude.Maybe Prelude.Natural)+listConnectors_maxResults = Lens.lens (\ListConnectors' {maxResults} -> maxResults) (\s@ListConnectors' {} a -> s {maxResults = a} :: ListConnectors)++-- | The pagination token for the next page of data.+listConnectors_nextToken :: Lens.Lens' ListConnectors (Prelude.Maybe Prelude.Text)+listConnectors_nextToken = Lens.lens (\ListConnectors' {nextToken} -> nextToken) (\s@ListConnectors' {} a -> s {nextToken = a} :: ListConnectors)++instance Core.AWSRequest ListConnectors where+  type+    AWSResponse ListConnectors =+      ListConnectorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConnectorsResponse'+            Prelude.<$> (x Data..?> "connectors" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListConnectors where+  hashWithSalt _salt ListConnectors' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConnectors where+  rnf ListConnectors' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConnectors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListConnectors where+  toJSON ListConnectors' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListConnectors where+  toPath = Prelude.const "/list-connectors"++instance Data.ToQuery ListConnectors where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListConnectorsResponse' smart constructor.+data ListConnectorsResponse = ListConnectorsResponse'+  { -- | Contains information about the connectors supported by Amazon AppFlow.+    connectors :: Prelude.Maybe [ConnectorDetail],+    -- | The pagination token for the next page of data. If nextToken=null, this+    -- means that all records have been fetched.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConnectorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectors', 'listConnectorsResponse_connectors' - Contains information about the connectors supported by Amazon AppFlow.+--+-- 'nextToken', 'listConnectorsResponse_nextToken' - The pagination token for the next page of data. If nextToken=null, this+-- means that all records have been fetched.+--+-- 'httpStatus', 'listConnectorsResponse_httpStatus' - The response's http status code.+newListConnectorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConnectorsResponse+newListConnectorsResponse pHttpStatus_ =+  ListConnectorsResponse'+    { connectors =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Contains information about the connectors supported by Amazon AppFlow.+listConnectorsResponse_connectors :: Lens.Lens' ListConnectorsResponse (Prelude.Maybe [ConnectorDetail])+listConnectorsResponse_connectors = Lens.lens (\ListConnectorsResponse' {connectors} -> connectors) (\s@ListConnectorsResponse' {} a -> s {connectors = a} :: ListConnectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token for the next page of data. If nextToken=null, this+-- means that all records have been fetched.+listConnectorsResponse_nextToken :: Lens.Lens' ListConnectorsResponse (Prelude.Maybe Prelude.Text)+listConnectorsResponse_nextToken = Lens.lens (\ListConnectorsResponse' {nextToken} -> nextToken) (\s@ListConnectorsResponse' {} a -> s {nextToken = a} :: ListConnectorsResponse)++-- | The response's http status code.+listConnectorsResponse_httpStatus :: Lens.Lens' ListConnectorsResponse Prelude.Int+listConnectorsResponse_httpStatus = Lens.lens (\ListConnectorsResponse' {httpStatus} -> httpStatus) (\s@ListConnectorsResponse' {} a -> s {httpStatus = a} :: ListConnectorsResponse)++instance Prelude.NFData ListConnectorsResponse where+  rnf ListConnectorsResponse' {..} =+    Prelude.rnf connectors+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/ListFlows.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.ListFlows+-- 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 all of the flows associated with your account.+module Amazonka.AppFlow.ListFlows+  ( -- * Creating a Request+    ListFlows (..),+    newListFlows,++    -- * Request Lenses+    listFlows_maxResults,+    listFlows_nextToken,++    -- * Destructuring the Response+    ListFlowsResponse (..),+    newListFlowsResponse,++    -- * Response Lenses+    listFlowsResponse_flows,+    listFlowsResponse_nextToken,+    listFlowsResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newListFlows' smart constructor.+data ListFlows = ListFlows'+  { -- | Specifies the maximum number of items that should be returned in the+    -- result set.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token for next page of data.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFlows' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listFlows_maxResults' - Specifies the maximum number of items that should be returned in the+-- result set.+--+-- 'nextToken', 'listFlows_nextToken' - The pagination token for next page of data.+newListFlows ::+  ListFlows+newListFlows =+  ListFlows'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Specifies the maximum number of items that should be returned in the+-- result set.+listFlows_maxResults :: Lens.Lens' ListFlows (Prelude.Maybe Prelude.Natural)+listFlows_maxResults = Lens.lens (\ListFlows' {maxResults} -> maxResults) (\s@ListFlows' {} a -> s {maxResults = a} :: ListFlows)++-- | The pagination token for next page of data.+listFlows_nextToken :: Lens.Lens' ListFlows (Prelude.Maybe Prelude.Text)+listFlows_nextToken = Lens.lens (\ListFlows' {nextToken} -> nextToken) (\s@ListFlows' {} a -> s {nextToken = a} :: ListFlows)++instance Core.AWSRequest ListFlows where+  type AWSResponse ListFlows = ListFlowsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListFlowsResponse'+            Prelude.<$> (x Data..?> "flows" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListFlows where+  hashWithSalt _salt ListFlows' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFlows where+  rnf ListFlows' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFlows where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListFlows where+  toJSON ListFlows' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListFlows where+  toPath = Prelude.const "/list-flows"++instance Data.ToQuery ListFlows where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFlowsResponse' smart constructor.+data ListFlowsResponse = ListFlowsResponse'+  { -- | The list of flows associated with your account.+    flows :: Prelude.Maybe [FlowDefinition],+    -- | The pagination token for next page of data.+    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 'ListFlowsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flows', 'listFlowsResponse_flows' - The list of flows associated with your account.+--+-- 'nextToken', 'listFlowsResponse_nextToken' - The pagination token for next page of data.+--+-- 'httpStatus', 'listFlowsResponse_httpStatus' - The response's http status code.+newListFlowsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListFlowsResponse+newListFlowsResponse pHttpStatus_ =+  ListFlowsResponse'+    { flows = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of flows associated with your account.+listFlowsResponse_flows :: Lens.Lens' ListFlowsResponse (Prelude.Maybe [FlowDefinition])+listFlowsResponse_flows = Lens.lens (\ListFlowsResponse' {flows} -> flows) (\s@ListFlowsResponse' {} a -> s {flows = a} :: ListFlowsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token for next page of data.+listFlowsResponse_nextToken :: Lens.Lens' ListFlowsResponse (Prelude.Maybe Prelude.Text)+listFlowsResponse_nextToken = Lens.lens (\ListFlowsResponse' {nextToken} -> nextToken) (\s@ListFlowsResponse' {} a -> s {nextToken = a} :: ListFlowsResponse)++-- | The response's http status code.+listFlowsResponse_httpStatus :: Lens.Lens' ListFlowsResponse Prelude.Int+listFlowsResponse_httpStatus = Lens.lens (\ListFlowsResponse' {httpStatus} -> httpStatus) (\s@ListFlowsResponse' {} a -> s {httpStatus = a} :: ListFlowsResponse)++instance Prelude.NFData ListFlowsResponse where+  rnf ListFlowsResponse' {..} =+    Prelude.rnf flows+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/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.AppFlow.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)+--+-- Retrieves the tags that are associated with a specified flow.+module Amazonka.AppFlow.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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 specified flow.+    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 specified flow.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the specified flow.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags used to organize, track, or control access for your flow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags used to organize, track, or control access for your flow.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags used to organize, track, or control access for your flow.+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/AppFlow/RegisterConnector.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.RegisterConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Registers a new custom connector with your Amazon Web Services account.+-- Before you can register the connector, you must deploy the associated+-- AWS lambda function in your account.+module Amazonka.AppFlow.RegisterConnector+  ( -- * Creating a Request+    RegisterConnector (..),+    newRegisterConnector,++    -- * Request Lenses+    registerConnector_connectorLabel,+    registerConnector_connectorProvisioningConfig,+    registerConnector_connectorProvisioningType,+    registerConnector_description,++    -- * Destructuring the Response+    RegisterConnectorResponse (..),+    newRegisterConnectorResponse,++    -- * Response Lenses+    registerConnectorResponse_connectorArn,+    registerConnectorResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newRegisterConnector' smart constructor.+data RegisterConnector = RegisterConnector'+  { -- | The name of the connector. The name is unique for each+    -- @ConnectorRegistration@ in your Amazon Web Services account.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The provisioning type of the connector. Currently the only supported+    -- value is LAMBDA.+    connectorProvisioningConfig :: Prelude.Maybe ConnectorProvisioningConfig,+    -- | The provisioning type of the connector. Currently the only supported+    -- value is LAMBDA.+    connectorProvisioningType :: Prelude.Maybe ConnectorProvisioningType,+    -- | A description about the connector that\'s being registered.+    description :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorLabel', 'registerConnector_connectorLabel' - The name of the connector. The name is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account.+--+-- 'connectorProvisioningConfig', 'registerConnector_connectorProvisioningConfig' - The provisioning type of the connector. Currently the only supported+-- value is LAMBDA.+--+-- 'connectorProvisioningType', 'registerConnector_connectorProvisioningType' - The provisioning type of the connector. Currently the only supported+-- value is LAMBDA.+--+-- 'description', 'registerConnector_description' - A description about the connector that\'s being registered.+newRegisterConnector ::+  RegisterConnector+newRegisterConnector =+  RegisterConnector'+    { connectorLabel =+        Prelude.Nothing,+      connectorProvisioningConfig = Prelude.Nothing,+      connectorProvisioningType = Prelude.Nothing,+      description = Prelude.Nothing+    }++-- | The name of the connector. The name is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account.+registerConnector_connectorLabel :: Lens.Lens' RegisterConnector (Prelude.Maybe Prelude.Text)+registerConnector_connectorLabel = Lens.lens (\RegisterConnector' {connectorLabel} -> connectorLabel) (\s@RegisterConnector' {} a -> s {connectorLabel = a} :: RegisterConnector)++-- | The provisioning type of the connector. Currently the only supported+-- value is LAMBDA.+registerConnector_connectorProvisioningConfig :: Lens.Lens' RegisterConnector (Prelude.Maybe ConnectorProvisioningConfig)+registerConnector_connectorProvisioningConfig = Lens.lens (\RegisterConnector' {connectorProvisioningConfig} -> connectorProvisioningConfig) (\s@RegisterConnector' {} a -> s {connectorProvisioningConfig = a} :: RegisterConnector)++-- | The provisioning type of the connector. Currently the only supported+-- value is LAMBDA.+registerConnector_connectorProvisioningType :: Lens.Lens' RegisterConnector (Prelude.Maybe ConnectorProvisioningType)+registerConnector_connectorProvisioningType = Lens.lens (\RegisterConnector' {connectorProvisioningType} -> connectorProvisioningType) (\s@RegisterConnector' {} a -> s {connectorProvisioningType = a} :: RegisterConnector)++-- | A description about the connector that\'s being registered.+registerConnector_description :: Lens.Lens' RegisterConnector (Prelude.Maybe Prelude.Text)+registerConnector_description = Lens.lens (\RegisterConnector' {description} -> description) (\s@RegisterConnector' {} a -> s {description = a} :: RegisterConnector)++instance Core.AWSRequest RegisterConnector where+  type+    AWSResponse RegisterConnector =+      RegisterConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RegisterConnectorResponse'+            Prelude.<$> (x Data..?> "connectorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RegisterConnector where+  hashWithSalt _salt RegisterConnector' {..} =+    _salt+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorProvisioningConfig+      `Prelude.hashWithSalt` connectorProvisioningType+      `Prelude.hashWithSalt` description++instance Prelude.NFData RegisterConnector where+  rnf RegisterConnector' {..} =+    Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorProvisioningConfig+      `Prelude.seq` Prelude.rnf connectorProvisioningType+      `Prelude.seq` Prelude.rnf description++instance Data.ToHeaders RegisterConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RegisterConnector where+  toJSON RegisterConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorLabel" Data..=)+              Prelude.<$> connectorLabel,+            ("connectorProvisioningConfig" Data..=)+              Prelude.<$> connectorProvisioningConfig,+            ("connectorProvisioningType" Data..=)+              Prelude.<$> connectorProvisioningType,+            ("description" Data..=) Prelude.<$> description+          ]+      )++instance Data.ToPath RegisterConnector where+  toPath = Prelude.const "/register-connector"++instance Data.ToQuery RegisterConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterConnectorResponse' smart constructor.+data RegisterConnectorResponse = RegisterConnectorResponse'+  { -- | The ARN of the connector being registered.+    connectorArn :: 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 'RegisterConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'registerConnectorResponse_connectorArn' - The ARN of the connector being registered.+--+-- 'httpStatus', 'registerConnectorResponse_httpStatus' - The response's http status code.+newRegisterConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RegisterConnectorResponse+newRegisterConnectorResponse pHttpStatus_ =+  RegisterConnectorResponse'+    { connectorArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the connector being registered.+registerConnectorResponse_connectorArn :: Lens.Lens' RegisterConnectorResponse (Prelude.Maybe Prelude.Text)+registerConnectorResponse_connectorArn = Lens.lens (\RegisterConnectorResponse' {connectorArn} -> connectorArn) (\s@RegisterConnectorResponse' {} a -> s {connectorArn = a} :: RegisterConnectorResponse)++-- | The response's http status code.+registerConnectorResponse_httpStatus :: Lens.Lens' RegisterConnectorResponse Prelude.Int+registerConnectorResponse_httpStatus = Lens.lens (\RegisterConnectorResponse' {httpStatus} -> httpStatus) (\s@RegisterConnectorResponse' {} a -> s {httpStatus = a} :: RegisterConnectorResponse)++instance Prelude.NFData RegisterConnectorResponse where+  rnf RegisterConnectorResponse' {..} =+    Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/StartFlow.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.StartFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Activates an existing flow. For on-demand flows, this operation runs the+-- flow immediately. For schedule and event-triggered flows, this operation+-- activates the flow.+module Amazonka.AppFlow.StartFlow+  ( -- * Creating a Request+    StartFlow (..),+    newStartFlow,++    -- * Request Lenses+    startFlow_flowName,++    -- * Destructuring the Response+    StartFlowResponse (..),+    newStartFlowResponse,++    -- * Response Lenses+    startFlowResponse_executionId,+    startFlowResponse_flowArn,+    startFlowResponse_flowStatus,+    startFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newStartFlow' smart constructor.+data StartFlow = StartFlow'+  { -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowName', 'startFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+newStartFlow ::+  -- | 'flowName'+  Prelude.Text ->+  StartFlow+newStartFlow pFlowName_ =+  StartFlow' {flowName = pFlowName_}++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+startFlow_flowName :: Lens.Lens' StartFlow Prelude.Text+startFlow_flowName = Lens.lens (\StartFlow' {flowName} -> flowName) (\s@StartFlow' {} a -> s {flowName = a} :: StartFlow)++instance Core.AWSRequest StartFlow where+  type AWSResponse StartFlow = StartFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartFlowResponse'+            Prelude.<$> (x Data..?> "executionId")+            Prelude.<*> (x Data..?> "flowArn")+            Prelude.<*> (x Data..?> "flowStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartFlow where+  hashWithSalt _salt StartFlow' {..} =+    _salt `Prelude.hashWithSalt` flowName++instance Prelude.NFData StartFlow where+  rnf StartFlow' {..} = Prelude.rnf flowName++instance Data.ToHeaders StartFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartFlow where+  toJSON StartFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("flowName" Data..= flowName)]+      )++instance Data.ToPath StartFlow where+  toPath = Prelude.const "/start-flow"++instance Data.ToQuery StartFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartFlowResponse' smart constructor.+data StartFlowResponse = StartFlowResponse'+  { -- | Returns the internal execution ID of an on-demand flow when the flow is+    -- started. For scheduled or event-triggered flows, this value is null.+    executionId :: Prelude.Maybe Prelude.Text,+    -- | The flow\'s Amazon Resource Name (ARN).+    flowArn :: Prelude.Maybe Prelude.Text,+    -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'executionId', 'startFlowResponse_executionId' - Returns the internal execution ID of an on-demand flow when the flow is+-- started. For scheduled or event-triggered flows, this value is null.+--+-- 'flowArn', 'startFlowResponse_flowArn' - The flow\'s Amazon Resource Name (ARN).+--+-- 'flowStatus', 'startFlowResponse_flowStatus' - Indicates the current status of the flow.+--+-- 'httpStatus', 'startFlowResponse_httpStatus' - The response's http status code.+newStartFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartFlowResponse+newStartFlowResponse pHttpStatus_ =+  StartFlowResponse'+    { executionId = Prelude.Nothing,+      flowArn = Prelude.Nothing,+      flowStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns the internal execution ID of an on-demand flow when the flow is+-- started. For scheduled or event-triggered flows, this value is null.+startFlowResponse_executionId :: Lens.Lens' StartFlowResponse (Prelude.Maybe Prelude.Text)+startFlowResponse_executionId = Lens.lens (\StartFlowResponse' {executionId} -> executionId) (\s@StartFlowResponse' {} a -> s {executionId = a} :: StartFlowResponse)++-- | The flow\'s Amazon Resource Name (ARN).+startFlowResponse_flowArn :: Lens.Lens' StartFlowResponse (Prelude.Maybe Prelude.Text)+startFlowResponse_flowArn = Lens.lens (\StartFlowResponse' {flowArn} -> flowArn) (\s@StartFlowResponse' {} a -> s {flowArn = a} :: StartFlowResponse)++-- | Indicates the current status of the flow.+startFlowResponse_flowStatus :: Lens.Lens' StartFlowResponse (Prelude.Maybe FlowStatus)+startFlowResponse_flowStatus = Lens.lens (\StartFlowResponse' {flowStatus} -> flowStatus) (\s@StartFlowResponse' {} a -> s {flowStatus = a} :: StartFlowResponse)++-- | The response's http status code.+startFlowResponse_httpStatus :: Lens.Lens' StartFlowResponse Prelude.Int+startFlowResponse_httpStatus = Lens.lens (\StartFlowResponse' {httpStatus} -> httpStatus) (\s@StartFlowResponse' {} a -> s {httpStatus = a} :: StartFlowResponse)++instance Prelude.NFData StartFlowResponse where+  rnf StartFlowResponse' {..} =+    Prelude.rnf executionId+      `Prelude.seq` Prelude.rnf flowArn+      `Prelude.seq` Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/StopFlow.hs view
@@ -0,0 +1,178 @@+{-# 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.AppFlow.StopFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deactivates the existing flow. For on-demand flows, this operation+-- returns an @unsupportedOperationException@ error message. For schedule+-- and event-triggered flows, this operation deactivates the flow.+module Amazonka.AppFlow.StopFlow+  ( -- * Creating a Request+    StopFlow (..),+    newStopFlow,++    -- * Request Lenses+    stopFlow_flowName,++    -- * Destructuring the Response+    StopFlowResponse (..),+    newStopFlowResponse,++    -- * Response Lenses+    stopFlowResponse_flowArn,+    stopFlowResponse_flowStatus,+    stopFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newStopFlow' smart constructor.+data StopFlow = StopFlow'+  { -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowName', 'stopFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+newStopFlow ::+  -- | 'flowName'+  Prelude.Text ->+  StopFlow+newStopFlow pFlowName_ =+  StopFlow' {flowName = pFlowName_}++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+stopFlow_flowName :: Lens.Lens' StopFlow Prelude.Text+stopFlow_flowName = Lens.lens (\StopFlow' {flowName} -> flowName) (\s@StopFlow' {} a -> s {flowName = a} :: StopFlow)++instance Core.AWSRequest StopFlow where+  type AWSResponse StopFlow = StopFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopFlowResponse'+            Prelude.<$> (x Data..?> "flowArn")+            Prelude.<*> (x Data..?> "flowStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopFlow where+  hashWithSalt _salt StopFlow' {..} =+    _salt `Prelude.hashWithSalt` flowName++instance Prelude.NFData StopFlow where+  rnf StopFlow' {..} = Prelude.rnf flowName++instance Data.ToHeaders StopFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopFlow where+  toJSON StopFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("flowName" Data..= flowName)]+      )++instance Data.ToPath StopFlow where+  toPath = Prelude.const "/stop-flow"++instance Data.ToQuery StopFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopFlowResponse' smart constructor.+data StopFlowResponse = StopFlowResponse'+  { -- | The flow\'s Amazon Resource Name (ARN).+    flowArn :: Prelude.Maybe Prelude.Text,+    -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'stopFlowResponse_flowArn' - The flow\'s Amazon Resource Name (ARN).+--+-- 'flowStatus', 'stopFlowResponse_flowStatus' - Indicates the current status of the flow.+--+-- 'httpStatus', 'stopFlowResponse_httpStatus' - The response's http status code.+newStopFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopFlowResponse+newStopFlowResponse pHttpStatus_ =+  StopFlowResponse'+    { flowArn = Prelude.Nothing,+      flowStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The flow\'s Amazon Resource Name (ARN).+stopFlowResponse_flowArn :: Lens.Lens' StopFlowResponse (Prelude.Maybe Prelude.Text)+stopFlowResponse_flowArn = Lens.lens (\StopFlowResponse' {flowArn} -> flowArn) (\s@StopFlowResponse' {} a -> s {flowArn = a} :: StopFlowResponse)++-- | Indicates the current status of the flow.+stopFlowResponse_flowStatus :: Lens.Lens' StopFlowResponse (Prelude.Maybe FlowStatus)+stopFlowResponse_flowStatus = Lens.lens (\StopFlowResponse' {flowStatus} -> flowStatus) (\s@StopFlowResponse' {} a -> s {flowStatus = a} :: StopFlowResponse)++-- | The response's http status code.+stopFlowResponse_httpStatus :: Lens.Lens' StopFlowResponse Prelude.Int+stopFlowResponse_httpStatus = Lens.lens (\StopFlowResponse' {httpStatus} -> httpStatus) (\s@StopFlowResponse' {} a -> s {httpStatus = a} :: StopFlowResponse)++instance Prelude.NFData StopFlowResponse where+  rnf StopFlowResponse' {..} =+    Prelude.rnf flowArn+      `Prelude.seq` Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/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.AppFlow.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)+--+-- Applies a tag to the specified flow.+module Amazonka.AppFlow.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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 flow that you want to tag.+    resourceArn :: Prelude.Text,+    -- | The tags used to organize, track, or control access for your flow.+    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 flow that you want to tag.+--+-- 'tags', 'tagResource_tags' - The tags used to organize, track, or control access for your flow.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the flow that you want to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags used to organize, track, or control access for your flow.+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/AppFlow/Types.hs view
@@ -0,0 +1,1564 @@+{-# 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.AppFlow.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.AppFlow.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _ConnectorAuthenticationException,+    _ConnectorServerException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _UnsupportedOperationException,+    _ValidationException,++    -- * AggregationType+    AggregationType (..),++    -- * AmplitudeConnectorOperator+    AmplitudeConnectorOperator (..),++    -- * AuthenticationType+    AuthenticationType (..),++    -- * CatalogType+    CatalogType (..),++    -- * ConnectionMode+    ConnectionMode (..),++    -- * ConnectorProvisioningType+    ConnectorProvisioningType (..),++    -- * ConnectorType+    ConnectorType (..),++    -- * DataPullMode+    DataPullMode (..),++    -- * DatadogConnectorOperator+    DatadogConnectorOperator (..),++    -- * DynatraceConnectorOperator+    DynatraceConnectorOperator (..),++    -- * ExecutionStatus+    ExecutionStatus (..),++    -- * FileType+    FileType (..),++    -- * FlowStatus+    FlowStatus (..),++    -- * GoogleAnalyticsConnectorOperator+    GoogleAnalyticsConnectorOperator (..),++    -- * InforNexusConnectorOperator+    InforNexusConnectorOperator (..),++    -- * MarketoConnectorOperator+    MarketoConnectorOperator (..),++    -- * OAuth2CustomPropType+    OAuth2CustomPropType (..),++    -- * OAuth2GrantType+    OAuth2GrantType (..),++    -- * Operator+    Operator (..),++    -- * OperatorPropertiesKeys+    OperatorPropertiesKeys (..),++    -- * Operators+    Operators (..),++    -- * PathPrefix+    PathPrefix (..),++    -- * PrefixFormat+    PrefixFormat (..),++    -- * PrefixType+    PrefixType (..),++    -- * PrivateConnectionProvisioningFailureCause+    PrivateConnectionProvisioningFailureCause (..),++    -- * PrivateConnectionProvisioningStatus+    PrivateConnectionProvisioningStatus (..),++    -- * S3ConnectorOperator+    S3ConnectorOperator (..),++    -- * S3InputFileType+    S3InputFileType (..),++    -- * SAPODataConnectorOperator+    SAPODataConnectorOperator (..),++    -- * SalesforceConnectorOperator+    SalesforceConnectorOperator (..),++    -- * SalesforceDataTransferApi+    SalesforceDataTransferApi (..),++    -- * ScheduleFrequencyType+    ScheduleFrequencyType (..),++    -- * ServiceNowConnectorOperator+    ServiceNowConnectorOperator (..),++    -- * SingularConnectorOperator+    SingularConnectorOperator (..),++    -- * SlackConnectorOperator+    SlackConnectorOperator (..),++    -- * TaskType+    TaskType (..),++    -- * TrendmicroConnectorOperator+    TrendmicroConnectorOperator (..),++    -- * TriggerType+    TriggerType (..),++    -- * VeevaConnectorOperator+    VeevaConnectorOperator (..),++    -- * WriteOperationType+    WriteOperationType (..),++    -- * ZendeskConnectorOperator+    ZendeskConnectorOperator (..),++    -- * AggregationConfig+    AggregationConfig (..),+    newAggregationConfig,+    aggregationConfig_aggregationType,+    aggregationConfig_targetFileSize,++    -- * AmplitudeConnectorProfileCredentials+    AmplitudeConnectorProfileCredentials (..),+    newAmplitudeConnectorProfileCredentials,+    amplitudeConnectorProfileCredentials_apiKey,+    amplitudeConnectorProfileCredentials_secretKey,++    -- * AmplitudeConnectorProfileProperties+    AmplitudeConnectorProfileProperties (..),+    newAmplitudeConnectorProfileProperties,++    -- * AmplitudeMetadata+    AmplitudeMetadata (..),+    newAmplitudeMetadata,++    -- * AmplitudeSourceProperties+    AmplitudeSourceProperties (..),+    newAmplitudeSourceProperties,+    amplitudeSourceProperties_object,++    -- * ApiKeyCredentials+    ApiKeyCredentials (..),+    newApiKeyCredentials,+    apiKeyCredentials_apiSecretKey,+    apiKeyCredentials_apiKey,++    -- * AuthParameter+    AuthParameter (..),+    newAuthParameter,+    authParameter_connectorSuppliedValues,+    authParameter_description,+    authParameter_isRequired,+    authParameter_isSensitiveField,+    authParameter_key,+    authParameter_label,++    -- * AuthenticationConfig+    AuthenticationConfig (..),+    newAuthenticationConfig,+    authenticationConfig_customAuthConfigs,+    authenticationConfig_isApiKeyAuthSupported,+    authenticationConfig_isBasicAuthSupported,+    authenticationConfig_isCustomAuthSupported,+    authenticationConfig_isOAuth2Supported,+    authenticationConfig_oAuth2Defaults,++    -- * BasicAuthCredentials+    BasicAuthCredentials (..),+    newBasicAuthCredentials,+    basicAuthCredentials_username,+    basicAuthCredentials_password,++    -- * ConnectorConfiguration+    ConnectorConfiguration (..),+    newConnectorConfiguration,+    connectorConfiguration_authenticationConfig,+    connectorConfiguration_canUseAsDestination,+    connectorConfiguration_canUseAsSource,+    connectorConfiguration_connectorArn,+    connectorConfiguration_connectorDescription,+    connectorConfiguration_connectorLabel,+    connectorConfiguration_connectorMetadata,+    connectorConfiguration_connectorModes,+    connectorConfiguration_connectorName,+    connectorConfiguration_connectorOwner,+    connectorConfiguration_connectorProvisioningConfig,+    connectorConfiguration_connectorProvisioningType,+    connectorConfiguration_connectorRuntimeSettings,+    connectorConfiguration_connectorType,+    connectorConfiguration_connectorVersion,+    connectorConfiguration_isPrivateLinkEnabled,+    connectorConfiguration_isPrivateLinkEndpointUrlRequired,+    connectorConfiguration_logoURL,+    connectorConfiguration_registeredAt,+    connectorConfiguration_registeredBy,+    connectorConfiguration_supportedApiVersions,+    connectorConfiguration_supportedDestinationConnectors,+    connectorConfiguration_supportedOperators,+    connectorConfiguration_supportedSchedulingFrequencies,+    connectorConfiguration_supportedTriggerTypes,+    connectorConfiguration_supportedWriteOperations,++    -- * ConnectorDetail+    ConnectorDetail (..),+    newConnectorDetail,+    connectorDetail_applicationType,+    connectorDetail_connectorDescription,+    connectorDetail_connectorLabel,+    connectorDetail_connectorModes,+    connectorDetail_connectorName,+    connectorDetail_connectorOwner,+    connectorDetail_connectorProvisioningType,+    connectorDetail_connectorType,+    connectorDetail_connectorVersion,+    connectorDetail_registeredAt,+    connectorDetail_registeredBy,++    -- * ConnectorEntity+    ConnectorEntity (..),+    newConnectorEntity,+    connectorEntity_hasNestedEntities,+    connectorEntity_label,+    connectorEntity_name,++    -- * ConnectorEntityField+    ConnectorEntityField (..),+    newConnectorEntityField,+    connectorEntityField_customProperties,+    connectorEntityField_defaultValue,+    connectorEntityField_description,+    connectorEntityField_destinationProperties,+    connectorEntityField_isDeprecated,+    connectorEntityField_isPrimaryKey,+    connectorEntityField_label,+    connectorEntityField_parentIdentifier,+    connectorEntityField_sourceProperties,+    connectorEntityField_supportedFieldTypeDetails,+    connectorEntityField_identifier,++    -- * ConnectorMetadata+    ConnectorMetadata (..),+    newConnectorMetadata,+    connectorMetadata_amplitude,+    connectorMetadata_customerProfiles,+    connectorMetadata_datadog,+    connectorMetadata_dynatrace,+    connectorMetadata_eventBridge,+    connectorMetadata_googleAnalytics,+    connectorMetadata_honeycode,+    connectorMetadata_inforNexus,+    connectorMetadata_marketo,+    connectorMetadata_redshift,+    connectorMetadata_s3,+    connectorMetadata_sAPOData,+    connectorMetadata_salesforce,+    connectorMetadata_serviceNow,+    connectorMetadata_singular,+    connectorMetadata_slack,+    connectorMetadata_snowflake,+    connectorMetadata_trendmicro,+    connectorMetadata_upsolver,+    connectorMetadata_veeva,+    connectorMetadata_zendesk,++    -- * ConnectorOAuthRequest+    ConnectorOAuthRequest (..),+    newConnectorOAuthRequest,+    connectorOAuthRequest_authCode,+    connectorOAuthRequest_redirectUri,++    -- * ConnectorOperator+    ConnectorOperator (..),+    newConnectorOperator,+    connectorOperator_amplitude,+    connectorOperator_customConnector,+    connectorOperator_datadog,+    connectorOperator_dynatrace,+    connectorOperator_googleAnalytics,+    connectorOperator_inforNexus,+    connectorOperator_marketo,+    connectorOperator_s3,+    connectorOperator_sAPOData,+    connectorOperator_salesforce,+    connectorOperator_serviceNow,+    connectorOperator_singular,+    connectorOperator_slack,+    connectorOperator_trendmicro,+    connectorOperator_veeva,+    connectorOperator_zendesk,++    -- * ConnectorProfile+    ConnectorProfile (..),+    newConnectorProfile,+    connectorProfile_connectionMode,+    connectorProfile_connectorLabel,+    connectorProfile_connectorProfileArn,+    connectorProfile_connectorProfileName,+    connectorProfile_connectorProfileProperties,+    connectorProfile_connectorType,+    connectorProfile_createdAt,+    connectorProfile_credentialsArn,+    connectorProfile_lastUpdatedAt,+    connectorProfile_privateConnectionProvisioningState,++    -- * ConnectorProfileConfig+    ConnectorProfileConfig (..),+    newConnectorProfileConfig,+    connectorProfileConfig_connectorProfileCredentials,+    connectorProfileConfig_connectorProfileProperties,++    -- * ConnectorProfileCredentials+    ConnectorProfileCredentials (..),+    newConnectorProfileCredentials,+    connectorProfileCredentials_amplitude,+    connectorProfileCredentials_customConnector,+    connectorProfileCredentials_datadog,+    connectorProfileCredentials_dynatrace,+    connectorProfileCredentials_googleAnalytics,+    connectorProfileCredentials_honeycode,+    connectorProfileCredentials_inforNexus,+    connectorProfileCredentials_marketo,+    connectorProfileCredentials_redshift,+    connectorProfileCredentials_sAPOData,+    connectorProfileCredentials_salesforce,+    connectorProfileCredentials_serviceNow,+    connectorProfileCredentials_singular,+    connectorProfileCredentials_slack,+    connectorProfileCredentials_snowflake,+    connectorProfileCredentials_trendmicro,+    connectorProfileCredentials_veeva,+    connectorProfileCredentials_zendesk,++    -- * ConnectorProfileProperties+    ConnectorProfileProperties (..),+    newConnectorProfileProperties,+    connectorProfileProperties_amplitude,+    connectorProfileProperties_customConnector,+    connectorProfileProperties_datadog,+    connectorProfileProperties_dynatrace,+    connectorProfileProperties_googleAnalytics,+    connectorProfileProperties_honeycode,+    connectorProfileProperties_inforNexus,+    connectorProfileProperties_marketo,+    connectorProfileProperties_redshift,+    connectorProfileProperties_sAPOData,+    connectorProfileProperties_salesforce,+    connectorProfileProperties_serviceNow,+    connectorProfileProperties_singular,+    connectorProfileProperties_slack,+    connectorProfileProperties_snowflake,+    connectorProfileProperties_trendmicro,+    connectorProfileProperties_veeva,+    connectorProfileProperties_zendesk,++    -- * ConnectorProvisioningConfig+    ConnectorProvisioningConfig (..),+    newConnectorProvisioningConfig,+    connectorProvisioningConfig_lambda,++    -- * ConnectorRuntimeSetting+    ConnectorRuntimeSetting (..),+    newConnectorRuntimeSetting,+    connectorRuntimeSetting_connectorSuppliedValueOptions,+    connectorRuntimeSetting_dataType,+    connectorRuntimeSetting_description,+    connectorRuntimeSetting_isRequired,+    connectorRuntimeSetting_key,+    connectorRuntimeSetting_label,+    connectorRuntimeSetting_scope,++    -- * CustomAuthConfig+    CustomAuthConfig (..),+    newCustomAuthConfig,+    customAuthConfig_authParameters,+    customAuthConfig_customAuthenticationType,++    -- * CustomAuthCredentials+    CustomAuthCredentials (..),+    newCustomAuthCredentials,+    customAuthCredentials_credentialsMap,+    customAuthCredentials_customAuthenticationType,++    -- * CustomConnectorDestinationProperties+    CustomConnectorDestinationProperties (..),+    newCustomConnectorDestinationProperties,+    customConnectorDestinationProperties_customProperties,+    customConnectorDestinationProperties_errorHandlingConfig,+    customConnectorDestinationProperties_idFieldNames,+    customConnectorDestinationProperties_writeOperationType,+    customConnectorDestinationProperties_entityName,++    -- * CustomConnectorProfileCredentials+    CustomConnectorProfileCredentials (..),+    newCustomConnectorProfileCredentials,+    customConnectorProfileCredentials_apiKey,+    customConnectorProfileCredentials_basic,+    customConnectorProfileCredentials_custom,+    customConnectorProfileCredentials_oauth2,+    customConnectorProfileCredentials_authenticationType,++    -- * CustomConnectorProfileProperties+    CustomConnectorProfileProperties (..),+    newCustomConnectorProfileProperties,+    customConnectorProfileProperties_oAuth2Properties,+    customConnectorProfileProperties_profileProperties,++    -- * CustomConnectorSourceProperties+    CustomConnectorSourceProperties (..),+    newCustomConnectorSourceProperties,+    customConnectorSourceProperties_customProperties,+    customConnectorSourceProperties_entityName,++    -- * CustomerProfilesDestinationProperties+    CustomerProfilesDestinationProperties (..),+    newCustomerProfilesDestinationProperties,+    customerProfilesDestinationProperties_objectTypeName,+    customerProfilesDestinationProperties_domainName,++    -- * CustomerProfilesMetadata+    CustomerProfilesMetadata (..),+    newCustomerProfilesMetadata,++    -- * DatadogConnectorProfileCredentials+    DatadogConnectorProfileCredentials (..),+    newDatadogConnectorProfileCredentials,+    datadogConnectorProfileCredentials_apiKey,+    datadogConnectorProfileCredentials_applicationKey,++    -- * DatadogConnectorProfileProperties+    DatadogConnectorProfileProperties (..),+    newDatadogConnectorProfileProperties,+    datadogConnectorProfileProperties_instanceUrl,++    -- * DatadogMetadata+    DatadogMetadata (..),+    newDatadogMetadata,++    -- * DatadogSourceProperties+    DatadogSourceProperties (..),+    newDatadogSourceProperties,+    datadogSourceProperties_object,++    -- * DestinationConnectorProperties+    DestinationConnectorProperties (..),+    newDestinationConnectorProperties,+    destinationConnectorProperties_customConnector,+    destinationConnectorProperties_customerProfiles,+    destinationConnectorProperties_eventBridge,+    destinationConnectorProperties_honeycode,+    destinationConnectorProperties_lookoutMetrics,+    destinationConnectorProperties_marketo,+    destinationConnectorProperties_redshift,+    destinationConnectorProperties_s3,+    destinationConnectorProperties_sAPOData,+    destinationConnectorProperties_salesforce,+    destinationConnectorProperties_snowflake,+    destinationConnectorProperties_upsolver,+    destinationConnectorProperties_zendesk,++    -- * DestinationFieldProperties+    DestinationFieldProperties (..),+    newDestinationFieldProperties,+    destinationFieldProperties_isCreatable,+    destinationFieldProperties_isDefaultedOnCreate,+    destinationFieldProperties_isNullable,+    destinationFieldProperties_isUpdatable,+    destinationFieldProperties_isUpsertable,+    destinationFieldProperties_supportedWriteOperations,++    -- * DestinationFlowConfig+    DestinationFlowConfig (..),+    newDestinationFlowConfig,+    destinationFlowConfig_apiVersion,+    destinationFlowConfig_connectorProfileName,+    destinationFlowConfig_connectorType,+    destinationFlowConfig_destinationConnectorProperties,++    -- * DynatraceConnectorProfileCredentials+    DynatraceConnectorProfileCredentials (..),+    newDynatraceConnectorProfileCredentials,+    dynatraceConnectorProfileCredentials_apiToken,++    -- * DynatraceConnectorProfileProperties+    DynatraceConnectorProfileProperties (..),+    newDynatraceConnectorProfileProperties,+    dynatraceConnectorProfileProperties_instanceUrl,++    -- * DynatraceMetadata+    DynatraceMetadata (..),+    newDynatraceMetadata,++    -- * DynatraceSourceProperties+    DynatraceSourceProperties (..),+    newDynatraceSourceProperties,+    dynatraceSourceProperties_object,++    -- * ErrorHandlingConfig+    ErrorHandlingConfig (..),+    newErrorHandlingConfig,+    errorHandlingConfig_bucketName,+    errorHandlingConfig_bucketPrefix,+    errorHandlingConfig_failOnFirstDestinationError,++    -- * ErrorInfo+    ErrorInfo (..),+    newErrorInfo,+    errorInfo_executionMessage,+    errorInfo_putFailuresCount,++    -- * EventBridgeDestinationProperties+    EventBridgeDestinationProperties (..),+    newEventBridgeDestinationProperties,+    eventBridgeDestinationProperties_errorHandlingConfig,+    eventBridgeDestinationProperties_object,++    -- * EventBridgeMetadata+    EventBridgeMetadata (..),+    newEventBridgeMetadata,++    -- * ExecutionDetails+    ExecutionDetails (..),+    newExecutionDetails,+    executionDetails_mostRecentExecutionMessage,+    executionDetails_mostRecentExecutionStatus,+    executionDetails_mostRecentExecutionTime,++    -- * ExecutionRecord+    ExecutionRecord (..),+    newExecutionRecord,+    executionRecord_dataPullEndTime,+    executionRecord_dataPullStartTime,+    executionRecord_executionId,+    executionRecord_executionResult,+    executionRecord_executionStatus,+    executionRecord_lastUpdatedAt,+    executionRecord_metadataCatalogDetails,+    executionRecord_startedAt,++    -- * ExecutionResult+    ExecutionResult (..),+    newExecutionResult,+    executionResult_bytesProcessed,+    executionResult_bytesWritten,+    executionResult_errorInfo,+    executionResult_recordsProcessed,++    -- * FieldTypeDetails+    FieldTypeDetails (..),+    newFieldTypeDetails,+    fieldTypeDetails_fieldLengthRange,+    fieldTypeDetails_fieldValueRange,+    fieldTypeDetails_supportedDateFormat,+    fieldTypeDetails_supportedValues,+    fieldTypeDetails_valueRegexPattern,+    fieldTypeDetails_fieldType,+    fieldTypeDetails_filterOperators,++    -- * FlowDefinition+    FlowDefinition (..),+    newFlowDefinition,+    flowDefinition_createdAt,+    flowDefinition_createdBy,+    flowDefinition_description,+    flowDefinition_destinationConnectorLabel,+    flowDefinition_destinationConnectorType,+    flowDefinition_flowArn,+    flowDefinition_flowName,+    flowDefinition_flowStatus,+    flowDefinition_lastRunExecutionDetails,+    flowDefinition_lastUpdatedAt,+    flowDefinition_lastUpdatedBy,+    flowDefinition_sourceConnectorLabel,+    flowDefinition_sourceConnectorType,+    flowDefinition_tags,+    flowDefinition_triggerType,++    -- * GlueDataCatalogConfig+    GlueDataCatalogConfig (..),+    newGlueDataCatalogConfig,+    glueDataCatalogConfig_roleArn,+    glueDataCatalogConfig_databaseName,+    glueDataCatalogConfig_tablePrefix,++    -- * GoogleAnalyticsConnectorProfileCredentials+    GoogleAnalyticsConnectorProfileCredentials (..),+    newGoogleAnalyticsConnectorProfileCredentials,+    googleAnalyticsConnectorProfileCredentials_accessToken,+    googleAnalyticsConnectorProfileCredentials_oAuthRequest,+    googleAnalyticsConnectorProfileCredentials_refreshToken,+    googleAnalyticsConnectorProfileCredentials_clientId,+    googleAnalyticsConnectorProfileCredentials_clientSecret,++    -- * GoogleAnalyticsConnectorProfileProperties+    GoogleAnalyticsConnectorProfileProperties (..),+    newGoogleAnalyticsConnectorProfileProperties,++    -- * GoogleAnalyticsMetadata+    GoogleAnalyticsMetadata (..),+    newGoogleAnalyticsMetadata,+    googleAnalyticsMetadata_oAuthScopes,++    -- * GoogleAnalyticsSourceProperties+    GoogleAnalyticsSourceProperties (..),+    newGoogleAnalyticsSourceProperties,+    googleAnalyticsSourceProperties_object,++    -- * HoneycodeConnectorProfileCredentials+    HoneycodeConnectorProfileCredentials (..),+    newHoneycodeConnectorProfileCredentials,+    honeycodeConnectorProfileCredentials_accessToken,+    honeycodeConnectorProfileCredentials_oAuthRequest,+    honeycodeConnectorProfileCredentials_refreshToken,++    -- * HoneycodeConnectorProfileProperties+    HoneycodeConnectorProfileProperties (..),+    newHoneycodeConnectorProfileProperties,++    -- * HoneycodeDestinationProperties+    HoneycodeDestinationProperties (..),+    newHoneycodeDestinationProperties,+    honeycodeDestinationProperties_errorHandlingConfig,+    honeycodeDestinationProperties_object,++    -- * HoneycodeMetadata+    HoneycodeMetadata (..),+    newHoneycodeMetadata,+    honeycodeMetadata_oAuthScopes,++    -- * IncrementalPullConfig+    IncrementalPullConfig (..),+    newIncrementalPullConfig,+    incrementalPullConfig_datetimeTypeFieldName,++    -- * InforNexusConnectorProfileCredentials+    InforNexusConnectorProfileCredentials (..),+    newInforNexusConnectorProfileCredentials,+    inforNexusConnectorProfileCredentials_accessKeyId,+    inforNexusConnectorProfileCredentials_userId,+    inforNexusConnectorProfileCredentials_secretAccessKey,+    inforNexusConnectorProfileCredentials_datakey,++    -- * InforNexusConnectorProfileProperties+    InforNexusConnectorProfileProperties (..),+    newInforNexusConnectorProfileProperties,+    inforNexusConnectorProfileProperties_instanceUrl,++    -- * InforNexusMetadata+    InforNexusMetadata (..),+    newInforNexusMetadata,++    -- * InforNexusSourceProperties+    InforNexusSourceProperties (..),+    newInforNexusSourceProperties,+    inforNexusSourceProperties_object,++    -- * LambdaConnectorProvisioningConfig+    LambdaConnectorProvisioningConfig (..),+    newLambdaConnectorProvisioningConfig,+    lambdaConnectorProvisioningConfig_lambdaArn,++    -- * LookoutMetricsDestinationProperties+    LookoutMetricsDestinationProperties (..),+    newLookoutMetricsDestinationProperties,++    -- * MarketoConnectorProfileCredentials+    MarketoConnectorProfileCredentials (..),+    newMarketoConnectorProfileCredentials,+    marketoConnectorProfileCredentials_accessToken,+    marketoConnectorProfileCredentials_oAuthRequest,+    marketoConnectorProfileCredentials_clientId,+    marketoConnectorProfileCredentials_clientSecret,++    -- * MarketoConnectorProfileProperties+    MarketoConnectorProfileProperties (..),+    newMarketoConnectorProfileProperties,+    marketoConnectorProfileProperties_instanceUrl,++    -- * MarketoDestinationProperties+    MarketoDestinationProperties (..),+    newMarketoDestinationProperties,+    marketoDestinationProperties_errorHandlingConfig,+    marketoDestinationProperties_object,++    -- * MarketoMetadata+    MarketoMetadata (..),+    newMarketoMetadata,++    -- * MarketoSourceProperties+    MarketoSourceProperties (..),+    newMarketoSourceProperties,+    marketoSourceProperties_object,++    -- * MetadataCatalogConfig+    MetadataCatalogConfig (..),+    newMetadataCatalogConfig,+    metadataCatalogConfig_glueDataCatalog,++    -- * MetadataCatalogDetail+    MetadataCatalogDetail (..),+    newMetadataCatalogDetail,+    metadataCatalogDetail_catalogType,+    metadataCatalogDetail_partitionRegistrationOutput,+    metadataCatalogDetail_tableName,+    metadataCatalogDetail_tableRegistrationOutput,++    -- * OAuth2Credentials+    OAuth2Credentials (..),+    newOAuth2Credentials,+    oAuth2Credentials_accessToken,+    oAuth2Credentials_clientId,+    oAuth2Credentials_clientSecret,+    oAuth2Credentials_oAuthRequest,+    oAuth2Credentials_refreshToken,++    -- * OAuth2CustomParameter+    OAuth2CustomParameter (..),+    newOAuth2CustomParameter,+    oAuth2CustomParameter_connectorSuppliedValues,+    oAuth2CustomParameter_description,+    oAuth2CustomParameter_isRequired,+    oAuth2CustomParameter_isSensitiveField,+    oAuth2CustomParameter_key,+    oAuth2CustomParameter_label,+    oAuth2CustomParameter_type,++    -- * OAuth2Defaults+    OAuth2Defaults (..),+    newOAuth2Defaults,+    oAuth2Defaults_authCodeUrls,+    oAuth2Defaults_oauth2CustomProperties,+    oAuth2Defaults_oauth2GrantTypesSupported,+    oAuth2Defaults_oauthScopes,+    oAuth2Defaults_tokenUrls,++    -- * OAuth2Properties+    OAuth2Properties (..),+    newOAuth2Properties,+    oAuth2Properties_tokenUrlCustomProperties,+    oAuth2Properties_tokenUrl,+    oAuth2Properties_oAuth2GrantType,++    -- * OAuthCredentials+    OAuthCredentials (..),+    newOAuthCredentials,+    oAuthCredentials_accessToken,+    oAuthCredentials_oAuthRequest,+    oAuthCredentials_refreshToken,+    oAuthCredentials_clientId,+    oAuthCredentials_clientSecret,++    -- * OAuthProperties+    OAuthProperties (..),+    newOAuthProperties,+    oAuthProperties_tokenUrl,+    oAuthProperties_authCodeUrl,+    oAuthProperties_oAuthScopes,++    -- * PrefixConfig+    PrefixConfig (..),+    newPrefixConfig,+    prefixConfig_pathPrefixHierarchy,+    prefixConfig_prefixFormat,+    prefixConfig_prefixType,++    -- * PrivateConnectionProvisioningState+    PrivateConnectionProvisioningState (..),+    newPrivateConnectionProvisioningState,+    privateConnectionProvisioningState_failureCause,+    privateConnectionProvisioningState_failureMessage,+    privateConnectionProvisioningState_status,++    -- * Range+    Range (..),+    newRange,+    range_maximum,+    range_minimum,++    -- * RedshiftConnectorProfileCredentials+    RedshiftConnectorProfileCredentials (..),+    newRedshiftConnectorProfileCredentials,+    redshiftConnectorProfileCredentials_password,+    redshiftConnectorProfileCredentials_username,++    -- * RedshiftConnectorProfileProperties+    RedshiftConnectorProfileProperties (..),+    newRedshiftConnectorProfileProperties,+    redshiftConnectorProfileProperties_bucketPrefix,+    redshiftConnectorProfileProperties_clusterIdentifier,+    redshiftConnectorProfileProperties_dataApiRoleArn,+    redshiftConnectorProfileProperties_databaseName,+    redshiftConnectorProfileProperties_databaseUrl,+    redshiftConnectorProfileProperties_isRedshiftServerless,+    redshiftConnectorProfileProperties_workgroupName,+    redshiftConnectorProfileProperties_bucketName,+    redshiftConnectorProfileProperties_roleArn,++    -- * RedshiftDestinationProperties+    RedshiftDestinationProperties (..),+    newRedshiftDestinationProperties,+    redshiftDestinationProperties_bucketPrefix,+    redshiftDestinationProperties_errorHandlingConfig,+    redshiftDestinationProperties_object,+    redshiftDestinationProperties_intermediateBucketName,++    -- * RedshiftMetadata+    RedshiftMetadata (..),+    newRedshiftMetadata,++    -- * RegistrationOutput+    RegistrationOutput (..),+    newRegistrationOutput,+    registrationOutput_message,+    registrationOutput_result,+    registrationOutput_status,++    -- * S3DestinationProperties+    S3DestinationProperties (..),+    newS3DestinationProperties,+    s3DestinationProperties_bucketPrefix,+    s3DestinationProperties_s3OutputFormatConfig,+    s3DestinationProperties_bucketName,++    -- * S3InputFormatConfig+    S3InputFormatConfig (..),+    newS3InputFormatConfig,+    s3InputFormatConfig_s3InputFileType,++    -- * S3Metadata+    S3Metadata (..),+    newS3Metadata,++    -- * S3OutputFormatConfig+    S3OutputFormatConfig (..),+    newS3OutputFormatConfig,+    s3OutputFormatConfig_aggregationConfig,+    s3OutputFormatConfig_fileType,+    s3OutputFormatConfig_prefixConfig,+    s3OutputFormatConfig_preserveSourceDataTyping,++    -- * S3SourceProperties+    S3SourceProperties (..),+    newS3SourceProperties,+    s3SourceProperties_bucketPrefix,+    s3SourceProperties_s3InputFormatConfig,+    s3SourceProperties_bucketName,++    -- * SAPODataConnectorProfileCredentials+    SAPODataConnectorProfileCredentials (..),+    newSAPODataConnectorProfileCredentials,+    sAPODataConnectorProfileCredentials_basicAuthCredentials,+    sAPODataConnectorProfileCredentials_oAuthCredentials,++    -- * SAPODataConnectorProfileProperties+    SAPODataConnectorProfileProperties (..),+    newSAPODataConnectorProfileProperties,+    sAPODataConnectorProfileProperties_logonLanguage,+    sAPODataConnectorProfileProperties_oAuthProperties,+    sAPODataConnectorProfileProperties_privateLinkServiceName,+    sAPODataConnectorProfileProperties_applicationHostUrl,+    sAPODataConnectorProfileProperties_applicationServicePath,+    sAPODataConnectorProfileProperties_portNumber,+    sAPODataConnectorProfileProperties_clientNumber,++    -- * SAPODataDestinationProperties+    SAPODataDestinationProperties (..),+    newSAPODataDestinationProperties,+    sAPODataDestinationProperties_errorHandlingConfig,+    sAPODataDestinationProperties_idFieldNames,+    sAPODataDestinationProperties_successResponseHandlingConfig,+    sAPODataDestinationProperties_writeOperationType,+    sAPODataDestinationProperties_objectPath,++    -- * SAPODataMetadata+    SAPODataMetadata (..),+    newSAPODataMetadata,++    -- * SAPODataSourceProperties+    SAPODataSourceProperties (..),+    newSAPODataSourceProperties,+    sAPODataSourceProperties_objectPath,++    -- * SalesforceConnectorProfileCredentials+    SalesforceConnectorProfileCredentials (..),+    newSalesforceConnectorProfileCredentials,+    salesforceConnectorProfileCredentials_accessToken,+    salesforceConnectorProfileCredentials_clientCredentialsArn,+    salesforceConnectorProfileCredentials_oAuthRequest,+    salesforceConnectorProfileCredentials_refreshToken,++    -- * SalesforceConnectorProfileProperties+    SalesforceConnectorProfileProperties (..),+    newSalesforceConnectorProfileProperties,+    salesforceConnectorProfileProperties_instanceUrl,+    salesforceConnectorProfileProperties_isSandboxEnvironment,++    -- * SalesforceDestinationProperties+    SalesforceDestinationProperties (..),+    newSalesforceDestinationProperties,+    salesforceDestinationProperties_dataTransferApi,+    salesforceDestinationProperties_errorHandlingConfig,+    salesforceDestinationProperties_idFieldNames,+    salesforceDestinationProperties_writeOperationType,+    salesforceDestinationProperties_object,++    -- * SalesforceMetadata+    SalesforceMetadata (..),+    newSalesforceMetadata,+    salesforceMetadata_dataTransferApis,+    salesforceMetadata_oAuthScopes,++    -- * SalesforceSourceProperties+    SalesforceSourceProperties (..),+    newSalesforceSourceProperties,+    salesforceSourceProperties_dataTransferApi,+    salesforceSourceProperties_enableDynamicFieldUpdate,+    salesforceSourceProperties_includeDeletedRecords,+    salesforceSourceProperties_object,++    -- * ScheduledTriggerProperties+    ScheduledTriggerProperties (..),+    newScheduledTriggerProperties,+    scheduledTriggerProperties_dataPullMode,+    scheduledTriggerProperties_firstExecutionFrom,+    scheduledTriggerProperties_flowErrorDeactivationThreshold,+    scheduledTriggerProperties_scheduleEndTime,+    scheduledTriggerProperties_scheduleOffset,+    scheduledTriggerProperties_scheduleStartTime,+    scheduledTriggerProperties_timezone,+    scheduledTriggerProperties_scheduleExpression,++    -- * ServiceNowConnectorProfileCredentials+    ServiceNowConnectorProfileCredentials (..),+    newServiceNowConnectorProfileCredentials,+    serviceNowConnectorProfileCredentials_username,+    serviceNowConnectorProfileCredentials_password,++    -- * ServiceNowConnectorProfileProperties+    ServiceNowConnectorProfileProperties (..),+    newServiceNowConnectorProfileProperties,+    serviceNowConnectorProfileProperties_instanceUrl,++    -- * ServiceNowMetadata+    ServiceNowMetadata (..),+    newServiceNowMetadata,++    -- * ServiceNowSourceProperties+    ServiceNowSourceProperties (..),+    newServiceNowSourceProperties,+    serviceNowSourceProperties_object,++    -- * SingularConnectorProfileCredentials+    SingularConnectorProfileCredentials (..),+    newSingularConnectorProfileCredentials,+    singularConnectorProfileCredentials_apiKey,++    -- * SingularConnectorProfileProperties+    SingularConnectorProfileProperties (..),+    newSingularConnectorProfileProperties,++    -- * SingularMetadata+    SingularMetadata (..),+    newSingularMetadata,++    -- * SingularSourceProperties+    SingularSourceProperties (..),+    newSingularSourceProperties,+    singularSourceProperties_object,++    -- * SlackConnectorProfileCredentials+    SlackConnectorProfileCredentials (..),+    newSlackConnectorProfileCredentials,+    slackConnectorProfileCredentials_accessToken,+    slackConnectorProfileCredentials_oAuthRequest,+    slackConnectorProfileCredentials_clientId,+    slackConnectorProfileCredentials_clientSecret,++    -- * SlackConnectorProfileProperties+    SlackConnectorProfileProperties (..),+    newSlackConnectorProfileProperties,+    slackConnectorProfileProperties_instanceUrl,++    -- * SlackMetadata+    SlackMetadata (..),+    newSlackMetadata,+    slackMetadata_oAuthScopes,++    -- * SlackSourceProperties+    SlackSourceProperties (..),+    newSlackSourceProperties,+    slackSourceProperties_object,++    -- * SnowflakeConnectorProfileCredentials+    SnowflakeConnectorProfileCredentials (..),+    newSnowflakeConnectorProfileCredentials,+    snowflakeConnectorProfileCredentials_username,+    snowflakeConnectorProfileCredentials_password,++    -- * SnowflakeConnectorProfileProperties+    SnowflakeConnectorProfileProperties (..),+    newSnowflakeConnectorProfileProperties,+    snowflakeConnectorProfileProperties_accountName,+    snowflakeConnectorProfileProperties_bucketPrefix,+    snowflakeConnectorProfileProperties_privateLinkServiceName,+    snowflakeConnectorProfileProperties_region,+    snowflakeConnectorProfileProperties_warehouse,+    snowflakeConnectorProfileProperties_stage,+    snowflakeConnectorProfileProperties_bucketName,++    -- * SnowflakeDestinationProperties+    SnowflakeDestinationProperties (..),+    newSnowflakeDestinationProperties,+    snowflakeDestinationProperties_bucketPrefix,+    snowflakeDestinationProperties_errorHandlingConfig,+    snowflakeDestinationProperties_object,+    snowflakeDestinationProperties_intermediateBucketName,++    -- * SnowflakeMetadata+    SnowflakeMetadata (..),+    newSnowflakeMetadata,+    snowflakeMetadata_supportedRegions,++    -- * SourceConnectorProperties+    SourceConnectorProperties (..),+    newSourceConnectorProperties,+    sourceConnectorProperties_amplitude,+    sourceConnectorProperties_customConnector,+    sourceConnectorProperties_datadog,+    sourceConnectorProperties_dynatrace,+    sourceConnectorProperties_googleAnalytics,+    sourceConnectorProperties_inforNexus,+    sourceConnectorProperties_marketo,+    sourceConnectorProperties_s3,+    sourceConnectorProperties_sAPOData,+    sourceConnectorProperties_salesforce,+    sourceConnectorProperties_serviceNow,+    sourceConnectorProperties_singular,+    sourceConnectorProperties_slack,+    sourceConnectorProperties_trendmicro,+    sourceConnectorProperties_veeva,+    sourceConnectorProperties_zendesk,++    -- * SourceFieldProperties+    SourceFieldProperties (..),+    newSourceFieldProperties,+    sourceFieldProperties_isQueryable,+    sourceFieldProperties_isRetrievable,+    sourceFieldProperties_isTimestampFieldForIncrementalQueries,++    -- * SourceFlowConfig+    SourceFlowConfig (..),+    newSourceFlowConfig,+    sourceFlowConfig_apiVersion,+    sourceFlowConfig_connectorProfileName,+    sourceFlowConfig_incrementalPullConfig,+    sourceFlowConfig_connectorType,+    sourceFlowConfig_sourceConnectorProperties,++    -- * SuccessResponseHandlingConfig+    SuccessResponseHandlingConfig (..),+    newSuccessResponseHandlingConfig,+    successResponseHandlingConfig_bucketName,+    successResponseHandlingConfig_bucketPrefix,++    -- * SupportedFieldTypeDetails+    SupportedFieldTypeDetails (..),+    newSupportedFieldTypeDetails,+    supportedFieldTypeDetails_v1,++    -- * Task+    Task (..),+    newTask,+    task_connectorOperator,+    task_destinationField,+    task_taskProperties,+    task_sourceFields,+    task_taskType,++    -- * TrendmicroConnectorProfileCredentials+    TrendmicroConnectorProfileCredentials (..),+    newTrendmicroConnectorProfileCredentials,+    trendmicroConnectorProfileCredentials_apiSecretKey,++    -- * TrendmicroConnectorProfileProperties+    TrendmicroConnectorProfileProperties (..),+    newTrendmicroConnectorProfileProperties,++    -- * TrendmicroMetadata+    TrendmicroMetadata (..),+    newTrendmicroMetadata,++    -- * TrendmicroSourceProperties+    TrendmicroSourceProperties (..),+    newTrendmicroSourceProperties,+    trendmicroSourceProperties_object,++    -- * TriggerConfig+    TriggerConfig (..),+    newTriggerConfig,+    triggerConfig_triggerProperties,+    triggerConfig_triggerType,++    -- * TriggerProperties+    TriggerProperties (..),+    newTriggerProperties,+    triggerProperties_scheduled,++    -- * UpsolverDestinationProperties+    UpsolverDestinationProperties (..),+    newUpsolverDestinationProperties,+    upsolverDestinationProperties_bucketPrefix,+    upsolverDestinationProperties_bucketName,+    upsolverDestinationProperties_s3OutputFormatConfig,++    -- * UpsolverMetadata+    UpsolverMetadata (..),+    newUpsolverMetadata,++    -- * UpsolverS3OutputFormatConfig+    UpsolverS3OutputFormatConfig (..),+    newUpsolverS3OutputFormatConfig,+    upsolverS3OutputFormatConfig_aggregationConfig,+    upsolverS3OutputFormatConfig_fileType,+    upsolverS3OutputFormatConfig_prefixConfig,++    -- * VeevaConnectorProfileCredentials+    VeevaConnectorProfileCredentials (..),+    newVeevaConnectorProfileCredentials,+    veevaConnectorProfileCredentials_username,+    veevaConnectorProfileCredentials_password,++    -- * VeevaConnectorProfileProperties+    VeevaConnectorProfileProperties (..),+    newVeevaConnectorProfileProperties,+    veevaConnectorProfileProperties_instanceUrl,++    -- * VeevaMetadata+    VeevaMetadata (..),+    newVeevaMetadata,++    -- * VeevaSourceProperties+    VeevaSourceProperties (..),+    newVeevaSourceProperties,+    veevaSourceProperties_documentType,+    veevaSourceProperties_includeAllVersions,+    veevaSourceProperties_includeRenditions,+    veevaSourceProperties_includeSourceFiles,+    veevaSourceProperties_object,++    -- * ZendeskConnectorProfileCredentials+    ZendeskConnectorProfileCredentials (..),+    newZendeskConnectorProfileCredentials,+    zendeskConnectorProfileCredentials_accessToken,+    zendeskConnectorProfileCredentials_oAuthRequest,+    zendeskConnectorProfileCredentials_clientId,+    zendeskConnectorProfileCredentials_clientSecret,++    -- * ZendeskConnectorProfileProperties+    ZendeskConnectorProfileProperties (..),+    newZendeskConnectorProfileProperties,+    zendeskConnectorProfileProperties_instanceUrl,++    -- * ZendeskDestinationProperties+    ZendeskDestinationProperties (..),+    newZendeskDestinationProperties,+    zendeskDestinationProperties_errorHandlingConfig,+    zendeskDestinationProperties_idFieldNames,+    zendeskDestinationProperties_writeOperationType,+    zendeskDestinationProperties_object,++    -- * ZendeskMetadata+    ZendeskMetadata (..),+    newZendeskMetadata,+    zendeskMetadata_oAuthScopes,++    -- * ZendeskSourceProperties+    ZendeskSourceProperties (..),+    newZendeskSourceProperties,+    zendeskSourceProperties_object,+  )+where++import Amazonka.AppFlow.Types.AggregationConfig+import Amazonka.AppFlow.Types.AggregationType+import Amazonka.AppFlow.Types.AmplitudeConnectorOperator+import Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials+import Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties+import Amazonka.AppFlow.Types.AmplitudeMetadata+import Amazonka.AppFlow.Types.AmplitudeSourceProperties+import Amazonka.AppFlow.Types.ApiKeyCredentials+import Amazonka.AppFlow.Types.AuthParameter+import Amazonka.AppFlow.Types.AuthenticationConfig+import Amazonka.AppFlow.Types.AuthenticationType+import Amazonka.AppFlow.Types.BasicAuthCredentials+import Amazonka.AppFlow.Types.CatalogType+import Amazonka.AppFlow.Types.ConnectionMode+import Amazonka.AppFlow.Types.ConnectorConfiguration+import Amazonka.AppFlow.Types.ConnectorDetail+import Amazonka.AppFlow.Types.ConnectorEntity+import Amazonka.AppFlow.Types.ConnectorEntityField+import Amazonka.AppFlow.Types.ConnectorMetadata+import Amazonka.AppFlow.Types.ConnectorOAuthRequest+import Amazonka.AppFlow.Types.ConnectorOperator+import Amazonka.AppFlow.Types.ConnectorProfile+import Amazonka.AppFlow.Types.ConnectorProfileConfig+import Amazonka.AppFlow.Types.ConnectorProfileCredentials+import Amazonka.AppFlow.Types.ConnectorProfileProperties+import Amazonka.AppFlow.Types.ConnectorProvisioningConfig+import Amazonka.AppFlow.Types.ConnectorProvisioningType+import Amazonka.AppFlow.Types.ConnectorRuntimeSetting+import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.CustomAuthConfig+import Amazonka.AppFlow.Types.CustomAuthCredentials+import Amazonka.AppFlow.Types.CustomConnectorDestinationProperties+import Amazonka.AppFlow.Types.CustomConnectorProfileCredentials+import Amazonka.AppFlow.Types.CustomConnectorProfileProperties+import Amazonka.AppFlow.Types.CustomConnectorSourceProperties+import Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties+import Amazonka.AppFlow.Types.CustomerProfilesMetadata+import Amazonka.AppFlow.Types.DataPullMode+import Amazonka.AppFlow.Types.DatadogConnectorOperator+import Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials+import Amazonka.AppFlow.Types.DatadogConnectorProfileProperties+import Amazonka.AppFlow.Types.DatadogMetadata+import Amazonka.AppFlow.Types.DatadogSourceProperties+import Amazonka.AppFlow.Types.DestinationConnectorProperties+import Amazonka.AppFlow.Types.DestinationFieldProperties+import Amazonka.AppFlow.Types.DestinationFlowConfig+import Amazonka.AppFlow.Types.DynatraceConnectorOperator+import Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials+import Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties+import Amazonka.AppFlow.Types.DynatraceMetadata+import Amazonka.AppFlow.Types.DynatraceSourceProperties+import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.ErrorInfo+import Amazonka.AppFlow.Types.EventBridgeDestinationProperties+import Amazonka.AppFlow.Types.EventBridgeMetadata+import Amazonka.AppFlow.Types.ExecutionDetails+import Amazonka.AppFlow.Types.ExecutionRecord+import Amazonka.AppFlow.Types.ExecutionResult+import Amazonka.AppFlow.Types.ExecutionStatus+import Amazonka.AppFlow.Types.FieldTypeDetails+import Amazonka.AppFlow.Types.FileType+import Amazonka.AppFlow.Types.FlowDefinition+import Amazonka.AppFlow.Types.FlowStatus+import Amazonka.AppFlow.Types.GlueDataCatalogConfig+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties+import Amazonka.AppFlow.Types.GoogleAnalyticsMetadata+import Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileCredentials+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties+import Amazonka.AppFlow.Types.HoneycodeDestinationProperties+import Amazonka.AppFlow.Types.HoneycodeMetadata+import Amazonka.AppFlow.Types.IncrementalPullConfig+import Amazonka.AppFlow.Types.InforNexusConnectorOperator+import Amazonka.AppFlow.Types.InforNexusConnectorProfileCredentials+import Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties+import Amazonka.AppFlow.Types.InforNexusMetadata+import Amazonka.AppFlow.Types.InforNexusSourceProperties+import Amazonka.AppFlow.Types.LambdaConnectorProvisioningConfig+import Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties+import Amazonka.AppFlow.Types.MarketoConnectorOperator+import Amazonka.AppFlow.Types.MarketoConnectorProfileCredentials+import Amazonka.AppFlow.Types.MarketoConnectorProfileProperties+import Amazonka.AppFlow.Types.MarketoDestinationProperties+import Amazonka.AppFlow.Types.MarketoMetadata+import Amazonka.AppFlow.Types.MarketoSourceProperties+import Amazonka.AppFlow.Types.MetadataCatalogConfig+import Amazonka.AppFlow.Types.MetadataCatalogDetail+import Amazonka.AppFlow.Types.OAuth2Credentials+import Amazonka.AppFlow.Types.OAuth2CustomParameter+import Amazonka.AppFlow.Types.OAuth2CustomPropType+import Amazonka.AppFlow.Types.OAuth2Defaults+import Amazonka.AppFlow.Types.OAuth2GrantType+import Amazonka.AppFlow.Types.OAuth2Properties+import Amazonka.AppFlow.Types.OAuthCredentials+import Amazonka.AppFlow.Types.OAuthProperties+import Amazonka.AppFlow.Types.Operator+import Amazonka.AppFlow.Types.OperatorPropertiesKeys+import Amazonka.AppFlow.Types.Operators+import Amazonka.AppFlow.Types.PathPrefix+import Amazonka.AppFlow.Types.PrefixConfig+import Amazonka.AppFlow.Types.PrefixFormat+import Amazonka.AppFlow.Types.PrefixType+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningFailureCause+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningState+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningStatus+import Amazonka.AppFlow.Types.Range+import Amazonka.AppFlow.Types.RedshiftConnectorProfileCredentials+import Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties+import Amazonka.AppFlow.Types.RedshiftDestinationProperties+import Amazonka.AppFlow.Types.RedshiftMetadata+import Amazonka.AppFlow.Types.RegistrationOutput+import Amazonka.AppFlow.Types.S3ConnectorOperator+import Amazonka.AppFlow.Types.S3DestinationProperties+import Amazonka.AppFlow.Types.S3InputFileType+import Amazonka.AppFlow.Types.S3InputFormatConfig+import Amazonka.AppFlow.Types.S3Metadata+import Amazonka.AppFlow.Types.S3OutputFormatConfig+import Amazonka.AppFlow.Types.S3SourceProperties+import Amazonka.AppFlow.Types.SAPODataConnectorOperator+import Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials+import Amazonka.AppFlow.Types.SAPODataConnectorProfileProperties+import Amazonka.AppFlow.Types.SAPODataDestinationProperties+import Amazonka.AppFlow.Types.SAPODataMetadata+import Amazonka.AppFlow.Types.SAPODataSourceProperties+import Amazonka.AppFlow.Types.SalesforceConnectorOperator+import Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials+import Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties+import Amazonka.AppFlow.Types.SalesforceDataTransferApi+import Amazonka.AppFlow.Types.SalesforceDestinationProperties+import Amazonka.AppFlow.Types.SalesforceMetadata+import Amazonka.AppFlow.Types.SalesforceSourceProperties+import Amazonka.AppFlow.Types.ScheduleFrequencyType+import Amazonka.AppFlow.Types.ScheduledTriggerProperties+import Amazonka.AppFlow.Types.ServiceNowConnectorOperator+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileProperties+import Amazonka.AppFlow.Types.ServiceNowMetadata+import Amazonka.AppFlow.Types.ServiceNowSourceProperties+import Amazonka.AppFlow.Types.SingularConnectorOperator+import Amazonka.AppFlow.Types.SingularConnectorProfileCredentials+import Amazonka.AppFlow.Types.SingularConnectorProfileProperties+import Amazonka.AppFlow.Types.SingularMetadata+import Amazonka.AppFlow.Types.SingularSourceProperties+import Amazonka.AppFlow.Types.SlackConnectorOperator+import Amazonka.AppFlow.Types.SlackConnectorProfileCredentials+import Amazonka.AppFlow.Types.SlackConnectorProfileProperties+import Amazonka.AppFlow.Types.SlackMetadata+import Amazonka.AppFlow.Types.SlackSourceProperties+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties+import Amazonka.AppFlow.Types.SnowflakeDestinationProperties+import Amazonka.AppFlow.Types.SnowflakeMetadata+import Amazonka.AppFlow.Types.SourceConnectorProperties+import Amazonka.AppFlow.Types.SourceFieldProperties+import Amazonka.AppFlow.Types.SourceFlowConfig+import Amazonka.AppFlow.Types.SuccessResponseHandlingConfig+import Amazonka.AppFlow.Types.SupportedFieldTypeDetails+import Amazonka.AppFlow.Types.Task+import Amazonka.AppFlow.Types.TaskType+import Amazonka.AppFlow.Types.TrendmicroConnectorOperator+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties+import Amazonka.AppFlow.Types.TrendmicroMetadata+import Amazonka.AppFlow.Types.TrendmicroSourceProperties+import Amazonka.AppFlow.Types.TriggerConfig+import Amazonka.AppFlow.Types.TriggerProperties+import Amazonka.AppFlow.Types.TriggerType+import Amazonka.AppFlow.Types.UpsolverDestinationProperties+import Amazonka.AppFlow.Types.UpsolverMetadata+import Amazonka.AppFlow.Types.UpsolverS3OutputFormatConfig+import Amazonka.AppFlow.Types.VeevaConnectorOperator+import Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials+import Amazonka.AppFlow.Types.VeevaConnectorProfileProperties+import Amazonka.AppFlow.Types.VeevaMetadata+import Amazonka.AppFlow.Types.VeevaSourceProperties+import Amazonka.AppFlow.Types.WriteOperationType+import Amazonka.AppFlow.Types.ZendeskConnectorOperator+import Amazonka.AppFlow.Types.ZendeskConnectorProfileCredentials+import Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties+import Amazonka.AppFlow.Types.ZendeskDestinationProperties+import Amazonka.AppFlow.Types.ZendeskMetadata+import Amazonka.AppFlow.Types.ZendeskSourceProperties+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-08-23@ of the Amazon Appflow SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "AppFlow",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "appflow",+      Core.signingName = "appflow",+      Core.version = "2020-08-23",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "AppFlow",+      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++-- | AppFlow\/Requester has invalid or missing permissions.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | There was a conflict when processing the request (for example, a flow+-- with the given name already exists within the account. Check for+-- conflicting resource names and try again.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An error occurred when authenticating with the connector endpoint.+_ConnectorAuthenticationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConnectorAuthenticationException =+  Core._MatchServiceError+    defaultService+    "ConnectorAuthenticationException"+    Prelude.. Core.hasStatus 401++-- | An error occurred when retrieving data from the connector endpoint.+_ConnectorServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConnectorServerException =+  Core._MatchServiceError+    defaultService+    "ConnectorServerException"+    Prelude.. Core.hasStatus 400++-- | An internal service error occurred during the processing of your+-- request. Try again later.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The resource specified in the request (such as the source or destination+-- connector profile) is not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request would cause a service quota (such as the number of flows) to+-- be exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | API calls have exceeded the maximum allowed API request rate per account+-- and per Region.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The requested operation is not supported for the current flow.+_UnsupportedOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedOperationException =+  Core._MatchServiceError+    defaultService+    "UnsupportedOperationException"+    Prelude.. Core.hasStatus 400++-- | The request has invalid or missing parameters.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/AppFlow/Types/AggregationConfig.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AggregationConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AggregationConfig where++import Amazonka.AppFlow.Types.AggregationType+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 aggregation settings that you can use to customize the output format+-- of your flow data.+--+-- /See:/ 'newAggregationConfig' smart constructor.+data AggregationConfig = AggregationConfig'+  { -- | Specifies whether Amazon AppFlow aggregates the flow records into a+    -- single file, or leave them unaggregated.+    aggregationType :: Prelude.Maybe AggregationType,+    -- | The desired file size, in MB, for each output file that Amazon AppFlow+    -- writes to the flow destination. For each file, Amazon AppFlow attempts+    -- to achieve the size that you specify. The actual file sizes might differ+    -- from this target based on the number and size of the records that each+    -- file contains.+    targetFileSize :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AggregationConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationType', 'aggregationConfig_aggregationType' - Specifies whether Amazon AppFlow aggregates the flow records into a+-- single file, or leave them unaggregated.+--+-- 'targetFileSize', 'aggregationConfig_targetFileSize' - The desired file size, in MB, for each output file that Amazon AppFlow+-- writes to the flow destination. For each file, Amazon AppFlow attempts+-- to achieve the size that you specify. The actual file sizes might differ+-- from this target based on the number and size of the records that each+-- file contains.+newAggregationConfig ::+  AggregationConfig+newAggregationConfig =+  AggregationConfig'+    { aggregationType =+        Prelude.Nothing,+      targetFileSize = Prelude.Nothing+    }++-- | Specifies whether Amazon AppFlow aggregates the flow records into a+-- single file, or leave them unaggregated.+aggregationConfig_aggregationType :: Lens.Lens' AggregationConfig (Prelude.Maybe AggregationType)+aggregationConfig_aggregationType = Lens.lens (\AggregationConfig' {aggregationType} -> aggregationType) (\s@AggregationConfig' {} a -> s {aggregationType = a} :: AggregationConfig)++-- | The desired file size, in MB, for each output file that Amazon AppFlow+-- writes to the flow destination. For each file, Amazon AppFlow attempts+-- to achieve the size that you specify. The actual file sizes might differ+-- from this target based on the number and size of the records that each+-- file contains.+aggregationConfig_targetFileSize :: Lens.Lens' AggregationConfig (Prelude.Maybe Prelude.Integer)+aggregationConfig_targetFileSize = Lens.lens (\AggregationConfig' {targetFileSize} -> targetFileSize) (\s@AggregationConfig' {} a -> s {targetFileSize = a} :: AggregationConfig)++instance Data.FromJSON AggregationConfig where+  parseJSON =+    Data.withObject+      "AggregationConfig"+      ( \x ->+          AggregationConfig'+            Prelude.<$> (x Data..:? "aggregationType")+            Prelude.<*> (x Data..:? "targetFileSize")+      )++instance Prelude.Hashable AggregationConfig where+  hashWithSalt _salt AggregationConfig' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationType+      `Prelude.hashWithSalt` targetFileSize++instance Prelude.NFData AggregationConfig where+  rnf AggregationConfig' {..} =+    Prelude.rnf aggregationType+      `Prelude.seq` Prelude.rnf targetFileSize++instance Data.ToJSON AggregationConfig where+  toJSON AggregationConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("aggregationType" Data..=)+              Prelude.<$> aggregationType,+            ("targetFileSize" Data..=)+              Prelude.<$> targetFileSize+          ]+      )
+ gen/Amazonka/AppFlow/Types/AggregationType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AggregationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AggregationType+  ( AggregationType+      ( ..,+        AggregationType_None,+        AggregationType_SingleFile+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AggregationType = AggregationType'+  { fromAggregationType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AggregationType_None :: AggregationType+pattern AggregationType_None = AggregationType' "None"++pattern AggregationType_SingleFile :: AggregationType+pattern AggregationType_SingleFile = AggregationType' "SingleFile"++{-# COMPLETE+  AggregationType_None,+  AggregationType_SingleFile,+  AggregationType'+  #-}
+ gen/Amazonka/AppFlow/Types/AmplitudeConnectorOperator.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AmplitudeConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AmplitudeConnectorOperator+  ( AmplitudeConnectorOperator+      ( ..,+        AmplitudeConnectorOperator_BETWEEN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AmplitudeConnectorOperator = AmplitudeConnectorOperator'+  { fromAmplitudeConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AmplitudeConnectorOperator_BETWEEN :: AmplitudeConnectorOperator+pattern AmplitudeConnectorOperator_BETWEEN = AmplitudeConnectorOperator' "BETWEEN"++{-# COMPLETE+  AmplitudeConnectorOperator_BETWEEN,+  AmplitudeConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/AmplitudeConnectorProfileCredentials.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials 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 connector-specific credentials required when using Amplitude.+--+-- /See:/ 'newAmplitudeConnectorProfileCredentials' smart constructor.+data AmplitudeConnectorProfileCredentials = AmplitudeConnectorProfileCredentials'+  { -- | A unique alphanumeric identifier used to authenticate a user, developer,+    -- or calling program to your API.+    apiKey :: Data.Sensitive Prelude.Text,+    -- | The Secret Access Key portion of the credentials.+    secretKey :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmplitudeConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiKey', 'amplitudeConnectorProfileCredentials_apiKey' - A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+--+-- 'secretKey', 'amplitudeConnectorProfileCredentials_secretKey' - The Secret Access Key portion of the credentials.+newAmplitudeConnectorProfileCredentials ::+  -- | 'apiKey'+  Prelude.Text ->+  -- | 'secretKey'+  Prelude.Text ->+  AmplitudeConnectorProfileCredentials+newAmplitudeConnectorProfileCredentials+  pApiKey_+  pSecretKey_ =+    AmplitudeConnectorProfileCredentials'+      { apiKey =+          Data._Sensitive Lens.# pApiKey_,+        secretKey =+          Data._Sensitive Lens.# pSecretKey_+      }++-- | A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+amplitudeConnectorProfileCredentials_apiKey :: Lens.Lens' AmplitudeConnectorProfileCredentials Prelude.Text+amplitudeConnectorProfileCredentials_apiKey = Lens.lens (\AmplitudeConnectorProfileCredentials' {apiKey} -> apiKey) (\s@AmplitudeConnectorProfileCredentials' {} a -> s {apiKey = a} :: AmplitudeConnectorProfileCredentials) Prelude.. Data._Sensitive++-- | The Secret Access Key portion of the credentials.+amplitudeConnectorProfileCredentials_secretKey :: Lens.Lens' AmplitudeConnectorProfileCredentials Prelude.Text+amplitudeConnectorProfileCredentials_secretKey = Lens.lens (\AmplitudeConnectorProfileCredentials' {secretKey} -> secretKey) (\s@AmplitudeConnectorProfileCredentials' {} a -> s {secretKey = a} :: AmplitudeConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    AmplitudeConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    AmplitudeConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` apiKey+        `Prelude.hashWithSalt` secretKey++instance+  Prelude.NFData+    AmplitudeConnectorProfileCredentials+  where+  rnf AmplitudeConnectorProfileCredentials' {..} =+    Prelude.rnf apiKey+      `Prelude.seq` Prelude.rnf secretKey++instance+  Data.ToJSON+    AmplitudeConnectorProfileCredentials+  where+  toJSON AmplitudeConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("apiKey" Data..= apiKey),+            Prelude.Just ("secretKey" Data..= secretKey)+          ]+      )
+ gen/Amazonka/AppFlow/Types/AmplitudeConnectorProfileProperties.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties 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 connector-specific profile properties required when using Amplitude.+--+-- /See:/ 'newAmplitudeConnectorProfileProperties' smart constructor.+data AmplitudeConnectorProfileProperties = AmplitudeConnectorProfileProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmplitudeConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAmplitudeConnectorProfileProperties ::+  AmplitudeConnectorProfileProperties+newAmplitudeConnectorProfileProperties =+  AmplitudeConnectorProfileProperties'++instance+  Data.FromJSON+    AmplitudeConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "AmplitudeConnectorProfileProperties"+      ( \x ->+          Prelude.pure AmplitudeConnectorProfileProperties'+      )++instance+  Prelude.Hashable+    AmplitudeConnectorProfileProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    AmplitudeConnectorProfileProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    AmplitudeConnectorProfileProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/AmplitudeMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.AmplitudeMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AmplitudeMetadata 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 connector metadata specific to Amplitude.+--+-- /See:/ 'newAmplitudeMetadata' smart constructor.+data AmplitudeMetadata = AmplitudeMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmplitudeMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAmplitudeMetadata ::+  AmplitudeMetadata+newAmplitudeMetadata = AmplitudeMetadata'++instance Data.FromJSON AmplitudeMetadata where+  parseJSON =+    Data.withObject+      "AmplitudeMetadata"+      (\x -> Prelude.pure AmplitudeMetadata')++instance Prelude.Hashable AmplitudeMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData AmplitudeMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/AmplitudeSourceProperties.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AmplitudeSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AmplitudeSourceProperties 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 properties that are applied when Amplitude is being used as a+-- source.+--+-- /See:/ 'newAmplitudeSourceProperties' smart constructor.+data AmplitudeSourceProperties = AmplitudeSourceProperties'+  { -- | The object specified in the Amplitude flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmplitudeSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'amplitudeSourceProperties_object' - The object specified in the Amplitude flow source.+newAmplitudeSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  AmplitudeSourceProperties+newAmplitudeSourceProperties pObject_ =+  AmplitudeSourceProperties' {object' = pObject_}++-- | The object specified in the Amplitude flow source.+amplitudeSourceProperties_object :: Lens.Lens' AmplitudeSourceProperties Prelude.Text+amplitudeSourceProperties_object = Lens.lens (\AmplitudeSourceProperties' {object'} -> object') (\s@AmplitudeSourceProperties' {} a -> s {object' = a} :: AmplitudeSourceProperties)++instance Data.FromJSON AmplitudeSourceProperties where+  parseJSON =+    Data.withObject+      "AmplitudeSourceProperties"+      ( \x ->+          AmplitudeSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable AmplitudeSourceProperties where+  hashWithSalt _salt AmplitudeSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData AmplitudeSourceProperties where+  rnf AmplitudeSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON AmplitudeSourceProperties where+  toJSON AmplitudeSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/ApiKeyCredentials.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ApiKeyCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ApiKeyCredentials 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 API key credentials required for API key authentication.+--+-- /See:/ 'newApiKeyCredentials' smart constructor.+data ApiKeyCredentials = ApiKeyCredentials'+  { -- | The API secret key required for API key authentication.+    apiSecretKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The API key required for API key authentication.+    apiKey :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApiKeyCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiSecretKey', 'apiKeyCredentials_apiSecretKey' - The API secret key required for API key authentication.+--+-- 'apiKey', 'apiKeyCredentials_apiKey' - The API key required for API key authentication.+newApiKeyCredentials ::+  -- | 'apiKey'+  Prelude.Text ->+  ApiKeyCredentials+newApiKeyCredentials pApiKey_ =+  ApiKeyCredentials'+    { apiSecretKey = Prelude.Nothing,+      apiKey = Data._Sensitive Lens.# pApiKey_+    }++-- | The API secret key required for API key authentication.+apiKeyCredentials_apiSecretKey :: Lens.Lens' ApiKeyCredentials (Prelude.Maybe Prelude.Text)+apiKeyCredentials_apiSecretKey = Lens.lens (\ApiKeyCredentials' {apiSecretKey} -> apiSecretKey) (\s@ApiKeyCredentials' {} a -> s {apiSecretKey = a} :: ApiKeyCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The API key required for API key authentication.+apiKeyCredentials_apiKey :: Lens.Lens' ApiKeyCredentials Prelude.Text+apiKeyCredentials_apiKey = Lens.lens (\ApiKeyCredentials' {apiKey} -> apiKey) (\s@ApiKeyCredentials' {} a -> s {apiKey = a} :: ApiKeyCredentials) Prelude.. Data._Sensitive++instance Prelude.Hashable ApiKeyCredentials where+  hashWithSalt _salt ApiKeyCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` apiSecretKey+      `Prelude.hashWithSalt` apiKey++instance Prelude.NFData ApiKeyCredentials where+  rnf ApiKeyCredentials' {..} =+    Prelude.rnf apiSecretKey+      `Prelude.seq` Prelude.rnf apiKey++instance Data.ToJSON ApiKeyCredentials where+  toJSON ApiKeyCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiSecretKey" Data..=) Prelude.<$> apiSecretKey,+            Prelude.Just ("apiKey" Data..= apiKey)+          ]+      )
+ gen/Amazonka/AppFlow/Types/AuthParameter.hs view
@@ -0,0 +1,139 @@+{-# 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.AppFlow.Types.AuthParameter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AuthParameter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about required authentication parameters.+--+-- /See:/ 'newAuthParameter' smart constructor.+data AuthParameter = AuthParameter'+  { -- | Contains default values for this authentication parameter that are+    -- supplied by the connector.+    connectorSuppliedValues :: Prelude.Maybe [Prelude.Text],+    -- | A description about the authentication parameter.+    description :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether this authentication parameter is required.+    isRequired :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether this authentication parameter is a sensitive field.+    isSensitiveField :: Prelude.Maybe Prelude.Bool,+    -- | The authentication key required to authenticate with the connector.+    key :: Prelude.Maybe Prelude.Text,+    -- | Label used for authentication parameter.+    label :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuthParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorSuppliedValues', 'authParameter_connectorSuppliedValues' - Contains default values for this authentication parameter that are+-- supplied by the connector.+--+-- 'description', 'authParameter_description' - A description about the authentication parameter.+--+-- 'isRequired', 'authParameter_isRequired' - Indicates whether this authentication parameter is required.+--+-- 'isSensitiveField', 'authParameter_isSensitiveField' - Indicates whether this authentication parameter is a sensitive field.+--+-- 'key', 'authParameter_key' - The authentication key required to authenticate with the connector.+--+-- 'label', 'authParameter_label' - Label used for authentication parameter.+newAuthParameter ::+  AuthParameter+newAuthParameter =+  AuthParameter'+    { connectorSuppliedValues =+        Prelude.Nothing,+      description = Prelude.Nothing,+      isRequired = Prelude.Nothing,+      isSensitiveField = Prelude.Nothing,+      key = Prelude.Nothing,+      label = Prelude.Nothing+    }++-- | Contains default values for this authentication parameter that are+-- supplied by the connector.+authParameter_connectorSuppliedValues :: Lens.Lens' AuthParameter (Prelude.Maybe [Prelude.Text])+authParameter_connectorSuppliedValues = Lens.lens (\AuthParameter' {connectorSuppliedValues} -> connectorSuppliedValues) (\s@AuthParameter' {} a -> s {connectorSuppliedValues = a} :: AuthParameter) Prelude.. Lens.mapping Lens.coerced++-- | A description about the authentication parameter.+authParameter_description :: Lens.Lens' AuthParameter (Prelude.Maybe Prelude.Text)+authParameter_description = Lens.lens (\AuthParameter' {description} -> description) (\s@AuthParameter' {} a -> s {description = a} :: AuthParameter)++-- | Indicates whether this authentication parameter is required.+authParameter_isRequired :: Lens.Lens' AuthParameter (Prelude.Maybe Prelude.Bool)+authParameter_isRequired = Lens.lens (\AuthParameter' {isRequired} -> isRequired) (\s@AuthParameter' {} a -> s {isRequired = a} :: AuthParameter)++-- | Indicates whether this authentication parameter is a sensitive field.+authParameter_isSensitiveField :: Lens.Lens' AuthParameter (Prelude.Maybe Prelude.Bool)+authParameter_isSensitiveField = Lens.lens (\AuthParameter' {isSensitiveField} -> isSensitiveField) (\s@AuthParameter' {} a -> s {isSensitiveField = a} :: AuthParameter)++-- | The authentication key required to authenticate with the connector.+authParameter_key :: Lens.Lens' AuthParameter (Prelude.Maybe Prelude.Text)+authParameter_key = Lens.lens (\AuthParameter' {key} -> key) (\s@AuthParameter' {} a -> s {key = a} :: AuthParameter)++-- | Label used for authentication parameter.+authParameter_label :: Lens.Lens' AuthParameter (Prelude.Maybe Prelude.Text)+authParameter_label = Lens.lens (\AuthParameter' {label} -> label) (\s@AuthParameter' {} a -> s {label = a} :: AuthParameter)++instance Data.FromJSON AuthParameter where+  parseJSON =+    Data.withObject+      "AuthParameter"+      ( \x ->+          AuthParameter'+            Prelude.<$> ( x+                            Data..:? "connectorSuppliedValues"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "isRequired")+            Prelude.<*> (x Data..:? "isSensitiveField")+            Prelude.<*> (x Data..:? "key")+            Prelude.<*> (x Data..:? "label")+      )++instance Prelude.Hashable AuthParameter where+  hashWithSalt _salt AuthParameter' {..} =+    _salt+      `Prelude.hashWithSalt` connectorSuppliedValues+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` isRequired+      `Prelude.hashWithSalt` isSensitiveField+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` label++instance Prelude.NFData AuthParameter where+  rnf AuthParameter' {..} =+    Prelude.rnf connectorSuppliedValues+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf isRequired+      `Prelude.seq` Prelude.rnf isSensitiveField+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf label
+ gen/Amazonka/AppFlow/Types/AuthenticationConfig.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AuthenticationConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AuthenticationConfig where++import Amazonka.AppFlow.Types.CustomAuthConfig+import Amazonka.AppFlow.Types.OAuth2Defaults+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the authentication config that the connector+-- supports.+--+-- /See:/ 'newAuthenticationConfig' smart constructor.+data AuthenticationConfig = AuthenticationConfig'+  { -- | Contains information required for custom authentication.+    customAuthConfigs :: Prelude.Maybe [CustomAuthConfig],+    -- | Indicates whether API key authentication is supported by the connector+    isApiKeyAuthSupported :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether basic authentication is supported by the connector.+    isBasicAuthSupported :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether custom authentication is supported by the connector+    isCustomAuthSupported :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether OAuth 2.0 authentication is supported by the+    -- connector.+    isOAuth2Supported :: Prelude.Maybe Prelude.Bool,+    -- | Contains the default values required for OAuth 2.0 authentication.+    oAuth2Defaults :: Prelude.Maybe OAuth2Defaults+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuthenticationConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customAuthConfigs', 'authenticationConfig_customAuthConfigs' - Contains information required for custom authentication.+--+-- 'isApiKeyAuthSupported', 'authenticationConfig_isApiKeyAuthSupported' - Indicates whether API key authentication is supported by the connector+--+-- 'isBasicAuthSupported', 'authenticationConfig_isBasicAuthSupported' - Indicates whether basic authentication is supported by the connector.+--+-- 'isCustomAuthSupported', 'authenticationConfig_isCustomAuthSupported' - Indicates whether custom authentication is supported by the connector+--+-- 'isOAuth2Supported', 'authenticationConfig_isOAuth2Supported' - Indicates whether OAuth 2.0 authentication is supported by the+-- connector.+--+-- 'oAuth2Defaults', 'authenticationConfig_oAuth2Defaults' - Contains the default values required for OAuth 2.0 authentication.+newAuthenticationConfig ::+  AuthenticationConfig+newAuthenticationConfig =+  AuthenticationConfig'+    { customAuthConfigs =+        Prelude.Nothing,+      isApiKeyAuthSupported = Prelude.Nothing,+      isBasicAuthSupported = Prelude.Nothing,+      isCustomAuthSupported = Prelude.Nothing,+      isOAuth2Supported = Prelude.Nothing,+      oAuth2Defaults = Prelude.Nothing+    }++-- | Contains information required for custom authentication.+authenticationConfig_customAuthConfigs :: Lens.Lens' AuthenticationConfig (Prelude.Maybe [CustomAuthConfig])+authenticationConfig_customAuthConfigs = Lens.lens (\AuthenticationConfig' {customAuthConfigs} -> customAuthConfigs) (\s@AuthenticationConfig' {} a -> s {customAuthConfigs = a} :: AuthenticationConfig) Prelude.. Lens.mapping Lens.coerced++-- | Indicates whether API key authentication is supported by the connector+authenticationConfig_isApiKeyAuthSupported :: Lens.Lens' AuthenticationConfig (Prelude.Maybe Prelude.Bool)+authenticationConfig_isApiKeyAuthSupported = Lens.lens (\AuthenticationConfig' {isApiKeyAuthSupported} -> isApiKeyAuthSupported) (\s@AuthenticationConfig' {} a -> s {isApiKeyAuthSupported = a} :: AuthenticationConfig)++-- | Indicates whether basic authentication is supported by the connector.+authenticationConfig_isBasicAuthSupported :: Lens.Lens' AuthenticationConfig (Prelude.Maybe Prelude.Bool)+authenticationConfig_isBasicAuthSupported = Lens.lens (\AuthenticationConfig' {isBasicAuthSupported} -> isBasicAuthSupported) (\s@AuthenticationConfig' {} a -> s {isBasicAuthSupported = a} :: AuthenticationConfig)++-- | Indicates whether custom authentication is supported by the connector+authenticationConfig_isCustomAuthSupported :: Lens.Lens' AuthenticationConfig (Prelude.Maybe Prelude.Bool)+authenticationConfig_isCustomAuthSupported = Lens.lens (\AuthenticationConfig' {isCustomAuthSupported} -> isCustomAuthSupported) (\s@AuthenticationConfig' {} a -> s {isCustomAuthSupported = a} :: AuthenticationConfig)++-- | Indicates whether OAuth 2.0 authentication is supported by the+-- connector.+authenticationConfig_isOAuth2Supported :: Lens.Lens' AuthenticationConfig (Prelude.Maybe Prelude.Bool)+authenticationConfig_isOAuth2Supported = Lens.lens (\AuthenticationConfig' {isOAuth2Supported} -> isOAuth2Supported) (\s@AuthenticationConfig' {} a -> s {isOAuth2Supported = a} :: AuthenticationConfig)++-- | Contains the default values required for OAuth 2.0 authentication.+authenticationConfig_oAuth2Defaults :: Lens.Lens' AuthenticationConfig (Prelude.Maybe OAuth2Defaults)+authenticationConfig_oAuth2Defaults = Lens.lens (\AuthenticationConfig' {oAuth2Defaults} -> oAuth2Defaults) (\s@AuthenticationConfig' {} a -> s {oAuth2Defaults = a} :: AuthenticationConfig)++instance Data.FromJSON AuthenticationConfig where+  parseJSON =+    Data.withObject+      "AuthenticationConfig"+      ( \x ->+          AuthenticationConfig'+            Prelude.<$> ( x+                            Data..:? "customAuthConfigs"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "isApiKeyAuthSupported")+            Prelude.<*> (x Data..:? "isBasicAuthSupported")+            Prelude.<*> (x Data..:? "isCustomAuthSupported")+            Prelude.<*> (x Data..:? "isOAuth2Supported")+            Prelude.<*> (x Data..:? "oAuth2Defaults")+      )++instance Prelude.Hashable AuthenticationConfig where+  hashWithSalt _salt AuthenticationConfig' {..} =+    _salt+      `Prelude.hashWithSalt` customAuthConfigs+      `Prelude.hashWithSalt` isApiKeyAuthSupported+      `Prelude.hashWithSalt` isBasicAuthSupported+      `Prelude.hashWithSalt` isCustomAuthSupported+      `Prelude.hashWithSalt` isOAuth2Supported+      `Prelude.hashWithSalt` oAuth2Defaults++instance Prelude.NFData AuthenticationConfig where+  rnf AuthenticationConfig' {..} =+    Prelude.rnf customAuthConfigs+      `Prelude.seq` Prelude.rnf isApiKeyAuthSupported+      `Prelude.seq` Prelude.rnf isBasicAuthSupported+      `Prelude.seq` Prelude.rnf isCustomAuthSupported+      `Prelude.seq` Prelude.rnf isOAuth2Supported+      `Prelude.seq` Prelude.rnf oAuth2Defaults
+ gen/Amazonka/AppFlow/Types/AuthenticationType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.AuthenticationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.AuthenticationType+  ( AuthenticationType+      ( ..,+        AuthenticationType_APIKEY,+        AuthenticationType_BASIC,+        AuthenticationType_CUSTOM,+        AuthenticationType_OAUTH2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthenticationType = AuthenticationType'+  { fromAuthenticationType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AuthenticationType_APIKEY :: AuthenticationType+pattern AuthenticationType_APIKEY = AuthenticationType' "APIKEY"++pattern AuthenticationType_BASIC :: AuthenticationType+pattern AuthenticationType_BASIC = AuthenticationType' "BASIC"++pattern AuthenticationType_CUSTOM :: AuthenticationType+pattern AuthenticationType_CUSTOM = AuthenticationType' "CUSTOM"++pattern AuthenticationType_OAUTH2 :: AuthenticationType+pattern AuthenticationType_OAUTH2 = AuthenticationType' "OAUTH2"++{-# COMPLETE+  AuthenticationType_APIKEY,+  AuthenticationType_BASIC,+  AuthenticationType_CUSTOM,+  AuthenticationType_OAUTH2,+  AuthenticationType'+  #-}
+ gen/Amazonka/AppFlow/Types/BasicAuthCredentials.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.BasicAuthCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.BasicAuthCredentials 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 basic auth credentials required for basic authentication.+--+-- /See:/ 'newBasicAuthCredentials' smart constructor.+data BasicAuthCredentials = BasicAuthCredentials'+  { -- | The username to use to connect to a resource.+    username :: Prelude.Text,+    -- | The password to use to connect to a resource.+    password :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BasicAuthCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'username', 'basicAuthCredentials_username' - The username to use to connect to a resource.+--+-- 'password', 'basicAuthCredentials_password' - The password to use to connect to a resource.+newBasicAuthCredentials ::+  -- | 'username'+  Prelude.Text ->+  -- | 'password'+  Prelude.Text ->+  BasicAuthCredentials+newBasicAuthCredentials pUsername_ pPassword_ =+  BasicAuthCredentials'+    { username = pUsername_,+      password = Data._Sensitive Lens.# pPassword_+    }++-- | The username to use to connect to a resource.+basicAuthCredentials_username :: Lens.Lens' BasicAuthCredentials Prelude.Text+basicAuthCredentials_username = Lens.lens (\BasicAuthCredentials' {username} -> username) (\s@BasicAuthCredentials' {} a -> s {username = a} :: BasicAuthCredentials)++-- | The password to use to connect to a resource.+basicAuthCredentials_password :: Lens.Lens' BasicAuthCredentials Prelude.Text+basicAuthCredentials_password = Lens.lens (\BasicAuthCredentials' {password} -> password) (\s@BasicAuthCredentials' {} a -> s {password = a} :: BasicAuthCredentials) Prelude.. Data._Sensitive++instance Prelude.Hashable BasicAuthCredentials where+  hashWithSalt _salt BasicAuthCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` username+      `Prelude.hashWithSalt` password++instance Prelude.NFData BasicAuthCredentials where+  rnf BasicAuthCredentials' {..} =+    Prelude.rnf username+      `Prelude.seq` Prelude.rnf password++instance Data.ToJSON BasicAuthCredentials where+  toJSON BasicAuthCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("username" Data..= username),+            Prelude.Just ("password" Data..= password)+          ]+      )
+ gen/Amazonka/AppFlow/Types/CatalogType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CatalogType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CatalogType+  ( CatalogType+      ( ..,+        CatalogType_GLUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CatalogType = CatalogType'+  { fromCatalogType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern CatalogType_GLUE :: CatalogType+pattern CatalogType_GLUE = CatalogType' "GLUE"++{-# COMPLETE+  CatalogType_GLUE,+  CatalogType'+  #-}
+ gen/Amazonka/AppFlow/Types/ConnectionMode.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectionMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectionMode+  ( ConnectionMode+      ( ..,+        ConnectionMode_Private,+        ConnectionMode_Public+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionMode = ConnectionMode'+  { fromConnectionMode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConnectionMode_Private :: ConnectionMode+pattern ConnectionMode_Private = ConnectionMode' "Private"++pattern ConnectionMode_Public :: ConnectionMode+pattern ConnectionMode_Public = ConnectionMode' "Public"++{-# COMPLETE+  ConnectionMode_Private,+  ConnectionMode_Public,+  ConnectionMode'+  #-}
+ gen/Amazonka/AppFlow/Types/ConnectorConfiguration.hs view
@@ -0,0 +1,414 @@+{-# 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.AppFlow.Types.ConnectorConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorConfiguration where++import Amazonka.AppFlow.Types.AuthenticationConfig+import Amazonka.AppFlow.Types.ConnectorMetadata+import Amazonka.AppFlow.Types.ConnectorProvisioningConfig+import Amazonka.AppFlow.Types.ConnectorProvisioningType+import Amazonka.AppFlow.Types.ConnectorRuntimeSetting+import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.Operators+import Amazonka.AppFlow.Types.ScheduleFrequencyType+import Amazonka.AppFlow.Types.TriggerType+import Amazonka.AppFlow.Types.WriteOperationType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration settings related to a given connector.+--+-- /See:/ 'newConnectorConfiguration' smart constructor.+data ConnectorConfiguration = ConnectorConfiguration'+  { -- | The authentication config required for the connector.+    authenticationConfig :: Prelude.Maybe AuthenticationConfig,+    -- | Specifies whether the connector can be used as a destination.+    canUseAsDestination :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether the connector can be used as a source.+    canUseAsSource :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) for the registered connector.+    connectorArn :: Prelude.Maybe Prelude.Text,+    -- | A description about the connector.+    connectorDescription :: Prelude.Maybe Prelude.Text,+    -- | The label used for registering the connector.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | Specifies connector-specific metadata such as @oAuthScopes@,+    -- @supportedRegions@, @privateLinkServiceUrl@, and so on.+    connectorMetadata :: Prelude.Maybe ConnectorMetadata,+    -- | The connection modes that the connector supports.+    connectorModes :: Prelude.Maybe [Prelude.Text],+    -- | The connector name.+    connectorName :: Prelude.Maybe Prelude.Text,+    -- | The owner who developed the connector.+    connectorOwner :: Prelude.Maybe Prelude.Text,+    -- | The configuration required for registering the connector.+    connectorProvisioningConfig :: Prelude.Maybe ConnectorProvisioningConfig,+    -- | The provisioning type used to register the connector.+    connectorProvisioningType :: Prelude.Maybe ConnectorProvisioningType,+    -- | The required connector runtime settings.+    connectorRuntimeSettings :: Prelude.Maybe [ConnectorRuntimeSetting],+    -- | The connector type.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | The connector version.+    connectorVersion :: Prelude.Maybe Prelude.Text,+    -- | Specifies if PrivateLink is enabled for that connector.+    isPrivateLinkEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies if a PrivateLink endpoint URL is required.+    isPrivateLinkEndpointUrlRequired :: Prelude.Maybe Prelude.Bool,+    -- | Logo URL of the connector.+    logoURL :: Prelude.Maybe Prelude.Text,+    -- | The date on which the connector was registered.+    registeredAt :: Prelude.Maybe Data.POSIX,+    -- | Information about who registered the connector.+    registeredBy :: Prelude.Maybe Prelude.Text,+    -- | A list of API versions that are supported by the connector.+    supportedApiVersions :: Prelude.Maybe [Prelude.Text],+    -- | Lists the connectors that are available for use as destinations.+    supportedDestinationConnectors :: Prelude.Maybe [ConnectorType],+    -- | A list of operators supported by the connector.+    supportedOperators :: Prelude.Maybe [Operators],+    -- | Specifies the supported flow frequency for that connector.+    supportedSchedulingFrequencies :: Prelude.Maybe [ScheduleFrequencyType],+    -- | Specifies the supported trigger types for the flow.+    supportedTriggerTypes :: Prelude.Maybe [TriggerType],+    -- | A list of write operations supported by the connector.+    supportedWriteOperations :: Prelude.Maybe [WriteOperationType]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authenticationConfig', 'connectorConfiguration_authenticationConfig' - The authentication config required for the connector.+--+-- 'canUseAsDestination', 'connectorConfiguration_canUseAsDestination' - Specifies whether the connector can be used as a destination.+--+-- 'canUseAsSource', 'connectorConfiguration_canUseAsSource' - Specifies whether the connector can be used as a source.+--+-- 'connectorArn', 'connectorConfiguration_connectorArn' - The Amazon Resource Name (ARN) for the registered connector.+--+-- 'connectorDescription', 'connectorConfiguration_connectorDescription' - A description about the connector.+--+-- 'connectorLabel', 'connectorConfiguration_connectorLabel' - The label used for registering the connector.+--+-- 'connectorMetadata', 'connectorConfiguration_connectorMetadata' - Specifies connector-specific metadata such as @oAuthScopes@,+-- @supportedRegions@, @privateLinkServiceUrl@, and so on.+--+-- 'connectorModes', 'connectorConfiguration_connectorModes' - The connection modes that the connector supports.+--+-- 'connectorName', 'connectorConfiguration_connectorName' - The connector name.+--+-- 'connectorOwner', 'connectorConfiguration_connectorOwner' - The owner who developed the connector.+--+-- 'connectorProvisioningConfig', 'connectorConfiguration_connectorProvisioningConfig' - The configuration required for registering the connector.+--+-- 'connectorProvisioningType', 'connectorConfiguration_connectorProvisioningType' - The provisioning type used to register the connector.+--+-- 'connectorRuntimeSettings', 'connectorConfiguration_connectorRuntimeSettings' - The required connector runtime settings.+--+-- 'connectorType', 'connectorConfiguration_connectorType' - The connector type.+--+-- 'connectorVersion', 'connectorConfiguration_connectorVersion' - The connector version.+--+-- 'isPrivateLinkEnabled', 'connectorConfiguration_isPrivateLinkEnabled' - Specifies if PrivateLink is enabled for that connector.+--+-- 'isPrivateLinkEndpointUrlRequired', 'connectorConfiguration_isPrivateLinkEndpointUrlRequired' - Specifies if a PrivateLink endpoint URL is required.+--+-- 'logoURL', 'connectorConfiguration_logoURL' - Logo URL of the connector.+--+-- 'registeredAt', 'connectorConfiguration_registeredAt' - The date on which the connector was registered.+--+-- 'registeredBy', 'connectorConfiguration_registeredBy' - Information about who registered the connector.+--+-- 'supportedApiVersions', 'connectorConfiguration_supportedApiVersions' - A list of API versions that are supported by the connector.+--+-- 'supportedDestinationConnectors', 'connectorConfiguration_supportedDestinationConnectors' - Lists the connectors that are available for use as destinations.+--+-- 'supportedOperators', 'connectorConfiguration_supportedOperators' - A list of operators supported by the connector.+--+-- 'supportedSchedulingFrequencies', 'connectorConfiguration_supportedSchedulingFrequencies' - Specifies the supported flow frequency for that connector.+--+-- 'supportedTriggerTypes', 'connectorConfiguration_supportedTriggerTypes' - Specifies the supported trigger types for the flow.+--+-- 'supportedWriteOperations', 'connectorConfiguration_supportedWriteOperations' - A list of write operations supported by the connector.+newConnectorConfiguration ::+  ConnectorConfiguration+newConnectorConfiguration =+  ConnectorConfiguration'+    { authenticationConfig =+        Prelude.Nothing,+      canUseAsDestination = Prelude.Nothing,+      canUseAsSource = Prelude.Nothing,+      connectorArn = Prelude.Nothing,+      connectorDescription = Prelude.Nothing,+      connectorLabel = Prelude.Nothing,+      connectorMetadata = Prelude.Nothing,+      connectorModes = Prelude.Nothing,+      connectorName = Prelude.Nothing,+      connectorOwner = Prelude.Nothing,+      connectorProvisioningConfig = Prelude.Nothing,+      connectorProvisioningType = Prelude.Nothing,+      connectorRuntimeSettings = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      connectorVersion = Prelude.Nothing,+      isPrivateLinkEnabled = Prelude.Nothing,+      isPrivateLinkEndpointUrlRequired = Prelude.Nothing,+      logoURL = Prelude.Nothing,+      registeredAt = Prelude.Nothing,+      registeredBy = Prelude.Nothing,+      supportedApiVersions = Prelude.Nothing,+      supportedDestinationConnectors = Prelude.Nothing,+      supportedOperators = Prelude.Nothing,+      supportedSchedulingFrequencies = Prelude.Nothing,+      supportedTriggerTypes = Prelude.Nothing,+      supportedWriteOperations = Prelude.Nothing+    }++-- | The authentication config required for the connector.+connectorConfiguration_authenticationConfig :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe AuthenticationConfig)+connectorConfiguration_authenticationConfig = Lens.lens (\ConnectorConfiguration' {authenticationConfig} -> authenticationConfig) (\s@ConnectorConfiguration' {} a -> s {authenticationConfig = a} :: ConnectorConfiguration)++-- | Specifies whether the connector can be used as a destination.+connectorConfiguration_canUseAsDestination :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Bool)+connectorConfiguration_canUseAsDestination = Lens.lens (\ConnectorConfiguration' {canUseAsDestination} -> canUseAsDestination) (\s@ConnectorConfiguration' {} a -> s {canUseAsDestination = a} :: ConnectorConfiguration)++-- | Specifies whether the connector can be used as a source.+connectorConfiguration_canUseAsSource :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Bool)+connectorConfiguration_canUseAsSource = Lens.lens (\ConnectorConfiguration' {canUseAsSource} -> canUseAsSource) (\s@ConnectorConfiguration' {} a -> s {canUseAsSource = a} :: ConnectorConfiguration)++-- | The Amazon Resource Name (ARN) for the registered connector.+connectorConfiguration_connectorArn :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorArn = Lens.lens (\ConnectorConfiguration' {connectorArn} -> connectorArn) (\s@ConnectorConfiguration' {} a -> s {connectorArn = a} :: ConnectorConfiguration)++-- | A description about the connector.+connectorConfiguration_connectorDescription :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorDescription = Lens.lens (\ConnectorConfiguration' {connectorDescription} -> connectorDescription) (\s@ConnectorConfiguration' {} a -> s {connectorDescription = a} :: ConnectorConfiguration)++-- | The label used for registering the connector.+connectorConfiguration_connectorLabel :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorLabel = Lens.lens (\ConnectorConfiguration' {connectorLabel} -> connectorLabel) (\s@ConnectorConfiguration' {} a -> s {connectorLabel = a} :: ConnectorConfiguration)++-- | Specifies connector-specific metadata such as @oAuthScopes@,+-- @supportedRegions@, @privateLinkServiceUrl@, and so on.+connectorConfiguration_connectorMetadata :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe ConnectorMetadata)+connectorConfiguration_connectorMetadata = Lens.lens (\ConnectorConfiguration' {connectorMetadata} -> connectorMetadata) (\s@ConnectorConfiguration' {} a -> s {connectorMetadata = a} :: ConnectorConfiguration)++-- | The connection modes that the connector supports.+connectorConfiguration_connectorModes :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [Prelude.Text])+connectorConfiguration_connectorModes = Lens.lens (\ConnectorConfiguration' {connectorModes} -> connectorModes) (\s@ConnectorConfiguration' {} a -> s {connectorModes = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The connector name.+connectorConfiguration_connectorName :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorName = Lens.lens (\ConnectorConfiguration' {connectorName} -> connectorName) (\s@ConnectorConfiguration' {} a -> s {connectorName = a} :: ConnectorConfiguration)++-- | The owner who developed the connector.+connectorConfiguration_connectorOwner :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorOwner = Lens.lens (\ConnectorConfiguration' {connectorOwner} -> connectorOwner) (\s@ConnectorConfiguration' {} a -> s {connectorOwner = a} :: ConnectorConfiguration)++-- | The configuration required for registering the connector.+connectorConfiguration_connectorProvisioningConfig :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe ConnectorProvisioningConfig)+connectorConfiguration_connectorProvisioningConfig = Lens.lens (\ConnectorConfiguration' {connectorProvisioningConfig} -> connectorProvisioningConfig) (\s@ConnectorConfiguration' {} a -> s {connectorProvisioningConfig = a} :: ConnectorConfiguration)++-- | The provisioning type used to register the connector.+connectorConfiguration_connectorProvisioningType :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe ConnectorProvisioningType)+connectorConfiguration_connectorProvisioningType = Lens.lens (\ConnectorConfiguration' {connectorProvisioningType} -> connectorProvisioningType) (\s@ConnectorConfiguration' {} a -> s {connectorProvisioningType = a} :: ConnectorConfiguration)++-- | The required connector runtime settings.+connectorConfiguration_connectorRuntimeSettings :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [ConnectorRuntimeSetting])+connectorConfiguration_connectorRuntimeSettings = Lens.lens (\ConnectorConfiguration' {connectorRuntimeSettings} -> connectorRuntimeSettings) (\s@ConnectorConfiguration' {} a -> s {connectorRuntimeSettings = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The connector type.+connectorConfiguration_connectorType :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe ConnectorType)+connectorConfiguration_connectorType = Lens.lens (\ConnectorConfiguration' {connectorType} -> connectorType) (\s@ConnectorConfiguration' {} a -> s {connectorType = a} :: ConnectorConfiguration)++-- | The connector version.+connectorConfiguration_connectorVersion :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_connectorVersion = Lens.lens (\ConnectorConfiguration' {connectorVersion} -> connectorVersion) (\s@ConnectorConfiguration' {} a -> s {connectorVersion = a} :: ConnectorConfiguration)++-- | Specifies if PrivateLink is enabled for that connector.+connectorConfiguration_isPrivateLinkEnabled :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Bool)+connectorConfiguration_isPrivateLinkEnabled = Lens.lens (\ConnectorConfiguration' {isPrivateLinkEnabled} -> isPrivateLinkEnabled) (\s@ConnectorConfiguration' {} a -> s {isPrivateLinkEnabled = a} :: ConnectorConfiguration)++-- | Specifies if a PrivateLink endpoint URL is required.+connectorConfiguration_isPrivateLinkEndpointUrlRequired :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Bool)+connectorConfiguration_isPrivateLinkEndpointUrlRequired = Lens.lens (\ConnectorConfiguration' {isPrivateLinkEndpointUrlRequired} -> isPrivateLinkEndpointUrlRequired) (\s@ConnectorConfiguration' {} a -> s {isPrivateLinkEndpointUrlRequired = a} :: ConnectorConfiguration)++-- | Logo URL of the connector.+connectorConfiguration_logoURL :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_logoURL = Lens.lens (\ConnectorConfiguration' {logoURL} -> logoURL) (\s@ConnectorConfiguration' {} a -> s {logoURL = a} :: ConnectorConfiguration)++-- | The date on which the connector was registered.+connectorConfiguration_registeredAt :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.UTCTime)+connectorConfiguration_registeredAt = Lens.lens (\ConnectorConfiguration' {registeredAt} -> registeredAt) (\s@ConnectorConfiguration' {} a -> s {registeredAt = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Data._Time++-- | Information about who registered the connector.+connectorConfiguration_registeredBy :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe Prelude.Text)+connectorConfiguration_registeredBy = Lens.lens (\ConnectorConfiguration' {registeredBy} -> registeredBy) (\s@ConnectorConfiguration' {} a -> s {registeredBy = a} :: ConnectorConfiguration)++-- | A list of API versions that are supported by the connector.+connectorConfiguration_supportedApiVersions :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [Prelude.Text])+connectorConfiguration_supportedApiVersions = Lens.lens (\ConnectorConfiguration' {supportedApiVersions} -> supportedApiVersions) (\s@ConnectorConfiguration' {} a -> s {supportedApiVersions = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Lists the connectors that are available for use as destinations.+connectorConfiguration_supportedDestinationConnectors :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [ConnectorType])+connectorConfiguration_supportedDestinationConnectors = Lens.lens (\ConnectorConfiguration' {supportedDestinationConnectors} -> supportedDestinationConnectors) (\s@ConnectorConfiguration' {} a -> s {supportedDestinationConnectors = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A list of operators supported by the connector.+connectorConfiguration_supportedOperators :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [Operators])+connectorConfiguration_supportedOperators = Lens.lens (\ConnectorConfiguration' {supportedOperators} -> supportedOperators) (\s@ConnectorConfiguration' {} a -> s {supportedOperators = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the supported flow frequency for that connector.+connectorConfiguration_supportedSchedulingFrequencies :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [ScheduleFrequencyType])+connectorConfiguration_supportedSchedulingFrequencies = Lens.lens (\ConnectorConfiguration' {supportedSchedulingFrequencies} -> supportedSchedulingFrequencies) (\s@ConnectorConfiguration' {} a -> s {supportedSchedulingFrequencies = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the supported trigger types for the flow.+connectorConfiguration_supportedTriggerTypes :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [TriggerType])+connectorConfiguration_supportedTriggerTypes = Lens.lens (\ConnectorConfiguration' {supportedTriggerTypes} -> supportedTriggerTypes) (\s@ConnectorConfiguration' {} a -> s {supportedTriggerTypes = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | A list of write operations supported by the connector.+connectorConfiguration_supportedWriteOperations :: Lens.Lens' ConnectorConfiguration (Prelude.Maybe [WriteOperationType])+connectorConfiguration_supportedWriteOperations = Lens.lens (\ConnectorConfiguration' {supportedWriteOperations} -> supportedWriteOperations) (\s@ConnectorConfiguration' {} a -> s {supportedWriteOperations = a} :: ConnectorConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConnectorConfiguration where+  parseJSON =+    Data.withObject+      "ConnectorConfiguration"+      ( \x ->+          ConnectorConfiguration'+            Prelude.<$> (x Data..:? "authenticationConfig")+            Prelude.<*> (x Data..:? "canUseAsDestination")+            Prelude.<*> (x Data..:? "canUseAsSource")+            Prelude.<*> (x Data..:? "connectorArn")+            Prelude.<*> (x Data..:? "connectorDescription")+            Prelude.<*> (x Data..:? "connectorLabel")+            Prelude.<*> (x Data..:? "connectorMetadata")+            Prelude.<*> (x Data..:? "connectorModes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "connectorName")+            Prelude.<*> (x Data..:? "connectorOwner")+            Prelude.<*> (x Data..:? "connectorProvisioningConfig")+            Prelude.<*> (x Data..:? "connectorProvisioningType")+            Prelude.<*> ( x+                            Data..:? "connectorRuntimeSettings"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "connectorType")+            Prelude.<*> (x Data..:? "connectorVersion")+            Prelude.<*> (x Data..:? "isPrivateLinkEnabled")+            Prelude.<*> (x Data..:? "isPrivateLinkEndpointUrlRequired")+            Prelude.<*> (x Data..:? "logoURL")+            Prelude.<*> (x Data..:? "registeredAt")+            Prelude.<*> (x Data..:? "registeredBy")+            Prelude.<*> ( x+                            Data..:? "supportedApiVersions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "supportedDestinationConnectors"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "supportedOperators"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "supportedSchedulingFrequencies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "supportedTriggerTypes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "supportedWriteOperations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ConnectorConfiguration where+  hashWithSalt _salt ConnectorConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` authenticationConfig+      `Prelude.hashWithSalt` canUseAsDestination+      `Prelude.hashWithSalt` canUseAsSource+      `Prelude.hashWithSalt` connectorArn+      `Prelude.hashWithSalt` connectorDescription+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorMetadata+      `Prelude.hashWithSalt` connectorModes+      `Prelude.hashWithSalt` connectorName+      `Prelude.hashWithSalt` connectorOwner+      `Prelude.hashWithSalt` connectorProvisioningConfig+      `Prelude.hashWithSalt` connectorProvisioningType+      `Prelude.hashWithSalt` connectorRuntimeSettings+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` connectorVersion+      `Prelude.hashWithSalt` isPrivateLinkEnabled+      `Prelude.hashWithSalt` isPrivateLinkEndpointUrlRequired+      `Prelude.hashWithSalt` logoURL+      `Prelude.hashWithSalt` registeredAt+      `Prelude.hashWithSalt` registeredBy+      `Prelude.hashWithSalt` supportedApiVersions+      `Prelude.hashWithSalt` supportedDestinationConnectors+      `Prelude.hashWithSalt` supportedOperators+      `Prelude.hashWithSalt` supportedSchedulingFrequencies+      `Prelude.hashWithSalt` supportedTriggerTypes+      `Prelude.hashWithSalt` supportedWriteOperations++instance Prelude.NFData ConnectorConfiguration where+  rnf ConnectorConfiguration' {..} =+    Prelude.rnf authenticationConfig+      `Prelude.seq` Prelude.rnf canUseAsDestination+      `Prelude.seq` Prelude.rnf canUseAsSource+      `Prelude.seq` Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf connectorDescription+      `Prelude.seq` Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorMetadata+      `Prelude.seq` Prelude.rnf connectorModes+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf connectorOwner+      `Prelude.seq` Prelude.rnf connectorProvisioningConfig+      `Prelude.seq` Prelude.rnf connectorProvisioningType+      `Prelude.seq` Prelude.rnf connectorRuntimeSettings+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf connectorVersion+      `Prelude.seq` Prelude.rnf isPrivateLinkEnabled+      `Prelude.seq` Prelude.rnf+        isPrivateLinkEndpointUrlRequired+      `Prelude.seq` Prelude.rnf logoURL+      `Prelude.seq` Prelude.rnf registeredAt+      `Prelude.seq` Prelude.rnf registeredBy+      `Prelude.seq` Prelude.rnf+        supportedApiVersions+      `Prelude.seq` Prelude.rnf+        supportedDestinationConnectors+      `Prelude.seq` Prelude.rnf+        supportedOperators+      `Prelude.seq` Prelude.rnf+        supportedSchedulingFrequencies+      `Prelude.seq` Prelude.rnf+        supportedTriggerTypes+      `Prelude.seq` Prelude.rnf+        supportedWriteOperations
+ gen/Amazonka/AppFlow/Types/ConnectorDetail.hs view
@@ -0,0 +1,194 @@+{-# 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.AppFlow.Types.ConnectorDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorDetail where++import Amazonka.AppFlow.Types.ConnectorProvisioningType+import Amazonka.AppFlow.Types.ConnectorType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the registered connector.+--+-- /See:/ 'newConnectorDetail' smart constructor.+data ConnectorDetail = ConnectorDetail'+  { -- | The application type of the connector.+    applicationType :: Prelude.Maybe Prelude.Text,+    -- | A description about the registered connector.+    connectorDescription :: Prelude.Maybe Prelude.Text,+    -- | A label used for the connector.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The connection mode that the connector supports.+    connectorModes :: Prelude.Maybe [Prelude.Text],+    -- | The name of the connector.+    connectorName :: Prelude.Maybe Prelude.Text,+    -- | The owner of the connector.+    connectorOwner :: Prelude.Maybe Prelude.Text,+    -- | The provisioning type that the connector uses.+    connectorProvisioningType :: Prelude.Maybe ConnectorProvisioningType,+    -- | The connector type.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | The connector version.+    connectorVersion :: Prelude.Maybe Prelude.Text,+    -- | The time at which the connector was registered.+    registeredAt :: Prelude.Maybe Data.POSIX,+    -- | The user who registered the connector.+    registeredBy :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationType', 'connectorDetail_applicationType' - The application type of the connector.+--+-- 'connectorDescription', 'connectorDetail_connectorDescription' - A description about the registered connector.+--+-- 'connectorLabel', 'connectorDetail_connectorLabel' - A label used for the connector.+--+-- 'connectorModes', 'connectorDetail_connectorModes' - The connection mode that the connector supports.+--+-- 'connectorName', 'connectorDetail_connectorName' - The name of the connector.+--+-- 'connectorOwner', 'connectorDetail_connectorOwner' - The owner of the connector.+--+-- 'connectorProvisioningType', 'connectorDetail_connectorProvisioningType' - The provisioning type that the connector uses.+--+-- 'connectorType', 'connectorDetail_connectorType' - The connector type.+--+-- 'connectorVersion', 'connectorDetail_connectorVersion' - The connector version.+--+-- 'registeredAt', 'connectorDetail_registeredAt' - The time at which the connector was registered.+--+-- 'registeredBy', 'connectorDetail_registeredBy' - The user who registered the connector.+newConnectorDetail ::+  ConnectorDetail+newConnectorDetail =+  ConnectorDetail'+    { applicationType = Prelude.Nothing,+      connectorDescription = Prelude.Nothing,+      connectorLabel = Prelude.Nothing,+      connectorModes = Prelude.Nothing,+      connectorName = Prelude.Nothing,+      connectorOwner = Prelude.Nothing,+      connectorProvisioningType = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      connectorVersion = Prelude.Nothing,+      registeredAt = Prelude.Nothing,+      registeredBy = Prelude.Nothing+    }++-- | The application type of the connector.+connectorDetail_applicationType :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_applicationType = Lens.lens (\ConnectorDetail' {applicationType} -> applicationType) (\s@ConnectorDetail' {} a -> s {applicationType = a} :: ConnectorDetail)++-- | A description about the registered connector.+connectorDetail_connectorDescription :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_connectorDescription = Lens.lens (\ConnectorDetail' {connectorDescription} -> connectorDescription) (\s@ConnectorDetail' {} a -> s {connectorDescription = a} :: ConnectorDetail)++-- | A label used for the connector.+connectorDetail_connectorLabel :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_connectorLabel = Lens.lens (\ConnectorDetail' {connectorLabel} -> connectorLabel) (\s@ConnectorDetail' {} a -> s {connectorLabel = a} :: ConnectorDetail)++-- | The connection mode that the connector supports.+connectorDetail_connectorModes :: Lens.Lens' ConnectorDetail (Prelude.Maybe [Prelude.Text])+connectorDetail_connectorModes = Lens.lens (\ConnectorDetail' {connectorModes} -> connectorModes) (\s@ConnectorDetail' {} a -> s {connectorModes = a} :: ConnectorDetail) Prelude.. Lens.mapping Lens.coerced++-- | The name of the connector.+connectorDetail_connectorName :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_connectorName = Lens.lens (\ConnectorDetail' {connectorName} -> connectorName) (\s@ConnectorDetail' {} a -> s {connectorName = a} :: ConnectorDetail)++-- | The owner of the connector.+connectorDetail_connectorOwner :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_connectorOwner = Lens.lens (\ConnectorDetail' {connectorOwner} -> connectorOwner) (\s@ConnectorDetail' {} a -> s {connectorOwner = a} :: ConnectorDetail)++-- | The provisioning type that the connector uses.+connectorDetail_connectorProvisioningType :: Lens.Lens' ConnectorDetail (Prelude.Maybe ConnectorProvisioningType)+connectorDetail_connectorProvisioningType = Lens.lens (\ConnectorDetail' {connectorProvisioningType} -> connectorProvisioningType) (\s@ConnectorDetail' {} a -> s {connectorProvisioningType = a} :: ConnectorDetail)++-- | The connector type.+connectorDetail_connectorType :: Lens.Lens' ConnectorDetail (Prelude.Maybe ConnectorType)+connectorDetail_connectorType = Lens.lens (\ConnectorDetail' {connectorType} -> connectorType) (\s@ConnectorDetail' {} a -> s {connectorType = a} :: ConnectorDetail)++-- | The connector version.+connectorDetail_connectorVersion :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_connectorVersion = Lens.lens (\ConnectorDetail' {connectorVersion} -> connectorVersion) (\s@ConnectorDetail' {} a -> s {connectorVersion = a} :: ConnectorDetail)++-- | The time at which the connector was registered.+connectorDetail_registeredAt :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.UTCTime)+connectorDetail_registeredAt = Lens.lens (\ConnectorDetail' {registeredAt} -> registeredAt) (\s@ConnectorDetail' {} a -> s {registeredAt = a} :: ConnectorDetail) Prelude.. Lens.mapping Data._Time++-- | The user who registered the connector.+connectorDetail_registeredBy :: Lens.Lens' ConnectorDetail (Prelude.Maybe Prelude.Text)+connectorDetail_registeredBy = Lens.lens (\ConnectorDetail' {registeredBy} -> registeredBy) (\s@ConnectorDetail' {} a -> s {registeredBy = a} :: ConnectorDetail)++instance Data.FromJSON ConnectorDetail where+  parseJSON =+    Data.withObject+      "ConnectorDetail"+      ( \x ->+          ConnectorDetail'+            Prelude.<$> (x Data..:? "applicationType")+            Prelude.<*> (x Data..:? "connectorDescription")+            Prelude.<*> (x Data..:? "connectorLabel")+            Prelude.<*> (x Data..:? "connectorModes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "connectorName")+            Prelude.<*> (x Data..:? "connectorOwner")+            Prelude.<*> (x Data..:? "connectorProvisioningType")+            Prelude.<*> (x Data..:? "connectorType")+            Prelude.<*> (x Data..:? "connectorVersion")+            Prelude.<*> (x Data..:? "registeredAt")+            Prelude.<*> (x Data..:? "registeredBy")+      )++instance Prelude.Hashable ConnectorDetail where+  hashWithSalt _salt ConnectorDetail' {..} =+    _salt+      `Prelude.hashWithSalt` applicationType+      `Prelude.hashWithSalt` connectorDescription+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorModes+      `Prelude.hashWithSalt` connectorName+      `Prelude.hashWithSalt` connectorOwner+      `Prelude.hashWithSalt` connectorProvisioningType+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` connectorVersion+      `Prelude.hashWithSalt` registeredAt+      `Prelude.hashWithSalt` registeredBy++instance Prelude.NFData ConnectorDetail where+  rnf ConnectorDetail' {..} =+    Prelude.rnf applicationType+      `Prelude.seq` Prelude.rnf connectorDescription+      `Prelude.seq` Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorModes+      `Prelude.seq` Prelude.rnf connectorName+      `Prelude.seq` Prelude.rnf connectorOwner+      `Prelude.seq` Prelude.rnf connectorProvisioningType+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf connectorVersion+      `Prelude.seq` Prelude.rnf registeredAt+      `Prelude.seq` Prelude.rnf registeredBy
+ gen/Amazonka/AppFlow/Types/ConnectorEntity.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorEntity 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 high-level entity that can be queried in Amazon AppFlow. For+-- example, a Salesforce entity might be an /Account/ or /Opportunity/,+-- whereas a ServiceNow entity might be an /Incident/.+--+-- /See:/ 'newConnectorEntity' smart constructor.+data ConnectorEntity = ConnectorEntity'+  { -- | Specifies whether the connector entity is a parent or a category and has+    -- more entities nested underneath it. If another call is made with+    -- @entitiesPath = \"the_current_entity_name_with_hasNestedEntities_true\"@,+    -- then it returns the nested entities underneath it. This provides a way+    -- to retrieve all supported entities in a recursive fashion.+    hasNestedEntities :: Prelude.Maybe Prelude.Bool,+    -- | The label applied to the connector entity.+    label :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector entity.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hasNestedEntities', 'connectorEntity_hasNestedEntities' - Specifies whether the connector entity is a parent or a category and has+-- more entities nested underneath it. If another call is made with+-- @entitiesPath = \"the_current_entity_name_with_hasNestedEntities_true\"@,+-- then it returns the nested entities underneath it. This provides a way+-- to retrieve all supported entities in a recursive fashion.+--+-- 'label', 'connectorEntity_label' - The label applied to the connector entity.+--+-- 'name', 'connectorEntity_name' - The name of the connector entity.+newConnectorEntity ::+  -- | 'name'+  Prelude.Text ->+  ConnectorEntity+newConnectorEntity pName_ =+  ConnectorEntity'+    { hasNestedEntities =+        Prelude.Nothing,+      label = Prelude.Nothing,+      name = pName_+    }++-- | Specifies whether the connector entity is a parent or a category and has+-- more entities nested underneath it. If another call is made with+-- @entitiesPath = \"the_current_entity_name_with_hasNestedEntities_true\"@,+-- then it returns the nested entities underneath it. This provides a way+-- to retrieve all supported entities in a recursive fashion.+connectorEntity_hasNestedEntities :: Lens.Lens' ConnectorEntity (Prelude.Maybe Prelude.Bool)+connectorEntity_hasNestedEntities = Lens.lens (\ConnectorEntity' {hasNestedEntities} -> hasNestedEntities) (\s@ConnectorEntity' {} a -> s {hasNestedEntities = a} :: ConnectorEntity)++-- | The label applied to the connector entity.+connectorEntity_label :: Lens.Lens' ConnectorEntity (Prelude.Maybe Prelude.Text)+connectorEntity_label = Lens.lens (\ConnectorEntity' {label} -> label) (\s@ConnectorEntity' {} a -> s {label = a} :: ConnectorEntity)++-- | The name of the connector entity.+connectorEntity_name :: Lens.Lens' ConnectorEntity Prelude.Text+connectorEntity_name = Lens.lens (\ConnectorEntity' {name} -> name) (\s@ConnectorEntity' {} a -> s {name = a} :: ConnectorEntity)++instance Data.FromJSON ConnectorEntity where+  parseJSON =+    Data.withObject+      "ConnectorEntity"+      ( \x ->+          ConnectorEntity'+            Prelude.<$> (x Data..:? "hasNestedEntities")+            Prelude.<*> (x Data..:? "label")+            Prelude.<*> (x Data..: "name")+      )++instance Prelude.Hashable ConnectorEntity where+  hashWithSalt _salt ConnectorEntity' {..} =+    _salt+      `Prelude.hashWithSalt` hasNestedEntities+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` name++instance Prelude.NFData ConnectorEntity where+  rnf ConnectorEntity' {..} =+    Prelude.rnf hasNestedEntities+      `Prelude.seq` Prelude.rnf label+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AppFlow/Types/ConnectorEntityField.hs view
@@ -0,0 +1,215 @@+{-# 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.AppFlow.Types.ConnectorEntityField+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorEntityField where++import Amazonka.AppFlow.Types.DestinationFieldProperties+import Amazonka.AppFlow.Types.SourceFieldProperties+import Amazonka.AppFlow.Types.SupportedFieldTypeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the data model of a connector field. For example, for an+-- /account/ entity, the fields would be /account name/, /account ID/, and+-- so on.+--+-- /See:/ 'newConnectorEntityField' smart constructor.+data ConnectorEntityField = ConnectorEntityField'+  { -- | A map that has specific properties related to the ConnectorEntityField.+    customProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | Default value that can be assigned to this field.+    defaultValue :: Prelude.Maybe Prelude.Text,+    -- | A description of the connector entity field.+    description :: Prelude.Maybe Prelude.Text,+    -- | The properties applied to a field when the connector is being used as a+    -- destination.+    destinationProperties :: Prelude.Maybe DestinationFieldProperties,+    -- | Booelan value that indicates whether this field is deprecated or not.+    isDeprecated :: Prelude.Maybe Prelude.Bool,+    -- | Booelan value that indicates whether this field can be used as a primary+    -- key.+    isPrimaryKey :: Prelude.Maybe Prelude.Bool,+    -- | The label applied to a connector entity field.+    label :: Prelude.Maybe Prelude.Text,+    -- | The parent identifier of the connector field.+    parentIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The properties that can be applied to a field when the connector is+    -- being used as a source.+    sourceProperties :: Prelude.Maybe SourceFieldProperties,+    -- | Contains details regarding the supported @FieldType@, including the+    -- corresponding @filterOperators@ and @supportedValues@.+    supportedFieldTypeDetails :: Prelude.Maybe SupportedFieldTypeDetails,+    -- | The unique identifier of the connector field.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorEntityField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customProperties', 'connectorEntityField_customProperties' - A map that has specific properties related to the ConnectorEntityField.+--+-- 'defaultValue', 'connectorEntityField_defaultValue' - Default value that can be assigned to this field.+--+-- 'description', 'connectorEntityField_description' - A description of the connector entity field.+--+-- 'destinationProperties', 'connectorEntityField_destinationProperties' - The properties applied to a field when the connector is being used as a+-- destination.+--+-- 'isDeprecated', 'connectorEntityField_isDeprecated' - Booelan value that indicates whether this field is deprecated or not.+--+-- 'isPrimaryKey', 'connectorEntityField_isPrimaryKey' - Booelan value that indicates whether this field can be used as a primary+-- key.+--+-- 'label', 'connectorEntityField_label' - The label applied to a connector entity field.+--+-- 'parentIdentifier', 'connectorEntityField_parentIdentifier' - The parent identifier of the connector field.+--+-- 'sourceProperties', 'connectorEntityField_sourceProperties' - The properties that can be applied to a field when the connector is+-- being used as a source.+--+-- 'supportedFieldTypeDetails', 'connectorEntityField_supportedFieldTypeDetails' - Contains details regarding the supported @FieldType@, including the+-- corresponding @filterOperators@ and @supportedValues@.+--+-- 'identifier', 'connectorEntityField_identifier' - The unique identifier of the connector field.+newConnectorEntityField ::+  -- | 'identifier'+  Prelude.Text ->+  ConnectorEntityField+newConnectorEntityField pIdentifier_ =+  ConnectorEntityField'+    { customProperties =+        Prelude.Nothing,+      defaultValue = Prelude.Nothing,+      description = Prelude.Nothing,+      destinationProperties = Prelude.Nothing,+      isDeprecated = Prelude.Nothing,+      isPrimaryKey = Prelude.Nothing,+      label = Prelude.Nothing,+      parentIdentifier = Prelude.Nothing,+      sourceProperties = Prelude.Nothing,+      supportedFieldTypeDetails = Prelude.Nothing,+      identifier = pIdentifier_+    }++-- | A map that has specific properties related to the ConnectorEntityField.+connectorEntityField_customProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+connectorEntityField_customProperties = Lens.lens (\ConnectorEntityField' {customProperties} -> customProperties) (\s@ConnectorEntityField' {} a -> s {customProperties = a} :: ConnectorEntityField) Prelude.. Lens.mapping Lens.coerced++-- | Default value that can be assigned to this field.+connectorEntityField_defaultValue :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)+connectorEntityField_defaultValue = Lens.lens (\ConnectorEntityField' {defaultValue} -> defaultValue) (\s@ConnectorEntityField' {} a -> s {defaultValue = a} :: ConnectorEntityField)++-- | A description of the connector entity field.+connectorEntityField_description :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)+connectorEntityField_description = Lens.lens (\ConnectorEntityField' {description} -> description) (\s@ConnectorEntityField' {} a -> s {description = a} :: ConnectorEntityField)++-- | The properties applied to a field when the connector is being used as a+-- destination.+connectorEntityField_destinationProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe DestinationFieldProperties)+connectorEntityField_destinationProperties = Lens.lens (\ConnectorEntityField' {destinationProperties} -> destinationProperties) (\s@ConnectorEntityField' {} a -> s {destinationProperties = a} :: ConnectorEntityField)++-- | Booelan value that indicates whether this field is deprecated or not.+connectorEntityField_isDeprecated :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Bool)+connectorEntityField_isDeprecated = Lens.lens (\ConnectorEntityField' {isDeprecated} -> isDeprecated) (\s@ConnectorEntityField' {} a -> s {isDeprecated = a} :: ConnectorEntityField)++-- | Booelan value that indicates whether this field can be used as a primary+-- key.+connectorEntityField_isPrimaryKey :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Bool)+connectorEntityField_isPrimaryKey = Lens.lens (\ConnectorEntityField' {isPrimaryKey} -> isPrimaryKey) (\s@ConnectorEntityField' {} a -> s {isPrimaryKey = a} :: ConnectorEntityField)++-- | The label applied to a connector entity field.+connectorEntityField_label :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)+connectorEntityField_label = Lens.lens (\ConnectorEntityField' {label} -> label) (\s@ConnectorEntityField' {} a -> s {label = a} :: ConnectorEntityField)++-- | The parent identifier of the connector field.+connectorEntityField_parentIdentifier :: Lens.Lens' ConnectorEntityField (Prelude.Maybe Prelude.Text)+connectorEntityField_parentIdentifier = Lens.lens (\ConnectorEntityField' {parentIdentifier} -> parentIdentifier) (\s@ConnectorEntityField' {} a -> s {parentIdentifier = a} :: ConnectorEntityField)++-- | The properties that can be applied to a field when the connector is+-- being used as a source.+connectorEntityField_sourceProperties :: Lens.Lens' ConnectorEntityField (Prelude.Maybe SourceFieldProperties)+connectorEntityField_sourceProperties = Lens.lens (\ConnectorEntityField' {sourceProperties} -> sourceProperties) (\s@ConnectorEntityField' {} a -> s {sourceProperties = a} :: ConnectorEntityField)++-- | Contains details regarding the supported @FieldType@, including the+-- corresponding @filterOperators@ and @supportedValues@.+connectorEntityField_supportedFieldTypeDetails :: Lens.Lens' ConnectorEntityField (Prelude.Maybe SupportedFieldTypeDetails)+connectorEntityField_supportedFieldTypeDetails = Lens.lens (\ConnectorEntityField' {supportedFieldTypeDetails} -> supportedFieldTypeDetails) (\s@ConnectorEntityField' {} a -> s {supportedFieldTypeDetails = a} :: ConnectorEntityField)++-- | The unique identifier of the connector field.+connectorEntityField_identifier :: Lens.Lens' ConnectorEntityField Prelude.Text+connectorEntityField_identifier = Lens.lens (\ConnectorEntityField' {identifier} -> identifier) (\s@ConnectorEntityField' {} a -> s {identifier = a} :: ConnectorEntityField)++instance Data.FromJSON ConnectorEntityField where+  parseJSON =+    Data.withObject+      "ConnectorEntityField"+      ( \x ->+          ConnectorEntityField'+            Prelude.<$> ( x+                            Data..:? "customProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "defaultValue")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "destinationProperties")+            Prelude.<*> (x Data..:? "isDeprecated")+            Prelude.<*> (x Data..:? "isPrimaryKey")+            Prelude.<*> (x Data..:? "label")+            Prelude.<*> (x Data..:? "parentIdentifier")+            Prelude.<*> (x Data..:? "sourceProperties")+            Prelude.<*> (x Data..:? "supportedFieldTypeDetails")+            Prelude.<*> (x Data..: "identifier")+      )++instance Prelude.Hashable ConnectorEntityField where+  hashWithSalt _salt ConnectorEntityField' {..} =+    _salt+      `Prelude.hashWithSalt` customProperties+      `Prelude.hashWithSalt` defaultValue+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationProperties+      `Prelude.hashWithSalt` isDeprecated+      `Prelude.hashWithSalt` isPrimaryKey+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` parentIdentifier+      `Prelude.hashWithSalt` sourceProperties+      `Prelude.hashWithSalt` supportedFieldTypeDetails+      `Prelude.hashWithSalt` identifier++instance Prelude.NFData ConnectorEntityField where+  rnf ConnectorEntityField' {..} =+    Prelude.rnf customProperties+      `Prelude.seq` Prelude.rnf defaultValue+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationProperties+      `Prelude.seq` Prelude.rnf isDeprecated+      `Prelude.seq` Prelude.rnf isPrimaryKey+      `Prelude.seq` Prelude.rnf label+      `Prelude.seq` Prelude.rnf parentIdentifier+      `Prelude.seq` Prelude.rnf sourceProperties+      `Prelude.seq` Prelude.rnf supportedFieldTypeDetails+      `Prelude.seq` Prelude.rnf identifier
+ gen/Amazonka/AppFlow/Types/ConnectorMetadata.hs view
@@ -0,0 +1,333 @@+{-# 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.AppFlow.Types.ConnectorMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorMetadata where++import Amazonka.AppFlow.Types.AmplitudeMetadata+import Amazonka.AppFlow.Types.CustomerProfilesMetadata+import Amazonka.AppFlow.Types.DatadogMetadata+import Amazonka.AppFlow.Types.DynatraceMetadata+import Amazonka.AppFlow.Types.EventBridgeMetadata+import Amazonka.AppFlow.Types.GoogleAnalyticsMetadata+import Amazonka.AppFlow.Types.HoneycodeMetadata+import Amazonka.AppFlow.Types.InforNexusMetadata+import Amazonka.AppFlow.Types.MarketoMetadata+import Amazonka.AppFlow.Types.RedshiftMetadata+import Amazonka.AppFlow.Types.S3Metadata+import Amazonka.AppFlow.Types.SAPODataMetadata+import Amazonka.AppFlow.Types.SalesforceMetadata+import Amazonka.AppFlow.Types.ServiceNowMetadata+import Amazonka.AppFlow.Types.SingularMetadata+import Amazonka.AppFlow.Types.SlackMetadata+import Amazonka.AppFlow.Types.SnowflakeMetadata+import Amazonka.AppFlow.Types.TrendmicroMetadata+import Amazonka.AppFlow.Types.UpsolverMetadata+import Amazonka.AppFlow.Types.VeevaMetadata+import Amazonka.AppFlow.Types.ZendeskMetadata+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure to specify connector-specific metadata such as+-- @oAuthScopes@, @supportedRegions@, @privateLinkServiceUrl@, and so on.+--+-- /See:/ 'newConnectorMetadata' smart constructor.+data ConnectorMetadata = ConnectorMetadata'+  { -- | The connector metadata specific to Amplitude.+    amplitude :: Prelude.Maybe AmplitudeMetadata,+    -- | The connector metadata specific to Amazon Connect Customer Profiles.+    customerProfiles :: Prelude.Maybe CustomerProfilesMetadata,+    -- | The connector metadata specific to Datadog.+    datadog :: Prelude.Maybe DatadogMetadata,+    -- | The connector metadata specific to Dynatrace.+    dynatrace :: Prelude.Maybe DynatraceMetadata,+    -- | The connector metadata specific to Amazon EventBridge.+    eventBridge :: Prelude.Maybe EventBridgeMetadata,+    -- | The connector metadata specific to Google Analytics.+    googleAnalytics :: Prelude.Maybe GoogleAnalyticsMetadata,+    -- | The connector metadata specific to Amazon Honeycode.+    honeycode :: Prelude.Maybe HoneycodeMetadata,+    -- | The connector metadata specific to Infor Nexus.+    inforNexus :: Prelude.Maybe InforNexusMetadata,+    -- | The connector metadata specific to Marketo.+    marketo :: Prelude.Maybe MarketoMetadata,+    -- | The connector metadata specific to Amazon Redshift.+    redshift :: Prelude.Maybe RedshiftMetadata,+    -- | The connector metadata specific to Amazon S3.+    s3 :: Prelude.Maybe S3Metadata,+    sAPOData :: Prelude.Maybe SAPODataMetadata,+    -- | The connector metadata specific to Salesforce.+    salesforce :: Prelude.Maybe SalesforceMetadata,+    -- | The connector metadata specific to ServiceNow.+    serviceNow :: Prelude.Maybe ServiceNowMetadata,+    -- | The connector metadata specific to Singular.+    singular :: Prelude.Maybe SingularMetadata,+    -- | The connector metadata specific to Slack.+    slack :: Prelude.Maybe SlackMetadata,+    -- | The connector metadata specific to Snowflake.+    snowflake :: Prelude.Maybe SnowflakeMetadata,+    -- | The connector metadata specific to Trend Micro.+    trendmicro :: Prelude.Maybe TrendmicroMetadata,+    -- | The connector metadata specific to Upsolver.+    upsolver :: Prelude.Maybe UpsolverMetadata,+    -- | The connector metadata specific to Veeva.+    veeva :: Prelude.Maybe VeevaMetadata,+    -- | The connector metadata specific to Zendesk.+    zendesk :: Prelude.Maybe ZendeskMetadata+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplitude', 'connectorMetadata_amplitude' - The connector metadata specific to Amplitude.+--+-- 'customerProfiles', 'connectorMetadata_customerProfiles' - The connector metadata specific to Amazon Connect Customer Profiles.+--+-- 'datadog', 'connectorMetadata_datadog' - The connector metadata specific to Datadog.+--+-- 'dynatrace', 'connectorMetadata_dynatrace' - The connector metadata specific to Dynatrace.+--+-- 'eventBridge', 'connectorMetadata_eventBridge' - The connector metadata specific to Amazon EventBridge.+--+-- 'googleAnalytics', 'connectorMetadata_googleAnalytics' - The connector metadata specific to Google Analytics.+--+-- 'honeycode', 'connectorMetadata_honeycode' - The connector metadata specific to Amazon Honeycode.+--+-- 'inforNexus', 'connectorMetadata_inforNexus' - The connector metadata specific to Infor Nexus.+--+-- 'marketo', 'connectorMetadata_marketo' - The connector metadata specific to Marketo.+--+-- 'redshift', 'connectorMetadata_redshift' - The connector metadata specific to Amazon Redshift.+--+-- 's3', 'connectorMetadata_s3' - The connector metadata specific to Amazon S3.+--+-- 'sAPOData', 'connectorMetadata_sAPOData' - Undocumented member.+--+-- 'salesforce', 'connectorMetadata_salesforce' - The connector metadata specific to Salesforce.+--+-- 'serviceNow', 'connectorMetadata_serviceNow' - The connector metadata specific to ServiceNow.+--+-- 'singular', 'connectorMetadata_singular' - The connector metadata specific to Singular.+--+-- 'slack', 'connectorMetadata_slack' - The connector metadata specific to Slack.+--+-- 'snowflake', 'connectorMetadata_snowflake' - The connector metadata specific to Snowflake.+--+-- 'trendmicro', 'connectorMetadata_trendmicro' - The connector metadata specific to Trend Micro.+--+-- 'upsolver', 'connectorMetadata_upsolver' - The connector metadata specific to Upsolver.+--+-- 'veeva', 'connectorMetadata_veeva' - The connector metadata specific to Veeva.+--+-- 'zendesk', 'connectorMetadata_zendesk' - The connector metadata specific to Zendesk.+newConnectorMetadata ::+  ConnectorMetadata+newConnectorMetadata =+  ConnectorMetadata'+    { amplitude = Prelude.Nothing,+      customerProfiles = Prelude.Nothing,+      datadog = Prelude.Nothing,+      dynatrace = Prelude.Nothing,+      eventBridge = Prelude.Nothing,+      googleAnalytics = Prelude.Nothing,+      honeycode = Prelude.Nothing,+      inforNexus = Prelude.Nothing,+      marketo = Prelude.Nothing,+      redshift = Prelude.Nothing,+      s3 = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      serviceNow = Prelude.Nothing,+      singular = Prelude.Nothing,+      slack = Prelude.Nothing,+      snowflake = Prelude.Nothing,+      trendmicro = Prelude.Nothing,+      upsolver = Prelude.Nothing,+      veeva = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | The connector metadata specific to Amplitude.+connectorMetadata_amplitude :: Lens.Lens' ConnectorMetadata (Prelude.Maybe AmplitudeMetadata)+connectorMetadata_amplitude = Lens.lens (\ConnectorMetadata' {amplitude} -> amplitude) (\s@ConnectorMetadata' {} a -> s {amplitude = a} :: ConnectorMetadata)++-- | The connector metadata specific to Amazon Connect Customer Profiles.+connectorMetadata_customerProfiles :: Lens.Lens' ConnectorMetadata (Prelude.Maybe CustomerProfilesMetadata)+connectorMetadata_customerProfiles = Lens.lens (\ConnectorMetadata' {customerProfiles} -> customerProfiles) (\s@ConnectorMetadata' {} a -> s {customerProfiles = a} :: ConnectorMetadata)++-- | The connector metadata specific to Datadog.+connectorMetadata_datadog :: Lens.Lens' ConnectorMetadata (Prelude.Maybe DatadogMetadata)+connectorMetadata_datadog = Lens.lens (\ConnectorMetadata' {datadog} -> datadog) (\s@ConnectorMetadata' {} a -> s {datadog = a} :: ConnectorMetadata)++-- | The connector metadata specific to Dynatrace.+connectorMetadata_dynatrace :: Lens.Lens' ConnectorMetadata (Prelude.Maybe DynatraceMetadata)+connectorMetadata_dynatrace = Lens.lens (\ConnectorMetadata' {dynatrace} -> dynatrace) (\s@ConnectorMetadata' {} a -> s {dynatrace = a} :: ConnectorMetadata)++-- | The connector metadata specific to Amazon EventBridge.+connectorMetadata_eventBridge :: Lens.Lens' ConnectorMetadata (Prelude.Maybe EventBridgeMetadata)+connectorMetadata_eventBridge = Lens.lens (\ConnectorMetadata' {eventBridge} -> eventBridge) (\s@ConnectorMetadata' {} a -> s {eventBridge = a} :: ConnectorMetadata)++-- | The connector metadata specific to Google Analytics.+connectorMetadata_googleAnalytics :: Lens.Lens' ConnectorMetadata (Prelude.Maybe GoogleAnalyticsMetadata)+connectorMetadata_googleAnalytics = Lens.lens (\ConnectorMetadata' {googleAnalytics} -> googleAnalytics) (\s@ConnectorMetadata' {} a -> s {googleAnalytics = a} :: ConnectorMetadata)++-- | The connector metadata specific to Amazon Honeycode.+connectorMetadata_honeycode :: Lens.Lens' ConnectorMetadata (Prelude.Maybe HoneycodeMetadata)+connectorMetadata_honeycode = Lens.lens (\ConnectorMetadata' {honeycode} -> honeycode) (\s@ConnectorMetadata' {} a -> s {honeycode = a} :: ConnectorMetadata)++-- | The connector metadata specific to Infor Nexus.+connectorMetadata_inforNexus :: Lens.Lens' ConnectorMetadata (Prelude.Maybe InforNexusMetadata)+connectorMetadata_inforNexus = Lens.lens (\ConnectorMetadata' {inforNexus} -> inforNexus) (\s@ConnectorMetadata' {} a -> s {inforNexus = a} :: ConnectorMetadata)++-- | The connector metadata specific to Marketo.+connectorMetadata_marketo :: Lens.Lens' ConnectorMetadata (Prelude.Maybe MarketoMetadata)+connectorMetadata_marketo = Lens.lens (\ConnectorMetadata' {marketo} -> marketo) (\s@ConnectorMetadata' {} a -> s {marketo = a} :: ConnectorMetadata)++-- | The connector metadata specific to Amazon Redshift.+connectorMetadata_redshift :: Lens.Lens' ConnectorMetadata (Prelude.Maybe RedshiftMetadata)+connectorMetadata_redshift = Lens.lens (\ConnectorMetadata' {redshift} -> redshift) (\s@ConnectorMetadata' {} a -> s {redshift = a} :: ConnectorMetadata)++-- | The connector metadata specific to Amazon S3.+connectorMetadata_s3 :: Lens.Lens' ConnectorMetadata (Prelude.Maybe S3Metadata)+connectorMetadata_s3 = Lens.lens (\ConnectorMetadata' {s3} -> s3) (\s@ConnectorMetadata' {} a -> s {s3 = a} :: ConnectorMetadata)++-- | Undocumented member.+connectorMetadata_sAPOData :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SAPODataMetadata)+connectorMetadata_sAPOData = Lens.lens (\ConnectorMetadata' {sAPOData} -> sAPOData) (\s@ConnectorMetadata' {} a -> s {sAPOData = a} :: ConnectorMetadata)++-- | The connector metadata specific to Salesforce.+connectorMetadata_salesforce :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SalesforceMetadata)+connectorMetadata_salesforce = Lens.lens (\ConnectorMetadata' {salesforce} -> salesforce) (\s@ConnectorMetadata' {} a -> s {salesforce = a} :: ConnectorMetadata)++-- | The connector metadata specific to ServiceNow.+connectorMetadata_serviceNow :: Lens.Lens' ConnectorMetadata (Prelude.Maybe ServiceNowMetadata)+connectorMetadata_serviceNow = Lens.lens (\ConnectorMetadata' {serviceNow} -> serviceNow) (\s@ConnectorMetadata' {} a -> s {serviceNow = a} :: ConnectorMetadata)++-- | The connector metadata specific to Singular.+connectorMetadata_singular :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SingularMetadata)+connectorMetadata_singular = Lens.lens (\ConnectorMetadata' {singular} -> singular) (\s@ConnectorMetadata' {} a -> s {singular = a} :: ConnectorMetadata)++-- | The connector metadata specific to Slack.+connectorMetadata_slack :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SlackMetadata)+connectorMetadata_slack = Lens.lens (\ConnectorMetadata' {slack} -> slack) (\s@ConnectorMetadata' {} a -> s {slack = a} :: ConnectorMetadata)++-- | The connector metadata specific to Snowflake.+connectorMetadata_snowflake :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SnowflakeMetadata)+connectorMetadata_snowflake = Lens.lens (\ConnectorMetadata' {snowflake} -> snowflake) (\s@ConnectorMetadata' {} a -> s {snowflake = a} :: ConnectorMetadata)++-- | The connector metadata specific to Trend Micro.+connectorMetadata_trendmicro :: Lens.Lens' ConnectorMetadata (Prelude.Maybe TrendmicroMetadata)+connectorMetadata_trendmicro = Lens.lens (\ConnectorMetadata' {trendmicro} -> trendmicro) (\s@ConnectorMetadata' {} a -> s {trendmicro = a} :: ConnectorMetadata)++-- | The connector metadata specific to Upsolver.+connectorMetadata_upsolver :: Lens.Lens' ConnectorMetadata (Prelude.Maybe UpsolverMetadata)+connectorMetadata_upsolver = Lens.lens (\ConnectorMetadata' {upsolver} -> upsolver) (\s@ConnectorMetadata' {} a -> s {upsolver = a} :: ConnectorMetadata)++-- | The connector metadata specific to Veeva.+connectorMetadata_veeva :: Lens.Lens' ConnectorMetadata (Prelude.Maybe VeevaMetadata)+connectorMetadata_veeva = Lens.lens (\ConnectorMetadata' {veeva} -> veeva) (\s@ConnectorMetadata' {} a -> s {veeva = a} :: ConnectorMetadata)++-- | The connector metadata specific to Zendesk.+connectorMetadata_zendesk :: Lens.Lens' ConnectorMetadata (Prelude.Maybe ZendeskMetadata)+connectorMetadata_zendesk = Lens.lens (\ConnectorMetadata' {zendesk} -> zendesk) (\s@ConnectorMetadata' {} a -> s {zendesk = a} :: ConnectorMetadata)++instance Data.FromJSON ConnectorMetadata where+  parseJSON =+    Data.withObject+      "ConnectorMetadata"+      ( \x ->+          ConnectorMetadata'+            Prelude.<$> (x Data..:? "Amplitude")+            Prelude.<*> (x Data..:? "CustomerProfiles")+            Prelude.<*> (x Data..:? "Datadog")+            Prelude.<*> (x Data..:? "Dynatrace")+            Prelude.<*> (x Data..:? "EventBridge")+            Prelude.<*> (x Data..:? "GoogleAnalytics")+            Prelude.<*> (x Data..:? "Honeycode")+            Prelude.<*> (x Data..:? "InforNexus")+            Prelude.<*> (x Data..:? "Marketo")+            Prelude.<*> (x Data..:? "Redshift")+            Prelude.<*> (x Data..:? "S3")+            Prelude.<*> (x Data..:? "SAPOData")+            Prelude.<*> (x Data..:? "Salesforce")+            Prelude.<*> (x Data..:? "ServiceNow")+            Prelude.<*> (x Data..:? "Singular")+            Prelude.<*> (x Data..:? "Slack")+            Prelude.<*> (x Data..:? "Snowflake")+            Prelude.<*> (x Data..:? "Trendmicro")+            Prelude.<*> (x Data..:? "Upsolver")+            Prelude.<*> (x Data..:? "Veeva")+            Prelude.<*> (x Data..:? "Zendesk")+      )++instance Prelude.Hashable ConnectorMetadata where+  hashWithSalt _salt ConnectorMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` amplitude+      `Prelude.hashWithSalt` customerProfiles+      `Prelude.hashWithSalt` datadog+      `Prelude.hashWithSalt` dynatrace+      `Prelude.hashWithSalt` eventBridge+      `Prelude.hashWithSalt` googleAnalytics+      `Prelude.hashWithSalt` honeycode+      `Prelude.hashWithSalt` inforNexus+      `Prelude.hashWithSalt` marketo+      `Prelude.hashWithSalt` redshift+      `Prelude.hashWithSalt` s3+      `Prelude.hashWithSalt` sAPOData+      `Prelude.hashWithSalt` salesforce+      `Prelude.hashWithSalt` serviceNow+      `Prelude.hashWithSalt` singular+      `Prelude.hashWithSalt` slack+      `Prelude.hashWithSalt` snowflake+      `Prelude.hashWithSalt` trendmicro+      `Prelude.hashWithSalt` upsolver+      `Prelude.hashWithSalt` veeva+      `Prelude.hashWithSalt` zendesk++instance Prelude.NFData ConnectorMetadata where+  rnf ConnectorMetadata' {..} =+    Prelude.rnf amplitude+      `Prelude.seq` Prelude.rnf customerProfiles+      `Prelude.seq` Prelude.rnf datadog+      `Prelude.seq` Prelude.rnf dynatrace+      `Prelude.seq` Prelude.rnf eventBridge+      `Prelude.seq` Prelude.rnf googleAnalytics+      `Prelude.seq` Prelude.rnf honeycode+      `Prelude.seq` Prelude.rnf inforNexus+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf redshift+      `Prelude.seq` Prelude.rnf s3+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf serviceNow+      `Prelude.seq` Prelude.rnf singular+      `Prelude.seq` Prelude.rnf slack+      `Prelude.seq` Prelude.rnf snowflake+      `Prelude.seq` Prelude.rnf trendmicro+      `Prelude.seq` Prelude.rnf upsolver+      `Prelude.seq` Prelude.rnf veeva+      `Prelude.seq` Prelude.rnf zendesk
+ gen/Amazonka/AppFlow/Types/ConnectorOAuthRequest.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorOAuthRequest+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorOAuthRequest 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++-- | Used by select connectors for which the OAuth workflow is supported,+-- such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.+--+-- /See:/ 'newConnectorOAuthRequest' smart constructor.+data ConnectorOAuthRequest = ConnectorOAuthRequest'+  { -- | The code provided by the connector when it has been authenticated via+    -- the connected app.+    authCode :: Prelude.Maybe Prelude.Text,+    -- | The URL to which the authentication server redirects the browser after+    -- authorization has been granted.+    redirectUri :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorOAuthRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authCode', 'connectorOAuthRequest_authCode' - The code provided by the connector when it has been authenticated via+-- the connected app.+--+-- 'redirectUri', 'connectorOAuthRequest_redirectUri' - The URL to which the authentication server redirects the browser after+-- authorization has been granted.+newConnectorOAuthRequest ::+  ConnectorOAuthRequest+newConnectorOAuthRequest =+  ConnectorOAuthRequest'+    { authCode = Prelude.Nothing,+      redirectUri = Prelude.Nothing+    }++-- | The code provided by the connector when it has been authenticated via+-- the connected app.+connectorOAuthRequest_authCode :: Lens.Lens' ConnectorOAuthRequest (Prelude.Maybe Prelude.Text)+connectorOAuthRequest_authCode = Lens.lens (\ConnectorOAuthRequest' {authCode} -> authCode) (\s@ConnectorOAuthRequest' {} a -> s {authCode = a} :: ConnectorOAuthRequest)++-- | The URL to which the authentication server redirects the browser after+-- authorization has been granted.+connectorOAuthRequest_redirectUri :: Lens.Lens' ConnectorOAuthRequest (Prelude.Maybe Prelude.Text)+connectorOAuthRequest_redirectUri = Lens.lens (\ConnectorOAuthRequest' {redirectUri} -> redirectUri) (\s@ConnectorOAuthRequest' {} a -> s {redirectUri = a} :: ConnectorOAuthRequest)++instance Prelude.Hashable ConnectorOAuthRequest where+  hashWithSalt _salt ConnectorOAuthRequest' {..} =+    _salt+      `Prelude.hashWithSalt` authCode+      `Prelude.hashWithSalt` redirectUri++instance Prelude.NFData ConnectorOAuthRequest where+  rnf ConnectorOAuthRequest' {..} =+    Prelude.rnf authCode+      `Prelude.seq` Prelude.rnf redirectUri++instance Data.ToJSON ConnectorOAuthRequest where+  toJSON ConnectorOAuthRequest' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("authCode" Data..=) Prelude.<$> authCode,+            ("redirectUri" Data..=) Prelude.<$> redirectUri+          ]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorOperator.hs view
@@ -0,0 +1,296 @@+{-# 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.AppFlow.Types.ConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorOperator where++import Amazonka.AppFlow.Types.AmplitudeConnectorOperator+import Amazonka.AppFlow.Types.DatadogConnectorOperator+import Amazonka.AppFlow.Types.DynatraceConnectorOperator+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator+import Amazonka.AppFlow.Types.InforNexusConnectorOperator+import Amazonka.AppFlow.Types.MarketoConnectorOperator+import Amazonka.AppFlow.Types.Operator+import Amazonka.AppFlow.Types.S3ConnectorOperator+import Amazonka.AppFlow.Types.SAPODataConnectorOperator+import Amazonka.AppFlow.Types.SalesforceConnectorOperator+import Amazonka.AppFlow.Types.ServiceNowConnectorOperator+import Amazonka.AppFlow.Types.SingularConnectorOperator+import Amazonka.AppFlow.Types.SlackConnectorOperator+import Amazonka.AppFlow.Types.TrendmicroConnectorOperator+import Amazonka.AppFlow.Types.VeevaConnectorOperator+import Amazonka.AppFlow.Types.ZendeskConnectorOperator+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 operation to be performed on the provided source fields.+--+-- /See:/ 'newConnectorOperator' smart constructor.+data ConnectorOperator = ConnectorOperator'+  { -- | The operation to be performed on the provided Amplitude source fields.+    amplitude :: Prelude.Maybe AmplitudeConnectorOperator,+    -- | Operators supported by the custom connector.+    customConnector :: Prelude.Maybe Operator,+    -- | The operation to be performed on the provided Datadog source fields.+    datadog :: Prelude.Maybe DatadogConnectorOperator,+    -- | The operation to be performed on the provided Dynatrace source fields.+    dynatrace :: Prelude.Maybe DynatraceConnectorOperator,+    -- | The operation to be performed on the provided Google Analytics source+    -- fields.+    googleAnalytics :: Prelude.Maybe GoogleAnalyticsConnectorOperator,+    -- | The operation to be performed on the provided Infor Nexus source fields.+    inforNexus :: Prelude.Maybe InforNexusConnectorOperator,+    -- | The operation to be performed on the provided Marketo source fields.+    marketo :: Prelude.Maybe MarketoConnectorOperator,+    -- | The operation to be performed on the provided Amazon S3 source fields.+    s3 :: Prelude.Maybe S3ConnectorOperator,+    -- | The operation to be performed on the provided SAPOData source fields.+    sAPOData :: Prelude.Maybe SAPODataConnectorOperator,+    -- | The operation to be performed on the provided Salesforce source fields.+    salesforce :: Prelude.Maybe SalesforceConnectorOperator,+    -- | The operation to be performed on the provided ServiceNow source fields.+    serviceNow :: Prelude.Maybe ServiceNowConnectorOperator,+    -- | The operation to be performed on the provided Singular source fields.+    singular :: Prelude.Maybe SingularConnectorOperator,+    -- | The operation to be performed on the provided Slack source fields.+    slack :: Prelude.Maybe SlackConnectorOperator,+    -- | The operation to be performed on the provided Trend Micro source fields.+    trendmicro :: Prelude.Maybe TrendmicroConnectorOperator,+    -- | The operation to be performed on the provided Veeva source fields.+    veeva :: Prelude.Maybe VeevaConnectorOperator,+    -- | The operation to be performed on the provided Zendesk source fields.+    zendesk :: Prelude.Maybe ZendeskConnectorOperator+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplitude', 'connectorOperator_amplitude' - The operation to be performed on the provided Amplitude source fields.+--+-- 'customConnector', 'connectorOperator_customConnector' - Operators supported by the custom connector.+--+-- 'datadog', 'connectorOperator_datadog' - The operation to be performed on the provided Datadog source fields.+--+-- 'dynatrace', 'connectorOperator_dynatrace' - The operation to be performed on the provided Dynatrace source fields.+--+-- 'googleAnalytics', 'connectorOperator_googleAnalytics' - The operation to be performed on the provided Google Analytics source+-- fields.+--+-- 'inforNexus', 'connectorOperator_inforNexus' - The operation to be performed on the provided Infor Nexus source fields.+--+-- 'marketo', 'connectorOperator_marketo' - The operation to be performed on the provided Marketo source fields.+--+-- 's3', 'connectorOperator_s3' - The operation to be performed on the provided Amazon S3 source fields.+--+-- 'sAPOData', 'connectorOperator_sAPOData' - The operation to be performed on the provided SAPOData source fields.+--+-- 'salesforce', 'connectorOperator_salesforce' - The operation to be performed on the provided Salesforce source fields.+--+-- 'serviceNow', 'connectorOperator_serviceNow' - The operation to be performed on the provided ServiceNow source fields.+--+-- 'singular', 'connectorOperator_singular' - The operation to be performed on the provided Singular source fields.+--+-- 'slack', 'connectorOperator_slack' - The operation to be performed on the provided Slack source fields.+--+-- 'trendmicro', 'connectorOperator_trendmicro' - The operation to be performed on the provided Trend Micro source fields.+--+-- 'veeva', 'connectorOperator_veeva' - The operation to be performed on the provided Veeva source fields.+--+-- 'zendesk', 'connectorOperator_zendesk' - The operation to be performed on the provided Zendesk source fields.+newConnectorOperator ::+  ConnectorOperator+newConnectorOperator =+  ConnectorOperator'+    { amplitude = Prelude.Nothing,+      customConnector = Prelude.Nothing,+      datadog = Prelude.Nothing,+      dynatrace = Prelude.Nothing,+      googleAnalytics = Prelude.Nothing,+      inforNexus = Prelude.Nothing,+      marketo = Prelude.Nothing,+      s3 = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      serviceNow = Prelude.Nothing,+      singular = Prelude.Nothing,+      slack = Prelude.Nothing,+      trendmicro = Prelude.Nothing,+      veeva = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | The operation to be performed on the provided Amplitude source fields.+connectorOperator_amplitude :: Lens.Lens' ConnectorOperator (Prelude.Maybe AmplitudeConnectorOperator)+connectorOperator_amplitude = Lens.lens (\ConnectorOperator' {amplitude} -> amplitude) (\s@ConnectorOperator' {} a -> s {amplitude = a} :: ConnectorOperator)++-- | Operators supported by the custom connector.+connectorOperator_customConnector :: Lens.Lens' ConnectorOperator (Prelude.Maybe Operator)+connectorOperator_customConnector = Lens.lens (\ConnectorOperator' {customConnector} -> customConnector) (\s@ConnectorOperator' {} a -> s {customConnector = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Datadog source fields.+connectorOperator_datadog :: Lens.Lens' ConnectorOperator (Prelude.Maybe DatadogConnectorOperator)+connectorOperator_datadog = Lens.lens (\ConnectorOperator' {datadog} -> datadog) (\s@ConnectorOperator' {} a -> s {datadog = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Dynatrace source fields.+connectorOperator_dynatrace :: Lens.Lens' ConnectorOperator (Prelude.Maybe DynatraceConnectorOperator)+connectorOperator_dynatrace = Lens.lens (\ConnectorOperator' {dynatrace} -> dynatrace) (\s@ConnectorOperator' {} a -> s {dynatrace = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Google Analytics source+-- fields.+connectorOperator_googleAnalytics :: Lens.Lens' ConnectorOperator (Prelude.Maybe GoogleAnalyticsConnectorOperator)+connectorOperator_googleAnalytics = Lens.lens (\ConnectorOperator' {googleAnalytics} -> googleAnalytics) (\s@ConnectorOperator' {} a -> s {googleAnalytics = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Infor Nexus source fields.+connectorOperator_inforNexus :: Lens.Lens' ConnectorOperator (Prelude.Maybe InforNexusConnectorOperator)+connectorOperator_inforNexus = Lens.lens (\ConnectorOperator' {inforNexus} -> inforNexus) (\s@ConnectorOperator' {} a -> s {inforNexus = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Marketo source fields.+connectorOperator_marketo :: Lens.Lens' ConnectorOperator (Prelude.Maybe MarketoConnectorOperator)+connectorOperator_marketo = Lens.lens (\ConnectorOperator' {marketo} -> marketo) (\s@ConnectorOperator' {} a -> s {marketo = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Amazon S3 source fields.+connectorOperator_s3 :: Lens.Lens' ConnectorOperator (Prelude.Maybe S3ConnectorOperator)+connectorOperator_s3 = Lens.lens (\ConnectorOperator' {s3} -> s3) (\s@ConnectorOperator' {} a -> s {s3 = a} :: ConnectorOperator)++-- | The operation to be performed on the provided SAPOData source fields.+connectorOperator_sAPOData :: Lens.Lens' ConnectorOperator (Prelude.Maybe SAPODataConnectorOperator)+connectorOperator_sAPOData = Lens.lens (\ConnectorOperator' {sAPOData} -> sAPOData) (\s@ConnectorOperator' {} a -> s {sAPOData = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Salesforce source fields.+connectorOperator_salesforce :: Lens.Lens' ConnectorOperator (Prelude.Maybe SalesforceConnectorOperator)+connectorOperator_salesforce = Lens.lens (\ConnectorOperator' {salesforce} -> salesforce) (\s@ConnectorOperator' {} a -> s {salesforce = a} :: ConnectorOperator)++-- | The operation to be performed on the provided ServiceNow source fields.+connectorOperator_serviceNow :: Lens.Lens' ConnectorOperator (Prelude.Maybe ServiceNowConnectorOperator)+connectorOperator_serviceNow = Lens.lens (\ConnectorOperator' {serviceNow} -> serviceNow) (\s@ConnectorOperator' {} a -> s {serviceNow = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Singular source fields.+connectorOperator_singular :: Lens.Lens' ConnectorOperator (Prelude.Maybe SingularConnectorOperator)+connectorOperator_singular = Lens.lens (\ConnectorOperator' {singular} -> singular) (\s@ConnectorOperator' {} a -> s {singular = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Slack source fields.+connectorOperator_slack :: Lens.Lens' ConnectorOperator (Prelude.Maybe SlackConnectorOperator)+connectorOperator_slack = Lens.lens (\ConnectorOperator' {slack} -> slack) (\s@ConnectorOperator' {} a -> s {slack = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Trend Micro source fields.+connectorOperator_trendmicro :: Lens.Lens' ConnectorOperator (Prelude.Maybe TrendmicroConnectorOperator)+connectorOperator_trendmicro = Lens.lens (\ConnectorOperator' {trendmicro} -> trendmicro) (\s@ConnectorOperator' {} a -> s {trendmicro = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Veeva source fields.+connectorOperator_veeva :: Lens.Lens' ConnectorOperator (Prelude.Maybe VeevaConnectorOperator)+connectorOperator_veeva = Lens.lens (\ConnectorOperator' {veeva} -> veeva) (\s@ConnectorOperator' {} a -> s {veeva = a} :: ConnectorOperator)++-- | The operation to be performed on the provided Zendesk source fields.+connectorOperator_zendesk :: Lens.Lens' ConnectorOperator (Prelude.Maybe ZendeskConnectorOperator)+connectorOperator_zendesk = Lens.lens (\ConnectorOperator' {zendesk} -> zendesk) (\s@ConnectorOperator' {} a -> s {zendesk = a} :: ConnectorOperator)++instance Data.FromJSON ConnectorOperator where+  parseJSON =+    Data.withObject+      "ConnectorOperator"+      ( \x ->+          ConnectorOperator'+            Prelude.<$> (x Data..:? "Amplitude")+            Prelude.<*> (x Data..:? "CustomConnector")+            Prelude.<*> (x Data..:? "Datadog")+            Prelude.<*> (x Data..:? "Dynatrace")+            Prelude.<*> (x Data..:? "GoogleAnalytics")+            Prelude.<*> (x Data..:? "InforNexus")+            Prelude.<*> (x Data..:? "Marketo")+            Prelude.<*> (x Data..:? "S3")+            Prelude.<*> (x Data..:? "SAPOData")+            Prelude.<*> (x Data..:? "Salesforce")+            Prelude.<*> (x Data..:? "ServiceNow")+            Prelude.<*> (x Data..:? "Singular")+            Prelude.<*> (x Data..:? "Slack")+            Prelude.<*> (x Data..:? "Trendmicro")+            Prelude.<*> (x Data..:? "Veeva")+            Prelude.<*> (x Data..:? "Zendesk")+      )++instance Prelude.Hashable ConnectorOperator where+  hashWithSalt _salt ConnectorOperator' {..} =+    _salt+      `Prelude.hashWithSalt` amplitude+      `Prelude.hashWithSalt` customConnector+      `Prelude.hashWithSalt` datadog+      `Prelude.hashWithSalt` dynatrace+      `Prelude.hashWithSalt` googleAnalytics+      `Prelude.hashWithSalt` inforNexus+      `Prelude.hashWithSalt` marketo+      `Prelude.hashWithSalt` s3+      `Prelude.hashWithSalt` sAPOData+      `Prelude.hashWithSalt` salesforce+      `Prelude.hashWithSalt` serviceNow+      `Prelude.hashWithSalt` singular+      `Prelude.hashWithSalt` slack+      `Prelude.hashWithSalt` trendmicro+      `Prelude.hashWithSalt` veeva+      `Prelude.hashWithSalt` zendesk++instance Prelude.NFData ConnectorOperator where+  rnf ConnectorOperator' {..} =+    Prelude.rnf amplitude+      `Prelude.seq` Prelude.rnf customConnector+      `Prelude.seq` Prelude.rnf datadog+      `Prelude.seq` Prelude.rnf dynatrace+      `Prelude.seq` Prelude.rnf googleAnalytics+      `Prelude.seq` Prelude.rnf inforNexus+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf s3+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf serviceNow+      `Prelude.seq` Prelude.rnf singular+      `Prelude.seq` Prelude.rnf slack+      `Prelude.seq` Prelude.rnf trendmicro+      `Prelude.seq` Prelude.rnf veeva+      `Prelude.seq` Prelude.rnf zendesk++instance Data.ToJSON ConnectorOperator where+  toJSON ConnectorOperator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Amplitude" Data..=) Prelude.<$> amplitude,+            ("CustomConnector" Data..=)+              Prelude.<$> customConnector,+            ("Datadog" Data..=) Prelude.<$> datadog,+            ("Dynatrace" Data..=) Prelude.<$> dynatrace,+            ("GoogleAnalytics" Data..=)+              Prelude.<$> googleAnalytics,+            ("InforNexus" Data..=) Prelude.<$> inforNexus,+            ("Marketo" Data..=) Prelude.<$> marketo,+            ("S3" Data..=) Prelude.<$> s3,+            ("SAPOData" Data..=) Prelude.<$> sAPOData,+            ("Salesforce" Data..=) Prelude.<$> salesforce,+            ("ServiceNow" Data..=) Prelude.<$> serviceNow,+            ("Singular" Data..=) Prelude.<$> singular,+            ("Slack" Data..=) Prelude.<$> slack,+            ("Trendmicro" Data..=) Prelude.<$> trendmicro,+            ("Veeva" Data..=) Prelude.<$> veeva,+            ("Zendesk" Data..=) Prelude.<$> zendesk+          ]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorProfile.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProfile where++import Amazonka.AppFlow.Types.ConnectionMode+import Amazonka.AppFlow.Types.ConnectorProfileProperties+import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningState+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an instance of a connector. This includes the provided name,+-- credentials ARN, connection-mode, and so on. To keep the API intuitive+-- and extensible, the fields that are common to all types of connector+-- profiles are explicitly specified at the top level. The rest of the+-- connector-specific properties are available via the+-- @connectorProfileProperties@ field.+--+-- /See:/ 'newConnectorProfile' smart constructor.+data ConnectorProfile = ConnectorProfile'+  { -- | Indicates the connection mode and if it is public or private.+    connectionMode :: Prelude.Maybe ConnectionMode,+    -- | The label for the connector profile being created.+    connectorLabel :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the connector profile.+    connectorProfileArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. The name is unique for each+    -- @ConnectorProfile@ in the Amazon Web Services account.+    connectorProfileName :: Prelude.Maybe Prelude.Text,+    -- | The connector-specific properties of the profile configuration.+    connectorProfileProperties :: Prelude.Maybe ConnectorProfileProperties,+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: Prelude.Maybe ConnectorType,+    -- | Specifies when the connector profile was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the connector profile credentials.+    credentialsArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies when the connector profile was last updated.+    lastUpdatedAt :: Prelude.Maybe Data.POSIX,+    -- | Specifies the private connection provisioning state.+    privateConnectionProvisioningState :: Prelude.Maybe PrivateConnectionProvisioningState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionMode', 'connectorProfile_connectionMode' - Indicates the connection mode and if it is public or private.+--+-- 'connectorLabel', 'connectorProfile_connectorLabel' - The label for the connector profile being created.+--+-- 'connectorProfileArn', 'connectorProfile_connectorProfileArn' - The Amazon Resource Name (ARN) of the connector profile.+--+-- 'connectorProfileName', 'connectorProfile_connectorProfileName' - The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+--+-- 'connectorProfileProperties', 'connectorProfile_connectorProfileProperties' - The connector-specific properties of the profile configuration.+--+-- 'connectorType', 'connectorProfile_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'createdAt', 'connectorProfile_createdAt' - Specifies when the connector profile was created.+--+-- 'credentialsArn', 'connectorProfile_credentialsArn' - The Amazon Resource Name (ARN) of the connector profile credentials.+--+-- 'lastUpdatedAt', 'connectorProfile_lastUpdatedAt' - Specifies when the connector profile was last updated.+--+-- 'privateConnectionProvisioningState', 'connectorProfile_privateConnectionProvisioningState' - Specifies the private connection provisioning state.+newConnectorProfile ::+  ConnectorProfile+newConnectorProfile =+  ConnectorProfile'+    { connectionMode = Prelude.Nothing,+      connectorLabel = Prelude.Nothing,+      connectorProfileArn = Prelude.Nothing,+      connectorProfileName = Prelude.Nothing,+      connectorProfileProperties = Prelude.Nothing,+      connectorType = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      credentialsArn = Prelude.Nothing,+      lastUpdatedAt = Prelude.Nothing,+      privateConnectionProvisioningState = Prelude.Nothing+    }++-- | Indicates the connection mode and if it is public or private.+connectorProfile_connectionMode :: Lens.Lens' ConnectorProfile (Prelude.Maybe ConnectionMode)+connectorProfile_connectionMode = Lens.lens (\ConnectorProfile' {connectionMode} -> connectionMode) (\s@ConnectorProfile' {} a -> s {connectionMode = a} :: ConnectorProfile)++-- | The label for the connector profile being created.+connectorProfile_connectorLabel :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.Text)+connectorProfile_connectorLabel = Lens.lens (\ConnectorProfile' {connectorLabel} -> connectorLabel) (\s@ConnectorProfile' {} a -> s {connectorLabel = a} :: ConnectorProfile)++-- | The Amazon Resource Name (ARN) of the connector profile.+connectorProfile_connectorProfileArn :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.Text)+connectorProfile_connectorProfileArn = Lens.lens (\ConnectorProfile' {connectorProfileArn} -> connectorProfileArn) (\s@ConnectorProfile' {} a -> s {connectorProfileArn = a} :: ConnectorProfile)++-- | The name of the connector profile. The name is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+connectorProfile_connectorProfileName :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.Text)+connectorProfile_connectorProfileName = Lens.lens (\ConnectorProfile' {connectorProfileName} -> connectorProfileName) (\s@ConnectorProfile' {} a -> s {connectorProfileName = a} :: ConnectorProfile)++-- | The connector-specific properties of the profile configuration.+connectorProfile_connectorProfileProperties :: Lens.Lens' ConnectorProfile (Prelude.Maybe ConnectorProfileProperties)+connectorProfile_connectorProfileProperties = Lens.lens (\ConnectorProfile' {connectorProfileProperties} -> connectorProfileProperties) (\s@ConnectorProfile' {} a -> s {connectorProfileProperties = a} :: ConnectorProfile)++-- | The type of connector, such as Salesforce, Amplitude, and so on.+connectorProfile_connectorType :: Lens.Lens' ConnectorProfile (Prelude.Maybe ConnectorType)+connectorProfile_connectorType = Lens.lens (\ConnectorProfile' {connectorType} -> connectorType) (\s@ConnectorProfile' {} a -> s {connectorType = a} :: ConnectorProfile)++-- | Specifies when the connector profile was created.+connectorProfile_createdAt :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.UTCTime)+connectorProfile_createdAt = Lens.lens (\ConnectorProfile' {createdAt} -> createdAt) (\s@ConnectorProfile' {} a -> s {createdAt = a} :: ConnectorProfile) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the connector profile credentials.+connectorProfile_credentialsArn :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.Text)+connectorProfile_credentialsArn = Lens.lens (\ConnectorProfile' {credentialsArn} -> credentialsArn) (\s@ConnectorProfile' {} a -> s {credentialsArn = a} :: ConnectorProfile)++-- | Specifies when the connector profile was last updated.+connectorProfile_lastUpdatedAt :: Lens.Lens' ConnectorProfile (Prelude.Maybe Prelude.UTCTime)+connectorProfile_lastUpdatedAt = Lens.lens (\ConnectorProfile' {lastUpdatedAt} -> lastUpdatedAt) (\s@ConnectorProfile' {} a -> s {lastUpdatedAt = a} :: ConnectorProfile) Prelude.. Lens.mapping Data._Time++-- | Specifies the private connection provisioning state.+connectorProfile_privateConnectionProvisioningState :: Lens.Lens' ConnectorProfile (Prelude.Maybe PrivateConnectionProvisioningState)+connectorProfile_privateConnectionProvisioningState = Lens.lens (\ConnectorProfile' {privateConnectionProvisioningState} -> privateConnectionProvisioningState) (\s@ConnectorProfile' {} a -> s {privateConnectionProvisioningState = a} :: ConnectorProfile)++instance Data.FromJSON ConnectorProfile where+  parseJSON =+    Data.withObject+      "ConnectorProfile"+      ( \x ->+          ConnectorProfile'+            Prelude.<$> (x Data..:? "connectionMode")+            Prelude.<*> (x Data..:? "connectorLabel")+            Prelude.<*> (x Data..:? "connectorProfileArn")+            Prelude.<*> (x Data..:? "connectorProfileName")+            Prelude.<*> (x Data..:? "connectorProfileProperties")+            Prelude.<*> (x Data..:? "connectorType")+            Prelude.<*> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "credentialsArn")+            Prelude.<*> (x Data..:? "lastUpdatedAt")+            Prelude.<*> (x Data..:? "privateConnectionProvisioningState")+      )++instance Prelude.Hashable ConnectorProfile where+  hashWithSalt _salt ConnectorProfile' {..} =+    _salt+      `Prelude.hashWithSalt` connectionMode+      `Prelude.hashWithSalt` connectorLabel+      `Prelude.hashWithSalt` connectorProfileArn+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectorProfileProperties+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` credentialsArn+      `Prelude.hashWithSalt` lastUpdatedAt+      `Prelude.hashWithSalt` privateConnectionProvisioningState++instance Prelude.NFData ConnectorProfile where+  rnf ConnectorProfile' {..} =+    Prelude.rnf connectionMode+      `Prelude.seq` Prelude.rnf connectorLabel+      `Prelude.seq` Prelude.rnf connectorProfileArn+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectorProfileProperties+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf credentialsArn+      `Prelude.seq` Prelude.rnf lastUpdatedAt+      `Prelude.seq` Prelude.rnf privateConnectionProvisioningState
+ gen/Amazonka/AppFlow/Types/ConnectorProfileConfig.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorProfileConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProfileConfig where++import Amazonka.AppFlow.Types.ConnectorProfileCredentials+import Amazonka.AppFlow.Types.ConnectorProfileProperties+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++-- | Defines the connector-specific configuration and credentials for the+-- connector profile.+--+-- /See:/ 'newConnectorProfileConfig' smart constructor.+data ConnectorProfileConfig = ConnectorProfileConfig'+  { -- | The connector-specific credentials required by each connector.+    connectorProfileCredentials :: Prelude.Maybe ConnectorProfileCredentials,+    -- | The connector-specific properties of the profile configuration.+    connectorProfileProperties :: ConnectorProfileProperties+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorProfileConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProfileCredentials', 'connectorProfileConfig_connectorProfileCredentials' - The connector-specific credentials required by each connector.+--+-- 'connectorProfileProperties', 'connectorProfileConfig_connectorProfileProperties' - The connector-specific properties of the profile configuration.+newConnectorProfileConfig ::+  -- | 'connectorProfileProperties'+  ConnectorProfileProperties ->+  ConnectorProfileConfig+newConnectorProfileConfig+  pConnectorProfileProperties_ =+    ConnectorProfileConfig'+      { connectorProfileCredentials =+          Prelude.Nothing,+        connectorProfileProperties =+          pConnectorProfileProperties_+      }++-- | The connector-specific credentials required by each connector.+connectorProfileConfig_connectorProfileCredentials :: Lens.Lens' ConnectorProfileConfig (Prelude.Maybe ConnectorProfileCredentials)+connectorProfileConfig_connectorProfileCredentials = Lens.lens (\ConnectorProfileConfig' {connectorProfileCredentials} -> connectorProfileCredentials) (\s@ConnectorProfileConfig' {} a -> s {connectorProfileCredentials = a} :: ConnectorProfileConfig)++-- | The connector-specific properties of the profile configuration.+connectorProfileConfig_connectorProfileProperties :: Lens.Lens' ConnectorProfileConfig ConnectorProfileProperties+connectorProfileConfig_connectorProfileProperties = Lens.lens (\ConnectorProfileConfig' {connectorProfileProperties} -> connectorProfileProperties) (\s@ConnectorProfileConfig' {} a -> s {connectorProfileProperties = a} :: ConnectorProfileConfig)++instance Prelude.Hashable ConnectorProfileConfig where+  hashWithSalt _salt ConnectorProfileConfig' {..} =+    _salt+      `Prelude.hashWithSalt` connectorProfileCredentials+      `Prelude.hashWithSalt` connectorProfileProperties++instance Prelude.NFData ConnectorProfileConfig where+  rnf ConnectorProfileConfig' {..} =+    Prelude.rnf connectorProfileCredentials+      `Prelude.seq` Prelude.rnf connectorProfileProperties++instance Data.ToJSON ConnectorProfileConfig where+  toJSON ConnectorProfileConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorProfileCredentials" Data..=)+              Prelude.<$> connectorProfileCredentials,+            Prelude.Just+              ( "connectorProfileProperties"+                  Data..= connectorProfileProperties+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorProfileCredentials.hs view
@@ -0,0 +1,294 @@+{-# 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.AppFlow.Types.ConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProfileCredentials where++import Amazonka.AppFlow.Types.AmplitudeConnectorProfileCredentials+import Amazonka.AppFlow.Types.CustomConnectorProfileCredentials+import Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials+import Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileCredentials+import Amazonka.AppFlow.Types.InforNexusConnectorProfileCredentials+import Amazonka.AppFlow.Types.MarketoConnectorProfileCredentials+import Amazonka.AppFlow.Types.RedshiftConnectorProfileCredentials+import Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials+import Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials+import Amazonka.AppFlow.Types.SingularConnectorProfileCredentials+import Amazonka.AppFlow.Types.SlackConnectorProfileCredentials+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials+import Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials+import Amazonka.AppFlow.Types.ZendeskConnectorProfileCredentials+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 connector-specific credentials required by a connector.+--+-- /See:/ 'newConnectorProfileCredentials' smart constructor.+data ConnectorProfileCredentials = ConnectorProfileCredentials'+  { -- | The connector-specific credentials required when using Amplitude.+    amplitude :: Prelude.Maybe AmplitudeConnectorProfileCredentials,+    customConnector :: Prelude.Maybe CustomConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Datadog.+    datadog :: Prelude.Maybe DatadogConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Dynatrace.+    dynatrace :: Prelude.Maybe DynatraceConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Google Analytics.+    googleAnalytics :: Prelude.Maybe GoogleAnalyticsConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Amazon Honeycode.+    honeycode :: Prelude.Maybe HoneycodeConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Infor Nexus.+    inforNexus :: Prelude.Maybe InforNexusConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Marketo.+    marketo :: Prelude.Maybe MarketoConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Amazon Redshift.+    redshift :: Prelude.Maybe RedshiftConnectorProfileCredentials,+    sAPOData :: Prelude.Maybe SAPODataConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Salesforce.+    salesforce :: Prelude.Maybe SalesforceConnectorProfileCredentials,+    -- | The connector-specific credentials required when using ServiceNow.+    serviceNow :: Prelude.Maybe ServiceNowConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Singular.+    singular :: Prelude.Maybe SingularConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Slack.+    slack :: Prelude.Maybe SlackConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Snowflake.+    snowflake :: Prelude.Maybe SnowflakeConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Trend Micro.+    trendmicro :: Prelude.Maybe TrendmicroConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Veeva.+    veeva :: Prelude.Maybe VeevaConnectorProfileCredentials,+    -- | The connector-specific credentials required when using Zendesk.+    zendesk :: Prelude.Maybe ZendeskConnectorProfileCredentials+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplitude', 'connectorProfileCredentials_amplitude' - The connector-specific credentials required when using Amplitude.+--+-- 'customConnector', 'connectorProfileCredentials_customConnector' - Undocumented member.+--+-- 'datadog', 'connectorProfileCredentials_datadog' - The connector-specific credentials required when using Datadog.+--+-- 'dynatrace', 'connectorProfileCredentials_dynatrace' - The connector-specific credentials required when using Dynatrace.+--+-- 'googleAnalytics', 'connectorProfileCredentials_googleAnalytics' - The connector-specific credentials required when using Google Analytics.+--+-- 'honeycode', 'connectorProfileCredentials_honeycode' - The connector-specific credentials required when using Amazon Honeycode.+--+-- 'inforNexus', 'connectorProfileCredentials_inforNexus' - The connector-specific credentials required when using Infor Nexus.+--+-- 'marketo', 'connectorProfileCredentials_marketo' - The connector-specific credentials required when using Marketo.+--+-- 'redshift', 'connectorProfileCredentials_redshift' - The connector-specific credentials required when using Amazon Redshift.+--+-- 'sAPOData', 'connectorProfileCredentials_sAPOData' - Undocumented member.+--+-- 'salesforce', 'connectorProfileCredentials_salesforce' - The connector-specific credentials required when using Salesforce.+--+-- 'serviceNow', 'connectorProfileCredentials_serviceNow' - The connector-specific credentials required when using ServiceNow.+--+-- 'singular', 'connectorProfileCredentials_singular' - The connector-specific credentials required when using Singular.+--+-- 'slack', 'connectorProfileCredentials_slack' - The connector-specific credentials required when using Slack.+--+-- 'snowflake', 'connectorProfileCredentials_snowflake' - The connector-specific credentials required when using Snowflake.+--+-- 'trendmicro', 'connectorProfileCredentials_trendmicro' - The connector-specific credentials required when using Trend Micro.+--+-- 'veeva', 'connectorProfileCredentials_veeva' - The connector-specific credentials required when using Veeva.+--+-- 'zendesk', 'connectorProfileCredentials_zendesk' - The connector-specific credentials required when using Zendesk.+newConnectorProfileCredentials ::+  ConnectorProfileCredentials+newConnectorProfileCredentials =+  ConnectorProfileCredentials'+    { amplitude =+        Prelude.Nothing,+      customConnector = Prelude.Nothing,+      datadog = Prelude.Nothing,+      dynatrace = Prelude.Nothing,+      googleAnalytics = Prelude.Nothing,+      honeycode = Prelude.Nothing,+      inforNexus = Prelude.Nothing,+      marketo = Prelude.Nothing,+      redshift = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      serviceNow = Prelude.Nothing,+      singular = Prelude.Nothing,+      slack = Prelude.Nothing,+      snowflake = Prelude.Nothing,+      trendmicro = Prelude.Nothing,+      veeva = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | The connector-specific credentials required when using Amplitude.+connectorProfileCredentials_amplitude :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe AmplitudeConnectorProfileCredentials)+connectorProfileCredentials_amplitude = Lens.lens (\ConnectorProfileCredentials' {amplitude} -> amplitude) (\s@ConnectorProfileCredentials' {} a -> s {amplitude = a} :: ConnectorProfileCredentials)++-- | Undocumented member.+connectorProfileCredentials_customConnector :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe CustomConnectorProfileCredentials)+connectorProfileCredentials_customConnector = Lens.lens (\ConnectorProfileCredentials' {customConnector} -> customConnector) (\s@ConnectorProfileCredentials' {} a -> s {customConnector = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Datadog.+connectorProfileCredentials_datadog :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe DatadogConnectorProfileCredentials)+connectorProfileCredentials_datadog = Lens.lens (\ConnectorProfileCredentials' {datadog} -> datadog) (\s@ConnectorProfileCredentials' {} a -> s {datadog = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Dynatrace.+connectorProfileCredentials_dynatrace :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe DynatraceConnectorProfileCredentials)+connectorProfileCredentials_dynatrace = Lens.lens (\ConnectorProfileCredentials' {dynatrace} -> dynatrace) (\s@ConnectorProfileCredentials' {} a -> s {dynatrace = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Google Analytics.+connectorProfileCredentials_googleAnalytics :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe GoogleAnalyticsConnectorProfileCredentials)+connectorProfileCredentials_googleAnalytics = Lens.lens (\ConnectorProfileCredentials' {googleAnalytics} -> googleAnalytics) (\s@ConnectorProfileCredentials' {} a -> s {googleAnalytics = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Amazon Honeycode.+connectorProfileCredentials_honeycode :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe HoneycodeConnectorProfileCredentials)+connectorProfileCredentials_honeycode = Lens.lens (\ConnectorProfileCredentials' {honeycode} -> honeycode) (\s@ConnectorProfileCredentials' {} a -> s {honeycode = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Infor Nexus.+connectorProfileCredentials_inforNexus :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe InforNexusConnectorProfileCredentials)+connectorProfileCredentials_inforNexus = Lens.lens (\ConnectorProfileCredentials' {inforNexus} -> inforNexus) (\s@ConnectorProfileCredentials' {} a -> s {inforNexus = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Marketo.+connectorProfileCredentials_marketo :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe MarketoConnectorProfileCredentials)+connectorProfileCredentials_marketo = Lens.lens (\ConnectorProfileCredentials' {marketo} -> marketo) (\s@ConnectorProfileCredentials' {} a -> s {marketo = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Amazon Redshift.+connectorProfileCredentials_redshift :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe RedshiftConnectorProfileCredentials)+connectorProfileCredentials_redshift = Lens.lens (\ConnectorProfileCredentials' {redshift} -> redshift) (\s@ConnectorProfileCredentials' {} a -> s {redshift = a} :: ConnectorProfileCredentials)++-- | Undocumented member.+connectorProfileCredentials_sAPOData :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe SAPODataConnectorProfileCredentials)+connectorProfileCredentials_sAPOData = Lens.lens (\ConnectorProfileCredentials' {sAPOData} -> sAPOData) (\s@ConnectorProfileCredentials' {} a -> s {sAPOData = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Salesforce.+connectorProfileCredentials_salesforce :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe SalesforceConnectorProfileCredentials)+connectorProfileCredentials_salesforce = Lens.lens (\ConnectorProfileCredentials' {salesforce} -> salesforce) (\s@ConnectorProfileCredentials' {} a -> s {salesforce = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using ServiceNow.+connectorProfileCredentials_serviceNow :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe ServiceNowConnectorProfileCredentials)+connectorProfileCredentials_serviceNow = Lens.lens (\ConnectorProfileCredentials' {serviceNow} -> serviceNow) (\s@ConnectorProfileCredentials' {} a -> s {serviceNow = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Singular.+connectorProfileCredentials_singular :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe SingularConnectorProfileCredentials)+connectorProfileCredentials_singular = Lens.lens (\ConnectorProfileCredentials' {singular} -> singular) (\s@ConnectorProfileCredentials' {} a -> s {singular = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Slack.+connectorProfileCredentials_slack :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe SlackConnectorProfileCredentials)+connectorProfileCredentials_slack = Lens.lens (\ConnectorProfileCredentials' {slack} -> slack) (\s@ConnectorProfileCredentials' {} a -> s {slack = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Snowflake.+connectorProfileCredentials_snowflake :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe SnowflakeConnectorProfileCredentials)+connectorProfileCredentials_snowflake = Lens.lens (\ConnectorProfileCredentials' {snowflake} -> snowflake) (\s@ConnectorProfileCredentials' {} a -> s {snowflake = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Trend Micro.+connectorProfileCredentials_trendmicro :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe TrendmicroConnectorProfileCredentials)+connectorProfileCredentials_trendmicro = Lens.lens (\ConnectorProfileCredentials' {trendmicro} -> trendmicro) (\s@ConnectorProfileCredentials' {} a -> s {trendmicro = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Veeva.+connectorProfileCredentials_veeva :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe VeevaConnectorProfileCredentials)+connectorProfileCredentials_veeva = Lens.lens (\ConnectorProfileCredentials' {veeva} -> veeva) (\s@ConnectorProfileCredentials' {} a -> s {veeva = a} :: ConnectorProfileCredentials)++-- | The connector-specific credentials required when using Zendesk.+connectorProfileCredentials_zendesk :: Lens.Lens' ConnectorProfileCredentials (Prelude.Maybe ZendeskConnectorProfileCredentials)+connectorProfileCredentials_zendesk = Lens.lens (\ConnectorProfileCredentials' {zendesk} -> zendesk) (\s@ConnectorProfileCredentials' {} a -> s {zendesk = a} :: ConnectorProfileCredentials)++instance Prelude.Hashable ConnectorProfileCredentials where+  hashWithSalt _salt ConnectorProfileCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` amplitude+      `Prelude.hashWithSalt` customConnector+      `Prelude.hashWithSalt` datadog+      `Prelude.hashWithSalt` dynatrace+      `Prelude.hashWithSalt` googleAnalytics+      `Prelude.hashWithSalt` honeycode+      `Prelude.hashWithSalt` inforNexus+      `Prelude.hashWithSalt` marketo+      `Prelude.hashWithSalt` redshift+      `Prelude.hashWithSalt` sAPOData+      `Prelude.hashWithSalt` salesforce+      `Prelude.hashWithSalt` serviceNow+      `Prelude.hashWithSalt` singular+      `Prelude.hashWithSalt` slack+      `Prelude.hashWithSalt` snowflake+      `Prelude.hashWithSalt` trendmicro+      `Prelude.hashWithSalt` veeva+      `Prelude.hashWithSalt` zendesk++instance Prelude.NFData ConnectorProfileCredentials where+  rnf ConnectorProfileCredentials' {..} =+    Prelude.rnf amplitude+      `Prelude.seq` Prelude.rnf customConnector+      `Prelude.seq` Prelude.rnf datadog+      `Prelude.seq` Prelude.rnf dynatrace+      `Prelude.seq` Prelude.rnf googleAnalytics+      `Prelude.seq` Prelude.rnf honeycode+      `Prelude.seq` Prelude.rnf inforNexus+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf redshift+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf serviceNow+      `Prelude.seq` Prelude.rnf singular+      `Prelude.seq` Prelude.rnf slack+      `Prelude.seq` Prelude.rnf snowflake+      `Prelude.seq` Prelude.rnf trendmicro+      `Prelude.seq` Prelude.rnf veeva+      `Prelude.seq` Prelude.rnf zendesk++instance Data.ToJSON ConnectorProfileCredentials where+  toJSON ConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Amplitude" Data..=) Prelude.<$> amplitude,+            ("CustomConnector" Data..=)+              Prelude.<$> customConnector,+            ("Datadog" Data..=) Prelude.<$> datadog,+            ("Dynatrace" Data..=) Prelude.<$> dynatrace,+            ("GoogleAnalytics" Data..=)+              Prelude.<$> googleAnalytics,+            ("Honeycode" Data..=) Prelude.<$> honeycode,+            ("InforNexus" Data..=) Prelude.<$> inforNexus,+            ("Marketo" Data..=) Prelude.<$> marketo,+            ("Redshift" Data..=) Prelude.<$> redshift,+            ("SAPOData" Data..=) Prelude.<$> sAPOData,+            ("Salesforce" Data..=) Prelude.<$> salesforce,+            ("ServiceNow" Data..=) Prelude.<$> serviceNow,+            ("Singular" Data..=) Prelude.<$> singular,+            ("Slack" Data..=) Prelude.<$> slack,+            ("Snowflake" Data..=) Prelude.<$> snowflake,+            ("Trendmicro" Data..=) Prelude.<$> trendmicro,+            ("Veeva" Data..=) Prelude.<$> veeva,+            ("Zendesk" Data..=) Prelude.<$> zendesk+          ]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorProfileProperties.hs view
@@ -0,0 +1,321 @@+{-# 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.AppFlow.Types.ConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProfileProperties where++import Amazonka.AppFlow.Types.AmplitudeConnectorProfileProperties+import Amazonka.AppFlow.Types.CustomConnectorProfileProperties+import Amazonka.AppFlow.Types.DatadogConnectorProfileProperties+import Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties+import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties+import Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties+import Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties+import Amazonka.AppFlow.Types.MarketoConnectorProfileProperties+import Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties+import Amazonka.AppFlow.Types.SAPODataConnectorProfileProperties+import Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties+import Amazonka.AppFlow.Types.ServiceNowConnectorProfileProperties+import Amazonka.AppFlow.Types.SingularConnectorProfileProperties+import Amazonka.AppFlow.Types.SlackConnectorProfileProperties+import Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties+import Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties+import Amazonka.AppFlow.Types.VeevaConnectorProfileProperties+import Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties+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 connector-specific profile properties required by each connector.+--+-- /See:/ 'newConnectorProfileProperties' smart constructor.+data ConnectorProfileProperties = ConnectorProfileProperties'+  { -- | The connector-specific properties required by Amplitude.+    amplitude :: Prelude.Maybe AmplitudeConnectorProfileProperties,+    -- | The properties required by the custom connector.+    customConnector :: Prelude.Maybe CustomConnectorProfileProperties,+    -- | The connector-specific properties required by Datadog.+    datadog :: Prelude.Maybe DatadogConnectorProfileProperties,+    -- | The connector-specific properties required by Dynatrace.+    dynatrace :: Prelude.Maybe DynatraceConnectorProfileProperties,+    -- | The connector-specific properties required Google Analytics.+    googleAnalytics :: Prelude.Maybe GoogleAnalyticsConnectorProfileProperties,+    -- | The connector-specific properties required by Amazon Honeycode.+    honeycode :: Prelude.Maybe HoneycodeConnectorProfileProperties,+    -- | The connector-specific properties required by Infor Nexus.+    inforNexus :: Prelude.Maybe InforNexusConnectorProfileProperties,+    -- | The connector-specific properties required by Marketo.+    marketo :: Prelude.Maybe MarketoConnectorProfileProperties,+    -- | The connector-specific properties required by Amazon Redshift.+    redshift :: Prelude.Maybe RedshiftConnectorProfileProperties,+    sAPOData :: Prelude.Maybe SAPODataConnectorProfileProperties,+    -- | The connector-specific properties required by Salesforce.+    salesforce :: Prelude.Maybe SalesforceConnectorProfileProperties,+    -- | The connector-specific properties required by serviceNow.+    serviceNow :: Prelude.Maybe ServiceNowConnectorProfileProperties,+    -- | The connector-specific properties required by Singular.+    singular :: Prelude.Maybe SingularConnectorProfileProperties,+    -- | The connector-specific properties required by Slack.+    slack :: Prelude.Maybe SlackConnectorProfileProperties,+    -- | The connector-specific properties required by Snowflake.+    snowflake :: Prelude.Maybe SnowflakeConnectorProfileProperties,+    -- | The connector-specific properties required by Trend Micro.+    trendmicro :: Prelude.Maybe TrendmicroConnectorProfileProperties,+    -- | The connector-specific properties required by Veeva.+    veeva :: Prelude.Maybe VeevaConnectorProfileProperties,+    -- | The connector-specific properties required by Zendesk.+    zendesk :: Prelude.Maybe ZendeskConnectorProfileProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplitude', 'connectorProfileProperties_amplitude' - The connector-specific properties required by Amplitude.+--+-- 'customConnector', 'connectorProfileProperties_customConnector' - The properties required by the custom connector.+--+-- 'datadog', 'connectorProfileProperties_datadog' - The connector-specific properties required by Datadog.+--+-- 'dynatrace', 'connectorProfileProperties_dynatrace' - The connector-specific properties required by Dynatrace.+--+-- 'googleAnalytics', 'connectorProfileProperties_googleAnalytics' - The connector-specific properties required Google Analytics.+--+-- 'honeycode', 'connectorProfileProperties_honeycode' - The connector-specific properties required by Amazon Honeycode.+--+-- 'inforNexus', 'connectorProfileProperties_inforNexus' - The connector-specific properties required by Infor Nexus.+--+-- 'marketo', 'connectorProfileProperties_marketo' - The connector-specific properties required by Marketo.+--+-- 'redshift', 'connectorProfileProperties_redshift' - The connector-specific properties required by Amazon Redshift.+--+-- 'sAPOData', 'connectorProfileProperties_sAPOData' - Undocumented member.+--+-- 'salesforce', 'connectorProfileProperties_salesforce' - The connector-specific properties required by Salesforce.+--+-- 'serviceNow', 'connectorProfileProperties_serviceNow' - The connector-specific properties required by serviceNow.+--+-- 'singular', 'connectorProfileProperties_singular' - The connector-specific properties required by Singular.+--+-- 'slack', 'connectorProfileProperties_slack' - The connector-specific properties required by Slack.+--+-- 'snowflake', 'connectorProfileProperties_snowflake' - The connector-specific properties required by Snowflake.+--+-- 'trendmicro', 'connectorProfileProperties_trendmicro' - The connector-specific properties required by Trend Micro.+--+-- 'veeva', 'connectorProfileProperties_veeva' - The connector-specific properties required by Veeva.+--+-- 'zendesk', 'connectorProfileProperties_zendesk' - The connector-specific properties required by Zendesk.+newConnectorProfileProperties ::+  ConnectorProfileProperties+newConnectorProfileProperties =+  ConnectorProfileProperties'+    { amplitude =+        Prelude.Nothing,+      customConnector = Prelude.Nothing,+      datadog = Prelude.Nothing,+      dynatrace = Prelude.Nothing,+      googleAnalytics = Prelude.Nothing,+      honeycode = Prelude.Nothing,+      inforNexus = Prelude.Nothing,+      marketo = Prelude.Nothing,+      redshift = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      serviceNow = Prelude.Nothing,+      singular = Prelude.Nothing,+      slack = Prelude.Nothing,+      snowflake = Prelude.Nothing,+      trendmicro = Prelude.Nothing,+      veeva = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | The connector-specific properties required by Amplitude.+connectorProfileProperties_amplitude :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe AmplitudeConnectorProfileProperties)+connectorProfileProperties_amplitude = Lens.lens (\ConnectorProfileProperties' {amplitude} -> amplitude) (\s@ConnectorProfileProperties' {} a -> s {amplitude = a} :: ConnectorProfileProperties)++-- | The properties required by the custom connector.+connectorProfileProperties_customConnector :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe CustomConnectorProfileProperties)+connectorProfileProperties_customConnector = Lens.lens (\ConnectorProfileProperties' {customConnector} -> customConnector) (\s@ConnectorProfileProperties' {} a -> s {customConnector = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Datadog.+connectorProfileProperties_datadog :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe DatadogConnectorProfileProperties)+connectorProfileProperties_datadog = Lens.lens (\ConnectorProfileProperties' {datadog} -> datadog) (\s@ConnectorProfileProperties' {} a -> s {datadog = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Dynatrace.+connectorProfileProperties_dynatrace :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe DynatraceConnectorProfileProperties)+connectorProfileProperties_dynatrace = Lens.lens (\ConnectorProfileProperties' {dynatrace} -> dynatrace) (\s@ConnectorProfileProperties' {} a -> s {dynatrace = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required Google Analytics.+connectorProfileProperties_googleAnalytics :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe GoogleAnalyticsConnectorProfileProperties)+connectorProfileProperties_googleAnalytics = Lens.lens (\ConnectorProfileProperties' {googleAnalytics} -> googleAnalytics) (\s@ConnectorProfileProperties' {} a -> s {googleAnalytics = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Amazon Honeycode.+connectorProfileProperties_honeycode :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe HoneycodeConnectorProfileProperties)+connectorProfileProperties_honeycode = Lens.lens (\ConnectorProfileProperties' {honeycode} -> honeycode) (\s@ConnectorProfileProperties' {} a -> s {honeycode = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Infor Nexus.+connectorProfileProperties_inforNexus :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe InforNexusConnectorProfileProperties)+connectorProfileProperties_inforNexus = Lens.lens (\ConnectorProfileProperties' {inforNexus} -> inforNexus) (\s@ConnectorProfileProperties' {} a -> s {inforNexus = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Marketo.+connectorProfileProperties_marketo :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe MarketoConnectorProfileProperties)+connectorProfileProperties_marketo = Lens.lens (\ConnectorProfileProperties' {marketo} -> marketo) (\s@ConnectorProfileProperties' {} a -> s {marketo = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Amazon Redshift.+connectorProfileProperties_redshift :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe RedshiftConnectorProfileProperties)+connectorProfileProperties_redshift = Lens.lens (\ConnectorProfileProperties' {redshift} -> redshift) (\s@ConnectorProfileProperties' {} a -> s {redshift = a} :: ConnectorProfileProperties)++-- | Undocumented member.+connectorProfileProperties_sAPOData :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe SAPODataConnectorProfileProperties)+connectorProfileProperties_sAPOData = Lens.lens (\ConnectorProfileProperties' {sAPOData} -> sAPOData) (\s@ConnectorProfileProperties' {} a -> s {sAPOData = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Salesforce.+connectorProfileProperties_salesforce :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe SalesforceConnectorProfileProperties)+connectorProfileProperties_salesforce = Lens.lens (\ConnectorProfileProperties' {salesforce} -> salesforce) (\s@ConnectorProfileProperties' {} a -> s {salesforce = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by serviceNow.+connectorProfileProperties_serviceNow :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe ServiceNowConnectorProfileProperties)+connectorProfileProperties_serviceNow = Lens.lens (\ConnectorProfileProperties' {serviceNow} -> serviceNow) (\s@ConnectorProfileProperties' {} a -> s {serviceNow = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Singular.+connectorProfileProperties_singular :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe SingularConnectorProfileProperties)+connectorProfileProperties_singular = Lens.lens (\ConnectorProfileProperties' {singular} -> singular) (\s@ConnectorProfileProperties' {} a -> s {singular = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Slack.+connectorProfileProperties_slack :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe SlackConnectorProfileProperties)+connectorProfileProperties_slack = Lens.lens (\ConnectorProfileProperties' {slack} -> slack) (\s@ConnectorProfileProperties' {} a -> s {slack = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Snowflake.+connectorProfileProperties_snowflake :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe SnowflakeConnectorProfileProperties)+connectorProfileProperties_snowflake = Lens.lens (\ConnectorProfileProperties' {snowflake} -> snowflake) (\s@ConnectorProfileProperties' {} a -> s {snowflake = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Trend Micro.+connectorProfileProperties_trendmicro :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe TrendmicroConnectorProfileProperties)+connectorProfileProperties_trendmicro = Lens.lens (\ConnectorProfileProperties' {trendmicro} -> trendmicro) (\s@ConnectorProfileProperties' {} a -> s {trendmicro = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Veeva.+connectorProfileProperties_veeva :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe VeevaConnectorProfileProperties)+connectorProfileProperties_veeva = Lens.lens (\ConnectorProfileProperties' {veeva} -> veeva) (\s@ConnectorProfileProperties' {} a -> s {veeva = a} :: ConnectorProfileProperties)++-- | The connector-specific properties required by Zendesk.+connectorProfileProperties_zendesk :: Lens.Lens' ConnectorProfileProperties (Prelude.Maybe ZendeskConnectorProfileProperties)+connectorProfileProperties_zendesk = Lens.lens (\ConnectorProfileProperties' {zendesk} -> zendesk) (\s@ConnectorProfileProperties' {} a -> s {zendesk = a} :: ConnectorProfileProperties)++instance Data.FromJSON ConnectorProfileProperties where+  parseJSON =+    Data.withObject+      "ConnectorProfileProperties"+      ( \x ->+          ConnectorProfileProperties'+            Prelude.<$> (x Data..:? "Amplitude")+            Prelude.<*> (x Data..:? "CustomConnector")+            Prelude.<*> (x Data..:? "Datadog")+            Prelude.<*> (x Data..:? "Dynatrace")+            Prelude.<*> (x Data..:? "GoogleAnalytics")+            Prelude.<*> (x Data..:? "Honeycode")+            Prelude.<*> (x Data..:? "InforNexus")+            Prelude.<*> (x Data..:? "Marketo")+            Prelude.<*> (x Data..:? "Redshift")+            Prelude.<*> (x Data..:? "SAPOData")+            Prelude.<*> (x Data..:? "Salesforce")+            Prelude.<*> (x Data..:? "ServiceNow")+            Prelude.<*> (x Data..:? "Singular")+            Prelude.<*> (x Data..:? "Slack")+            Prelude.<*> (x Data..:? "Snowflake")+            Prelude.<*> (x Data..:? "Trendmicro")+            Prelude.<*> (x Data..:? "Veeva")+            Prelude.<*> (x Data..:? "Zendesk")+      )++instance Prelude.Hashable ConnectorProfileProperties where+  hashWithSalt _salt ConnectorProfileProperties' {..} =+    _salt+      `Prelude.hashWithSalt` amplitude+      `Prelude.hashWithSalt` customConnector+      `Prelude.hashWithSalt` datadog+      `Prelude.hashWithSalt` dynatrace+      `Prelude.hashWithSalt` googleAnalytics+      `Prelude.hashWithSalt` honeycode+      `Prelude.hashWithSalt` inforNexus+      `Prelude.hashWithSalt` marketo+      `Prelude.hashWithSalt` redshift+      `Prelude.hashWithSalt` sAPOData+      `Prelude.hashWithSalt` salesforce+      `Prelude.hashWithSalt` serviceNow+      `Prelude.hashWithSalt` singular+      `Prelude.hashWithSalt` slack+      `Prelude.hashWithSalt` snowflake+      `Prelude.hashWithSalt` trendmicro+      `Prelude.hashWithSalt` veeva+      `Prelude.hashWithSalt` zendesk++instance Prelude.NFData ConnectorProfileProperties where+  rnf ConnectorProfileProperties' {..} =+    Prelude.rnf amplitude+      `Prelude.seq` Prelude.rnf customConnector+      `Prelude.seq` Prelude.rnf datadog+      `Prelude.seq` Prelude.rnf dynatrace+      `Prelude.seq` Prelude.rnf googleAnalytics+      `Prelude.seq` Prelude.rnf honeycode+      `Prelude.seq` Prelude.rnf inforNexus+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf redshift+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf serviceNow+      `Prelude.seq` Prelude.rnf singular+      `Prelude.seq` Prelude.rnf slack+      `Prelude.seq` Prelude.rnf snowflake+      `Prelude.seq` Prelude.rnf trendmicro+      `Prelude.seq` Prelude.rnf veeva+      `Prelude.seq` Prelude.rnf zendesk++instance Data.ToJSON ConnectorProfileProperties where+  toJSON ConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Amplitude" Data..=) Prelude.<$> amplitude,+            ("CustomConnector" Data..=)+              Prelude.<$> customConnector,+            ("Datadog" Data..=) Prelude.<$> datadog,+            ("Dynatrace" Data..=) Prelude.<$> dynatrace,+            ("GoogleAnalytics" Data..=)+              Prelude.<$> googleAnalytics,+            ("Honeycode" Data..=) Prelude.<$> honeycode,+            ("InforNexus" Data..=) Prelude.<$> inforNexus,+            ("Marketo" Data..=) Prelude.<$> marketo,+            ("Redshift" Data..=) Prelude.<$> redshift,+            ("SAPOData" Data..=) Prelude.<$> sAPOData,+            ("Salesforce" Data..=) Prelude.<$> salesforce,+            ("ServiceNow" Data..=) Prelude.<$> serviceNow,+            ("Singular" Data..=) Prelude.<$> singular,+            ("Slack" Data..=) Prelude.<$> slack,+            ("Snowflake" Data..=) Prelude.<$> snowflake,+            ("Trendmicro" Data..=) Prelude.<$> trendmicro,+            ("Veeva" Data..=) Prelude.<$> veeva,+            ("Zendesk" Data..=) Prelude.<$> zendesk+          ]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorProvisioningConfig.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorProvisioningConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProvisioningConfig where++import Amazonka.AppFlow.Types.LambdaConnectorProvisioningConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the configuration of the connector being+-- registered.+--+-- /See:/ 'newConnectorProvisioningConfig' smart constructor.+data ConnectorProvisioningConfig = ConnectorProvisioningConfig'+  { -- | Contains information about the configuration of the lambda which is+    -- being registered as the connector.+    lambda :: Prelude.Maybe LambdaConnectorProvisioningConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorProvisioningConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lambda', 'connectorProvisioningConfig_lambda' - Contains information about the configuration of the lambda which is+-- being registered as the connector.+newConnectorProvisioningConfig ::+  ConnectorProvisioningConfig+newConnectorProvisioningConfig =+  ConnectorProvisioningConfig'+    { lambda =+        Prelude.Nothing+    }++-- | Contains information about the configuration of the lambda which is+-- being registered as the connector.+connectorProvisioningConfig_lambda :: Lens.Lens' ConnectorProvisioningConfig (Prelude.Maybe LambdaConnectorProvisioningConfig)+connectorProvisioningConfig_lambda = Lens.lens (\ConnectorProvisioningConfig' {lambda} -> lambda) (\s@ConnectorProvisioningConfig' {} a -> s {lambda = a} :: ConnectorProvisioningConfig)++instance Data.FromJSON ConnectorProvisioningConfig where+  parseJSON =+    Data.withObject+      "ConnectorProvisioningConfig"+      ( \x ->+          ConnectorProvisioningConfig'+            Prelude.<$> (x Data..:? "lambda")+      )++instance Prelude.Hashable ConnectorProvisioningConfig where+  hashWithSalt _salt ConnectorProvisioningConfig' {..} =+    _salt `Prelude.hashWithSalt` lambda++instance Prelude.NFData ConnectorProvisioningConfig where+  rnf ConnectorProvisioningConfig' {..} =+    Prelude.rnf lambda++instance Data.ToJSON ConnectorProvisioningConfig where+  toJSON ConnectorProvisioningConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [("lambda" Data..=) Prelude.<$> lambda]+      )
+ gen/Amazonka/AppFlow/Types/ConnectorProvisioningType.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorProvisioningType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorProvisioningType+  ( ConnectorProvisioningType+      ( ..,+        ConnectorProvisioningType_LAMBDA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of provisioning that the connector supports, such as Lambda.+newtype ConnectorProvisioningType = ConnectorProvisioningType'+  { fromConnectorProvisioningType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConnectorProvisioningType_LAMBDA :: ConnectorProvisioningType+pattern ConnectorProvisioningType_LAMBDA = ConnectorProvisioningType' "LAMBDA"++{-# COMPLETE+  ConnectorProvisioningType_LAMBDA,+  ConnectorProvisioningType'+  #-}
+ gen/Amazonka/AppFlow/Types/ConnectorRuntimeSetting.hs view
@@ -0,0 +1,152 @@+{-# 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.AppFlow.Types.ConnectorRuntimeSetting+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorRuntimeSetting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the connector runtime settings that are+-- required for flow execution.+--+-- /See:/ 'newConnectorRuntimeSetting' smart constructor.+data ConnectorRuntimeSetting = ConnectorRuntimeSetting'+  { -- | Contains default values for the connector runtime setting that are+    -- supplied by the connector.+    connectorSuppliedValueOptions :: Prelude.Maybe [Prelude.Text],+    -- | Data type of the connector runtime setting.+    dataType :: Prelude.Maybe Prelude.Text,+    -- | A description about the connector runtime setting.+    description :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether this connector runtime setting is required.+    isRequired :: Prelude.Maybe Prelude.Bool,+    -- | Contains value information about the connector runtime setting.+    key :: Prelude.Maybe Prelude.Text,+    -- | A label used for connector runtime setting.+    label :: Prelude.Maybe Prelude.Text,+    -- | Indicates the scope of the connector runtime setting.+    scope :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectorRuntimeSetting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorSuppliedValueOptions', 'connectorRuntimeSetting_connectorSuppliedValueOptions' - Contains default values for the connector runtime setting that are+-- supplied by the connector.+--+-- 'dataType', 'connectorRuntimeSetting_dataType' - Data type of the connector runtime setting.+--+-- 'description', 'connectorRuntimeSetting_description' - A description about the connector runtime setting.+--+-- 'isRequired', 'connectorRuntimeSetting_isRequired' - Indicates whether this connector runtime setting is required.+--+-- 'key', 'connectorRuntimeSetting_key' - Contains value information about the connector runtime setting.+--+-- 'label', 'connectorRuntimeSetting_label' - A label used for connector runtime setting.+--+-- 'scope', 'connectorRuntimeSetting_scope' - Indicates the scope of the connector runtime setting.+newConnectorRuntimeSetting ::+  ConnectorRuntimeSetting+newConnectorRuntimeSetting =+  ConnectorRuntimeSetting'+    { connectorSuppliedValueOptions =+        Prelude.Nothing,+      dataType = Prelude.Nothing,+      description = Prelude.Nothing,+      isRequired = Prelude.Nothing,+      key = Prelude.Nothing,+      label = Prelude.Nothing,+      scope = Prelude.Nothing+    }++-- | Contains default values for the connector runtime setting that are+-- supplied by the connector.+connectorRuntimeSetting_connectorSuppliedValueOptions :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe [Prelude.Text])+connectorRuntimeSetting_connectorSuppliedValueOptions = Lens.lens (\ConnectorRuntimeSetting' {connectorSuppliedValueOptions} -> connectorSuppliedValueOptions) (\s@ConnectorRuntimeSetting' {} a -> s {connectorSuppliedValueOptions = a} :: ConnectorRuntimeSetting) Prelude.. Lens.mapping Lens.coerced++-- | Data type of the connector runtime setting.+connectorRuntimeSetting_dataType :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Text)+connectorRuntimeSetting_dataType = Lens.lens (\ConnectorRuntimeSetting' {dataType} -> dataType) (\s@ConnectorRuntimeSetting' {} a -> s {dataType = a} :: ConnectorRuntimeSetting)++-- | A description about the connector runtime setting.+connectorRuntimeSetting_description :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Text)+connectorRuntimeSetting_description = Lens.lens (\ConnectorRuntimeSetting' {description} -> description) (\s@ConnectorRuntimeSetting' {} a -> s {description = a} :: ConnectorRuntimeSetting)++-- | Indicates whether this connector runtime setting is required.+connectorRuntimeSetting_isRequired :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Bool)+connectorRuntimeSetting_isRequired = Lens.lens (\ConnectorRuntimeSetting' {isRequired} -> isRequired) (\s@ConnectorRuntimeSetting' {} a -> s {isRequired = a} :: ConnectorRuntimeSetting)++-- | Contains value information about the connector runtime setting.+connectorRuntimeSetting_key :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Text)+connectorRuntimeSetting_key = Lens.lens (\ConnectorRuntimeSetting' {key} -> key) (\s@ConnectorRuntimeSetting' {} a -> s {key = a} :: ConnectorRuntimeSetting)++-- | A label used for connector runtime setting.+connectorRuntimeSetting_label :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Text)+connectorRuntimeSetting_label = Lens.lens (\ConnectorRuntimeSetting' {label} -> label) (\s@ConnectorRuntimeSetting' {} a -> s {label = a} :: ConnectorRuntimeSetting)++-- | Indicates the scope of the connector runtime setting.+connectorRuntimeSetting_scope :: Lens.Lens' ConnectorRuntimeSetting (Prelude.Maybe Prelude.Text)+connectorRuntimeSetting_scope = Lens.lens (\ConnectorRuntimeSetting' {scope} -> scope) (\s@ConnectorRuntimeSetting' {} a -> s {scope = a} :: ConnectorRuntimeSetting)++instance Data.FromJSON ConnectorRuntimeSetting where+  parseJSON =+    Data.withObject+      "ConnectorRuntimeSetting"+      ( \x ->+          ConnectorRuntimeSetting'+            Prelude.<$> ( x+                            Data..:? "connectorSuppliedValueOptions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "dataType")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "isRequired")+            Prelude.<*> (x Data..:? "key")+            Prelude.<*> (x Data..:? "label")+            Prelude.<*> (x Data..:? "scope")+      )++instance Prelude.Hashable ConnectorRuntimeSetting where+  hashWithSalt _salt ConnectorRuntimeSetting' {..} =+    _salt+      `Prelude.hashWithSalt` connectorSuppliedValueOptions+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` isRequired+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` scope++instance Prelude.NFData ConnectorRuntimeSetting where+  rnf ConnectorRuntimeSetting' {..} =+    Prelude.rnf connectorSuppliedValueOptions+      `Prelude.seq` Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf isRequired+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf label+      `Prelude.seq` Prelude.rnf scope
+ gen/Amazonka/AppFlow/Types/ConnectorType.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ConnectorType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ConnectorType+  ( ConnectorType+      ( ..,+        ConnectorType_Amplitude,+        ConnectorType_CustomConnector,+        ConnectorType_CustomerProfiles,+        ConnectorType_Datadog,+        ConnectorType_Dynatrace,+        ConnectorType_EventBridge,+        ConnectorType_Googleanalytics,+        ConnectorType_Honeycode,+        ConnectorType_Infornexus,+        ConnectorType_LookoutMetrics,+        ConnectorType_Marketo,+        ConnectorType_Redshift,+        ConnectorType_S3,+        ConnectorType_SAPOData,+        ConnectorType_Salesforce,+        ConnectorType_Servicenow,+        ConnectorType_Singular,+        ConnectorType_Slack,+        ConnectorType_Snowflake,+        ConnectorType_Trendmicro,+        ConnectorType_Upsolver,+        ConnectorType_Veeva,+        ConnectorType_Zendesk+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectorType = ConnectorType'+  { fromConnectorType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConnectorType_Amplitude :: ConnectorType+pattern ConnectorType_Amplitude = ConnectorType' "Amplitude"++pattern ConnectorType_CustomConnector :: ConnectorType+pattern ConnectorType_CustomConnector = ConnectorType' "CustomConnector"++pattern ConnectorType_CustomerProfiles :: ConnectorType+pattern ConnectorType_CustomerProfiles = ConnectorType' "CustomerProfiles"++pattern ConnectorType_Datadog :: ConnectorType+pattern ConnectorType_Datadog = ConnectorType' "Datadog"++pattern ConnectorType_Dynatrace :: ConnectorType+pattern ConnectorType_Dynatrace = ConnectorType' "Dynatrace"++pattern ConnectorType_EventBridge :: ConnectorType+pattern ConnectorType_EventBridge = ConnectorType' "EventBridge"++pattern ConnectorType_Googleanalytics :: ConnectorType+pattern ConnectorType_Googleanalytics = ConnectorType' "Googleanalytics"++pattern ConnectorType_Honeycode :: ConnectorType+pattern ConnectorType_Honeycode = ConnectorType' "Honeycode"++pattern ConnectorType_Infornexus :: ConnectorType+pattern ConnectorType_Infornexus = ConnectorType' "Infornexus"++pattern ConnectorType_LookoutMetrics :: ConnectorType+pattern ConnectorType_LookoutMetrics = ConnectorType' "LookoutMetrics"++pattern ConnectorType_Marketo :: ConnectorType+pattern ConnectorType_Marketo = ConnectorType' "Marketo"++pattern ConnectorType_Redshift :: ConnectorType+pattern ConnectorType_Redshift = ConnectorType' "Redshift"++pattern ConnectorType_S3 :: ConnectorType+pattern ConnectorType_S3 = ConnectorType' "S3"++pattern ConnectorType_SAPOData :: ConnectorType+pattern ConnectorType_SAPOData = ConnectorType' "SAPOData"++pattern ConnectorType_Salesforce :: ConnectorType+pattern ConnectorType_Salesforce = ConnectorType' "Salesforce"++pattern ConnectorType_Servicenow :: ConnectorType+pattern ConnectorType_Servicenow = ConnectorType' "Servicenow"++pattern ConnectorType_Singular :: ConnectorType+pattern ConnectorType_Singular = ConnectorType' "Singular"++pattern ConnectorType_Slack :: ConnectorType+pattern ConnectorType_Slack = ConnectorType' "Slack"++pattern ConnectorType_Snowflake :: ConnectorType+pattern ConnectorType_Snowflake = ConnectorType' "Snowflake"++pattern ConnectorType_Trendmicro :: ConnectorType+pattern ConnectorType_Trendmicro = ConnectorType' "Trendmicro"++pattern ConnectorType_Upsolver :: ConnectorType+pattern ConnectorType_Upsolver = ConnectorType' "Upsolver"++pattern ConnectorType_Veeva :: ConnectorType+pattern ConnectorType_Veeva = ConnectorType' "Veeva"++pattern ConnectorType_Zendesk :: ConnectorType+pattern ConnectorType_Zendesk = ConnectorType' "Zendesk"++{-# COMPLETE+  ConnectorType_Amplitude,+  ConnectorType_CustomConnector,+  ConnectorType_CustomerProfiles,+  ConnectorType_Datadog,+  ConnectorType_Dynatrace,+  ConnectorType_EventBridge,+  ConnectorType_Googleanalytics,+  ConnectorType_Honeycode,+  ConnectorType_Infornexus,+  ConnectorType_LookoutMetrics,+  ConnectorType_Marketo,+  ConnectorType_Redshift,+  ConnectorType_S3,+  ConnectorType_SAPOData,+  ConnectorType_Salesforce,+  ConnectorType_Servicenow,+  ConnectorType_Singular,+  ConnectorType_Slack,+  ConnectorType_Snowflake,+  ConnectorType_Trendmicro,+  ConnectorType_Upsolver,+  ConnectorType_Veeva,+  ConnectorType_Zendesk,+  ConnectorType'+  #-}
+ gen/Amazonka/AppFlow/Types/CustomAuthConfig.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomAuthConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomAuthConfig where++import Amazonka.AppFlow.Types.AuthParameter+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Configuration information required for custom authentication.+--+-- /See:/ 'newCustomAuthConfig' smart constructor.+data CustomAuthConfig = CustomAuthConfig'+  { -- | Information about authentication parameters required for authentication.+    authParameters :: Prelude.Maybe [AuthParameter],+    -- | The authentication type that the custom connector uses.+    customAuthenticationType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomAuthConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authParameters', 'customAuthConfig_authParameters' - Information about authentication parameters required for authentication.+--+-- 'customAuthenticationType', 'customAuthConfig_customAuthenticationType' - The authentication type that the custom connector uses.+newCustomAuthConfig ::+  CustomAuthConfig+newCustomAuthConfig =+  CustomAuthConfig'+    { authParameters = Prelude.Nothing,+      customAuthenticationType = Prelude.Nothing+    }++-- | Information about authentication parameters required for authentication.+customAuthConfig_authParameters :: Lens.Lens' CustomAuthConfig (Prelude.Maybe [AuthParameter])+customAuthConfig_authParameters = Lens.lens (\CustomAuthConfig' {authParameters} -> authParameters) (\s@CustomAuthConfig' {} a -> s {authParameters = a} :: CustomAuthConfig) Prelude.. Lens.mapping Lens.coerced++-- | The authentication type that the custom connector uses.+customAuthConfig_customAuthenticationType :: Lens.Lens' CustomAuthConfig (Prelude.Maybe Prelude.Text)+customAuthConfig_customAuthenticationType = Lens.lens (\CustomAuthConfig' {customAuthenticationType} -> customAuthenticationType) (\s@CustomAuthConfig' {} a -> s {customAuthenticationType = a} :: CustomAuthConfig)++instance Data.FromJSON CustomAuthConfig where+  parseJSON =+    Data.withObject+      "CustomAuthConfig"+      ( \x ->+          CustomAuthConfig'+            Prelude.<$> (x Data..:? "authParameters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "customAuthenticationType")+      )++instance Prelude.Hashable CustomAuthConfig where+  hashWithSalt _salt CustomAuthConfig' {..} =+    _salt+      `Prelude.hashWithSalt` authParameters+      `Prelude.hashWithSalt` customAuthenticationType++instance Prelude.NFData CustomAuthConfig where+  rnf CustomAuthConfig' {..} =+    Prelude.rnf authParameters+      `Prelude.seq` Prelude.rnf customAuthenticationType
+ gen/Amazonka/AppFlow/Types/CustomAuthCredentials.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomAuthCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomAuthCredentials 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 custom credentials required for custom authentication.+--+-- /See:/ 'newCustomAuthCredentials' smart constructor.+data CustomAuthCredentials = CustomAuthCredentials'+  { -- | A map that holds custom authentication credentials.+    credentialsMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),+    -- | The custom authentication type that the connector uses.+    customAuthenticationType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomAuthCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'credentialsMap', 'customAuthCredentials_credentialsMap' - A map that holds custom authentication credentials.+--+-- 'customAuthenticationType', 'customAuthCredentials_customAuthenticationType' - The custom authentication type that the connector uses.+newCustomAuthCredentials ::+  -- | 'customAuthenticationType'+  Prelude.Text ->+  CustomAuthCredentials+newCustomAuthCredentials pCustomAuthenticationType_ =+  CustomAuthCredentials'+    { credentialsMap =+        Prelude.Nothing,+      customAuthenticationType =+        pCustomAuthenticationType_+    }++-- | A map that holds custom authentication credentials.+customAuthCredentials_credentialsMap :: Lens.Lens' CustomAuthCredentials (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+customAuthCredentials_credentialsMap = Lens.lens (\CustomAuthCredentials' {credentialsMap} -> credentialsMap) (\s@CustomAuthCredentials' {} a -> s {credentialsMap = a} :: CustomAuthCredentials) Prelude.. Lens.mapping Lens.coerced++-- | The custom authentication type that the connector uses.+customAuthCredentials_customAuthenticationType :: Lens.Lens' CustomAuthCredentials Prelude.Text+customAuthCredentials_customAuthenticationType = Lens.lens (\CustomAuthCredentials' {customAuthenticationType} -> customAuthenticationType) (\s@CustomAuthCredentials' {} a -> s {customAuthenticationType = a} :: CustomAuthCredentials)++instance Prelude.Hashable CustomAuthCredentials where+  hashWithSalt _salt CustomAuthCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` credentialsMap+      `Prelude.hashWithSalt` customAuthenticationType++instance Prelude.NFData CustomAuthCredentials where+  rnf CustomAuthCredentials' {..} =+    Prelude.rnf credentialsMap+      `Prelude.seq` Prelude.rnf customAuthenticationType++instance Data.ToJSON CustomAuthCredentials where+  toJSON CustomAuthCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("credentialsMap" Data..=)+              Prelude.<$> credentialsMap,+            Prelude.Just+              ( "customAuthenticationType"+                  Data..= customAuthenticationType+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomConnectorDestinationProperties.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomConnectorDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomConnectorDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.WriteOperationType+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 properties that are applied when the custom connector is being used+-- as a destination.+--+-- /See:/ 'newCustomConnectorDestinationProperties' smart constructor.+data CustomConnectorDestinationProperties = CustomConnectorDestinationProperties'+  { -- | The custom properties that are specific to the connector when it\'s used+    -- as a destination in the flow.+    customProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The settings that determine how Amazon AppFlow handles an error when+    -- placing data in the custom connector as destination.+    errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The name of the field that Amazon AppFlow uses as an ID when performing+    -- a write operation such as update, delete, or upsert.+    idFieldNames :: Prelude.Maybe [Prelude.Text],+    -- | Specifies the type of write operation to be performed in the custom+    -- connector when it\'s used as destination.+    writeOperationType :: Prelude.Maybe WriteOperationType,+    -- | The entity specified in the custom connector as a destination in the+    -- flow.+    entityName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomConnectorDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customProperties', 'customConnectorDestinationProperties_customProperties' - The custom properties that are specific to the connector when it\'s used+-- as a destination in the flow.+--+-- 'errorHandlingConfig', 'customConnectorDestinationProperties_errorHandlingConfig' - The settings that determine how Amazon AppFlow handles an error when+-- placing data in the custom connector as destination.+--+-- 'idFieldNames', 'customConnectorDestinationProperties_idFieldNames' - The name of the field that Amazon AppFlow uses as an ID when performing+-- a write operation such as update, delete, or upsert.+--+-- 'writeOperationType', 'customConnectorDestinationProperties_writeOperationType' - Specifies the type of write operation to be performed in the custom+-- connector when it\'s used as destination.+--+-- 'entityName', 'customConnectorDestinationProperties_entityName' - The entity specified in the custom connector as a destination in the+-- flow.+newCustomConnectorDestinationProperties ::+  -- | 'entityName'+  Prelude.Text ->+  CustomConnectorDestinationProperties+newCustomConnectorDestinationProperties pEntityName_ =+  CustomConnectorDestinationProperties'+    { customProperties =+        Prelude.Nothing,+      errorHandlingConfig = Prelude.Nothing,+      idFieldNames = Prelude.Nothing,+      writeOperationType = Prelude.Nothing,+      entityName = pEntityName_+    }++-- | The custom properties that are specific to the connector when it\'s used+-- as a destination in the flow.+customConnectorDestinationProperties_customProperties :: Lens.Lens' CustomConnectorDestinationProperties (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+customConnectorDestinationProperties_customProperties = Lens.lens (\CustomConnectorDestinationProperties' {customProperties} -> customProperties) (\s@CustomConnectorDestinationProperties' {} a -> s {customProperties = a} :: CustomConnectorDestinationProperties) Prelude.. Lens.mapping Lens.coerced++-- | The settings that determine how Amazon AppFlow handles an error when+-- placing data in the custom connector as destination.+customConnectorDestinationProperties_errorHandlingConfig :: Lens.Lens' CustomConnectorDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+customConnectorDestinationProperties_errorHandlingConfig = Lens.lens (\CustomConnectorDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@CustomConnectorDestinationProperties' {} a -> s {errorHandlingConfig = a} :: CustomConnectorDestinationProperties)++-- | The name of the field that Amazon AppFlow uses as an ID when performing+-- a write operation such as update, delete, or upsert.+customConnectorDestinationProperties_idFieldNames :: Lens.Lens' CustomConnectorDestinationProperties (Prelude.Maybe [Prelude.Text])+customConnectorDestinationProperties_idFieldNames = Lens.lens (\CustomConnectorDestinationProperties' {idFieldNames} -> idFieldNames) (\s@CustomConnectorDestinationProperties' {} a -> s {idFieldNames = a} :: CustomConnectorDestinationProperties) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the type of write operation to be performed in the custom+-- connector when it\'s used as destination.+customConnectorDestinationProperties_writeOperationType :: Lens.Lens' CustomConnectorDestinationProperties (Prelude.Maybe WriteOperationType)+customConnectorDestinationProperties_writeOperationType = Lens.lens (\CustomConnectorDestinationProperties' {writeOperationType} -> writeOperationType) (\s@CustomConnectorDestinationProperties' {} a -> s {writeOperationType = a} :: CustomConnectorDestinationProperties)++-- | The entity specified in the custom connector as a destination in the+-- flow.+customConnectorDestinationProperties_entityName :: Lens.Lens' CustomConnectorDestinationProperties Prelude.Text+customConnectorDestinationProperties_entityName = Lens.lens (\CustomConnectorDestinationProperties' {entityName} -> entityName) (\s@CustomConnectorDestinationProperties' {} a -> s {entityName = a} :: CustomConnectorDestinationProperties)++instance+  Data.FromJSON+    CustomConnectorDestinationProperties+  where+  parseJSON =+    Data.withObject+      "CustomConnectorDestinationProperties"+      ( \x ->+          CustomConnectorDestinationProperties'+            Prelude.<$> ( x+                            Data..:? "customProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..:? "idFieldNames" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "writeOperationType")+            Prelude.<*> (x Data..: "entityName")+      )++instance+  Prelude.Hashable+    CustomConnectorDestinationProperties+  where+  hashWithSalt+    _salt+    CustomConnectorDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` customProperties+        `Prelude.hashWithSalt` errorHandlingConfig+        `Prelude.hashWithSalt` idFieldNames+        `Prelude.hashWithSalt` writeOperationType+        `Prelude.hashWithSalt` entityName++instance+  Prelude.NFData+    CustomConnectorDestinationProperties+  where+  rnf CustomConnectorDestinationProperties' {..} =+    Prelude.rnf customProperties+      `Prelude.seq` Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf idFieldNames+      `Prelude.seq` Prelude.rnf writeOperationType+      `Prelude.seq` Prelude.rnf entityName++instance+  Data.ToJSON+    CustomConnectorDestinationProperties+  where+  toJSON CustomConnectorDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("customProperties" Data..=)+              Prelude.<$> customProperties,+            ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            ("idFieldNames" Data..=) Prelude.<$> idFieldNames,+            ("writeOperationType" Data..=)+              Prelude.<$> writeOperationType,+            Prelude.Just ("entityName" Data..= entityName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomConnectorProfileCredentials.hs view
@@ -0,0 +1,151 @@+{-# 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.AppFlow.Types.CustomConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ApiKeyCredentials+import Amazonka.AppFlow.Types.AuthenticationType+import Amazonka.AppFlow.Types.BasicAuthCredentials+import Amazonka.AppFlow.Types.CustomAuthCredentials+import Amazonka.AppFlow.Types.OAuth2Credentials+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 connector-specific profile credentials that are required when using+-- the custom connector.+--+-- /See:/ 'newCustomConnectorProfileCredentials' smart constructor.+data CustomConnectorProfileCredentials = CustomConnectorProfileCredentials'+  { -- | The API keys required for the authentication of the user.+    apiKey :: Prelude.Maybe ApiKeyCredentials,+    -- | The basic credentials that are required for the authentication of the+    -- user.+    basic :: Prelude.Maybe BasicAuthCredentials,+    -- | If the connector uses the custom authentication mechanism, this holds+    -- the required credentials.+    custom :: Prelude.Maybe CustomAuthCredentials,+    -- | The OAuth 2.0 credentials required for the authentication of the user.+    oauth2 :: Prelude.Maybe OAuth2Credentials,+    -- | The authentication type that the custom connector uses for+    -- authenticating while creating a connector profile.+    authenticationType :: AuthenticationType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiKey', 'customConnectorProfileCredentials_apiKey' - The API keys required for the authentication of the user.+--+-- 'basic', 'customConnectorProfileCredentials_basic' - The basic credentials that are required for the authentication of the+-- user.+--+-- 'custom', 'customConnectorProfileCredentials_custom' - If the connector uses the custom authentication mechanism, this holds+-- the required credentials.+--+-- 'oauth2', 'customConnectorProfileCredentials_oauth2' - The OAuth 2.0 credentials required for the authentication of the user.+--+-- 'authenticationType', 'customConnectorProfileCredentials_authenticationType' - The authentication type that the custom connector uses for+-- authenticating while creating a connector profile.+newCustomConnectorProfileCredentials ::+  -- | 'authenticationType'+  AuthenticationType ->+  CustomConnectorProfileCredentials+newCustomConnectorProfileCredentials+  pAuthenticationType_ =+    CustomConnectorProfileCredentials'+      { apiKey =+          Prelude.Nothing,+        basic = Prelude.Nothing,+        custom = Prelude.Nothing,+        oauth2 = Prelude.Nothing,+        authenticationType =+          pAuthenticationType_+      }++-- | The API keys required for the authentication of the user.+customConnectorProfileCredentials_apiKey :: Lens.Lens' CustomConnectorProfileCredentials (Prelude.Maybe ApiKeyCredentials)+customConnectorProfileCredentials_apiKey = Lens.lens (\CustomConnectorProfileCredentials' {apiKey} -> apiKey) (\s@CustomConnectorProfileCredentials' {} a -> s {apiKey = a} :: CustomConnectorProfileCredentials)++-- | The basic credentials that are required for the authentication of the+-- user.+customConnectorProfileCredentials_basic :: Lens.Lens' CustomConnectorProfileCredentials (Prelude.Maybe BasicAuthCredentials)+customConnectorProfileCredentials_basic = Lens.lens (\CustomConnectorProfileCredentials' {basic} -> basic) (\s@CustomConnectorProfileCredentials' {} a -> s {basic = a} :: CustomConnectorProfileCredentials)++-- | If the connector uses the custom authentication mechanism, this holds+-- the required credentials.+customConnectorProfileCredentials_custom :: Lens.Lens' CustomConnectorProfileCredentials (Prelude.Maybe CustomAuthCredentials)+customConnectorProfileCredentials_custom = Lens.lens (\CustomConnectorProfileCredentials' {custom} -> custom) (\s@CustomConnectorProfileCredentials' {} a -> s {custom = a} :: CustomConnectorProfileCredentials)++-- | The OAuth 2.0 credentials required for the authentication of the user.+customConnectorProfileCredentials_oauth2 :: Lens.Lens' CustomConnectorProfileCredentials (Prelude.Maybe OAuth2Credentials)+customConnectorProfileCredentials_oauth2 = Lens.lens (\CustomConnectorProfileCredentials' {oauth2} -> oauth2) (\s@CustomConnectorProfileCredentials' {} a -> s {oauth2 = a} :: CustomConnectorProfileCredentials)++-- | The authentication type that the custom connector uses for+-- authenticating while creating a connector profile.+customConnectorProfileCredentials_authenticationType :: Lens.Lens' CustomConnectorProfileCredentials AuthenticationType+customConnectorProfileCredentials_authenticationType = Lens.lens (\CustomConnectorProfileCredentials' {authenticationType} -> authenticationType) (\s@CustomConnectorProfileCredentials' {} a -> s {authenticationType = a} :: CustomConnectorProfileCredentials)++instance+  Prelude.Hashable+    CustomConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    CustomConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` apiKey+        `Prelude.hashWithSalt` basic+        `Prelude.hashWithSalt` custom+        `Prelude.hashWithSalt` oauth2+        `Prelude.hashWithSalt` authenticationType++instance+  Prelude.NFData+    CustomConnectorProfileCredentials+  where+  rnf CustomConnectorProfileCredentials' {..} =+    Prelude.rnf apiKey+      `Prelude.seq` Prelude.rnf basic+      `Prelude.seq` Prelude.rnf custom+      `Prelude.seq` Prelude.rnf oauth2+      `Prelude.seq` Prelude.rnf authenticationType++instance+  Data.ToJSON+    CustomConnectorProfileCredentials+  where+  toJSON CustomConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiKey" Data..=) Prelude.<$> apiKey,+            ("basic" Data..=) Prelude.<$> basic,+            ("custom" Data..=) Prelude.<$> custom,+            ("oauth2" Data..=) Prelude.<$> oauth2,+            Prelude.Just+              ("authenticationType" Data..= authenticationType)+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomConnectorProfileProperties.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomConnectorProfileProperties where++import Amazonka.AppFlow.Types.OAuth2Properties+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 profile properties required by the custom connector.+--+-- /See:/ 'newCustomConnectorProfileProperties' smart constructor.+data CustomConnectorProfileProperties = CustomConnectorProfileProperties'+  { oAuth2Properties :: Prelude.Maybe OAuth2Properties,+    -- | A map of properties that are required to create a profile for the custom+    -- connector.+    profileProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oAuth2Properties', 'customConnectorProfileProperties_oAuth2Properties' - Undocumented member.+--+-- 'profileProperties', 'customConnectorProfileProperties_profileProperties' - A map of properties that are required to create a profile for the custom+-- connector.+newCustomConnectorProfileProperties ::+  CustomConnectorProfileProperties+newCustomConnectorProfileProperties =+  CustomConnectorProfileProperties'+    { oAuth2Properties =+        Prelude.Nothing,+      profileProperties = Prelude.Nothing+    }++-- | Undocumented member.+customConnectorProfileProperties_oAuth2Properties :: Lens.Lens' CustomConnectorProfileProperties (Prelude.Maybe OAuth2Properties)+customConnectorProfileProperties_oAuth2Properties = Lens.lens (\CustomConnectorProfileProperties' {oAuth2Properties} -> oAuth2Properties) (\s@CustomConnectorProfileProperties' {} a -> s {oAuth2Properties = a} :: CustomConnectorProfileProperties)++-- | A map of properties that are required to create a profile for the custom+-- connector.+customConnectorProfileProperties_profileProperties :: Lens.Lens' CustomConnectorProfileProperties (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+customConnectorProfileProperties_profileProperties = Lens.lens (\CustomConnectorProfileProperties' {profileProperties} -> profileProperties) (\s@CustomConnectorProfileProperties' {} a -> s {profileProperties = a} :: CustomConnectorProfileProperties) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    CustomConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "CustomConnectorProfileProperties"+      ( \x ->+          CustomConnectorProfileProperties'+            Prelude.<$> (x Data..:? "oAuth2Properties")+            Prelude.<*> ( x+                            Data..:? "profileProperties"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    CustomConnectorProfileProperties+  where+  hashWithSalt+    _salt+    CustomConnectorProfileProperties' {..} =+      _salt+        `Prelude.hashWithSalt` oAuth2Properties+        `Prelude.hashWithSalt` profileProperties++instance+  Prelude.NFData+    CustomConnectorProfileProperties+  where+  rnf CustomConnectorProfileProperties' {..} =+    Prelude.rnf oAuth2Properties+      `Prelude.seq` Prelude.rnf profileProperties++instance Data.ToJSON CustomConnectorProfileProperties where+  toJSON CustomConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("oAuth2Properties" Data..=)+              Prelude.<$> oAuth2Properties,+            ("profileProperties" Data..=)+              Prelude.<$> profileProperties+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomConnectorSourceProperties.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomConnectorSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomConnectorSourceProperties 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 properties that are applied when the custom connector is being used+-- as a source.+--+-- /See:/ 'newCustomConnectorSourceProperties' smart constructor.+data CustomConnectorSourceProperties = CustomConnectorSourceProperties'+  { -- | Custom properties that are required to use the custom connector as a+    -- source.+    customProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The entity specified in the custom connector as a source in the flow.+    entityName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomConnectorSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customProperties', 'customConnectorSourceProperties_customProperties' - Custom properties that are required to use the custom connector as a+-- source.+--+-- 'entityName', 'customConnectorSourceProperties_entityName' - The entity specified in the custom connector as a source in the flow.+newCustomConnectorSourceProperties ::+  -- | 'entityName'+  Prelude.Text ->+  CustomConnectorSourceProperties+newCustomConnectorSourceProperties pEntityName_ =+  CustomConnectorSourceProperties'+    { customProperties =+        Prelude.Nothing,+      entityName = pEntityName_+    }++-- | Custom properties that are required to use the custom connector as a+-- source.+customConnectorSourceProperties_customProperties :: Lens.Lens' CustomConnectorSourceProperties (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+customConnectorSourceProperties_customProperties = Lens.lens (\CustomConnectorSourceProperties' {customProperties} -> customProperties) (\s@CustomConnectorSourceProperties' {} a -> s {customProperties = a} :: CustomConnectorSourceProperties) Prelude.. Lens.mapping Lens.coerced++-- | The entity specified in the custom connector as a source in the flow.+customConnectorSourceProperties_entityName :: Lens.Lens' CustomConnectorSourceProperties Prelude.Text+customConnectorSourceProperties_entityName = Lens.lens (\CustomConnectorSourceProperties' {entityName} -> entityName) (\s@CustomConnectorSourceProperties' {} a -> s {entityName = a} :: CustomConnectorSourceProperties)++instance+  Data.FromJSON+    CustomConnectorSourceProperties+  where+  parseJSON =+    Data.withObject+      "CustomConnectorSourceProperties"+      ( \x ->+          CustomConnectorSourceProperties'+            Prelude.<$> ( x+                            Data..:? "customProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "entityName")+      )++instance+  Prelude.Hashable+    CustomConnectorSourceProperties+  where+  hashWithSalt+    _salt+    CustomConnectorSourceProperties' {..} =+      _salt+        `Prelude.hashWithSalt` customProperties+        `Prelude.hashWithSalt` entityName++instance+  Prelude.NFData+    CustomConnectorSourceProperties+  where+  rnf CustomConnectorSourceProperties' {..} =+    Prelude.rnf customProperties+      `Prelude.seq` Prelude.rnf entityName++instance Data.ToJSON CustomConnectorSourceProperties where+  toJSON CustomConnectorSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("customProperties" Data..=)+              Prelude.<$> customProperties,+            Prelude.Just ("entityName" Data..= entityName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomerProfilesDestinationProperties.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties 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 properties that are applied when Amazon Connect Customer Profiles is+-- used as a destination.+--+-- /See:/ 'newCustomerProfilesDestinationProperties' smart constructor.+data CustomerProfilesDestinationProperties = CustomerProfilesDestinationProperties'+  { -- | The object specified in the Amazon Connect Customer Profiles flow+    -- destination.+    objectTypeName :: Prelude.Maybe Prelude.Text,+    -- | The unique name of the Amazon Connect Customer Profiles domain.+    domainName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomerProfilesDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectTypeName', 'customerProfilesDestinationProperties_objectTypeName' - The object specified in the Amazon Connect Customer Profiles flow+-- destination.+--+-- 'domainName', 'customerProfilesDestinationProperties_domainName' - The unique name of the Amazon Connect Customer Profiles domain.+newCustomerProfilesDestinationProperties ::+  -- | 'domainName'+  Prelude.Text ->+  CustomerProfilesDestinationProperties+newCustomerProfilesDestinationProperties pDomainName_ =+  CustomerProfilesDestinationProperties'+    { objectTypeName =+        Prelude.Nothing,+      domainName = pDomainName_+    }++-- | The object specified in the Amazon Connect Customer Profiles flow+-- destination.+customerProfilesDestinationProperties_objectTypeName :: Lens.Lens' CustomerProfilesDestinationProperties (Prelude.Maybe Prelude.Text)+customerProfilesDestinationProperties_objectTypeName = Lens.lens (\CustomerProfilesDestinationProperties' {objectTypeName} -> objectTypeName) (\s@CustomerProfilesDestinationProperties' {} a -> s {objectTypeName = a} :: CustomerProfilesDestinationProperties)++-- | The unique name of the Amazon Connect Customer Profiles domain.+customerProfilesDestinationProperties_domainName :: Lens.Lens' CustomerProfilesDestinationProperties Prelude.Text+customerProfilesDestinationProperties_domainName = Lens.lens (\CustomerProfilesDestinationProperties' {domainName} -> domainName) (\s@CustomerProfilesDestinationProperties' {} a -> s {domainName = a} :: CustomerProfilesDestinationProperties)++instance+  Data.FromJSON+    CustomerProfilesDestinationProperties+  where+  parseJSON =+    Data.withObject+      "CustomerProfilesDestinationProperties"+      ( \x ->+          CustomerProfilesDestinationProperties'+            Prelude.<$> (x Data..:? "objectTypeName")+            Prelude.<*> (x Data..: "domainName")+      )++instance+  Prelude.Hashable+    CustomerProfilesDestinationProperties+  where+  hashWithSalt+    _salt+    CustomerProfilesDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` objectTypeName+        `Prelude.hashWithSalt` domainName++instance+  Prelude.NFData+    CustomerProfilesDestinationProperties+  where+  rnf CustomerProfilesDestinationProperties' {..} =+    Prelude.rnf objectTypeName+      `Prelude.seq` Prelude.rnf domainName++instance+  Data.ToJSON+    CustomerProfilesDestinationProperties+  where+  toJSON CustomerProfilesDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("objectTypeName" Data..=)+              Prelude.<$> objectTypeName,+            Prelude.Just ("domainName" Data..= domainName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/CustomerProfilesMetadata.hs view
@@ -0,0 +1,55 @@+{-# 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.AppFlow.Types.CustomerProfilesMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.CustomerProfilesMetadata 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 connector metadata specific to Amazon Connect Customer Profiles.+--+-- /See:/ 'newCustomerProfilesMetadata' smart constructor.+data CustomerProfilesMetadata = CustomerProfilesMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomerProfilesMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newCustomerProfilesMetadata ::+  CustomerProfilesMetadata+newCustomerProfilesMetadata =+  CustomerProfilesMetadata'++instance Data.FromJSON CustomerProfilesMetadata where+  parseJSON =+    Data.withObject+      "CustomerProfilesMetadata"+      (\x -> Prelude.pure CustomerProfilesMetadata')++instance Prelude.Hashable CustomerProfilesMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData CustomerProfilesMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/DataPullMode.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DataPullMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DataPullMode+  ( DataPullMode+      ( ..,+        DataPullMode_Complete,+        DataPullMode_Incremental+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataPullMode = DataPullMode'+  { fromDataPullMode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DataPullMode_Complete :: DataPullMode+pattern DataPullMode_Complete = DataPullMode' "Complete"++pattern DataPullMode_Incremental :: DataPullMode+pattern DataPullMode_Incremental = DataPullMode' "Incremental"++{-# COMPLETE+  DataPullMode_Complete,+  DataPullMode_Incremental,+  DataPullMode'+  #-}
+ gen/Amazonka/AppFlow/Types/DatadogConnectorOperator.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DatadogConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DatadogConnectorOperator+  ( DatadogConnectorOperator+      ( ..,+        DatadogConnectorOperator_ADDITION,+        DatadogConnectorOperator_BETWEEN,+        DatadogConnectorOperator_DIVISION,+        DatadogConnectorOperator_EQUAL_TO,+        DatadogConnectorOperator_MASK_ALL,+        DatadogConnectorOperator_MASK_FIRST_N,+        DatadogConnectorOperator_MASK_LAST_N,+        DatadogConnectorOperator_MULTIPLICATION,+        DatadogConnectorOperator_NO_OP,+        DatadogConnectorOperator_PROJECTION,+        DatadogConnectorOperator_SUBTRACTION,+        DatadogConnectorOperator_VALIDATE_NON_NEGATIVE,+        DatadogConnectorOperator_VALIDATE_NON_NULL,+        DatadogConnectorOperator_VALIDATE_NON_ZERO,+        DatadogConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DatadogConnectorOperator = DatadogConnectorOperator'+  { fromDatadogConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DatadogConnectorOperator_ADDITION :: DatadogConnectorOperator+pattern DatadogConnectorOperator_ADDITION = DatadogConnectorOperator' "ADDITION"++pattern DatadogConnectorOperator_BETWEEN :: DatadogConnectorOperator+pattern DatadogConnectorOperator_BETWEEN = DatadogConnectorOperator' "BETWEEN"++pattern DatadogConnectorOperator_DIVISION :: DatadogConnectorOperator+pattern DatadogConnectorOperator_DIVISION = DatadogConnectorOperator' "DIVISION"++pattern DatadogConnectorOperator_EQUAL_TO :: DatadogConnectorOperator+pattern DatadogConnectorOperator_EQUAL_TO = DatadogConnectorOperator' "EQUAL_TO"++pattern DatadogConnectorOperator_MASK_ALL :: DatadogConnectorOperator+pattern DatadogConnectorOperator_MASK_ALL = DatadogConnectorOperator' "MASK_ALL"++pattern DatadogConnectorOperator_MASK_FIRST_N :: DatadogConnectorOperator+pattern DatadogConnectorOperator_MASK_FIRST_N = DatadogConnectorOperator' "MASK_FIRST_N"++pattern DatadogConnectorOperator_MASK_LAST_N :: DatadogConnectorOperator+pattern DatadogConnectorOperator_MASK_LAST_N = DatadogConnectorOperator' "MASK_LAST_N"++pattern DatadogConnectorOperator_MULTIPLICATION :: DatadogConnectorOperator+pattern DatadogConnectorOperator_MULTIPLICATION = DatadogConnectorOperator' "MULTIPLICATION"++pattern DatadogConnectorOperator_NO_OP :: DatadogConnectorOperator+pattern DatadogConnectorOperator_NO_OP = DatadogConnectorOperator' "NO_OP"++pattern DatadogConnectorOperator_PROJECTION :: DatadogConnectorOperator+pattern DatadogConnectorOperator_PROJECTION = DatadogConnectorOperator' "PROJECTION"++pattern DatadogConnectorOperator_SUBTRACTION :: DatadogConnectorOperator+pattern DatadogConnectorOperator_SUBTRACTION = DatadogConnectorOperator' "SUBTRACTION"++pattern DatadogConnectorOperator_VALIDATE_NON_NEGATIVE :: DatadogConnectorOperator+pattern DatadogConnectorOperator_VALIDATE_NON_NEGATIVE = DatadogConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern DatadogConnectorOperator_VALIDATE_NON_NULL :: DatadogConnectorOperator+pattern DatadogConnectorOperator_VALIDATE_NON_NULL = DatadogConnectorOperator' "VALIDATE_NON_NULL"++pattern DatadogConnectorOperator_VALIDATE_NON_ZERO :: DatadogConnectorOperator+pattern DatadogConnectorOperator_VALIDATE_NON_ZERO = DatadogConnectorOperator' "VALIDATE_NON_ZERO"++pattern DatadogConnectorOperator_VALIDATE_NUMERIC :: DatadogConnectorOperator+pattern DatadogConnectorOperator_VALIDATE_NUMERIC = DatadogConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  DatadogConnectorOperator_ADDITION,+  DatadogConnectorOperator_BETWEEN,+  DatadogConnectorOperator_DIVISION,+  DatadogConnectorOperator_EQUAL_TO,+  DatadogConnectorOperator_MASK_ALL,+  DatadogConnectorOperator_MASK_FIRST_N,+  DatadogConnectorOperator_MASK_LAST_N,+  DatadogConnectorOperator_MULTIPLICATION,+  DatadogConnectorOperator_NO_OP,+  DatadogConnectorOperator_PROJECTION,+  DatadogConnectorOperator_SUBTRACTION,+  DatadogConnectorOperator_VALIDATE_NON_NEGATIVE,+  DatadogConnectorOperator_VALIDATE_NON_NULL,+  DatadogConnectorOperator_VALIDATE_NON_ZERO,+  DatadogConnectorOperator_VALIDATE_NUMERIC,+  DatadogConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/DatadogConnectorProfileCredentials.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DatadogConnectorProfileCredentials 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 connector-specific credentials required by Datadog.+--+-- /See:/ 'newDatadogConnectorProfileCredentials' smart constructor.+data DatadogConnectorProfileCredentials = DatadogConnectorProfileCredentials'+  { -- | A unique alphanumeric identifier used to authenticate a user, developer,+    -- or calling program to your API.+    apiKey :: Data.Sensitive Prelude.Text,+    -- | Application keys, in conjunction with your API key, give you full access+    -- to Datadog’s programmatic API. Application keys are associated with the+    -- user account that created them. The application key is used to log all+    -- requests made to the API.+    applicationKey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatadogConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiKey', 'datadogConnectorProfileCredentials_apiKey' - A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+--+-- 'applicationKey', 'datadogConnectorProfileCredentials_applicationKey' - Application keys, in conjunction with your API key, give you full access+-- to Datadog’s programmatic API. Application keys are associated with the+-- user account that created them. The application key is used to log all+-- requests made to the API.+newDatadogConnectorProfileCredentials ::+  -- | 'apiKey'+  Prelude.Text ->+  -- | 'applicationKey'+  Prelude.Text ->+  DatadogConnectorProfileCredentials+newDatadogConnectorProfileCredentials+  pApiKey_+  pApplicationKey_ =+    DatadogConnectorProfileCredentials'+      { apiKey =+          Data._Sensitive Lens.# pApiKey_,+        applicationKey = pApplicationKey_+      }++-- | A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+datadogConnectorProfileCredentials_apiKey :: Lens.Lens' DatadogConnectorProfileCredentials Prelude.Text+datadogConnectorProfileCredentials_apiKey = Lens.lens (\DatadogConnectorProfileCredentials' {apiKey} -> apiKey) (\s@DatadogConnectorProfileCredentials' {} a -> s {apiKey = a} :: DatadogConnectorProfileCredentials) Prelude.. Data._Sensitive++-- | Application keys, in conjunction with your API key, give you full access+-- to Datadog’s programmatic API. Application keys are associated with the+-- user account that created them. The application key is used to log all+-- requests made to the API.+datadogConnectorProfileCredentials_applicationKey :: Lens.Lens' DatadogConnectorProfileCredentials Prelude.Text+datadogConnectorProfileCredentials_applicationKey = Lens.lens (\DatadogConnectorProfileCredentials' {applicationKey} -> applicationKey) (\s@DatadogConnectorProfileCredentials' {} a -> s {applicationKey = a} :: DatadogConnectorProfileCredentials)++instance+  Prelude.Hashable+    DatadogConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    DatadogConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` apiKey+        `Prelude.hashWithSalt` applicationKey++instance+  Prelude.NFData+    DatadogConnectorProfileCredentials+  where+  rnf DatadogConnectorProfileCredentials' {..} =+    Prelude.rnf apiKey+      `Prelude.seq` Prelude.rnf applicationKey++instance+  Data.ToJSON+    DatadogConnectorProfileCredentials+  where+  toJSON DatadogConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("apiKey" Data..= apiKey),+            Prelude.Just+              ("applicationKey" Data..= applicationKey)+          ]+      )
+ gen/Amazonka/AppFlow/Types/DatadogConnectorProfileProperties.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DatadogConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DatadogConnectorProfileProperties 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 connector-specific profile properties required by Datadog.+--+-- /See:/ 'newDatadogConnectorProfileProperties' smart constructor.+data DatadogConnectorProfileProperties = DatadogConnectorProfileProperties'+  { -- | The location of the Datadog resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatadogConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'datadogConnectorProfileProperties_instanceUrl' - The location of the Datadog resource.+newDatadogConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  DatadogConnectorProfileProperties+newDatadogConnectorProfileProperties pInstanceUrl_ =+  DatadogConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Datadog resource.+datadogConnectorProfileProperties_instanceUrl :: Lens.Lens' DatadogConnectorProfileProperties Prelude.Text+datadogConnectorProfileProperties_instanceUrl = Lens.lens (\DatadogConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@DatadogConnectorProfileProperties' {} a -> s {instanceUrl = a} :: DatadogConnectorProfileProperties)++instance+  Data.FromJSON+    DatadogConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "DatadogConnectorProfileProperties"+      ( \x ->+          DatadogConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    DatadogConnectorProfileProperties+  where+  hashWithSalt+    _salt+    DatadogConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    DatadogConnectorProfileProperties+  where+  rnf DatadogConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    DatadogConnectorProfileProperties+  where+  toJSON DatadogConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/DatadogMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.DatadogMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DatadogMetadata 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 connector metadata specific to Datadog.+--+-- /See:/ 'newDatadogMetadata' smart constructor.+data DatadogMetadata = DatadogMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatadogMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDatadogMetadata ::+  DatadogMetadata+newDatadogMetadata = DatadogMetadata'++instance Data.FromJSON DatadogMetadata where+  parseJSON =+    Data.withObject+      "DatadogMetadata"+      (\x -> Prelude.pure DatadogMetadata')++instance Prelude.Hashable DatadogMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DatadogMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/DatadogSourceProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DatadogSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DatadogSourceProperties 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 properties that are applied when Datadog is being used as a source.+--+-- /See:/ 'newDatadogSourceProperties' smart constructor.+data DatadogSourceProperties = DatadogSourceProperties'+  { -- | The object specified in the Datadog flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatadogSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'datadogSourceProperties_object' - The object specified in the Datadog flow source.+newDatadogSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  DatadogSourceProperties+newDatadogSourceProperties pObject_ =+  DatadogSourceProperties' {object' = pObject_}++-- | The object specified in the Datadog flow source.+datadogSourceProperties_object :: Lens.Lens' DatadogSourceProperties Prelude.Text+datadogSourceProperties_object = Lens.lens (\DatadogSourceProperties' {object'} -> object') (\s@DatadogSourceProperties' {} a -> s {object' = a} :: DatadogSourceProperties)++instance Data.FromJSON DatadogSourceProperties where+  parseJSON =+    Data.withObject+      "DatadogSourceProperties"+      ( \x ->+          DatadogSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable DatadogSourceProperties where+  hashWithSalt _salt DatadogSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData DatadogSourceProperties where+  rnf DatadogSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON DatadogSourceProperties where+  toJSON DatadogSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/DestinationConnectorProperties.hs view
@@ -0,0 +1,262 @@+{-# 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.AppFlow.Types.DestinationConnectorProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DestinationConnectorProperties where++import Amazonka.AppFlow.Types.CustomConnectorDestinationProperties+import Amazonka.AppFlow.Types.CustomerProfilesDestinationProperties+import Amazonka.AppFlow.Types.EventBridgeDestinationProperties+import Amazonka.AppFlow.Types.HoneycodeDestinationProperties+import Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties+import Amazonka.AppFlow.Types.MarketoDestinationProperties+import Amazonka.AppFlow.Types.RedshiftDestinationProperties+import Amazonka.AppFlow.Types.S3DestinationProperties+import Amazonka.AppFlow.Types.SAPODataDestinationProperties+import Amazonka.AppFlow.Types.SalesforceDestinationProperties+import Amazonka.AppFlow.Types.SnowflakeDestinationProperties+import Amazonka.AppFlow.Types.UpsolverDestinationProperties+import Amazonka.AppFlow.Types.ZendeskDestinationProperties+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This stores the information that is required to query a particular+-- connector.+--+-- /See:/ 'newDestinationConnectorProperties' smart constructor.+data DestinationConnectorProperties = DestinationConnectorProperties'+  { -- | The properties that are required to query the custom Connector.+    customConnector :: Prelude.Maybe CustomConnectorDestinationProperties,+    -- | The properties required to query Amazon Connect Customer Profiles.+    customerProfiles :: Prelude.Maybe CustomerProfilesDestinationProperties,+    -- | The properties required to query Amazon EventBridge.+    eventBridge :: Prelude.Maybe EventBridgeDestinationProperties,+    -- | The properties required to query Amazon Honeycode.+    honeycode :: Prelude.Maybe HoneycodeDestinationProperties,+    -- | The properties required to query Amazon Lookout for Metrics.+    lookoutMetrics :: Prelude.Maybe LookoutMetricsDestinationProperties,+    -- | The properties required to query Marketo.+    marketo :: Prelude.Maybe MarketoDestinationProperties,+    -- | The properties required to query Amazon Redshift.+    redshift :: Prelude.Maybe RedshiftDestinationProperties,+    -- | The properties required to query Amazon S3.+    s3 :: Prelude.Maybe S3DestinationProperties,+    -- | The properties required to query SAPOData.+    sAPOData :: Prelude.Maybe SAPODataDestinationProperties,+    -- | The properties required to query Salesforce.+    salesforce :: Prelude.Maybe SalesforceDestinationProperties,+    -- | The properties required to query Snowflake.+    snowflake :: Prelude.Maybe SnowflakeDestinationProperties,+    -- | The properties required to query Upsolver.+    upsolver :: Prelude.Maybe UpsolverDestinationProperties,+    -- | The properties required to query Zendesk.+    zendesk :: Prelude.Maybe ZendeskDestinationProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationConnectorProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customConnector', 'destinationConnectorProperties_customConnector' - The properties that are required to query the custom Connector.+--+-- 'customerProfiles', 'destinationConnectorProperties_customerProfiles' - The properties required to query Amazon Connect Customer Profiles.+--+-- 'eventBridge', 'destinationConnectorProperties_eventBridge' - The properties required to query Amazon EventBridge.+--+-- 'honeycode', 'destinationConnectorProperties_honeycode' - The properties required to query Amazon Honeycode.+--+-- 'lookoutMetrics', 'destinationConnectorProperties_lookoutMetrics' - The properties required to query Amazon Lookout for Metrics.+--+-- 'marketo', 'destinationConnectorProperties_marketo' - The properties required to query Marketo.+--+-- 'redshift', 'destinationConnectorProperties_redshift' - The properties required to query Amazon Redshift.+--+-- 's3', 'destinationConnectorProperties_s3' - The properties required to query Amazon S3.+--+-- 'sAPOData', 'destinationConnectorProperties_sAPOData' - The properties required to query SAPOData.+--+-- 'salesforce', 'destinationConnectorProperties_salesforce' - The properties required to query Salesforce.+--+-- 'snowflake', 'destinationConnectorProperties_snowflake' - The properties required to query Snowflake.+--+-- 'upsolver', 'destinationConnectorProperties_upsolver' - The properties required to query Upsolver.+--+-- 'zendesk', 'destinationConnectorProperties_zendesk' - The properties required to query Zendesk.+newDestinationConnectorProperties ::+  DestinationConnectorProperties+newDestinationConnectorProperties =+  DestinationConnectorProperties'+    { customConnector =+        Prelude.Nothing,+      customerProfiles = Prelude.Nothing,+      eventBridge = Prelude.Nothing,+      honeycode = Prelude.Nothing,+      lookoutMetrics = Prelude.Nothing,+      marketo = Prelude.Nothing,+      redshift = Prelude.Nothing,+      s3 = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      snowflake = Prelude.Nothing,+      upsolver = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | The properties that are required to query the custom Connector.+destinationConnectorProperties_customConnector :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe CustomConnectorDestinationProperties)+destinationConnectorProperties_customConnector = Lens.lens (\DestinationConnectorProperties' {customConnector} -> customConnector) (\s@DestinationConnectorProperties' {} a -> s {customConnector = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon Connect Customer Profiles.+destinationConnectorProperties_customerProfiles :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe CustomerProfilesDestinationProperties)+destinationConnectorProperties_customerProfiles = Lens.lens (\DestinationConnectorProperties' {customerProfiles} -> customerProfiles) (\s@DestinationConnectorProperties' {} a -> s {customerProfiles = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon EventBridge.+destinationConnectorProperties_eventBridge :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe EventBridgeDestinationProperties)+destinationConnectorProperties_eventBridge = Lens.lens (\DestinationConnectorProperties' {eventBridge} -> eventBridge) (\s@DestinationConnectorProperties' {} a -> s {eventBridge = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon Honeycode.+destinationConnectorProperties_honeycode :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe HoneycodeDestinationProperties)+destinationConnectorProperties_honeycode = Lens.lens (\DestinationConnectorProperties' {honeycode} -> honeycode) (\s@DestinationConnectorProperties' {} a -> s {honeycode = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon Lookout for Metrics.+destinationConnectorProperties_lookoutMetrics :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe LookoutMetricsDestinationProperties)+destinationConnectorProperties_lookoutMetrics = Lens.lens (\DestinationConnectorProperties' {lookoutMetrics} -> lookoutMetrics) (\s@DestinationConnectorProperties' {} a -> s {lookoutMetrics = a} :: DestinationConnectorProperties)++-- | The properties required to query Marketo.+destinationConnectorProperties_marketo :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe MarketoDestinationProperties)+destinationConnectorProperties_marketo = Lens.lens (\DestinationConnectorProperties' {marketo} -> marketo) (\s@DestinationConnectorProperties' {} a -> s {marketo = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon Redshift.+destinationConnectorProperties_redshift :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe RedshiftDestinationProperties)+destinationConnectorProperties_redshift = Lens.lens (\DestinationConnectorProperties' {redshift} -> redshift) (\s@DestinationConnectorProperties' {} a -> s {redshift = a} :: DestinationConnectorProperties)++-- | The properties required to query Amazon S3.+destinationConnectorProperties_s3 :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe S3DestinationProperties)+destinationConnectorProperties_s3 = Lens.lens (\DestinationConnectorProperties' {s3} -> s3) (\s@DestinationConnectorProperties' {} a -> s {s3 = a} :: DestinationConnectorProperties)++-- | The properties required to query SAPOData.+destinationConnectorProperties_sAPOData :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe SAPODataDestinationProperties)+destinationConnectorProperties_sAPOData = Lens.lens (\DestinationConnectorProperties' {sAPOData} -> sAPOData) (\s@DestinationConnectorProperties' {} a -> s {sAPOData = a} :: DestinationConnectorProperties)++-- | The properties required to query Salesforce.+destinationConnectorProperties_salesforce :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe SalesforceDestinationProperties)+destinationConnectorProperties_salesforce = Lens.lens (\DestinationConnectorProperties' {salesforce} -> salesforce) (\s@DestinationConnectorProperties' {} a -> s {salesforce = a} :: DestinationConnectorProperties)++-- | The properties required to query Snowflake.+destinationConnectorProperties_snowflake :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe SnowflakeDestinationProperties)+destinationConnectorProperties_snowflake = Lens.lens (\DestinationConnectorProperties' {snowflake} -> snowflake) (\s@DestinationConnectorProperties' {} a -> s {snowflake = a} :: DestinationConnectorProperties)++-- | The properties required to query Upsolver.+destinationConnectorProperties_upsolver :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe UpsolverDestinationProperties)+destinationConnectorProperties_upsolver = Lens.lens (\DestinationConnectorProperties' {upsolver} -> upsolver) (\s@DestinationConnectorProperties' {} a -> s {upsolver = a} :: DestinationConnectorProperties)++-- | The properties required to query Zendesk.+destinationConnectorProperties_zendesk :: Lens.Lens' DestinationConnectorProperties (Prelude.Maybe ZendeskDestinationProperties)+destinationConnectorProperties_zendesk = Lens.lens (\DestinationConnectorProperties' {zendesk} -> zendesk) (\s@DestinationConnectorProperties' {} a -> s {zendesk = a} :: DestinationConnectorProperties)++instance Data.FromJSON DestinationConnectorProperties where+  parseJSON =+    Data.withObject+      "DestinationConnectorProperties"+      ( \x ->+          DestinationConnectorProperties'+            Prelude.<$> (x Data..:? "CustomConnector")+            Prelude.<*> (x Data..:? "CustomerProfiles")+            Prelude.<*> (x Data..:? "EventBridge")+            Prelude.<*> (x Data..:? "Honeycode")+            Prelude.<*> (x Data..:? "LookoutMetrics")+            Prelude.<*> (x Data..:? "Marketo")+            Prelude.<*> (x Data..:? "Redshift")+            Prelude.<*> (x Data..:? "S3")+            Prelude.<*> (x Data..:? "SAPOData")+            Prelude.<*> (x Data..:? "Salesforce")+            Prelude.<*> (x Data..:? "Snowflake")+            Prelude.<*> (x Data..:? "Upsolver")+            Prelude.<*> (x Data..:? "Zendesk")+      )++instance+  Prelude.Hashable+    DestinationConnectorProperties+  where+  hashWithSalt+    _salt+    DestinationConnectorProperties' {..} =+      _salt+        `Prelude.hashWithSalt` customConnector+        `Prelude.hashWithSalt` customerProfiles+        `Prelude.hashWithSalt` eventBridge+        `Prelude.hashWithSalt` honeycode+        `Prelude.hashWithSalt` lookoutMetrics+        `Prelude.hashWithSalt` marketo+        `Prelude.hashWithSalt` redshift+        `Prelude.hashWithSalt` s3+        `Prelude.hashWithSalt` sAPOData+        `Prelude.hashWithSalt` salesforce+        `Prelude.hashWithSalt` snowflake+        `Prelude.hashWithSalt` upsolver+        `Prelude.hashWithSalt` zendesk++instance+  Prelude.NFData+    DestinationConnectorProperties+  where+  rnf DestinationConnectorProperties' {..} =+    Prelude.rnf customConnector+      `Prelude.seq` Prelude.rnf customerProfiles+      `Prelude.seq` Prelude.rnf eventBridge+      `Prelude.seq` Prelude.rnf honeycode+      `Prelude.seq` Prelude.rnf lookoutMetrics+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf redshift+      `Prelude.seq` Prelude.rnf s3+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf snowflake+      `Prelude.seq` Prelude.rnf upsolver+      `Prelude.seq` Prelude.rnf zendesk++instance Data.ToJSON DestinationConnectorProperties where+  toJSON DestinationConnectorProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomConnector" Data..=)+              Prelude.<$> customConnector,+            ("CustomerProfiles" Data..=)+              Prelude.<$> customerProfiles,+            ("EventBridge" Data..=) Prelude.<$> eventBridge,+            ("Honeycode" Data..=) Prelude.<$> honeycode,+            ("LookoutMetrics" Data..=)+              Prelude.<$> lookoutMetrics,+            ("Marketo" Data..=) Prelude.<$> marketo,+            ("Redshift" Data..=) Prelude.<$> redshift,+            ("S3" Data..=) Prelude.<$> s3,+            ("SAPOData" Data..=) Prelude.<$> sAPOData,+            ("Salesforce" Data..=) Prelude.<$> salesforce,+            ("Snowflake" Data..=) Prelude.<$> snowflake,+            ("Upsolver" Data..=) Prelude.<$> upsolver,+            ("Zendesk" Data..=) Prelude.<$> zendesk+          ]+      )
+ gen/Amazonka/AppFlow/Types/DestinationFieldProperties.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DestinationFieldProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DestinationFieldProperties where++import Amazonka.AppFlow.Types.WriteOperationType+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 properties that can be applied to a field when connector is being+-- used as a destination.+--+-- /See:/ 'newDestinationFieldProperties' smart constructor.+data DestinationFieldProperties = DestinationFieldProperties'+  { -- | Specifies if the destination field can be created by the current user.+    isCreatable :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether the field can use the default value during a Create+    -- operation.+    isDefaultedOnCreate :: Prelude.Maybe Prelude.Bool,+    -- | Specifies if the destination field can have a null value.+    isNullable :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether the field can be updated during an @UPDATE@ or+    -- @UPSERT@ write operation.+    isUpdatable :: Prelude.Maybe Prelude.Bool,+    -- | Specifies if the flow run can either insert new rows in the destination+    -- field if they do not already exist, or update them if they do.+    isUpsertable :: Prelude.Maybe Prelude.Bool,+    -- | A list of supported write operations. For each write operation listed,+    -- this field can be used in @idFieldNames@ when that write operation is+    -- present as a destination option.+    supportedWriteOperations :: Prelude.Maybe [WriteOperationType]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationFieldProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isCreatable', 'destinationFieldProperties_isCreatable' - Specifies if the destination field can be created by the current user.+--+-- 'isDefaultedOnCreate', 'destinationFieldProperties_isDefaultedOnCreate' - Specifies whether the field can use the default value during a Create+-- operation.+--+-- 'isNullable', 'destinationFieldProperties_isNullable' - Specifies if the destination field can have a null value.+--+-- 'isUpdatable', 'destinationFieldProperties_isUpdatable' - Specifies whether the field can be updated during an @UPDATE@ or+-- @UPSERT@ write operation.+--+-- 'isUpsertable', 'destinationFieldProperties_isUpsertable' - Specifies if the flow run can either insert new rows in the destination+-- field if they do not already exist, or update them if they do.+--+-- 'supportedWriteOperations', 'destinationFieldProperties_supportedWriteOperations' - A list of supported write operations. For each write operation listed,+-- this field can be used in @idFieldNames@ when that write operation is+-- present as a destination option.+newDestinationFieldProperties ::+  DestinationFieldProperties+newDestinationFieldProperties =+  DestinationFieldProperties'+    { isCreatable =+        Prelude.Nothing,+      isDefaultedOnCreate = Prelude.Nothing,+      isNullable = Prelude.Nothing,+      isUpdatable = Prelude.Nothing,+      isUpsertable = Prelude.Nothing,+      supportedWriteOperations = Prelude.Nothing+    }++-- | Specifies if the destination field can be created by the current user.+destinationFieldProperties_isCreatable :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe Prelude.Bool)+destinationFieldProperties_isCreatable = Lens.lens (\DestinationFieldProperties' {isCreatable} -> isCreatable) (\s@DestinationFieldProperties' {} a -> s {isCreatable = a} :: DestinationFieldProperties)++-- | Specifies whether the field can use the default value during a Create+-- operation.+destinationFieldProperties_isDefaultedOnCreate :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe Prelude.Bool)+destinationFieldProperties_isDefaultedOnCreate = Lens.lens (\DestinationFieldProperties' {isDefaultedOnCreate} -> isDefaultedOnCreate) (\s@DestinationFieldProperties' {} a -> s {isDefaultedOnCreate = a} :: DestinationFieldProperties)++-- | Specifies if the destination field can have a null value.+destinationFieldProperties_isNullable :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe Prelude.Bool)+destinationFieldProperties_isNullable = Lens.lens (\DestinationFieldProperties' {isNullable} -> isNullable) (\s@DestinationFieldProperties' {} a -> s {isNullable = a} :: DestinationFieldProperties)++-- | Specifies whether the field can be updated during an @UPDATE@ or+-- @UPSERT@ write operation.+destinationFieldProperties_isUpdatable :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe Prelude.Bool)+destinationFieldProperties_isUpdatable = Lens.lens (\DestinationFieldProperties' {isUpdatable} -> isUpdatable) (\s@DestinationFieldProperties' {} a -> s {isUpdatable = a} :: DestinationFieldProperties)++-- | Specifies if the flow run can either insert new rows in the destination+-- field if they do not already exist, or update them if they do.+destinationFieldProperties_isUpsertable :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe Prelude.Bool)+destinationFieldProperties_isUpsertable = Lens.lens (\DestinationFieldProperties' {isUpsertable} -> isUpsertable) (\s@DestinationFieldProperties' {} a -> s {isUpsertable = a} :: DestinationFieldProperties)++-- | A list of supported write operations. For each write operation listed,+-- this field can be used in @idFieldNames@ when that write operation is+-- present as a destination option.+destinationFieldProperties_supportedWriteOperations :: Lens.Lens' DestinationFieldProperties (Prelude.Maybe [WriteOperationType])+destinationFieldProperties_supportedWriteOperations = Lens.lens (\DestinationFieldProperties' {supportedWriteOperations} -> supportedWriteOperations) (\s@DestinationFieldProperties' {} a -> s {supportedWriteOperations = a} :: DestinationFieldProperties) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DestinationFieldProperties where+  parseJSON =+    Data.withObject+      "DestinationFieldProperties"+      ( \x ->+          DestinationFieldProperties'+            Prelude.<$> (x Data..:? "isCreatable")+            Prelude.<*> (x Data..:? "isDefaultedOnCreate")+            Prelude.<*> (x Data..:? "isNullable")+            Prelude.<*> (x Data..:? "isUpdatable")+            Prelude.<*> (x Data..:? "isUpsertable")+            Prelude.<*> ( x+                            Data..:? "supportedWriteOperations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable DestinationFieldProperties where+  hashWithSalt _salt DestinationFieldProperties' {..} =+    _salt+      `Prelude.hashWithSalt` isCreatable+      `Prelude.hashWithSalt` isDefaultedOnCreate+      `Prelude.hashWithSalt` isNullable+      `Prelude.hashWithSalt` isUpdatable+      `Prelude.hashWithSalt` isUpsertable+      `Prelude.hashWithSalt` supportedWriteOperations++instance Prelude.NFData DestinationFieldProperties where+  rnf DestinationFieldProperties' {..} =+    Prelude.rnf isCreatable+      `Prelude.seq` Prelude.rnf isDefaultedOnCreate+      `Prelude.seq` Prelude.rnf isNullable+      `Prelude.seq` Prelude.rnf isUpdatable+      `Prelude.seq` Prelude.rnf isUpsertable+      `Prelude.seq` Prelude.rnf supportedWriteOperations
+ gen/Amazonka/AppFlow/Types/DestinationFlowConfig.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DestinationFlowConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DestinationFlowConfig where++import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.DestinationConnectorProperties+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the configuration of destination connectors+-- present in the flow.+--+-- /See:/ 'newDestinationFlowConfig' smart constructor.+data DestinationFlowConfig = DestinationFlowConfig'+  { -- | The API version that the destination connector uses.+    apiVersion :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. This name must be unique for each+    -- connector profile in the Amazon Web Services account.+    connectorProfileName :: Prelude.Maybe Prelude.Text,+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: ConnectorType,+    -- | This stores the information that is required to query a particular+    -- connector.+    destinationConnectorProperties :: DestinationConnectorProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationFlowConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiVersion', 'destinationFlowConfig_apiVersion' - The API version that the destination connector uses.+--+-- 'connectorProfileName', 'destinationFlowConfig_connectorProfileName' - The name of the connector profile. This name must be unique for each+-- connector profile in the Amazon Web Services account.+--+-- 'connectorType', 'destinationFlowConfig_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'destinationConnectorProperties', 'destinationFlowConfig_destinationConnectorProperties' - This stores the information that is required to query a particular+-- connector.+newDestinationFlowConfig ::+  -- | 'connectorType'+  ConnectorType ->+  -- | 'destinationConnectorProperties'+  DestinationConnectorProperties ->+  DestinationFlowConfig+newDestinationFlowConfig+  pConnectorType_+  pDestinationConnectorProperties_ =+    DestinationFlowConfig'+      { apiVersion =+          Prelude.Nothing,+        connectorProfileName = Prelude.Nothing,+        connectorType = pConnectorType_,+        destinationConnectorProperties =+          pDestinationConnectorProperties_+      }++-- | The API version that the destination connector uses.+destinationFlowConfig_apiVersion :: Lens.Lens' DestinationFlowConfig (Prelude.Maybe Prelude.Text)+destinationFlowConfig_apiVersion = Lens.lens (\DestinationFlowConfig' {apiVersion} -> apiVersion) (\s@DestinationFlowConfig' {} a -> s {apiVersion = a} :: DestinationFlowConfig)++-- | The name of the connector profile. This name must be unique for each+-- connector profile in the Amazon Web Services account.+destinationFlowConfig_connectorProfileName :: Lens.Lens' DestinationFlowConfig (Prelude.Maybe Prelude.Text)+destinationFlowConfig_connectorProfileName = Lens.lens (\DestinationFlowConfig' {connectorProfileName} -> connectorProfileName) (\s@DestinationFlowConfig' {} a -> s {connectorProfileName = a} :: DestinationFlowConfig)++-- | The type of connector, such as Salesforce, Amplitude, and so on.+destinationFlowConfig_connectorType :: Lens.Lens' DestinationFlowConfig ConnectorType+destinationFlowConfig_connectorType = Lens.lens (\DestinationFlowConfig' {connectorType} -> connectorType) (\s@DestinationFlowConfig' {} a -> s {connectorType = a} :: DestinationFlowConfig)++-- | This stores the information that is required to query a particular+-- connector.+destinationFlowConfig_destinationConnectorProperties :: Lens.Lens' DestinationFlowConfig DestinationConnectorProperties+destinationFlowConfig_destinationConnectorProperties = Lens.lens (\DestinationFlowConfig' {destinationConnectorProperties} -> destinationConnectorProperties) (\s@DestinationFlowConfig' {} a -> s {destinationConnectorProperties = a} :: DestinationFlowConfig)++instance Data.FromJSON DestinationFlowConfig where+  parseJSON =+    Data.withObject+      "DestinationFlowConfig"+      ( \x ->+          DestinationFlowConfig'+            Prelude.<$> (x Data..:? "apiVersion")+            Prelude.<*> (x Data..:? "connectorProfileName")+            Prelude.<*> (x Data..: "connectorType")+            Prelude.<*> (x Data..: "destinationConnectorProperties")+      )++instance Prelude.Hashable DestinationFlowConfig where+  hashWithSalt _salt DestinationFlowConfig' {..} =+    _salt+      `Prelude.hashWithSalt` apiVersion+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` destinationConnectorProperties++instance Prelude.NFData DestinationFlowConfig where+  rnf DestinationFlowConfig' {..} =+    Prelude.rnf apiVersion+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf destinationConnectorProperties++instance Data.ToJSON DestinationFlowConfig where+  toJSON DestinationFlowConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiVersion" Data..=) Prelude.<$> apiVersion,+            ("connectorProfileName" Data..=)+              Prelude.<$> connectorProfileName,+            Prelude.Just ("connectorType" Data..= connectorType),+            Prelude.Just+              ( "destinationConnectorProperties"+                  Data..= destinationConnectorProperties+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/DynatraceConnectorOperator.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DynatraceConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DynatraceConnectorOperator+  ( DynatraceConnectorOperator+      ( ..,+        DynatraceConnectorOperator_ADDITION,+        DynatraceConnectorOperator_BETWEEN,+        DynatraceConnectorOperator_DIVISION,+        DynatraceConnectorOperator_EQUAL_TO,+        DynatraceConnectorOperator_MASK_ALL,+        DynatraceConnectorOperator_MASK_FIRST_N,+        DynatraceConnectorOperator_MASK_LAST_N,+        DynatraceConnectorOperator_MULTIPLICATION,+        DynatraceConnectorOperator_NO_OP,+        DynatraceConnectorOperator_PROJECTION,+        DynatraceConnectorOperator_SUBTRACTION,+        DynatraceConnectorOperator_VALIDATE_NON_NEGATIVE,+        DynatraceConnectorOperator_VALIDATE_NON_NULL,+        DynatraceConnectorOperator_VALIDATE_NON_ZERO,+        DynatraceConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DynatraceConnectorOperator = DynatraceConnectorOperator'+  { fromDynatraceConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DynatraceConnectorOperator_ADDITION :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_ADDITION = DynatraceConnectorOperator' "ADDITION"++pattern DynatraceConnectorOperator_BETWEEN :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_BETWEEN = DynatraceConnectorOperator' "BETWEEN"++pattern DynatraceConnectorOperator_DIVISION :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_DIVISION = DynatraceConnectorOperator' "DIVISION"++pattern DynatraceConnectorOperator_EQUAL_TO :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_EQUAL_TO = DynatraceConnectorOperator' "EQUAL_TO"++pattern DynatraceConnectorOperator_MASK_ALL :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_MASK_ALL = DynatraceConnectorOperator' "MASK_ALL"++pattern DynatraceConnectorOperator_MASK_FIRST_N :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_MASK_FIRST_N = DynatraceConnectorOperator' "MASK_FIRST_N"++pattern DynatraceConnectorOperator_MASK_LAST_N :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_MASK_LAST_N = DynatraceConnectorOperator' "MASK_LAST_N"++pattern DynatraceConnectorOperator_MULTIPLICATION :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_MULTIPLICATION = DynatraceConnectorOperator' "MULTIPLICATION"++pattern DynatraceConnectorOperator_NO_OP :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_NO_OP = DynatraceConnectorOperator' "NO_OP"++pattern DynatraceConnectorOperator_PROJECTION :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_PROJECTION = DynatraceConnectorOperator' "PROJECTION"++pattern DynatraceConnectorOperator_SUBTRACTION :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_SUBTRACTION = DynatraceConnectorOperator' "SUBTRACTION"++pattern DynatraceConnectorOperator_VALIDATE_NON_NEGATIVE :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_VALIDATE_NON_NEGATIVE = DynatraceConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern DynatraceConnectorOperator_VALIDATE_NON_NULL :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_VALIDATE_NON_NULL = DynatraceConnectorOperator' "VALIDATE_NON_NULL"++pattern DynatraceConnectorOperator_VALIDATE_NON_ZERO :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_VALIDATE_NON_ZERO = DynatraceConnectorOperator' "VALIDATE_NON_ZERO"++pattern DynatraceConnectorOperator_VALIDATE_NUMERIC :: DynatraceConnectorOperator+pattern DynatraceConnectorOperator_VALIDATE_NUMERIC = DynatraceConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  DynatraceConnectorOperator_ADDITION,+  DynatraceConnectorOperator_BETWEEN,+  DynatraceConnectorOperator_DIVISION,+  DynatraceConnectorOperator_EQUAL_TO,+  DynatraceConnectorOperator_MASK_ALL,+  DynatraceConnectorOperator_MASK_FIRST_N,+  DynatraceConnectorOperator_MASK_LAST_N,+  DynatraceConnectorOperator_MULTIPLICATION,+  DynatraceConnectorOperator_NO_OP,+  DynatraceConnectorOperator_PROJECTION,+  DynatraceConnectorOperator_SUBTRACTION,+  DynatraceConnectorOperator_VALIDATE_NON_NEGATIVE,+  DynatraceConnectorOperator_VALIDATE_NON_NULL,+  DynatraceConnectorOperator_VALIDATE_NON_ZERO,+  DynatraceConnectorOperator_VALIDATE_NUMERIC,+  DynatraceConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/DynatraceConnectorProfileCredentials.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DynatraceConnectorProfileCredentials 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 connector-specific profile credentials required by Dynatrace.+--+-- /See:/ 'newDynatraceConnectorProfileCredentials' smart constructor.+data DynatraceConnectorProfileCredentials = DynatraceConnectorProfileCredentials'+  { -- | The API tokens used by Dynatrace API to authenticate various API calls.+    apiToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynatraceConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiToken', 'dynatraceConnectorProfileCredentials_apiToken' - The API tokens used by Dynatrace API to authenticate various API calls.+newDynatraceConnectorProfileCredentials ::+  -- | 'apiToken'+  Prelude.Text ->+  DynatraceConnectorProfileCredentials+newDynatraceConnectorProfileCredentials pApiToken_ =+  DynatraceConnectorProfileCredentials'+    { apiToken =+        pApiToken_+    }++-- | The API tokens used by Dynatrace API to authenticate various API calls.+dynatraceConnectorProfileCredentials_apiToken :: Lens.Lens' DynatraceConnectorProfileCredentials Prelude.Text+dynatraceConnectorProfileCredentials_apiToken = Lens.lens (\DynatraceConnectorProfileCredentials' {apiToken} -> apiToken) (\s@DynatraceConnectorProfileCredentials' {} a -> s {apiToken = a} :: DynatraceConnectorProfileCredentials)++instance+  Prelude.Hashable+    DynatraceConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    DynatraceConnectorProfileCredentials' {..} =+      _salt `Prelude.hashWithSalt` apiToken++instance+  Prelude.NFData+    DynatraceConnectorProfileCredentials+  where+  rnf DynatraceConnectorProfileCredentials' {..} =+    Prelude.rnf apiToken++instance+  Data.ToJSON+    DynatraceConnectorProfileCredentials+  where+  toJSON DynatraceConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("apiToken" Data..= apiToken)]+      )
+ gen/Amazonka/AppFlow/Types/DynatraceConnectorProfileProperties.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DynatraceConnectorProfileProperties 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 connector-specific profile properties required by Dynatrace.+--+-- /See:/ 'newDynatraceConnectorProfileProperties' smart constructor.+data DynatraceConnectorProfileProperties = DynatraceConnectorProfileProperties'+  { -- | The location of the Dynatrace resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynatraceConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'dynatraceConnectorProfileProperties_instanceUrl' - The location of the Dynatrace resource.+newDynatraceConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  DynatraceConnectorProfileProperties+newDynatraceConnectorProfileProperties pInstanceUrl_ =+  DynatraceConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Dynatrace resource.+dynatraceConnectorProfileProperties_instanceUrl :: Lens.Lens' DynatraceConnectorProfileProperties Prelude.Text+dynatraceConnectorProfileProperties_instanceUrl = Lens.lens (\DynatraceConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@DynatraceConnectorProfileProperties' {} a -> s {instanceUrl = a} :: DynatraceConnectorProfileProperties)++instance+  Data.FromJSON+    DynatraceConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "DynatraceConnectorProfileProperties"+      ( \x ->+          DynatraceConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    DynatraceConnectorProfileProperties+  where+  hashWithSalt+    _salt+    DynatraceConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    DynatraceConnectorProfileProperties+  where+  rnf DynatraceConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    DynatraceConnectorProfileProperties+  where+  toJSON DynatraceConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/DynatraceMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.DynatraceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DynatraceMetadata 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 connector metadata specific to Dynatrace.+--+-- /See:/ 'newDynatraceMetadata' smart constructor.+data DynatraceMetadata = DynatraceMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynatraceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDynatraceMetadata ::+  DynatraceMetadata+newDynatraceMetadata = DynatraceMetadata'++instance Data.FromJSON DynatraceMetadata where+  parseJSON =+    Data.withObject+      "DynatraceMetadata"+      (\x -> Prelude.pure DynatraceMetadata')++instance Prelude.Hashable DynatraceMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DynatraceMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/DynatraceSourceProperties.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.DynatraceSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.DynatraceSourceProperties 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 properties that are applied when Dynatrace is being used as a+-- source.+--+-- /See:/ 'newDynatraceSourceProperties' smart constructor.+data DynatraceSourceProperties = DynatraceSourceProperties'+  { -- | The object specified in the Dynatrace flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynatraceSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'dynatraceSourceProperties_object' - The object specified in the Dynatrace flow source.+newDynatraceSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  DynatraceSourceProperties+newDynatraceSourceProperties pObject_ =+  DynatraceSourceProperties' {object' = pObject_}++-- | The object specified in the Dynatrace flow source.+dynatraceSourceProperties_object :: Lens.Lens' DynatraceSourceProperties Prelude.Text+dynatraceSourceProperties_object = Lens.lens (\DynatraceSourceProperties' {object'} -> object') (\s@DynatraceSourceProperties' {} a -> s {object' = a} :: DynatraceSourceProperties)++instance Data.FromJSON DynatraceSourceProperties where+  parseJSON =+    Data.withObject+      "DynatraceSourceProperties"+      ( \x ->+          DynatraceSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable DynatraceSourceProperties where+  hashWithSalt _salt DynatraceSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData DynatraceSourceProperties where+  rnf DynatraceSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON DynatraceSourceProperties where+  toJSON DynatraceSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/ErrorHandlingConfig.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ErrorHandlingConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ErrorHandlingConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The settings that determine how Amazon AppFlow handles an error when+-- placing data in the destination. For example, this setting would+-- determine if the flow should fail after one insertion error, or continue+-- and attempt to insert every record regardless of the initial failure.+-- @ErrorHandlingConfig@ is a part of the destination connector details.+--+-- /See:/ 'newErrorHandlingConfig' smart constructor.+data ErrorHandlingConfig = ErrorHandlingConfig'+  { -- | Specifies the name of the Amazon S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | Specifies the Amazon S3 bucket prefix.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | Specifies if the flow should fail after the first instance of a failure+    -- when attempting to place data in the destination.+    failOnFirstDestinationError :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorHandlingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'errorHandlingConfig_bucketName' - Specifies the name of the Amazon S3 bucket.+--+-- 'bucketPrefix', 'errorHandlingConfig_bucketPrefix' - Specifies the Amazon S3 bucket prefix.+--+-- 'failOnFirstDestinationError', 'errorHandlingConfig_failOnFirstDestinationError' - Specifies if the flow should fail after the first instance of a failure+-- when attempting to place data in the destination.+newErrorHandlingConfig ::+  ErrorHandlingConfig+newErrorHandlingConfig =+  ErrorHandlingConfig'+    { bucketName = Prelude.Nothing,+      bucketPrefix = Prelude.Nothing,+      failOnFirstDestinationError = Prelude.Nothing+    }++-- | Specifies the name of the Amazon S3 bucket.+errorHandlingConfig_bucketName :: Lens.Lens' ErrorHandlingConfig (Prelude.Maybe Prelude.Text)+errorHandlingConfig_bucketName = Lens.lens (\ErrorHandlingConfig' {bucketName} -> bucketName) (\s@ErrorHandlingConfig' {} a -> s {bucketName = a} :: ErrorHandlingConfig)++-- | Specifies the Amazon S3 bucket prefix.+errorHandlingConfig_bucketPrefix :: Lens.Lens' ErrorHandlingConfig (Prelude.Maybe Prelude.Text)+errorHandlingConfig_bucketPrefix = Lens.lens (\ErrorHandlingConfig' {bucketPrefix} -> bucketPrefix) (\s@ErrorHandlingConfig' {} a -> s {bucketPrefix = a} :: ErrorHandlingConfig)++-- | Specifies if the flow should fail after the first instance of a failure+-- when attempting to place data in the destination.+errorHandlingConfig_failOnFirstDestinationError :: Lens.Lens' ErrorHandlingConfig (Prelude.Maybe Prelude.Bool)+errorHandlingConfig_failOnFirstDestinationError = Lens.lens (\ErrorHandlingConfig' {failOnFirstDestinationError} -> failOnFirstDestinationError) (\s@ErrorHandlingConfig' {} a -> s {failOnFirstDestinationError = a} :: ErrorHandlingConfig)++instance Data.FromJSON ErrorHandlingConfig where+  parseJSON =+    Data.withObject+      "ErrorHandlingConfig"+      ( \x ->+          ErrorHandlingConfig'+            Prelude.<$> (x Data..:? "bucketName")+            Prelude.<*> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "failOnFirstDestinationError")+      )++instance Prelude.Hashable ErrorHandlingConfig where+  hashWithSalt _salt ErrorHandlingConfig' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` bucketPrefix+      `Prelude.hashWithSalt` failOnFirstDestinationError++instance Prelude.NFData ErrorHandlingConfig where+  rnf ErrorHandlingConfig' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf failOnFirstDestinationError++instance Data.ToJSON ErrorHandlingConfig where+  toJSON ErrorHandlingConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketName" Data..=) Prelude.<$> bucketName,+            ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("failOnFirstDestinationError" Data..=)+              Prelude.<$> failOnFirstDestinationError+          ]+      )
+ gen/Amazonka/AppFlow/Types/ErrorInfo.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ErrorInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides details in the event of a failed flow, including the failure+-- count and the related error messages.+--+-- /See:/ 'newErrorInfo' smart constructor.+data ErrorInfo = ErrorInfo'+  { -- | Specifies the error message that appears if a flow fails.+    executionMessage :: Prelude.Maybe Prelude.Text,+    -- | Specifies the failure count for the attempted flow.+    putFailuresCount :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'executionMessage', 'errorInfo_executionMessage' - Specifies the error message that appears if a flow fails.+--+-- 'putFailuresCount', 'errorInfo_putFailuresCount' - Specifies the failure count for the attempted flow.+newErrorInfo ::+  ErrorInfo+newErrorInfo =+  ErrorInfo'+    { executionMessage = Prelude.Nothing,+      putFailuresCount = Prelude.Nothing+    }++-- | Specifies the error message that appears if a flow fails.+errorInfo_executionMessage :: Lens.Lens' ErrorInfo (Prelude.Maybe Prelude.Text)+errorInfo_executionMessage = Lens.lens (\ErrorInfo' {executionMessage} -> executionMessage) (\s@ErrorInfo' {} a -> s {executionMessage = a} :: ErrorInfo)++-- | Specifies the failure count for the attempted flow.+errorInfo_putFailuresCount :: Lens.Lens' ErrorInfo (Prelude.Maybe Prelude.Integer)+errorInfo_putFailuresCount = Lens.lens (\ErrorInfo' {putFailuresCount} -> putFailuresCount) (\s@ErrorInfo' {} a -> s {putFailuresCount = a} :: ErrorInfo)++instance Data.FromJSON ErrorInfo where+  parseJSON =+    Data.withObject+      "ErrorInfo"+      ( \x ->+          ErrorInfo'+            Prelude.<$> (x Data..:? "executionMessage")+            Prelude.<*> (x Data..:? "putFailuresCount")+      )++instance Prelude.Hashable ErrorInfo where+  hashWithSalt _salt ErrorInfo' {..} =+    _salt+      `Prelude.hashWithSalt` executionMessage+      `Prelude.hashWithSalt` putFailuresCount++instance Prelude.NFData ErrorInfo where+  rnf ErrorInfo' {..} =+    Prelude.rnf executionMessage+      `Prelude.seq` Prelude.rnf putFailuresCount
+ gen/Amazonka/AppFlow/Types/EventBridgeDestinationProperties.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.AppFlow.Types.EventBridgeDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.EventBridgeDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+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 properties that are applied when Amazon EventBridge is being used as+-- a destination.+--+-- /See:/ 'newEventBridgeDestinationProperties' smart constructor.+data EventBridgeDestinationProperties = EventBridgeDestinationProperties'+  { errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The object specified in the Amazon EventBridge flow destination.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventBridgeDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorHandlingConfig', 'eventBridgeDestinationProperties_errorHandlingConfig' - Undocumented member.+--+-- 'object'', 'eventBridgeDestinationProperties_object' - The object specified in the Amazon EventBridge flow destination.+newEventBridgeDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  EventBridgeDestinationProperties+newEventBridgeDestinationProperties pObject_ =+  EventBridgeDestinationProperties'+    { errorHandlingConfig =+        Prelude.Nothing,+      object' = pObject_+    }++-- | Undocumented member.+eventBridgeDestinationProperties_errorHandlingConfig :: Lens.Lens' EventBridgeDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+eventBridgeDestinationProperties_errorHandlingConfig = Lens.lens (\EventBridgeDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@EventBridgeDestinationProperties' {} a -> s {errorHandlingConfig = a} :: EventBridgeDestinationProperties)++-- | The object specified in the Amazon EventBridge flow destination.+eventBridgeDestinationProperties_object :: Lens.Lens' EventBridgeDestinationProperties Prelude.Text+eventBridgeDestinationProperties_object = Lens.lens (\EventBridgeDestinationProperties' {object'} -> object') (\s@EventBridgeDestinationProperties' {} a -> s {object' = a} :: EventBridgeDestinationProperties)++instance+  Data.FromJSON+    EventBridgeDestinationProperties+  where+  parseJSON =+    Data.withObject+      "EventBridgeDestinationProperties"+      ( \x ->+          EventBridgeDestinationProperties'+            Prelude.<$> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..: "object")+      )++instance+  Prelude.Hashable+    EventBridgeDestinationProperties+  where+  hashWithSalt+    _salt+    EventBridgeDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` errorHandlingConfig+        `Prelude.hashWithSalt` object'++instance+  Prelude.NFData+    EventBridgeDestinationProperties+  where+  rnf EventBridgeDestinationProperties' {..} =+    Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON EventBridgeDestinationProperties where+  toJSON EventBridgeDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/EventBridgeMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.EventBridgeMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.EventBridgeMetadata 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 connector metadata specific to Amazon EventBridge.+--+-- /See:/ 'newEventBridgeMetadata' smart constructor.+data EventBridgeMetadata = EventBridgeMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventBridgeMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newEventBridgeMetadata ::+  EventBridgeMetadata+newEventBridgeMetadata = EventBridgeMetadata'++instance Data.FromJSON EventBridgeMetadata where+  parseJSON =+    Data.withObject+      "EventBridgeMetadata"+      (\x -> Prelude.pure EventBridgeMetadata')++instance Prelude.Hashable EventBridgeMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData EventBridgeMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/ExecutionDetails.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ExecutionDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ExecutionDetails where++import Amazonka.AppFlow.Types.ExecutionStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the details of the flow run, including the timestamp, status,+-- and message.+--+-- /See:/ 'newExecutionDetails' smart constructor.+data ExecutionDetails = ExecutionDetails'+  { -- | Describes the details of the most recent flow run.+    mostRecentExecutionMessage :: Prelude.Maybe Prelude.Text,+    -- | Specifies the status of the most recent flow run.+    mostRecentExecutionStatus :: Prelude.Maybe ExecutionStatus,+    -- | Specifies the time of the most recent flow run.+    mostRecentExecutionTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecutionDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mostRecentExecutionMessage', 'executionDetails_mostRecentExecutionMessage' - Describes the details of the most recent flow run.+--+-- 'mostRecentExecutionStatus', 'executionDetails_mostRecentExecutionStatus' - Specifies the status of the most recent flow run.+--+-- 'mostRecentExecutionTime', 'executionDetails_mostRecentExecutionTime' - Specifies the time of the most recent flow run.+newExecutionDetails ::+  ExecutionDetails+newExecutionDetails =+  ExecutionDetails'+    { mostRecentExecutionMessage =+        Prelude.Nothing,+      mostRecentExecutionStatus = Prelude.Nothing,+      mostRecentExecutionTime = Prelude.Nothing+    }++-- | Describes the details of the most recent flow run.+executionDetails_mostRecentExecutionMessage :: Lens.Lens' ExecutionDetails (Prelude.Maybe Prelude.Text)+executionDetails_mostRecentExecutionMessage = Lens.lens (\ExecutionDetails' {mostRecentExecutionMessage} -> mostRecentExecutionMessage) (\s@ExecutionDetails' {} a -> s {mostRecentExecutionMessage = a} :: ExecutionDetails)++-- | Specifies the status of the most recent flow run.+executionDetails_mostRecentExecutionStatus :: Lens.Lens' ExecutionDetails (Prelude.Maybe ExecutionStatus)+executionDetails_mostRecentExecutionStatus = Lens.lens (\ExecutionDetails' {mostRecentExecutionStatus} -> mostRecentExecutionStatus) (\s@ExecutionDetails' {} a -> s {mostRecentExecutionStatus = a} :: ExecutionDetails)++-- | Specifies the time of the most recent flow run.+executionDetails_mostRecentExecutionTime :: Lens.Lens' ExecutionDetails (Prelude.Maybe Prelude.UTCTime)+executionDetails_mostRecentExecutionTime = Lens.lens (\ExecutionDetails' {mostRecentExecutionTime} -> mostRecentExecutionTime) (\s@ExecutionDetails' {} a -> s {mostRecentExecutionTime = a} :: ExecutionDetails) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON ExecutionDetails where+  parseJSON =+    Data.withObject+      "ExecutionDetails"+      ( \x ->+          ExecutionDetails'+            Prelude.<$> (x Data..:? "mostRecentExecutionMessage")+            Prelude.<*> (x Data..:? "mostRecentExecutionStatus")+            Prelude.<*> (x Data..:? "mostRecentExecutionTime")+      )++instance Prelude.Hashable ExecutionDetails where+  hashWithSalt _salt ExecutionDetails' {..} =+    _salt+      `Prelude.hashWithSalt` mostRecentExecutionMessage+      `Prelude.hashWithSalt` mostRecentExecutionStatus+      `Prelude.hashWithSalt` mostRecentExecutionTime++instance Prelude.NFData ExecutionDetails where+  rnf ExecutionDetails' {..} =+    Prelude.rnf mostRecentExecutionMessage+      `Prelude.seq` Prelude.rnf mostRecentExecutionStatus+      `Prelude.seq` Prelude.rnf mostRecentExecutionTime
+ gen/Amazonka/AppFlow/Types/ExecutionRecord.hs view
@@ -0,0 +1,175 @@+{-# 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.AppFlow.Types.ExecutionRecord+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ExecutionRecord where++import Amazonka.AppFlow.Types.ExecutionResult+import Amazonka.AppFlow.Types.ExecutionStatus+import Amazonka.AppFlow.Types.MetadataCatalogDetail+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies information about the past flow run instances for a given+-- flow.+--+-- /See:/ 'newExecutionRecord' smart constructor.+data ExecutionRecord = ExecutionRecord'+  { -- | The timestamp that indicates the last new or updated record to be+    -- transferred in the flow run.+    dataPullEndTime :: Prelude.Maybe Data.POSIX,+    -- | The timestamp that determines the first new or updated record to be+    -- transferred in the flow run.+    dataPullStartTime :: Prelude.Maybe Data.POSIX,+    -- | Specifies the identifier of the given flow run.+    executionId :: Prelude.Maybe Prelude.Text,+    -- | Describes the result of the given flow run.+    executionResult :: Prelude.Maybe ExecutionResult,+    -- | Specifies the flow run status and whether it is in progress, has+    -- completed successfully, or has failed.+    executionStatus :: Prelude.Maybe ExecutionStatus,+    -- | Specifies the time of the most recent update.+    lastUpdatedAt :: Prelude.Maybe Data.POSIX,+    -- | Describes the metadata catalog, metadata table, and data partitions that+    -- Amazon AppFlow used for the associated flow run.+    metadataCatalogDetails :: Prelude.Maybe [MetadataCatalogDetail],+    -- | Specifies the start time of the flow run.+    startedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecutionRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataPullEndTime', 'executionRecord_dataPullEndTime' - The timestamp that indicates the last new or updated record to be+-- transferred in the flow run.+--+-- 'dataPullStartTime', 'executionRecord_dataPullStartTime' - The timestamp that determines the first new or updated record to be+-- transferred in the flow run.+--+-- 'executionId', 'executionRecord_executionId' - Specifies the identifier of the given flow run.+--+-- 'executionResult', 'executionRecord_executionResult' - Describes the result of the given flow run.+--+-- 'executionStatus', 'executionRecord_executionStatus' - Specifies the flow run status and whether it is in progress, has+-- completed successfully, or has failed.+--+-- 'lastUpdatedAt', 'executionRecord_lastUpdatedAt' - Specifies the time of the most recent update.+--+-- 'metadataCatalogDetails', 'executionRecord_metadataCatalogDetails' - Describes the metadata catalog, metadata table, and data partitions that+-- Amazon AppFlow used for the associated flow run.+--+-- 'startedAt', 'executionRecord_startedAt' - Specifies the start time of the flow run.+newExecutionRecord ::+  ExecutionRecord+newExecutionRecord =+  ExecutionRecord'+    { dataPullEndTime = Prelude.Nothing,+      dataPullStartTime = Prelude.Nothing,+      executionId = Prelude.Nothing,+      executionResult = Prelude.Nothing,+      executionStatus = Prelude.Nothing,+      lastUpdatedAt = Prelude.Nothing,+      metadataCatalogDetails = Prelude.Nothing,+      startedAt = Prelude.Nothing+    }++-- | The timestamp that indicates the last new or updated record to be+-- transferred in the flow run.+executionRecord_dataPullEndTime :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)+executionRecord_dataPullEndTime = Lens.lens (\ExecutionRecord' {dataPullEndTime} -> dataPullEndTime) (\s@ExecutionRecord' {} a -> s {dataPullEndTime = a} :: ExecutionRecord) Prelude.. Lens.mapping Data._Time++-- | The timestamp that determines the first new or updated record to be+-- transferred in the flow run.+executionRecord_dataPullStartTime :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)+executionRecord_dataPullStartTime = Lens.lens (\ExecutionRecord' {dataPullStartTime} -> dataPullStartTime) (\s@ExecutionRecord' {} a -> s {dataPullStartTime = a} :: ExecutionRecord) Prelude.. Lens.mapping Data._Time++-- | Specifies the identifier of the given flow run.+executionRecord_executionId :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.Text)+executionRecord_executionId = Lens.lens (\ExecutionRecord' {executionId} -> executionId) (\s@ExecutionRecord' {} a -> s {executionId = a} :: ExecutionRecord)++-- | Describes the result of the given flow run.+executionRecord_executionResult :: Lens.Lens' ExecutionRecord (Prelude.Maybe ExecutionResult)+executionRecord_executionResult = Lens.lens (\ExecutionRecord' {executionResult} -> executionResult) (\s@ExecutionRecord' {} a -> s {executionResult = a} :: ExecutionRecord)++-- | Specifies the flow run status and whether it is in progress, has+-- completed successfully, or has failed.+executionRecord_executionStatus :: Lens.Lens' ExecutionRecord (Prelude.Maybe ExecutionStatus)+executionRecord_executionStatus = Lens.lens (\ExecutionRecord' {executionStatus} -> executionStatus) (\s@ExecutionRecord' {} a -> s {executionStatus = a} :: ExecutionRecord)++-- | Specifies the time of the most recent update.+executionRecord_lastUpdatedAt :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)+executionRecord_lastUpdatedAt = Lens.lens (\ExecutionRecord' {lastUpdatedAt} -> lastUpdatedAt) (\s@ExecutionRecord' {} a -> s {lastUpdatedAt = a} :: ExecutionRecord) Prelude.. Lens.mapping Data._Time++-- | Describes the metadata catalog, metadata table, and data partitions that+-- Amazon AppFlow used for the associated flow run.+executionRecord_metadataCatalogDetails :: Lens.Lens' ExecutionRecord (Prelude.Maybe [MetadataCatalogDetail])+executionRecord_metadataCatalogDetails = Lens.lens (\ExecutionRecord' {metadataCatalogDetails} -> metadataCatalogDetails) (\s@ExecutionRecord' {} a -> s {metadataCatalogDetails = a} :: ExecutionRecord) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the start time of the flow run.+executionRecord_startedAt :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)+executionRecord_startedAt = Lens.lens (\ExecutionRecord' {startedAt} -> startedAt) (\s@ExecutionRecord' {} a -> s {startedAt = a} :: ExecutionRecord) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON ExecutionRecord where+  parseJSON =+    Data.withObject+      "ExecutionRecord"+      ( \x ->+          ExecutionRecord'+            Prelude.<$> (x Data..:? "dataPullEndTime")+            Prelude.<*> (x Data..:? "dataPullStartTime")+            Prelude.<*> (x Data..:? "executionId")+            Prelude.<*> (x Data..:? "executionResult")+            Prelude.<*> (x Data..:? "executionStatus")+            Prelude.<*> (x Data..:? "lastUpdatedAt")+            Prelude.<*> ( x+                            Data..:? "metadataCatalogDetails"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "startedAt")+      )++instance Prelude.Hashable ExecutionRecord where+  hashWithSalt _salt ExecutionRecord' {..} =+    _salt+      `Prelude.hashWithSalt` dataPullEndTime+      `Prelude.hashWithSalt` dataPullStartTime+      `Prelude.hashWithSalt` executionId+      `Prelude.hashWithSalt` executionResult+      `Prelude.hashWithSalt` executionStatus+      `Prelude.hashWithSalt` lastUpdatedAt+      `Prelude.hashWithSalt` metadataCatalogDetails+      `Prelude.hashWithSalt` startedAt++instance Prelude.NFData ExecutionRecord where+  rnf ExecutionRecord' {..} =+    Prelude.rnf dataPullEndTime+      `Prelude.seq` Prelude.rnf dataPullStartTime+      `Prelude.seq` Prelude.rnf executionId+      `Prelude.seq` Prelude.rnf executionResult+      `Prelude.seq` Prelude.rnf executionStatus+      `Prelude.seq` Prelude.rnf lastUpdatedAt+      `Prelude.seq` Prelude.rnf metadataCatalogDetails+      `Prelude.seq` Prelude.rnf startedAt
+ gen/Amazonka/AppFlow/Types/ExecutionResult.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.AppFlow.Types.ExecutionResult+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ExecutionResult where++import Amazonka.AppFlow.Types.ErrorInfo+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the end result of the flow run.+--+-- /See:/ 'newExecutionResult' smart constructor.+data ExecutionResult = ExecutionResult'+  { -- | The total number of bytes processed by the flow run.+    bytesProcessed :: Prelude.Maybe Prelude.Integer,+    -- | The total number of bytes written as a result of the flow run.+    bytesWritten :: Prelude.Maybe Prelude.Integer,+    -- | Provides any error message information related to the flow run.+    errorInfo :: Prelude.Maybe ErrorInfo,+    -- | The number of records processed in the flow run.+    recordsProcessed :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecutionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytesProcessed', 'executionResult_bytesProcessed' - The total number of bytes processed by the flow run.+--+-- 'bytesWritten', 'executionResult_bytesWritten' - The total number of bytes written as a result of the flow run.+--+-- 'errorInfo', 'executionResult_errorInfo' - Provides any error message information related to the flow run.+--+-- 'recordsProcessed', 'executionResult_recordsProcessed' - The number of records processed in the flow run.+newExecutionResult ::+  ExecutionResult+newExecutionResult =+  ExecutionResult'+    { bytesProcessed = Prelude.Nothing,+      bytesWritten = Prelude.Nothing,+      errorInfo = Prelude.Nothing,+      recordsProcessed = Prelude.Nothing+    }++-- | The total number of bytes processed by the flow run.+executionResult_bytesProcessed :: Lens.Lens' ExecutionResult (Prelude.Maybe Prelude.Integer)+executionResult_bytesProcessed = Lens.lens (\ExecutionResult' {bytesProcessed} -> bytesProcessed) (\s@ExecutionResult' {} a -> s {bytesProcessed = a} :: ExecutionResult)++-- | The total number of bytes written as a result of the flow run.+executionResult_bytesWritten :: Lens.Lens' ExecutionResult (Prelude.Maybe Prelude.Integer)+executionResult_bytesWritten = Lens.lens (\ExecutionResult' {bytesWritten} -> bytesWritten) (\s@ExecutionResult' {} a -> s {bytesWritten = a} :: ExecutionResult)++-- | Provides any error message information related to the flow run.+executionResult_errorInfo :: Lens.Lens' ExecutionResult (Prelude.Maybe ErrorInfo)+executionResult_errorInfo = Lens.lens (\ExecutionResult' {errorInfo} -> errorInfo) (\s@ExecutionResult' {} a -> s {errorInfo = a} :: ExecutionResult)++-- | The number of records processed in the flow run.+executionResult_recordsProcessed :: Lens.Lens' ExecutionResult (Prelude.Maybe Prelude.Integer)+executionResult_recordsProcessed = Lens.lens (\ExecutionResult' {recordsProcessed} -> recordsProcessed) (\s@ExecutionResult' {} a -> s {recordsProcessed = a} :: ExecutionResult)++instance Data.FromJSON ExecutionResult where+  parseJSON =+    Data.withObject+      "ExecutionResult"+      ( \x ->+          ExecutionResult'+            Prelude.<$> (x Data..:? "bytesProcessed")+            Prelude.<*> (x Data..:? "bytesWritten")+            Prelude.<*> (x Data..:? "errorInfo")+            Prelude.<*> (x Data..:? "recordsProcessed")+      )++instance Prelude.Hashable ExecutionResult where+  hashWithSalt _salt ExecutionResult' {..} =+    _salt+      `Prelude.hashWithSalt` bytesProcessed+      `Prelude.hashWithSalt` bytesWritten+      `Prelude.hashWithSalt` errorInfo+      `Prelude.hashWithSalt` recordsProcessed++instance Prelude.NFData ExecutionResult where+  rnf ExecutionResult' {..} =+    Prelude.rnf bytesProcessed+      `Prelude.seq` Prelude.rnf bytesWritten+      `Prelude.seq` Prelude.rnf errorInfo+      `Prelude.seq` Prelude.rnf recordsProcessed
+ gen/Amazonka/AppFlow/Types/ExecutionStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ExecutionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ExecutionStatus+  ( ExecutionStatus+      ( ..,+        ExecutionStatus_Error,+        ExecutionStatus_InProgress,+        ExecutionStatus_Successful+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExecutionStatus = ExecutionStatus'+  { fromExecutionStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ExecutionStatus_Error :: ExecutionStatus+pattern ExecutionStatus_Error = ExecutionStatus' "Error"++pattern ExecutionStatus_InProgress :: ExecutionStatus+pattern ExecutionStatus_InProgress = ExecutionStatus' "InProgress"++pattern ExecutionStatus_Successful :: ExecutionStatus+pattern ExecutionStatus_Successful = ExecutionStatus' "Successful"++{-# COMPLETE+  ExecutionStatus_Error,+  ExecutionStatus_InProgress,+  ExecutionStatus_Successful,+  ExecutionStatus'+  #-}
+ gen/Amazonka/AppFlow/Types/FieldTypeDetails.hs view
@@ -0,0 +1,159 @@+{-# 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.AppFlow.Types.FieldTypeDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.FieldTypeDetails where++import Amazonka.AppFlow.Types.Operator+import Amazonka.AppFlow.Types.Range+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains details regarding the supported field type and the operators+-- that can be applied for filtering.+--+-- /See:/ 'newFieldTypeDetails' smart constructor.+data FieldTypeDetails = FieldTypeDetails'+  { -- | This is the allowable length range for this field\'s value.+    fieldLengthRange :: Prelude.Maybe Range,+    -- | The range of values this field can hold.+    fieldValueRange :: Prelude.Maybe Range,+    -- | The date format that the field supports.+    supportedDateFormat :: Prelude.Maybe Prelude.Text,+    -- | The list of values that a field can contain. For example, a Boolean+    -- @fieldType@ can have two values: \"true\" and \"false\".+    supportedValues :: Prelude.Maybe [Prelude.Text],+    -- | The regular expression pattern for the field name.+    valueRegexPattern :: Prelude.Maybe Prelude.Text,+    -- | The type of field, such as string, integer, date, and so on.+    fieldType :: Prelude.Text,+    -- | The list of operators supported by a field.+    filterOperators :: [Operator]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldTypeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldLengthRange', 'fieldTypeDetails_fieldLengthRange' - This is the allowable length range for this field\'s value.+--+-- 'fieldValueRange', 'fieldTypeDetails_fieldValueRange' - The range of values this field can hold.+--+-- 'supportedDateFormat', 'fieldTypeDetails_supportedDateFormat' - The date format that the field supports.+--+-- 'supportedValues', 'fieldTypeDetails_supportedValues' - The list of values that a field can contain. For example, a Boolean+-- @fieldType@ can have two values: \"true\" and \"false\".+--+-- 'valueRegexPattern', 'fieldTypeDetails_valueRegexPattern' - The regular expression pattern for the field name.+--+-- 'fieldType', 'fieldTypeDetails_fieldType' - The type of field, such as string, integer, date, and so on.+--+-- 'filterOperators', 'fieldTypeDetails_filterOperators' - The list of operators supported by a field.+newFieldTypeDetails ::+  -- | 'fieldType'+  Prelude.Text ->+  FieldTypeDetails+newFieldTypeDetails pFieldType_ =+  FieldTypeDetails'+    { fieldLengthRange =+        Prelude.Nothing,+      fieldValueRange = Prelude.Nothing,+      supportedDateFormat = Prelude.Nothing,+      supportedValues = Prelude.Nothing,+      valueRegexPattern = Prelude.Nothing,+      fieldType = pFieldType_,+      filterOperators = Prelude.mempty+    }++-- | This is the allowable length range for this field\'s value.+fieldTypeDetails_fieldLengthRange :: Lens.Lens' FieldTypeDetails (Prelude.Maybe Range)+fieldTypeDetails_fieldLengthRange = Lens.lens (\FieldTypeDetails' {fieldLengthRange} -> fieldLengthRange) (\s@FieldTypeDetails' {} a -> s {fieldLengthRange = a} :: FieldTypeDetails)++-- | The range of values this field can hold.+fieldTypeDetails_fieldValueRange :: Lens.Lens' FieldTypeDetails (Prelude.Maybe Range)+fieldTypeDetails_fieldValueRange = Lens.lens (\FieldTypeDetails' {fieldValueRange} -> fieldValueRange) (\s@FieldTypeDetails' {} a -> s {fieldValueRange = a} :: FieldTypeDetails)++-- | The date format that the field supports.+fieldTypeDetails_supportedDateFormat :: Lens.Lens' FieldTypeDetails (Prelude.Maybe Prelude.Text)+fieldTypeDetails_supportedDateFormat = Lens.lens (\FieldTypeDetails' {supportedDateFormat} -> supportedDateFormat) (\s@FieldTypeDetails' {} a -> s {supportedDateFormat = a} :: FieldTypeDetails)++-- | The list of values that a field can contain. For example, a Boolean+-- @fieldType@ can have two values: \"true\" and \"false\".+fieldTypeDetails_supportedValues :: Lens.Lens' FieldTypeDetails (Prelude.Maybe [Prelude.Text])+fieldTypeDetails_supportedValues = Lens.lens (\FieldTypeDetails' {supportedValues} -> supportedValues) (\s@FieldTypeDetails' {} a -> s {supportedValues = a} :: FieldTypeDetails) Prelude.. Lens.mapping Lens.coerced++-- | The regular expression pattern for the field name.+fieldTypeDetails_valueRegexPattern :: Lens.Lens' FieldTypeDetails (Prelude.Maybe Prelude.Text)+fieldTypeDetails_valueRegexPattern = Lens.lens (\FieldTypeDetails' {valueRegexPattern} -> valueRegexPattern) (\s@FieldTypeDetails' {} a -> s {valueRegexPattern = a} :: FieldTypeDetails)++-- | The type of field, such as string, integer, date, and so on.+fieldTypeDetails_fieldType :: Lens.Lens' FieldTypeDetails Prelude.Text+fieldTypeDetails_fieldType = Lens.lens (\FieldTypeDetails' {fieldType} -> fieldType) (\s@FieldTypeDetails' {} a -> s {fieldType = a} :: FieldTypeDetails)++-- | The list of operators supported by a field.+fieldTypeDetails_filterOperators :: Lens.Lens' FieldTypeDetails [Operator]+fieldTypeDetails_filterOperators = Lens.lens (\FieldTypeDetails' {filterOperators} -> filterOperators) (\s@FieldTypeDetails' {} a -> s {filterOperators = a} :: FieldTypeDetails) Prelude.. Lens.coerced++instance Data.FromJSON FieldTypeDetails where+  parseJSON =+    Data.withObject+      "FieldTypeDetails"+      ( \x ->+          FieldTypeDetails'+            Prelude.<$> (x Data..:? "fieldLengthRange")+            Prelude.<*> (x Data..:? "fieldValueRange")+            Prelude.<*> (x Data..:? "supportedDateFormat")+            Prelude.<*> ( x+                            Data..:? "supportedValues"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "valueRegexPattern")+            Prelude.<*> (x Data..: "fieldType")+            Prelude.<*> ( x+                            Data..:? "filterOperators"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable FieldTypeDetails where+  hashWithSalt _salt FieldTypeDetails' {..} =+    _salt+      `Prelude.hashWithSalt` fieldLengthRange+      `Prelude.hashWithSalt` fieldValueRange+      `Prelude.hashWithSalt` supportedDateFormat+      `Prelude.hashWithSalt` supportedValues+      `Prelude.hashWithSalt` valueRegexPattern+      `Prelude.hashWithSalt` fieldType+      `Prelude.hashWithSalt` filterOperators++instance Prelude.NFData FieldTypeDetails where+  rnf FieldTypeDetails' {..} =+    Prelude.rnf fieldLengthRange+      `Prelude.seq` Prelude.rnf fieldValueRange+      `Prelude.seq` Prelude.rnf supportedDateFormat+      `Prelude.seq` Prelude.rnf supportedValues+      `Prelude.seq` Prelude.rnf valueRegexPattern+      `Prelude.seq` Prelude.rnf fieldType+      `Prelude.seq` Prelude.rnf filterOperators
+ gen/Amazonka/AppFlow/Types/FileType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.FileType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.FileType+  ( FileType+      ( ..,+        FileType_CSV,+        FileType_JSON,+        FileType_PARQUET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FileType = FileType'+  { fromFileType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FileType_CSV :: FileType+pattern FileType_CSV = FileType' "CSV"++pattern FileType_JSON :: FileType+pattern FileType_JSON = FileType' "JSON"++pattern FileType_PARQUET :: FileType+pattern FileType_PARQUET = FileType' "PARQUET"++{-# COMPLETE+  FileType_CSV,+  FileType_JSON,+  FileType_PARQUET,+  FileType'+  #-}
+ gen/Amazonka/AppFlow/Types/FlowDefinition.hs view
@@ -0,0 +1,257 @@+{-# 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.AppFlow.Types.FlowDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.FlowDefinition where++import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.ExecutionDetails+import Amazonka.AppFlow.Types.FlowStatus+import Amazonka.AppFlow.Types.TriggerType+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 properties of the flow, such as its source, destination, trigger+-- type, and so on.+--+-- /See:/ 'newFlowDefinition' smart constructor.+data FlowDefinition = FlowDefinition'+  { -- | Specifies when the flow was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The ARN of the user who created the flow.+    createdBy :: Prelude.Maybe Prelude.Text,+    -- | A user-entered description of the flow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The label of the destination connector in the flow.+    destinationConnectorLabel :: Prelude.Maybe Prelude.Text,+    -- | Specifies the destination connector type, such as Salesforce, Amazon S3,+    -- Amplitude, and so on.+    destinationConnectorType :: Prelude.Maybe ConnectorType,+    -- | The flow\'s Amazon Resource Name (ARN).+    flowArn :: Prelude.Maybe Prelude.Text,+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Maybe Prelude.Text,+    -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | Describes the details of the most recent flow run.+    lastRunExecutionDetails :: Prelude.Maybe ExecutionDetails,+    -- | Specifies when the flow was last updated.+    lastUpdatedAt :: Prelude.Maybe Data.POSIX,+    -- | Specifies the account user name that most recently updated the flow.+    lastUpdatedBy :: Prelude.Maybe Prelude.Text,+    -- | The label of the source connector in the flow.+    sourceConnectorLabel :: Prelude.Maybe Prelude.Text,+    -- | Specifies the source connector type, such as Salesforce, Amazon S3,+    -- Amplitude, and so on.+    sourceConnectorType :: Prelude.Maybe ConnectorType,+    -- | The tags used to organize, track, or control access for your flow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+    -- or @Event@.+    triggerType :: Prelude.Maybe TriggerType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FlowDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'flowDefinition_createdAt' - Specifies when the flow was created.+--+-- 'createdBy', 'flowDefinition_createdBy' - The ARN of the user who created the flow.+--+-- 'description', 'flowDefinition_description' - A user-entered description of the flow.+--+-- 'destinationConnectorLabel', 'flowDefinition_destinationConnectorLabel' - The label of the destination connector in the flow.+--+-- 'destinationConnectorType', 'flowDefinition_destinationConnectorType' - Specifies the destination connector type, such as Salesforce, Amazon S3,+-- Amplitude, and so on.+--+-- 'flowArn', 'flowDefinition_flowArn' - The flow\'s Amazon Resource Name (ARN).+--+-- 'flowName', 'flowDefinition_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+--+-- 'flowStatus', 'flowDefinition_flowStatus' - Indicates the current status of the flow.+--+-- 'lastRunExecutionDetails', 'flowDefinition_lastRunExecutionDetails' - Describes the details of the most recent flow run.+--+-- 'lastUpdatedAt', 'flowDefinition_lastUpdatedAt' - Specifies when the flow was last updated.+--+-- 'lastUpdatedBy', 'flowDefinition_lastUpdatedBy' - Specifies the account user name that most recently updated the flow.+--+-- 'sourceConnectorLabel', 'flowDefinition_sourceConnectorLabel' - The label of the source connector in the flow.+--+-- 'sourceConnectorType', 'flowDefinition_sourceConnectorType' - Specifies the source connector type, such as Salesforce, Amazon S3,+-- Amplitude, and so on.+--+-- 'tags', 'flowDefinition_tags' - The tags used to organize, track, or control access for your flow.+--+-- 'triggerType', 'flowDefinition_triggerType' - Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+-- or @Event@.+newFlowDefinition ::+  FlowDefinition+newFlowDefinition =+  FlowDefinition'+    { createdAt = Prelude.Nothing,+      createdBy = Prelude.Nothing,+      description = Prelude.Nothing,+      destinationConnectorLabel = Prelude.Nothing,+      destinationConnectorType = Prelude.Nothing,+      flowArn = Prelude.Nothing,+      flowName = Prelude.Nothing,+      flowStatus = Prelude.Nothing,+      lastRunExecutionDetails = Prelude.Nothing,+      lastUpdatedAt = Prelude.Nothing,+      lastUpdatedBy = Prelude.Nothing,+      sourceConnectorLabel = Prelude.Nothing,+      sourceConnectorType = Prelude.Nothing,+      tags = Prelude.Nothing,+      triggerType = Prelude.Nothing+    }++-- | Specifies when the flow was created.+flowDefinition_createdAt :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.UTCTime)+flowDefinition_createdAt = Lens.lens (\FlowDefinition' {createdAt} -> createdAt) (\s@FlowDefinition' {} a -> s {createdAt = a} :: FlowDefinition) Prelude.. Lens.mapping Data._Time++-- | The ARN of the user who created the flow.+flowDefinition_createdBy :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_createdBy = Lens.lens (\FlowDefinition' {createdBy} -> createdBy) (\s@FlowDefinition' {} a -> s {createdBy = a} :: FlowDefinition)++-- | A user-entered description of the flow.+flowDefinition_description :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_description = Lens.lens (\FlowDefinition' {description} -> description) (\s@FlowDefinition' {} a -> s {description = a} :: FlowDefinition)++-- | The label of the destination connector in the flow.+flowDefinition_destinationConnectorLabel :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_destinationConnectorLabel = Lens.lens (\FlowDefinition' {destinationConnectorLabel} -> destinationConnectorLabel) (\s@FlowDefinition' {} a -> s {destinationConnectorLabel = a} :: FlowDefinition)++-- | Specifies the destination connector type, such as Salesforce, Amazon S3,+-- Amplitude, and so on.+flowDefinition_destinationConnectorType :: Lens.Lens' FlowDefinition (Prelude.Maybe ConnectorType)+flowDefinition_destinationConnectorType = Lens.lens (\FlowDefinition' {destinationConnectorType} -> destinationConnectorType) (\s@FlowDefinition' {} a -> s {destinationConnectorType = a} :: FlowDefinition)++-- | The flow\'s Amazon Resource Name (ARN).+flowDefinition_flowArn :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_flowArn = Lens.lens (\FlowDefinition' {flowArn} -> flowArn) (\s@FlowDefinition' {} a -> s {flowArn = a} :: FlowDefinition)++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+flowDefinition_flowName :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_flowName = Lens.lens (\FlowDefinition' {flowName} -> flowName) (\s@FlowDefinition' {} a -> s {flowName = a} :: FlowDefinition)++-- | Indicates the current status of the flow.+flowDefinition_flowStatus :: Lens.Lens' FlowDefinition (Prelude.Maybe FlowStatus)+flowDefinition_flowStatus = Lens.lens (\FlowDefinition' {flowStatus} -> flowStatus) (\s@FlowDefinition' {} a -> s {flowStatus = a} :: FlowDefinition)++-- | Describes the details of the most recent flow run.+flowDefinition_lastRunExecutionDetails :: Lens.Lens' FlowDefinition (Prelude.Maybe ExecutionDetails)+flowDefinition_lastRunExecutionDetails = Lens.lens (\FlowDefinition' {lastRunExecutionDetails} -> lastRunExecutionDetails) (\s@FlowDefinition' {} a -> s {lastRunExecutionDetails = a} :: FlowDefinition)++-- | Specifies when the flow was last updated.+flowDefinition_lastUpdatedAt :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.UTCTime)+flowDefinition_lastUpdatedAt = Lens.lens (\FlowDefinition' {lastUpdatedAt} -> lastUpdatedAt) (\s@FlowDefinition' {} a -> s {lastUpdatedAt = a} :: FlowDefinition) Prelude.. Lens.mapping Data._Time++-- | Specifies the account user name that most recently updated the flow.+flowDefinition_lastUpdatedBy :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_lastUpdatedBy = Lens.lens (\FlowDefinition' {lastUpdatedBy} -> lastUpdatedBy) (\s@FlowDefinition' {} a -> s {lastUpdatedBy = a} :: FlowDefinition)++-- | The label of the source connector in the flow.+flowDefinition_sourceConnectorLabel :: Lens.Lens' FlowDefinition (Prelude.Maybe Prelude.Text)+flowDefinition_sourceConnectorLabel = Lens.lens (\FlowDefinition' {sourceConnectorLabel} -> sourceConnectorLabel) (\s@FlowDefinition' {} a -> s {sourceConnectorLabel = a} :: FlowDefinition)++-- | Specifies the source connector type, such as Salesforce, Amazon S3,+-- Amplitude, and so on.+flowDefinition_sourceConnectorType :: Lens.Lens' FlowDefinition (Prelude.Maybe ConnectorType)+flowDefinition_sourceConnectorType = Lens.lens (\FlowDefinition' {sourceConnectorType} -> sourceConnectorType) (\s@FlowDefinition' {} a -> s {sourceConnectorType = a} :: FlowDefinition)++-- | The tags used to organize, track, or control access for your flow.+flowDefinition_tags :: Lens.Lens' FlowDefinition (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+flowDefinition_tags = Lens.lens (\FlowDefinition' {tags} -> tags) (\s@FlowDefinition' {} a -> s {tags = a} :: FlowDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+-- or @Event@.+flowDefinition_triggerType :: Lens.Lens' FlowDefinition (Prelude.Maybe TriggerType)+flowDefinition_triggerType = Lens.lens (\FlowDefinition' {triggerType} -> triggerType) (\s@FlowDefinition' {} a -> s {triggerType = a} :: FlowDefinition)++instance Data.FromJSON FlowDefinition where+  parseJSON =+    Data.withObject+      "FlowDefinition"+      ( \x ->+          FlowDefinition'+            Prelude.<$> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "createdBy")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "destinationConnectorLabel")+            Prelude.<*> (x Data..:? "destinationConnectorType")+            Prelude.<*> (x Data..:? "flowArn")+            Prelude.<*> (x Data..:? "flowName")+            Prelude.<*> (x Data..:? "flowStatus")+            Prelude.<*> (x Data..:? "lastRunExecutionDetails")+            Prelude.<*> (x Data..:? "lastUpdatedAt")+            Prelude.<*> (x Data..:? "lastUpdatedBy")+            Prelude.<*> (x Data..:? "sourceConnectorLabel")+            Prelude.<*> (x Data..:? "sourceConnectorType")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "triggerType")+      )++instance Prelude.Hashable FlowDefinition where+  hashWithSalt _salt FlowDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationConnectorLabel+      `Prelude.hashWithSalt` destinationConnectorType+      `Prelude.hashWithSalt` flowArn+      `Prelude.hashWithSalt` flowName+      `Prelude.hashWithSalt` flowStatus+      `Prelude.hashWithSalt` lastRunExecutionDetails+      `Prelude.hashWithSalt` lastUpdatedAt+      `Prelude.hashWithSalt` lastUpdatedBy+      `Prelude.hashWithSalt` sourceConnectorLabel+      `Prelude.hashWithSalt` sourceConnectorType+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` triggerType++instance Prelude.NFData FlowDefinition where+  rnf FlowDefinition' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationConnectorLabel+      `Prelude.seq` Prelude.rnf destinationConnectorType+      `Prelude.seq` Prelude.rnf flowArn+      `Prelude.seq` Prelude.rnf flowName+      `Prelude.seq` Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf lastRunExecutionDetails+      `Prelude.seq` Prelude.rnf lastUpdatedAt+      `Prelude.seq` Prelude.rnf lastUpdatedBy+      `Prelude.seq` Prelude.rnf sourceConnectorLabel+      `Prelude.seq` Prelude.rnf sourceConnectorType+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf triggerType
+ gen/Amazonka/AppFlow/Types/FlowStatus.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.FlowStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.FlowStatus+  ( FlowStatus+      ( ..,+        FlowStatus_Active,+        FlowStatus_Deleted,+        FlowStatus_Deprecated,+        FlowStatus_Draft,+        FlowStatus_Errored,+        FlowStatus_Suspended+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FlowStatus = FlowStatus'+  { fromFlowStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FlowStatus_Active :: FlowStatus+pattern FlowStatus_Active = FlowStatus' "Active"++pattern FlowStatus_Deleted :: FlowStatus+pattern FlowStatus_Deleted = FlowStatus' "Deleted"++pattern FlowStatus_Deprecated :: FlowStatus+pattern FlowStatus_Deprecated = FlowStatus' "Deprecated"++pattern FlowStatus_Draft :: FlowStatus+pattern FlowStatus_Draft = FlowStatus' "Draft"++pattern FlowStatus_Errored :: FlowStatus+pattern FlowStatus_Errored = FlowStatus' "Errored"++pattern FlowStatus_Suspended :: FlowStatus+pattern FlowStatus_Suspended = FlowStatus' "Suspended"++{-# COMPLETE+  FlowStatus_Active,+  FlowStatus_Deleted,+  FlowStatus_Deprecated,+  FlowStatus_Draft,+  FlowStatus_Errored,+  FlowStatus_Suspended,+  FlowStatus'+  #-}
+ gen/Amazonka/AppFlow/Types/GlueDataCatalogConfig.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.GlueDataCatalogConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GlueDataCatalogConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- your data with the Glue Data Catalog. When Amazon AppFlow catalogs your+-- data, it stores metadata in Data Catalog tables. This metadata+-- represents the data that\'s transferred by the flow that you configure+-- with these settings.+--+-- You can configure a flow with these settings only when the flow+-- destination is Amazon S3.+--+-- /See:/ 'newGlueDataCatalogConfig' smart constructor.+data GlueDataCatalogConfig = GlueDataCatalogConfig'+  { -- | The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow+    -- the permissions it needs to create Data Catalog tables, databases, and+    -- partitions.+    --+    -- For an example IAM policy that has the required permissions, see+    -- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html Identity-based policy examples for Amazon AppFlow>.+    roleArn :: Prelude.Text,+    -- | The name of the Data Catalog database that stores the metadata tables+    -- that Amazon AppFlow creates in your Amazon Web Services account. These+    -- tables contain metadata for the data that\'s transferred by the flow+    -- that you configure with this parameter.+    --+    -- When you configure a new flow with this parameter, you must specify an+    -- existing database.+    databaseName :: Prelude.Text,+    -- | A naming prefix for each Data Catalog table that Amazon AppFlow creates+    -- for the flow that you configure with this setting. Amazon AppFlow adds+    -- the prefix to the beginning of the each table name.+    tablePrefix :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlueDataCatalogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'roleArn', 'glueDataCatalogConfig_roleArn' - The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow+-- the permissions it needs to create Data Catalog tables, databases, and+-- partitions.+--+-- For an example IAM policy that has the required permissions, see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html Identity-based policy examples for Amazon AppFlow>.+--+-- 'databaseName', 'glueDataCatalogConfig_databaseName' - The name of the Data Catalog database that stores the metadata tables+-- that Amazon AppFlow creates in your Amazon Web Services account. These+-- tables contain metadata for the data that\'s transferred by the flow+-- that you configure with this parameter.+--+-- When you configure a new flow with this parameter, you must specify an+-- existing database.+--+-- 'tablePrefix', 'glueDataCatalogConfig_tablePrefix' - A naming prefix for each Data Catalog table that Amazon AppFlow creates+-- for the flow that you configure with this setting. Amazon AppFlow adds+-- the prefix to the beginning of the each table name.+newGlueDataCatalogConfig ::+  -- | 'roleArn'+  Prelude.Text ->+  -- | 'databaseName'+  Prelude.Text ->+  -- | 'tablePrefix'+  Prelude.Text ->+  GlueDataCatalogConfig+newGlueDataCatalogConfig+  pRoleArn_+  pDatabaseName_+  pTablePrefix_ =+    GlueDataCatalogConfig'+      { roleArn = pRoleArn_,+        databaseName = pDatabaseName_,+        tablePrefix = pTablePrefix_+      }++-- | The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow+-- the permissions it needs to create Data Catalog tables, databases, and+-- partitions.+--+-- For an example IAM policy that has the required permissions, see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_id-based-policy-examples.html Identity-based policy examples for Amazon AppFlow>.+glueDataCatalogConfig_roleArn :: Lens.Lens' GlueDataCatalogConfig Prelude.Text+glueDataCatalogConfig_roleArn = Lens.lens (\GlueDataCatalogConfig' {roleArn} -> roleArn) (\s@GlueDataCatalogConfig' {} a -> s {roleArn = a} :: GlueDataCatalogConfig)++-- | The name of the Data Catalog database that stores the metadata tables+-- that Amazon AppFlow creates in your Amazon Web Services account. These+-- tables contain metadata for the data that\'s transferred by the flow+-- that you configure with this parameter.+--+-- When you configure a new flow with this parameter, you must specify an+-- existing database.+glueDataCatalogConfig_databaseName :: Lens.Lens' GlueDataCatalogConfig Prelude.Text+glueDataCatalogConfig_databaseName = Lens.lens (\GlueDataCatalogConfig' {databaseName} -> databaseName) (\s@GlueDataCatalogConfig' {} a -> s {databaseName = a} :: GlueDataCatalogConfig)++-- | A naming prefix for each Data Catalog table that Amazon AppFlow creates+-- for the flow that you configure with this setting. Amazon AppFlow adds+-- the prefix to the beginning of the each table name.+glueDataCatalogConfig_tablePrefix :: Lens.Lens' GlueDataCatalogConfig Prelude.Text+glueDataCatalogConfig_tablePrefix = Lens.lens (\GlueDataCatalogConfig' {tablePrefix} -> tablePrefix) (\s@GlueDataCatalogConfig' {} a -> s {tablePrefix = a} :: GlueDataCatalogConfig)++instance Data.FromJSON GlueDataCatalogConfig where+  parseJSON =+    Data.withObject+      "GlueDataCatalogConfig"+      ( \x ->+          GlueDataCatalogConfig'+            Prelude.<$> (x Data..: "roleArn")+            Prelude.<*> (x Data..: "databaseName")+            Prelude.<*> (x Data..: "tablePrefix")+      )++instance Prelude.Hashable GlueDataCatalogConfig where+  hashWithSalt _salt GlueDataCatalogConfig' {..} =+    _salt+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` databaseName+      `Prelude.hashWithSalt` tablePrefix++instance Prelude.NFData GlueDataCatalogConfig where+  rnf GlueDataCatalogConfig' {..} =+    Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf databaseName+      `Prelude.seq` Prelude.rnf tablePrefix++instance Data.ToJSON GlueDataCatalogConfig where+  toJSON GlueDataCatalogConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("roleArn" Data..= roleArn),+            Prelude.Just ("databaseName" Data..= databaseName),+            Prelude.Just ("tablePrefix" Data..= tablePrefix)+          ]+      )
+ gen/Amazonka/AppFlow/Types/GoogleAnalyticsConnectorOperator.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator+  ( GoogleAnalyticsConnectorOperator+      ( ..,+        GoogleAnalyticsConnectorOperator_BETWEEN,+        GoogleAnalyticsConnectorOperator_PROJECTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GoogleAnalyticsConnectorOperator = GoogleAnalyticsConnectorOperator'+  { fromGoogleAnalyticsConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern GoogleAnalyticsConnectorOperator_BETWEEN :: GoogleAnalyticsConnectorOperator+pattern GoogleAnalyticsConnectorOperator_BETWEEN = GoogleAnalyticsConnectorOperator' "BETWEEN"++pattern GoogleAnalyticsConnectorOperator_PROJECTION :: GoogleAnalyticsConnectorOperator+pattern GoogleAnalyticsConnectorOperator_PROJECTION = GoogleAnalyticsConnectorOperator' "PROJECTION"++{-# COMPLETE+  GoogleAnalyticsConnectorOperator_BETWEEN,+  GoogleAnalyticsConnectorOperator_PROJECTION,+  GoogleAnalyticsConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/GoogleAnalyticsConnectorProfileCredentials.hs view
@@ -0,0 +1,150 @@+{-# 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.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific profile credentials required by Google Analytics.+--+-- /See:/ 'newGoogleAnalyticsConnectorProfileCredentials' smart constructor.+data GoogleAnalyticsConnectorProfileCredentials = GoogleAnalyticsConnectorProfileCredentials'+  { -- | The credentials used to access protected Google Analytics resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The credentials used to acquire new access tokens. This is required only+    -- for OAuth2 access tokens, and is not required for OAuth1 access tokens.+    refreshToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier for the desired client.+    clientId :: Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GoogleAnalyticsConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'googleAnalyticsConnectorProfileCredentials_accessToken' - The credentials used to access protected Google Analytics resources.+--+-- 'oAuthRequest', 'googleAnalyticsConnectorProfileCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'refreshToken', 'googleAnalyticsConnectorProfileCredentials_refreshToken' - The credentials used to acquire new access tokens. This is required only+-- for OAuth2 access tokens, and is not required for OAuth1 access tokens.+--+-- 'clientId', 'googleAnalyticsConnectorProfileCredentials_clientId' - The identifier for the desired client.+--+-- 'clientSecret', 'googleAnalyticsConnectorProfileCredentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+newGoogleAnalyticsConnectorProfileCredentials ::+  -- | 'clientId'+  Prelude.Text ->+  -- | 'clientSecret'+  Prelude.Text ->+  GoogleAnalyticsConnectorProfileCredentials+newGoogleAnalyticsConnectorProfileCredentials+  pClientId_+  pClientSecret_ =+    GoogleAnalyticsConnectorProfileCredentials'+      { accessToken =+          Prelude.Nothing,+        oAuthRequest = Prelude.Nothing,+        refreshToken = Prelude.Nothing,+        clientId = pClientId_,+        clientSecret =+          Data._Sensitive+            Lens.# pClientSecret_+      }++-- | The credentials used to access protected Google Analytics resources.+googleAnalyticsConnectorProfileCredentials_accessToken :: Lens.Lens' GoogleAnalyticsConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+googleAnalyticsConnectorProfileCredentials_accessToken = Lens.lens (\GoogleAnalyticsConnectorProfileCredentials' {accessToken} -> accessToken) (\s@GoogleAnalyticsConnectorProfileCredentials' {} a -> s {accessToken = a} :: GoogleAnalyticsConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+googleAnalyticsConnectorProfileCredentials_oAuthRequest :: Lens.Lens' GoogleAnalyticsConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+googleAnalyticsConnectorProfileCredentials_oAuthRequest = Lens.lens (\GoogleAnalyticsConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@GoogleAnalyticsConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: GoogleAnalyticsConnectorProfileCredentials)++-- | The credentials used to acquire new access tokens. This is required only+-- for OAuth2 access tokens, and is not required for OAuth1 access tokens.+googleAnalyticsConnectorProfileCredentials_refreshToken :: Lens.Lens' GoogleAnalyticsConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+googleAnalyticsConnectorProfileCredentials_refreshToken = Lens.lens (\GoogleAnalyticsConnectorProfileCredentials' {refreshToken} -> refreshToken) (\s@GoogleAnalyticsConnectorProfileCredentials' {} a -> s {refreshToken = a} :: GoogleAnalyticsConnectorProfileCredentials)++-- | The identifier for the desired client.+googleAnalyticsConnectorProfileCredentials_clientId :: Lens.Lens' GoogleAnalyticsConnectorProfileCredentials Prelude.Text+googleAnalyticsConnectorProfileCredentials_clientId = Lens.lens (\GoogleAnalyticsConnectorProfileCredentials' {clientId} -> clientId) (\s@GoogleAnalyticsConnectorProfileCredentials' {} a -> s {clientId = a} :: GoogleAnalyticsConnectorProfileCredentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+googleAnalyticsConnectorProfileCredentials_clientSecret :: Lens.Lens' GoogleAnalyticsConnectorProfileCredentials Prelude.Text+googleAnalyticsConnectorProfileCredentials_clientSecret = Lens.lens (\GoogleAnalyticsConnectorProfileCredentials' {clientSecret} -> clientSecret) (\s@GoogleAnalyticsConnectorProfileCredentials' {} a -> s {clientSecret = a} :: GoogleAnalyticsConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    GoogleAnalyticsConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    GoogleAnalyticsConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` refreshToken+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` clientSecret++instance+  Prelude.NFData+    GoogleAnalyticsConnectorProfileCredentials+  where+  rnf GoogleAnalyticsConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf refreshToken+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance+  Data.ToJSON+    GoogleAnalyticsConnectorProfileCredentials+  where+  toJSON+    GoogleAnalyticsConnectorProfileCredentials' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("accessToken" Data..=) Prelude.<$> accessToken,+              ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+              ("refreshToken" Data..=) Prelude.<$> refreshToken,+              Prelude.Just ("clientId" Data..= clientId),+              Prelude.Just ("clientSecret" Data..= clientSecret)+            ]+        )
+ gen/Amazonka/AppFlow/Types/GoogleAnalyticsConnectorProfileProperties.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GoogleAnalyticsConnectorProfileProperties 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 connector-specific profile properties required by Google Analytics.+--+-- /See:/ 'newGoogleAnalyticsConnectorProfileProperties' smart constructor.+data GoogleAnalyticsConnectorProfileProperties = GoogleAnalyticsConnectorProfileProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GoogleAnalyticsConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGoogleAnalyticsConnectorProfileProperties ::+  GoogleAnalyticsConnectorProfileProperties+newGoogleAnalyticsConnectorProfileProperties =+  GoogleAnalyticsConnectorProfileProperties'++instance+  Data.FromJSON+    GoogleAnalyticsConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "GoogleAnalyticsConnectorProfileProperties"+      ( \x ->+          Prelude.pure+            GoogleAnalyticsConnectorProfileProperties'+      )++instance+  Prelude.Hashable+    GoogleAnalyticsConnectorProfileProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    GoogleAnalyticsConnectorProfileProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    GoogleAnalyticsConnectorProfileProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/GoogleAnalyticsMetadata.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.GoogleAnalyticsMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GoogleAnalyticsMetadata 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 connector metadata specific to Google Analytics.+--+-- /See:/ 'newGoogleAnalyticsMetadata' smart constructor.+data GoogleAnalyticsMetadata = GoogleAnalyticsMetadata'+  { -- | The desired authorization scope for the Google Analytics account.+    oAuthScopes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GoogleAnalyticsMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oAuthScopes', 'googleAnalyticsMetadata_oAuthScopes' - The desired authorization scope for the Google Analytics account.+newGoogleAnalyticsMetadata ::+  GoogleAnalyticsMetadata+newGoogleAnalyticsMetadata =+  GoogleAnalyticsMetadata'+    { oAuthScopes =+        Prelude.Nothing+    }++-- | The desired authorization scope for the Google Analytics account.+googleAnalyticsMetadata_oAuthScopes :: Lens.Lens' GoogleAnalyticsMetadata (Prelude.Maybe [Prelude.Text])+googleAnalyticsMetadata_oAuthScopes = Lens.lens (\GoogleAnalyticsMetadata' {oAuthScopes} -> oAuthScopes) (\s@GoogleAnalyticsMetadata' {} a -> s {oAuthScopes = a} :: GoogleAnalyticsMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GoogleAnalyticsMetadata where+  parseJSON =+    Data.withObject+      "GoogleAnalyticsMetadata"+      ( \x ->+          GoogleAnalyticsMetadata'+            Prelude.<$> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GoogleAnalyticsMetadata where+  hashWithSalt _salt GoogleAnalyticsMetadata' {..} =+    _salt `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData GoogleAnalyticsMetadata where+  rnf GoogleAnalyticsMetadata' {..} =+    Prelude.rnf oAuthScopes
+ gen/Amazonka/AppFlow/Types/GoogleAnalyticsSourceProperties.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties 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 properties that are applied when Google Analytics is being used as a+-- source.+--+-- /See:/ 'newGoogleAnalyticsSourceProperties' smart constructor.+data GoogleAnalyticsSourceProperties = GoogleAnalyticsSourceProperties'+  { -- | The object specified in the Google Analytics flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GoogleAnalyticsSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'googleAnalyticsSourceProperties_object' - The object specified in the Google Analytics flow source.+newGoogleAnalyticsSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  GoogleAnalyticsSourceProperties+newGoogleAnalyticsSourceProperties pObject_ =+  GoogleAnalyticsSourceProperties'+    { object' =+        pObject_+    }++-- | The object specified in the Google Analytics flow source.+googleAnalyticsSourceProperties_object :: Lens.Lens' GoogleAnalyticsSourceProperties Prelude.Text+googleAnalyticsSourceProperties_object = Lens.lens (\GoogleAnalyticsSourceProperties' {object'} -> object') (\s@GoogleAnalyticsSourceProperties' {} a -> s {object' = a} :: GoogleAnalyticsSourceProperties)++instance+  Data.FromJSON+    GoogleAnalyticsSourceProperties+  where+  parseJSON =+    Data.withObject+      "GoogleAnalyticsSourceProperties"+      ( \x ->+          GoogleAnalyticsSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance+  Prelude.Hashable+    GoogleAnalyticsSourceProperties+  where+  hashWithSalt+    _salt+    GoogleAnalyticsSourceProperties' {..} =+      _salt `Prelude.hashWithSalt` object'++instance+  Prelude.NFData+    GoogleAnalyticsSourceProperties+  where+  rnf GoogleAnalyticsSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON GoogleAnalyticsSourceProperties where+  toJSON GoogleAnalyticsSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/HoneycodeConnectorProfileCredentials.hs view
@@ -0,0 +1,107 @@+{-# 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.AppFlow.Types.HoneycodeConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.HoneycodeConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific credentials required when using Amazon Honeycode.+--+-- /See:/ 'newHoneycodeConnectorProfileCredentials' smart constructor.+data HoneycodeConnectorProfileCredentials = HoneycodeConnectorProfileCredentials'+  { -- | The credentials used to access protected Amazon Honeycode resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The credentials used to acquire new access tokens.+    refreshToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HoneycodeConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'honeycodeConnectorProfileCredentials_accessToken' - The credentials used to access protected Amazon Honeycode resources.+--+-- 'oAuthRequest', 'honeycodeConnectorProfileCredentials_oAuthRequest' - Undocumented member.+--+-- 'refreshToken', 'honeycodeConnectorProfileCredentials_refreshToken' - The credentials used to acquire new access tokens.+newHoneycodeConnectorProfileCredentials ::+  HoneycodeConnectorProfileCredentials+newHoneycodeConnectorProfileCredentials =+  HoneycodeConnectorProfileCredentials'+    { accessToken =+        Prelude.Nothing,+      oAuthRequest = Prelude.Nothing,+      refreshToken = Prelude.Nothing+    }++-- | The credentials used to access protected Amazon Honeycode resources.+honeycodeConnectorProfileCredentials_accessToken :: Lens.Lens' HoneycodeConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+honeycodeConnectorProfileCredentials_accessToken = Lens.lens (\HoneycodeConnectorProfileCredentials' {accessToken} -> accessToken) (\s@HoneycodeConnectorProfileCredentials' {} a -> s {accessToken = a} :: HoneycodeConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | Undocumented member.+honeycodeConnectorProfileCredentials_oAuthRequest :: Lens.Lens' HoneycodeConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+honeycodeConnectorProfileCredentials_oAuthRequest = Lens.lens (\HoneycodeConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@HoneycodeConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: HoneycodeConnectorProfileCredentials)++-- | The credentials used to acquire new access tokens.+honeycodeConnectorProfileCredentials_refreshToken :: Lens.Lens' HoneycodeConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+honeycodeConnectorProfileCredentials_refreshToken = Lens.lens (\HoneycodeConnectorProfileCredentials' {refreshToken} -> refreshToken) (\s@HoneycodeConnectorProfileCredentials' {} a -> s {refreshToken = a} :: HoneycodeConnectorProfileCredentials)++instance+  Prelude.Hashable+    HoneycodeConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    HoneycodeConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` refreshToken++instance+  Prelude.NFData+    HoneycodeConnectorProfileCredentials+  where+  rnf HoneycodeConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf refreshToken++instance+  Data.ToJSON+    HoneycodeConnectorProfileCredentials+  where+  toJSON HoneycodeConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            ("refreshToken" Data..=) Prelude.<$> refreshToken+          ]+      )
+ gen/Amazonka/AppFlow/Types/HoneycodeConnectorProfileProperties.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.HoneycodeConnectorProfileProperties 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 connector-specific properties required when using Amazon Honeycode.+--+-- /See:/ 'newHoneycodeConnectorProfileProperties' smart constructor.+data HoneycodeConnectorProfileProperties = HoneycodeConnectorProfileProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HoneycodeConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newHoneycodeConnectorProfileProperties ::+  HoneycodeConnectorProfileProperties+newHoneycodeConnectorProfileProperties =+  HoneycodeConnectorProfileProperties'++instance+  Data.FromJSON+    HoneycodeConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "HoneycodeConnectorProfileProperties"+      ( \x ->+          Prelude.pure HoneycodeConnectorProfileProperties'+      )++instance+  Prelude.Hashable+    HoneycodeConnectorProfileProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    HoneycodeConnectorProfileProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    HoneycodeConnectorProfileProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/HoneycodeDestinationProperties.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.HoneycodeDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.HoneycodeDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+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 properties that are applied when Amazon Honeycode is used as a+-- destination.+--+-- /See:/ 'newHoneycodeDestinationProperties' smart constructor.+data HoneycodeDestinationProperties = HoneycodeDestinationProperties'+  { errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The object specified in the Amazon Honeycode flow destination.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HoneycodeDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorHandlingConfig', 'honeycodeDestinationProperties_errorHandlingConfig' - Undocumented member.+--+-- 'object'', 'honeycodeDestinationProperties_object' - The object specified in the Amazon Honeycode flow destination.+newHoneycodeDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  HoneycodeDestinationProperties+newHoneycodeDestinationProperties pObject_ =+  HoneycodeDestinationProperties'+    { errorHandlingConfig =+        Prelude.Nothing,+      object' = pObject_+    }++-- | Undocumented member.+honeycodeDestinationProperties_errorHandlingConfig :: Lens.Lens' HoneycodeDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+honeycodeDestinationProperties_errorHandlingConfig = Lens.lens (\HoneycodeDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@HoneycodeDestinationProperties' {} a -> s {errorHandlingConfig = a} :: HoneycodeDestinationProperties)++-- | The object specified in the Amazon Honeycode flow destination.+honeycodeDestinationProperties_object :: Lens.Lens' HoneycodeDestinationProperties Prelude.Text+honeycodeDestinationProperties_object = Lens.lens (\HoneycodeDestinationProperties' {object'} -> object') (\s@HoneycodeDestinationProperties' {} a -> s {object' = a} :: HoneycodeDestinationProperties)++instance Data.FromJSON HoneycodeDestinationProperties where+  parseJSON =+    Data.withObject+      "HoneycodeDestinationProperties"+      ( \x ->+          HoneycodeDestinationProperties'+            Prelude.<$> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..: "object")+      )++instance+  Prelude.Hashable+    HoneycodeDestinationProperties+  where+  hashWithSalt+    _salt+    HoneycodeDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` errorHandlingConfig+        `Prelude.hashWithSalt` object'++instance+  Prelude.NFData+    HoneycodeDestinationProperties+  where+  rnf HoneycodeDestinationProperties' {..} =+    Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON HoneycodeDestinationProperties where+  toJSON HoneycodeDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/HoneycodeMetadata.hs view
@@ -0,0 +1,68 @@+{-# 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.AppFlow.Types.HoneycodeMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.HoneycodeMetadata 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 connector metadata specific to Amazon Honeycode.+--+-- /See:/ 'newHoneycodeMetadata' smart constructor.+data HoneycodeMetadata = HoneycodeMetadata'+  { -- | The desired authorization scope for the Amazon Honeycode account.+    oAuthScopes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HoneycodeMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oAuthScopes', 'honeycodeMetadata_oAuthScopes' - The desired authorization scope for the Amazon Honeycode account.+newHoneycodeMetadata ::+  HoneycodeMetadata+newHoneycodeMetadata =+  HoneycodeMetadata' {oAuthScopes = Prelude.Nothing}++-- | The desired authorization scope for the Amazon Honeycode account.+honeycodeMetadata_oAuthScopes :: Lens.Lens' HoneycodeMetadata (Prelude.Maybe [Prelude.Text])+honeycodeMetadata_oAuthScopes = Lens.lens (\HoneycodeMetadata' {oAuthScopes} -> oAuthScopes) (\s@HoneycodeMetadata' {} a -> s {oAuthScopes = a} :: HoneycodeMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON HoneycodeMetadata where+  parseJSON =+    Data.withObject+      "HoneycodeMetadata"+      ( \x ->+          HoneycodeMetadata'+            Prelude.<$> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable HoneycodeMetadata where+  hashWithSalt _salt HoneycodeMetadata' {..} =+    _salt `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData HoneycodeMetadata where+  rnf HoneycodeMetadata' {..} = Prelude.rnf oAuthScopes
+ gen/Amazonka/AppFlow/Types/IncrementalPullConfig.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.IncrementalPullConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.IncrementalPullConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration used when importing incremental records from+-- the source.+--+-- /See:/ 'newIncrementalPullConfig' smart constructor.+data IncrementalPullConfig = IncrementalPullConfig'+  { -- | A field that specifies the date time or timestamp field as the criteria+    -- to use when importing incremental records from the source.+    datetimeTypeFieldName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IncrementalPullConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datetimeTypeFieldName', 'incrementalPullConfig_datetimeTypeFieldName' - A field that specifies the date time or timestamp field as the criteria+-- to use when importing incremental records from the source.+newIncrementalPullConfig ::+  IncrementalPullConfig+newIncrementalPullConfig =+  IncrementalPullConfig'+    { datetimeTypeFieldName =+        Prelude.Nothing+    }++-- | A field that specifies the date time or timestamp field as the criteria+-- to use when importing incremental records from the source.+incrementalPullConfig_datetimeTypeFieldName :: Lens.Lens' IncrementalPullConfig (Prelude.Maybe Prelude.Text)+incrementalPullConfig_datetimeTypeFieldName = Lens.lens (\IncrementalPullConfig' {datetimeTypeFieldName} -> datetimeTypeFieldName) (\s@IncrementalPullConfig' {} a -> s {datetimeTypeFieldName = a} :: IncrementalPullConfig)++instance Data.FromJSON IncrementalPullConfig where+  parseJSON =+    Data.withObject+      "IncrementalPullConfig"+      ( \x ->+          IncrementalPullConfig'+            Prelude.<$> (x Data..:? "datetimeTypeFieldName")+      )++instance Prelude.Hashable IncrementalPullConfig where+  hashWithSalt _salt IncrementalPullConfig' {..} =+    _salt `Prelude.hashWithSalt` datetimeTypeFieldName++instance Prelude.NFData IncrementalPullConfig where+  rnf IncrementalPullConfig' {..} =+    Prelude.rnf datetimeTypeFieldName++instance Data.ToJSON IncrementalPullConfig where+  toJSON IncrementalPullConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("datetimeTypeFieldName" Data..=)+              Prelude.<$> datetimeTypeFieldName+          ]+      )
+ gen/Amazonka/AppFlow/Types/InforNexusConnectorOperator.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.InforNexusConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.InforNexusConnectorOperator+  ( InforNexusConnectorOperator+      ( ..,+        InforNexusConnectorOperator_ADDITION,+        InforNexusConnectorOperator_BETWEEN,+        InforNexusConnectorOperator_DIVISION,+        InforNexusConnectorOperator_EQUAL_TO,+        InforNexusConnectorOperator_MASK_ALL,+        InforNexusConnectorOperator_MASK_FIRST_N,+        InforNexusConnectorOperator_MASK_LAST_N,+        InforNexusConnectorOperator_MULTIPLICATION,+        InforNexusConnectorOperator_NO_OP,+        InforNexusConnectorOperator_PROJECTION,+        InforNexusConnectorOperator_SUBTRACTION,+        InforNexusConnectorOperator_VALIDATE_NON_NEGATIVE,+        InforNexusConnectorOperator_VALIDATE_NON_NULL,+        InforNexusConnectorOperator_VALIDATE_NON_ZERO,+        InforNexusConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InforNexusConnectorOperator = InforNexusConnectorOperator'+  { fromInforNexusConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern InforNexusConnectorOperator_ADDITION :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_ADDITION = InforNexusConnectorOperator' "ADDITION"++pattern InforNexusConnectorOperator_BETWEEN :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_BETWEEN = InforNexusConnectorOperator' "BETWEEN"++pattern InforNexusConnectorOperator_DIVISION :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_DIVISION = InforNexusConnectorOperator' "DIVISION"++pattern InforNexusConnectorOperator_EQUAL_TO :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_EQUAL_TO = InforNexusConnectorOperator' "EQUAL_TO"++pattern InforNexusConnectorOperator_MASK_ALL :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_MASK_ALL = InforNexusConnectorOperator' "MASK_ALL"++pattern InforNexusConnectorOperator_MASK_FIRST_N :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_MASK_FIRST_N = InforNexusConnectorOperator' "MASK_FIRST_N"++pattern InforNexusConnectorOperator_MASK_LAST_N :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_MASK_LAST_N = InforNexusConnectorOperator' "MASK_LAST_N"++pattern InforNexusConnectorOperator_MULTIPLICATION :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_MULTIPLICATION = InforNexusConnectorOperator' "MULTIPLICATION"++pattern InforNexusConnectorOperator_NO_OP :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_NO_OP = InforNexusConnectorOperator' "NO_OP"++pattern InforNexusConnectorOperator_PROJECTION :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_PROJECTION = InforNexusConnectorOperator' "PROJECTION"++pattern InforNexusConnectorOperator_SUBTRACTION :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_SUBTRACTION = InforNexusConnectorOperator' "SUBTRACTION"++pattern InforNexusConnectorOperator_VALIDATE_NON_NEGATIVE :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_VALIDATE_NON_NEGATIVE = InforNexusConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern InforNexusConnectorOperator_VALIDATE_NON_NULL :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_VALIDATE_NON_NULL = InforNexusConnectorOperator' "VALIDATE_NON_NULL"++pattern InforNexusConnectorOperator_VALIDATE_NON_ZERO :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_VALIDATE_NON_ZERO = InforNexusConnectorOperator' "VALIDATE_NON_ZERO"++pattern InforNexusConnectorOperator_VALIDATE_NUMERIC :: InforNexusConnectorOperator+pattern InforNexusConnectorOperator_VALIDATE_NUMERIC = InforNexusConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  InforNexusConnectorOperator_ADDITION,+  InforNexusConnectorOperator_BETWEEN,+  InforNexusConnectorOperator_DIVISION,+  InforNexusConnectorOperator_EQUAL_TO,+  InforNexusConnectorOperator_MASK_ALL,+  InforNexusConnectorOperator_MASK_FIRST_N,+  InforNexusConnectorOperator_MASK_LAST_N,+  InforNexusConnectorOperator_MULTIPLICATION,+  InforNexusConnectorOperator_NO_OP,+  InforNexusConnectorOperator_PROJECTION,+  InforNexusConnectorOperator_SUBTRACTION,+  InforNexusConnectorOperator_VALIDATE_NON_NEGATIVE,+  InforNexusConnectorOperator_VALIDATE_NON_NULL,+  InforNexusConnectorOperator_VALIDATE_NON_ZERO,+  InforNexusConnectorOperator_VALIDATE_NUMERIC,+  InforNexusConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/InforNexusConnectorProfileCredentials.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.AppFlow.Types.InforNexusConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.InforNexusConnectorProfileCredentials 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 connector-specific profile credentials required by Infor Nexus.+--+-- /See:/ 'newInforNexusConnectorProfileCredentials' smart constructor.+data InforNexusConnectorProfileCredentials = InforNexusConnectorProfileCredentials'+  { -- | The Access Key portion of the credentials.+    accessKeyId :: Data.Sensitive Prelude.Text,+    -- | The identifier for the user.+    userId :: Prelude.Text,+    -- | The secret key used to sign requests.+    secretAccessKey :: Prelude.Text,+    -- | The encryption keys used to encrypt data.+    datakey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InforNexusConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessKeyId', 'inforNexusConnectorProfileCredentials_accessKeyId' - The Access Key portion of the credentials.+--+-- 'userId', 'inforNexusConnectorProfileCredentials_userId' - The identifier for the user.+--+-- 'secretAccessKey', 'inforNexusConnectorProfileCredentials_secretAccessKey' - The secret key used to sign requests.+--+-- 'datakey', 'inforNexusConnectorProfileCredentials_datakey' - The encryption keys used to encrypt data.+newInforNexusConnectorProfileCredentials ::+  -- | 'accessKeyId'+  Prelude.Text ->+  -- | 'userId'+  Prelude.Text ->+  -- | 'secretAccessKey'+  Prelude.Text ->+  -- | 'datakey'+  Prelude.Text ->+  InforNexusConnectorProfileCredentials+newInforNexusConnectorProfileCredentials+  pAccessKeyId_+  pUserId_+  pSecretAccessKey_+  pDatakey_ =+    InforNexusConnectorProfileCredentials'+      { accessKeyId =+          Data._Sensitive+            Lens.# pAccessKeyId_,+        userId = pUserId_,+        secretAccessKey = pSecretAccessKey_,+        datakey = pDatakey_+      }++-- | The Access Key portion of the credentials.+inforNexusConnectorProfileCredentials_accessKeyId :: Lens.Lens' InforNexusConnectorProfileCredentials Prelude.Text+inforNexusConnectorProfileCredentials_accessKeyId = Lens.lens (\InforNexusConnectorProfileCredentials' {accessKeyId} -> accessKeyId) (\s@InforNexusConnectorProfileCredentials' {} a -> s {accessKeyId = a} :: InforNexusConnectorProfileCredentials) Prelude.. Data._Sensitive++-- | The identifier for the user.+inforNexusConnectorProfileCredentials_userId :: Lens.Lens' InforNexusConnectorProfileCredentials Prelude.Text+inforNexusConnectorProfileCredentials_userId = Lens.lens (\InforNexusConnectorProfileCredentials' {userId} -> userId) (\s@InforNexusConnectorProfileCredentials' {} a -> s {userId = a} :: InforNexusConnectorProfileCredentials)++-- | The secret key used to sign requests.+inforNexusConnectorProfileCredentials_secretAccessKey :: Lens.Lens' InforNexusConnectorProfileCredentials Prelude.Text+inforNexusConnectorProfileCredentials_secretAccessKey = Lens.lens (\InforNexusConnectorProfileCredentials' {secretAccessKey} -> secretAccessKey) (\s@InforNexusConnectorProfileCredentials' {} a -> s {secretAccessKey = a} :: InforNexusConnectorProfileCredentials)++-- | The encryption keys used to encrypt data.+inforNexusConnectorProfileCredentials_datakey :: Lens.Lens' InforNexusConnectorProfileCredentials Prelude.Text+inforNexusConnectorProfileCredentials_datakey = Lens.lens (\InforNexusConnectorProfileCredentials' {datakey} -> datakey) (\s@InforNexusConnectorProfileCredentials' {} a -> s {datakey = a} :: InforNexusConnectorProfileCredentials)++instance+  Prelude.Hashable+    InforNexusConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    InforNexusConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessKeyId+        `Prelude.hashWithSalt` userId+        `Prelude.hashWithSalt` secretAccessKey+        `Prelude.hashWithSalt` datakey++instance+  Prelude.NFData+    InforNexusConnectorProfileCredentials+  where+  rnf InforNexusConnectorProfileCredentials' {..} =+    Prelude.rnf accessKeyId+      `Prelude.seq` Prelude.rnf userId+      `Prelude.seq` Prelude.rnf secretAccessKey+      `Prelude.seq` Prelude.rnf datakey++instance+  Data.ToJSON+    InforNexusConnectorProfileCredentials+  where+  toJSON InforNexusConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("accessKeyId" Data..= accessKeyId),+            Prelude.Just ("userId" Data..= userId),+            Prelude.Just+              ("secretAccessKey" Data..= secretAccessKey),+            Prelude.Just ("datakey" Data..= datakey)+          ]+      )
+ gen/Amazonka/AppFlow/Types/InforNexusConnectorProfileProperties.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.InforNexusConnectorProfileProperties 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 connector-specific profile properties required by Infor Nexus.+--+-- /See:/ 'newInforNexusConnectorProfileProperties' smart constructor.+data InforNexusConnectorProfileProperties = InforNexusConnectorProfileProperties'+  { -- | The location of the Infor Nexus resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InforNexusConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'inforNexusConnectorProfileProperties_instanceUrl' - The location of the Infor Nexus resource.+newInforNexusConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  InforNexusConnectorProfileProperties+newInforNexusConnectorProfileProperties pInstanceUrl_ =+  InforNexusConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Infor Nexus resource.+inforNexusConnectorProfileProperties_instanceUrl :: Lens.Lens' InforNexusConnectorProfileProperties Prelude.Text+inforNexusConnectorProfileProperties_instanceUrl = Lens.lens (\InforNexusConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@InforNexusConnectorProfileProperties' {} a -> s {instanceUrl = a} :: InforNexusConnectorProfileProperties)++instance+  Data.FromJSON+    InforNexusConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "InforNexusConnectorProfileProperties"+      ( \x ->+          InforNexusConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    InforNexusConnectorProfileProperties+  where+  hashWithSalt+    _salt+    InforNexusConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    InforNexusConnectorProfileProperties+  where+  rnf InforNexusConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    InforNexusConnectorProfileProperties+  where+  toJSON InforNexusConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/InforNexusMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.InforNexusMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.InforNexusMetadata 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 connector metadata specific to Infor Nexus.+--+-- /See:/ 'newInforNexusMetadata' smart constructor.+data InforNexusMetadata = InforNexusMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InforNexusMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newInforNexusMetadata ::+  InforNexusMetadata+newInforNexusMetadata = InforNexusMetadata'++instance Data.FromJSON InforNexusMetadata where+  parseJSON =+    Data.withObject+      "InforNexusMetadata"+      (\x -> Prelude.pure InforNexusMetadata')++instance Prelude.Hashable InforNexusMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData InforNexusMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/InforNexusSourceProperties.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.InforNexusSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.InforNexusSourceProperties 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 properties that are applied when Infor Nexus is being used as a+-- source.+--+-- /See:/ 'newInforNexusSourceProperties' smart constructor.+data InforNexusSourceProperties = InforNexusSourceProperties'+  { -- | The object specified in the Infor Nexus flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InforNexusSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'inforNexusSourceProperties_object' - The object specified in the Infor Nexus flow source.+newInforNexusSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  InforNexusSourceProperties+newInforNexusSourceProperties pObject_ =+  InforNexusSourceProperties' {object' = pObject_}++-- | The object specified in the Infor Nexus flow source.+inforNexusSourceProperties_object :: Lens.Lens' InforNexusSourceProperties Prelude.Text+inforNexusSourceProperties_object = Lens.lens (\InforNexusSourceProperties' {object'} -> object') (\s@InforNexusSourceProperties' {} a -> s {object' = a} :: InforNexusSourceProperties)++instance Data.FromJSON InforNexusSourceProperties where+  parseJSON =+    Data.withObject+      "InforNexusSourceProperties"+      ( \x ->+          InforNexusSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable InforNexusSourceProperties where+  hashWithSalt _salt InforNexusSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData InforNexusSourceProperties where+  rnf InforNexusSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON InforNexusSourceProperties where+  toJSON InforNexusSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/LambdaConnectorProvisioningConfig.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.AppFlow.Types.LambdaConnectorProvisioningConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.LambdaConnectorProvisioningConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the configuration of the lambda which is+-- being registered as the connector.+--+-- /See:/ 'newLambdaConnectorProvisioningConfig' smart constructor.+data LambdaConnectorProvisioningConfig = LambdaConnectorProvisioningConfig'+  { -- | Lambda ARN of the connector being registered.+    lambdaArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaConnectorProvisioningConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lambdaArn', 'lambdaConnectorProvisioningConfig_lambdaArn' - Lambda ARN of the connector being registered.+newLambdaConnectorProvisioningConfig ::+  -- | 'lambdaArn'+  Prelude.Text ->+  LambdaConnectorProvisioningConfig+newLambdaConnectorProvisioningConfig pLambdaArn_ =+  LambdaConnectorProvisioningConfig'+    { lambdaArn =+        pLambdaArn_+    }++-- | Lambda ARN of the connector being registered.+lambdaConnectorProvisioningConfig_lambdaArn :: Lens.Lens' LambdaConnectorProvisioningConfig Prelude.Text+lambdaConnectorProvisioningConfig_lambdaArn = Lens.lens (\LambdaConnectorProvisioningConfig' {lambdaArn} -> lambdaArn) (\s@LambdaConnectorProvisioningConfig' {} a -> s {lambdaArn = a} :: LambdaConnectorProvisioningConfig)++instance+  Data.FromJSON+    LambdaConnectorProvisioningConfig+  where+  parseJSON =+    Data.withObject+      "LambdaConnectorProvisioningConfig"+      ( \x ->+          LambdaConnectorProvisioningConfig'+            Prelude.<$> (x Data..: "lambdaArn")+      )++instance+  Prelude.Hashable+    LambdaConnectorProvisioningConfig+  where+  hashWithSalt+    _salt+    LambdaConnectorProvisioningConfig' {..} =+      _salt `Prelude.hashWithSalt` lambdaArn++instance+  Prelude.NFData+    LambdaConnectorProvisioningConfig+  where+  rnf LambdaConnectorProvisioningConfig' {..} =+    Prelude.rnf lambdaArn++instance+  Data.ToJSON+    LambdaConnectorProvisioningConfig+  where+  toJSON LambdaConnectorProvisioningConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("lambdaArn" Data..= lambdaArn)]+      )
+ gen/Amazonka/AppFlow/Types/LookoutMetricsDestinationProperties.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.LookoutMetricsDestinationProperties 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 properties that are applied when Amazon Lookout for Metrics is used+-- as a destination.+--+-- /See:/ 'newLookoutMetricsDestinationProperties' smart constructor.+data LookoutMetricsDestinationProperties = LookoutMetricsDestinationProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LookoutMetricsDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newLookoutMetricsDestinationProperties ::+  LookoutMetricsDestinationProperties+newLookoutMetricsDestinationProperties =+  LookoutMetricsDestinationProperties'++instance+  Data.FromJSON+    LookoutMetricsDestinationProperties+  where+  parseJSON =+    Data.withObject+      "LookoutMetricsDestinationProperties"+      ( \x ->+          Prelude.pure LookoutMetricsDestinationProperties'+      )++instance+  Prelude.Hashable+    LookoutMetricsDestinationProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    LookoutMetricsDestinationProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    LookoutMetricsDestinationProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/MarketoConnectorOperator.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.MarketoConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoConnectorOperator+  ( MarketoConnectorOperator+      ( ..,+        MarketoConnectorOperator_ADDITION,+        MarketoConnectorOperator_BETWEEN,+        MarketoConnectorOperator_DIVISION,+        MarketoConnectorOperator_GREATER_THAN,+        MarketoConnectorOperator_LESS_THAN,+        MarketoConnectorOperator_MASK_ALL,+        MarketoConnectorOperator_MASK_FIRST_N,+        MarketoConnectorOperator_MASK_LAST_N,+        MarketoConnectorOperator_MULTIPLICATION,+        MarketoConnectorOperator_NO_OP,+        MarketoConnectorOperator_PROJECTION,+        MarketoConnectorOperator_SUBTRACTION,+        MarketoConnectorOperator_VALIDATE_NON_NEGATIVE,+        MarketoConnectorOperator_VALIDATE_NON_NULL,+        MarketoConnectorOperator_VALIDATE_NON_ZERO,+        MarketoConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MarketoConnectorOperator = MarketoConnectorOperator'+  { fromMarketoConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MarketoConnectorOperator_ADDITION :: MarketoConnectorOperator+pattern MarketoConnectorOperator_ADDITION = MarketoConnectorOperator' "ADDITION"++pattern MarketoConnectorOperator_BETWEEN :: MarketoConnectorOperator+pattern MarketoConnectorOperator_BETWEEN = MarketoConnectorOperator' "BETWEEN"++pattern MarketoConnectorOperator_DIVISION :: MarketoConnectorOperator+pattern MarketoConnectorOperator_DIVISION = MarketoConnectorOperator' "DIVISION"++pattern MarketoConnectorOperator_GREATER_THAN :: MarketoConnectorOperator+pattern MarketoConnectorOperator_GREATER_THAN = MarketoConnectorOperator' "GREATER_THAN"++pattern MarketoConnectorOperator_LESS_THAN :: MarketoConnectorOperator+pattern MarketoConnectorOperator_LESS_THAN = MarketoConnectorOperator' "LESS_THAN"++pattern MarketoConnectorOperator_MASK_ALL :: MarketoConnectorOperator+pattern MarketoConnectorOperator_MASK_ALL = MarketoConnectorOperator' "MASK_ALL"++pattern MarketoConnectorOperator_MASK_FIRST_N :: MarketoConnectorOperator+pattern MarketoConnectorOperator_MASK_FIRST_N = MarketoConnectorOperator' "MASK_FIRST_N"++pattern MarketoConnectorOperator_MASK_LAST_N :: MarketoConnectorOperator+pattern MarketoConnectorOperator_MASK_LAST_N = MarketoConnectorOperator' "MASK_LAST_N"++pattern MarketoConnectorOperator_MULTIPLICATION :: MarketoConnectorOperator+pattern MarketoConnectorOperator_MULTIPLICATION = MarketoConnectorOperator' "MULTIPLICATION"++pattern MarketoConnectorOperator_NO_OP :: MarketoConnectorOperator+pattern MarketoConnectorOperator_NO_OP = MarketoConnectorOperator' "NO_OP"++pattern MarketoConnectorOperator_PROJECTION :: MarketoConnectorOperator+pattern MarketoConnectorOperator_PROJECTION = MarketoConnectorOperator' "PROJECTION"++pattern MarketoConnectorOperator_SUBTRACTION :: MarketoConnectorOperator+pattern MarketoConnectorOperator_SUBTRACTION = MarketoConnectorOperator' "SUBTRACTION"++pattern MarketoConnectorOperator_VALIDATE_NON_NEGATIVE :: MarketoConnectorOperator+pattern MarketoConnectorOperator_VALIDATE_NON_NEGATIVE = MarketoConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern MarketoConnectorOperator_VALIDATE_NON_NULL :: MarketoConnectorOperator+pattern MarketoConnectorOperator_VALIDATE_NON_NULL = MarketoConnectorOperator' "VALIDATE_NON_NULL"++pattern MarketoConnectorOperator_VALIDATE_NON_ZERO :: MarketoConnectorOperator+pattern MarketoConnectorOperator_VALIDATE_NON_ZERO = MarketoConnectorOperator' "VALIDATE_NON_ZERO"++pattern MarketoConnectorOperator_VALIDATE_NUMERIC :: MarketoConnectorOperator+pattern MarketoConnectorOperator_VALIDATE_NUMERIC = MarketoConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  MarketoConnectorOperator_ADDITION,+  MarketoConnectorOperator_BETWEEN,+  MarketoConnectorOperator_DIVISION,+  MarketoConnectorOperator_GREATER_THAN,+  MarketoConnectorOperator_LESS_THAN,+  MarketoConnectorOperator_MASK_ALL,+  MarketoConnectorOperator_MASK_FIRST_N,+  MarketoConnectorOperator_MASK_LAST_N,+  MarketoConnectorOperator_MULTIPLICATION,+  MarketoConnectorOperator_NO_OP,+  MarketoConnectorOperator_PROJECTION,+  MarketoConnectorOperator_SUBTRACTION,+  MarketoConnectorOperator_VALIDATE_NON_NEGATIVE,+  MarketoConnectorOperator_VALIDATE_NON_NULL,+  MarketoConnectorOperator_VALIDATE_NON_ZERO,+  MarketoConnectorOperator_VALIDATE_NUMERIC,+  MarketoConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/MarketoConnectorProfileCredentials.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.AppFlow.Types.MarketoConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific profile credentials required by Marketo.+--+-- /See:/ 'newMarketoConnectorProfileCredentials' smart constructor.+data MarketoConnectorProfileCredentials = MarketoConnectorProfileCredentials'+  { -- | The credentials used to access protected Marketo resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The identifier for the desired client.+    clientId :: Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarketoConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'marketoConnectorProfileCredentials_accessToken' - The credentials used to access protected Marketo resources.+--+-- 'oAuthRequest', 'marketoConnectorProfileCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'clientId', 'marketoConnectorProfileCredentials_clientId' - The identifier for the desired client.+--+-- 'clientSecret', 'marketoConnectorProfileCredentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+newMarketoConnectorProfileCredentials ::+  -- | 'clientId'+  Prelude.Text ->+  -- | 'clientSecret'+  Prelude.Text ->+  MarketoConnectorProfileCredentials+newMarketoConnectorProfileCredentials+  pClientId_+  pClientSecret_ =+    MarketoConnectorProfileCredentials'+      { accessToken =+          Prelude.Nothing,+        oAuthRequest = Prelude.Nothing,+        clientId = pClientId_,+        clientSecret =+          Data._Sensitive Lens.# pClientSecret_+      }++-- | The credentials used to access protected Marketo resources.+marketoConnectorProfileCredentials_accessToken :: Lens.Lens' MarketoConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+marketoConnectorProfileCredentials_accessToken = Lens.lens (\MarketoConnectorProfileCredentials' {accessToken} -> accessToken) (\s@MarketoConnectorProfileCredentials' {} a -> s {accessToken = a} :: MarketoConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+marketoConnectorProfileCredentials_oAuthRequest :: Lens.Lens' MarketoConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+marketoConnectorProfileCredentials_oAuthRequest = Lens.lens (\MarketoConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@MarketoConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: MarketoConnectorProfileCredentials)++-- | The identifier for the desired client.+marketoConnectorProfileCredentials_clientId :: Lens.Lens' MarketoConnectorProfileCredentials Prelude.Text+marketoConnectorProfileCredentials_clientId = Lens.lens (\MarketoConnectorProfileCredentials' {clientId} -> clientId) (\s@MarketoConnectorProfileCredentials' {} a -> s {clientId = a} :: MarketoConnectorProfileCredentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+marketoConnectorProfileCredentials_clientSecret :: Lens.Lens' MarketoConnectorProfileCredentials Prelude.Text+marketoConnectorProfileCredentials_clientSecret = Lens.lens (\MarketoConnectorProfileCredentials' {clientSecret} -> clientSecret) (\s@MarketoConnectorProfileCredentials' {} a -> s {clientSecret = a} :: MarketoConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    MarketoConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    MarketoConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` clientSecret++instance+  Prelude.NFData+    MarketoConnectorProfileCredentials+  where+  rnf MarketoConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance+  Data.ToJSON+    MarketoConnectorProfileCredentials+  where+  toJSON MarketoConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            Prelude.Just ("clientId" Data..= clientId),+            Prelude.Just ("clientSecret" Data..= clientSecret)+          ]+      )
+ gen/Amazonka/AppFlow/Types/MarketoConnectorProfileProperties.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.MarketoConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoConnectorProfileProperties 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 connector-specific profile properties required when using Marketo.+--+-- /See:/ 'newMarketoConnectorProfileProperties' smart constructor.+data MarketoConnectorProfileProperties = MarketoConnectorProfileProperties'+  { -- | The location of the Marketo resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarketoConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'marketoConnectorProfileProperties_instanceUrl' - The location of the Marketo resource.+newMarketoConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  MarketoConnectorProfileProperties+newMarketoConnectorProfileProperties pInstanceUrl_ =+  MarketoConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Marketo resource.+marketoConnectorProfileProperties_instanceUrl :: Lens.Lens' MarketoConnectorProfileProperties Prelude.Text+marketoConnectorProfileProperties_instanceUrl = Lens.lens (\MarketoConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@MarketoConnectorProfileProperties' {} a -> s {instanceUrl = a} :: MarketoConnectorProfileProperties)++instance+  Data.FromJSON+    MarketoConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "MarketoConnectorProfileProperties"+      ( \x ->+          MarketoConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    MarketoConnectorProfileProperties+  where+  hashWithSalt+    _salt+    MarketoConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    MarketoConnectorProfileProperties+  where+  rnf MarketoConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    MarketoConnectorProfileProperties+  where+  toJSON MarketoConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/MarketoDestinationProperties.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.MarketoDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+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 properties that Amazon AppFlow applies when you use Marketo as a+-- flow destination.+--+-- /See:/ 'newMarketoDestinationProperties' smart constructor.+data MarketoDestinationProperties = MarketoDestinationProperties'+  { errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The object specified in the Marketo flow destination.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarketoDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorHandlingConfig', 'marketoDestinationProperties_errorHandlingConfig' - Undocumented member.+--+-- 'object'', 'marketoDestinationProperties_object' - The object specified in the Marketo flow destination.+newMarketoDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  MarketoDestinationProperties+newMarketoDestinationProperties pObject_ =+  MarketoDestinationProperties'+    { errorHandlingConfig =+        Prelude.Nothing,+      object' = pObject_+    }++-- | Undocumented member.+marketoDestinationProperties_errorHandlingConfig :: Lens.Lens' MarketoDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+marketoDestinationProperties_errorHandlingConfig = Lens.lens (\MarketoDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@MarketoDestinationProperties' {} a -> s {errorHandlingConfig = a} :: MarketoDestinationProperties)++-- | The object specified in the Marketo flow destination.+marketoDestinationProperties_object :: Lens.Lens' MarketoDestinationProperties Prelude.Text+marketoDestinationProperties_object = Lens.lens (\MarketoDestinationProperties' {object'} -> object') (\s@MarketoDestinationProperties' {} a -> s {object' = a} :: MarketoDestinationProperties)++instance Data.FromJSON MarketoDestinationProperties where+  parseJSON =+    Data.withObject+      "MarketoDestinationProperties"+      ( \x ->+          MarketoDestinationProperties'+            Prelude.<$> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..: "object")+      )++instance+  Prelude.Hashable+    MarketoDestinationProperties+  where+  hashWithSalt _salt MarketoDestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` errorHandlingConfig+      `Prelude.hashWithSalt` object'++instance Prelude.NFData MarketoDestinationProperties where+  rnf MarketoDestinationProperties' {..} =+    Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON MarketoDestinationProperties where+  toJSON MarketoDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/MarketoMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.MarketoMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoMetadata 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 connector metadata specific to Marketo.+--+-- /See:/ 'newMarketoMetadata' smart constructor.+data MarketoMetadata = MarketoMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarketoMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newMarketoMetadata ::+  MarketoMetadata+newMarketoMetadata = MarketoMetadata'++instance Data.FromJSON MarketoMetadata where+  parseJSON =+    Data.withObject+      "MarketoMetadata"+      (\x -> Prelude.pure MarketoMetadata')++instance Prelude.Hashable MarketoMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData MarketoMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/MarketoSourceProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.MarketoSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MarketoSourceProperties 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 properties that are applied when Marketo is being used as a source.+--+-- /See:/ 'newMarketoSourceProperties' smart constructor.+data MarketoSourceProperties = MarketoSourceProperties'+  { -- | The object specified in the Marketo flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarketoSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'marketoSourceProperties_object' - The object specified in the Marketo flow source.+newMarketoSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  MarketoSourceProperties+newMarketoSourceProperties pObject_ =+  MarketoSourceProperties' {object' = pObject_}++-- | The object specified in the Marketo flow source.+marketoSourceProperties_object :: Lens.Lens' MarketoSourceProperties Prelude.Text+marketoSourceProperties_object = Lens.lens (\MarketoSourceProperties' {object'} -> object') (\s@MarketoSourceProperties' {} a -> s {object' = a} :: MarketoSourceProperties)++instance Data.FromJSON MarketoSourceProperties where+  parseJSON =+    Data.withObject+      "MarketoSourceProperties"+      ( \x ->+          MarketoSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable MarketoSourceProperties where+  hashWithSalt _salt MarketoSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData MarketoSourceProperties where+  rnf MarketoSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON MarketoSourceProperties where+  toJSON MarketoSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/MetadataCatalogConfig.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.MetadataCatalogConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MetadataCatalogConfig where++import Amazonka.AppFlow.Types.GlueDataCatalogConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- your data. When Amazon AppFlow catalogs your data, it stores metadata in+-- a data catalog.+--+-- /See:/ 'newMetadataCatalogConfig' smart constructor.+data MetadataCatalogConfig = MetadataCatalogConfig'+  { -- | Specifies the configuration that Amazon AppFlow uses when it catalogs+    -- your data with the Glue Data Catalog.+    glueDataCatalog :: Prelude.Maybe GlueDataCatalogConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetadataCatalogConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'glueDataCatalog', 'metadataCatalogConfig_glueDataCatalog' - Specifies the configuration that Amazon AppFlow uses when it catalogs+-- your data with the Glue Data Catalog.+newMetadataCatalogConfig ::+  MetadataCatalogConfig+newMetadataCatalogConfig =+  MetadataCatalogConfig'+    { glueDataCatalog =+        Prelude.Nothing+    }++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- your data with the Glue Data Catalog.+metadataCatalogConfig_glueDataCatalog :: Lens.Lens' MetadataCatalogConfig (Prelude.Maybe GlueDataCatalogConfig)+metadataCatalogConfig_glueDataCatalog = Lens.lens (\MetadataCatalogConfig' {glueDataCatalog} -> glueDataCatalog) (\s@MetadataCatalogConfig' {} a -> s {glueDataCatalog = a} :: MetadataCatalogConfig)++instance Data.FromJSON MetadataCatalogConfig where+  parseJSON =+    Data.withObject+      "MetadataCatalogConfig"+      ( \x ->+          MetadataCatalogConfig'+            Prelude.<$> (x Data..:? "glueDataCatalog")+      )++instance Prelude.Hashable MetadataCatalogConfig where+  hashWithSalt _salt MetadataCatalogConfig' {..} =+    _salt `Prelude.hashWithSalt` glueDataCatalog++instance Prelude.NFData MetadataCatalogConfig where+  rnf MetadataCatalogConfig' {..} =+    Prelude.rnf glueDataCatalog++instance Data.ToJSON MetadataCatalogConfig where+  toJSON MetadataCatalogConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("glueDataCatalog" Data..=)+              Prelude.<$> glueDataCatalog+          ]+      )
+ gen/Amazonka/AppFlow/Types/MetadataCatalogDetail.hs view
@@ -0,0 +1,151 @@+{-# 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.AppFlow.Types.MetadataCatalogDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.MetadataCatalogDetail where++import Amazonka.AppFlow.Types.CatalogType+import Amazonka.AppFlow.Types.RegistrationOutput+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the metadata catalog, metadata table, and data partitions that+-- Amazon AppFlow used for the associated flow run.+--+-- /See:/ 'newMetadataCatalogDetail' smart constructor.+data MetadataCatalogDetail = MetadataCatalogDetail'+  { -- | The type of metadata catalog that Amazon AppFlow used for the associated+    -- flow run. This parameter returns the following value:+    --+    -- [GLUE]+    --     The metadata catalog is provided by the Glue Data Catalog. Glue+    --     includes the Glue Data Catalog as a component.+    catalogType :: Prelude.Maybe CatalogType,+    -- | Describes the status of the attempt from Amazon AppFlow to register the+    -- data partitions with the metadata catalog. The data partitions organize+    -- the flow output into a hierarchical path, such as a folder path in an S3+    -- bucket. Amazon AppFlow creates the partitions (if they don\'t already+    -- exist) based on your flow configuration.+    partitionRegistrationOutput :: Prelude.Maybe RegistrationOutput,+    -- | The name of the table that stores the metadata for the associated flow+    -- run. The table stores metadata that represents the data that the flow+    -- transferred. Amazon AppFlow stores the table in the metadata catalog.+    tableName :: Prelude.Maybe Prelude.Text,+    -- | Describes the status of the attempt from Amazon AppFlow to register the+    -- metadata table with the metadata catalog. Amazon AppFlow creates or+    -- updates this table for the associated flow run.+    tableRegistrationOutput :: Prelude.Maybe RegistrationOutput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetadataCatalogDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogType', 'metadataCatalogDetail_catalogType' - The type of metadata catalog that Amazon AppFlow used for the associated+-- flow run. This parameter returns the following value:+--+-- [GLUE]+--     The metadata catalog is provided by the Glue Data Catalog. Glue+--     includes the Glue Data Catalog as a component.+--+-- 'partitionRegistrationOutput', 'metadataCatalogDetail_partitionRegistrationOutput' - Describes the status of the attempt from Amazon AppFlow to register the+-- data partitions with the metadata catalog. The data partitions organize+-- the flow output into a hierarchical path, such as a folder path in an S3+-- bucket. Amazon AppFlow creates the partitions (if they don\'t already+-- exist) based on your flow configuration.+--+-- 'tableName', 'metadataCatalogDetail_tableName' - The name of the table that stores the metadata for the associated flow+-- run. The table stores metadata that represents the data that the flow+-- transferred. Amazon AppFlow stores the table in the metadata catalog.+--+-- 'tableRegistrationOutput', 'metadataCatalogDetail_tableRegistrationOutput' - Describes the status of the attempt from Amazon AppFlow to register the+-- metadata table with the metadata catalog. Amazon AppFlow creates or+-- updates this table for the associated flow run.+newMetadataCatalogDetail ::+  MetadataCatalogDetail+newMetadataCatalogDetail =+  MetadataCatalogDetail'+    { catalogType =+        Prelude.Nothing,+      partitionRegistrationOutput = Prelude.Nothing,+      tableName = Prelude.Nothing,+      tableRegistrationOutput = Prelude.Nothing+    }++-- | The type of metadata catalog that Amazon AppFlow used for the associated+-- flow run. This parameter returns the following value:+--+-- [GLUE]+--     The metadata catalog is provided by the Glue Data Catalog. Glue+--     includes the Glue Data Catalog as a component.+metadataCatalogDetail_catalogType :: Lens.Lens' MetadataCatalogDetail (Prelude.Maybe CatalogType)+metadataCatalogDetail_catalogType = Lens.lens (\MetadataCatalogDetail' {catalogType} -> catalogType) (\s@MetadataCatalogDetail' {} a -> s {catalogType = a} :: MetadataCatalogDetail)++-- | Describes the status of the attempt from Amazon AppFlow to register the+-- data partitions with the metadata catalog. The data partitions organize+-- the flow output into a hierarchical path, such as a folder path in an S3+-- bucket. Amazon AppFlow creates the partitions (if they don\'t already+-- exist) based on your flow configuration.+metadataCatalogDetail_partitionRegistrationOutput :: Lens.Lens' MetadataCatalogDetail (Prelude.Maybe RegistrationOutput)+metadataCatalogDetail_partitionRegistrationOutput = Lens.lens (\MetadataCatalogDetail' {partitionRegistrationOutput} -> partitionRegistrationOutput) (\s@MetadataCatalogDetail' {} a -> s {partitionRegistrationOutput = a} :: MetadataCatalogDetail)++-- | The name of the table that stores the metadata for the associated flow+-- run. The table stores metadata that represents the data that the flow+-- transferred. Amazon AppFlow stores the table in the metadata catalog.+metadataCatalogDetail_tableName :: Lens.Lens' MetadataCatalogDetail (Prelude.Maybe Prelude.Text)+metadataCatalogDetail_tableName = Lens.lens (\MetadataCatalogDetail' {tableName} -> tableName) (\s@MetadataCatalogDetail' {} a -> s {tableName = a} :: MetadataCatalogDetail)++-- | Describes the status of the attempt from Amazon AppFlow to register the+-- metadata table with the metadata catalog. Amazon AppFlow creates or+-- updates this table for the associated flow run.+metadataCatalogDetail_tableRegistrationOutput :: Lens.Lens' MetadataCatalogDetail (Prelude.Maybe RegistrationOutput)+metadataCatalogDetail_tableRegistrationOutput = Lens.lens (\MetadataCatalogDetail' {tableRegistrationOutput} -> tableRegistrationOutput) (\s@MetadataCatalogDetail' {} a -> s {tableRegistrationOutput = a} :: MetadataCatalogDetail)++instance Data.FromJSON MetadataCatalogDetail where+  parseJSON =+    Data.withObject+      "MetadataCatalogDetail"+      ( \x ->+          MetadataCatalogDetail'+            Prelude.<$> (x Data..:? "catalogType")+            Prelude.<*> (x Data..:? "partitionRegistrationOutput")+            Prelude.<*> (x Data..:? "tableName")+            Prelude.<*> (x Data..:? "tableRegistrationOutput")+      )++instance Prelude.Hashable MetadataCatalogDetail where+  hashWithSalt _salt MetadataCatalogDetail' {..} =+    _salt+      `Prelude.hashWithSalt` catalogType+      `Prelude.hashWithSalt` partitionRegistrationOutput+      `Prelude.hashWithSalt` tableName+      `Prelude.hashWithSalt` tableRegistrationOutput++instance Prelude.NFData MetadataCatalogDetail where+  rnf MetadataCatalogDetail' {..} =+    Prelude.rnf catalogType+      `Prelude.seq` Prelude.rnf partitionRegistrationOutput+      `Prelude.seq` Prelude.rnf tableName+      `Prelude.seq` Prelude.rnf tableRegistrationOutput
+ gen/Amazonka/AppFlow/Types/OAuth2Credentials.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuth2Credentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2Credentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 OAuth 2.0 credentials required for OAuth 2.0 authentication.+--+-- /See:/ 'newOAuth2Credentials' smart constructor.+data OAuth2Credentials = OAuth2Credentials'+  { -- | The access token used to access the connector on your behalf.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The identifier for the desired client.+    clientId :: Prelude.Maybe Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The refresh token used to refresh an expired access token.+    refreshToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuth2Credentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'oAuth2Credentials_accessToken' - The access token used to access the connector on your behalf.+--+-- 'clientId', 'oAuth2Credentials_clientId' - The identifier for the desired client.+--+-- 'clientSecret', 'oAuth2Credentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+--+-- 'oAuthRequest', 'oAuth2Credentials_oAuthRequest' - Undocumented member.+--+-- 'refreshToken', 'oAuth2Credentials_refreshToken' - The refresh token used to refresh an expired access token.+newOAuth2Credentials ::+  OAuth2Credentials+newOAuth2Credentials =+  OAuth2Credentials'+    { accessToken = Prelude.Nothing,+      clientId = Prelude.Nothing,+      clientSecret = Prelude.Nothing,+      oAuthRequest = Prelude.Nothing,+      refreshToken = Prelude.Nothing+    }++-- | The access token used to access the connector on your behalf.+oAuth2Credentials_accessToken :: Lens.Lens' OAuth2Credentials (Prelude.Maybe Prelude.Text)+oAuth2Credentials_accessToken = Lens.lens (\OAuth2Credentials' {accessToken} -> accessToken) (\s@OAuth2Credentials' {} a -> s {accessToken = a} :: OAuth2Credentials) Prelude.. Lens.mapping Data._Sensitive++-- | The identifier for the desired client.+oAuth2Credentials_clientId :: Lens.Lens' OAuth2Credentials (Prelude.Maybe Prelude.Text)+oAuth2Credentials_clientId = Lens.lens (\OAuth2Credentials' {clientId} -> clientId) (\s@OAuth2Credentials' {} a -> s {clientId = a} :: OAuth2Credentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+oAuth2Credentials_clientSecret :: Lens.Lens' OAuth2Credentials (Prelude.Maybe Prelude.Text)+oAuth2Credentials_clientSecret = Lens.lens (\OAuth2Credentials' {clientSecret} -> clientSecret) (\s@OAuth2Credentials' {} a -> s {clientSecret = a} :: OAuth2Credentials) Prelude.. Lens.mapping Data._Sensitive++-- | Undocumented member.+oAuth2Credentials_oAuthRequest :: Lens.Lens' OAuth2Credentials (Prelude.Maybe ConnectorOAuthRequest)+oAuth2Credentials_oAuthRequest = Lens.lens (\OAuth2Credentials' {oAuthRequest} -> oAuthRequest) (\s@OAuth2Credentials' {} a -> s {oAuthRequest = a} :: OAuth2Credentials)++-- | The refresh token used to refresh an expired access token.+oAuth2Credentials_refreshToken :: Lens.Lens' OAuth2Credentials (Prelude.Maybe Prelude.Text)+oAuth2Credentials_refreshToken = Lens.lens (\OAuth2Credentials' {refreshToken} -> refreshToken) (\s@OAuth2Credentials' {} a -> s {refreshToken = a} :: OAuth2Credentials)++instance Prelude.Hashable OAuth2Credentials where+  hashWithSalt _salt OAuth2Credentials' {..} =+    _salt+      `Prelude.hashWithSalt` accessToken+      `Prelude.hashWithSalt` clientId+      `Prelude.hashWithSalt` clientSecret+      `Prelude.hashWithSalt` oAuthRequest+      `Prelude.hashWithSalt` refreshToken++instance Prelude.NFData OAuth2Credentials where+  rnf OAuth2Credentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf refreshToken++instance Data.ToJSON OAuth2Credentials where+  toJSON OAuth2Credentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("clientId" Data..=) Prelude.<$> clientId,+            ("clientSecret" Data..=) Prelude.<$> clientSecret,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            ("refreshToken" Data..=) Prelude.<$> refreshToken+          ]+      )
+ gen/Amazonka/AppFlow/Types/OAuth2CustomParameter.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuth2CustomParameter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2CustomParameter where++import Amazonka.AppFlow.Types.OAuth2CustomPropType+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++-- | Custom parameter required for OAuth 2.0 authentication.+--+-- /See:/ 'newOAuth2CustomParameter' smart constructor.+data OAuth2CustomParameter = OAuth2CustomParameter'+  { -- | Contains default values for this authentication parameter that are+    -- supplied by the connector.+    connectorSuppliedValues :: Prelude.Maybe [Prelude.Text],+    -- | A description about the custom parameter used for OAuth 2.0+    -- authentication.+    description :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the custom parameter for OAuth 2.0 authentication is+    -- required.+    isRequired :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether this authentication custom parameter is a sensitive+    -- field.+    isSensitiveField :: Prelude.Maybe Prelude.Bool,+    -- | The key of the custom parameter required for OAuth 2.0 authentication.+    key :: Prelude.Maybe Prelude.Text,+    -- | The label of the custom parameter used for OAuth 2.0 authentication.+    label :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether custom parameter is used with TokenUrl or AuthUrl.+    type' :: Prelude.Maybe OAuth2CustomPropType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuth2CustomParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorSuppliedValues', 'oAuth2CustomParameter_connectorSuppliedValues' - Contains default values for this authentication parameter that are+-- supplied by the connector.+--+-- 'description', 'oAuth2CustomParameter_description' - A description about the custom parameter used for OAuth 2.0+-- authentication.+--+-- 'isRequired', 'oAuth2CustomParameter_isRequired' - Indicates whether the custom parameter for OAuth 2.0 authentication is+-- required.+--+-- 'isSensitiveField', 'oAuth2CustomParameter_isSensitiveField' - Indicates whether this authentication custom parameter is a sensitive+-- field.+--+-- 'key', 'oAuth2CustomParameter_key' - The key of the custom parameter required for OAuth 2.0 authentication.+--+-- 'label', 'oAuth2CustomParameter_label' - The label of the custom parameter used for OAuth 2.0 authentication.+--+-- 'type'', 'oAuth2CustomParameter_type' - Indicates whether custom parameter is used with TokenUrl or AuthUrl.+newOAuth2CustomParameter ::+  OAuth2CustomParameter+newOAuth2CustomParameter =+  OAuth2CustomParameter'+    { connectorSuppliedValues =+        Prelude.Nothing,+      description = Prelude.Nothing,+      isRequired = Prelude.Nothing,+      isSensitiveField = Prelude.Nothing,+      key = Prelude.Nothing,+      label = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Contains default values for this authentication parameter that are+-- supplied by the connector.+oAuth2CustomParameter_connectorSuppliedValues :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe [Prelude.Text])+oAuth2CustomParameter_connectorSuppliedValues = Lens.lens (\OAuth2CustomParameter' {connectorSuppliedValues} -> connectorSuppliedValues) (\s@OAuth2CustomParameter' {} a -> s {connectorSuppliedValues = a} :: OAuth2CustomParameter) Prelude.. Lens.mapping Lens.coerced++-- | A description about the custom parameter used for OAuth 2.0+-- authentication.+oAuth2CustomParameter_description :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe Prelude.Text)+oAuth2CustomParameter_description = Lens.lens (\OAuth2CustomParameter' {description} -> description) (\s@OAuth2CustomParameter' {} a -> s {description = a} :: OAuth2CustomParameter)++-- | Indicates whether the custom parameter for OAuth 2.0 authentication is+-- required.+oAuth2CustomParameter_isRequired :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe Prelude.Bool)+oAuth2CustomParameter_isRequired = Lens.lens (\OAuth2CustomParameter' {isRequired} -> isRequired) (\s@OAuth2CustomParameter' {} a -> s {isRequired = a} :: OAuth2CustomParameter)++-- | Indicates whether this authentication custom parameter is a sensitive+-- field.+oAuth2CustomParameter_isSensitiveField :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe Prelude.Bool)+oAuth2CustomParameter_isSensitiveField = Lens.lens (\OAuth2CustomParameter' {isSensitiveField} -> isSensitiveField) (\s@OAuth2CustomParameter' {} a -> s {isSensitiveField = a} :: OAuth2CustomParameter)++-- | The key of the custom parameter required for OAuth 2.0 authentication.+oAuth2CustomParameter_key :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe Prelude.Text)+oAuth2CustomParameter_key = Lens.lens (\OAuth2CustomParameter' {key} -> key) (\s@OAuth2CustomParameter' {} a -> s {key = a} :: OAuth2CustomParameter)++-- | The label of the custom parameter used for OAuth 2.0 authentication.+oAuth2CustomParameter_label :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe Prelude.Text)+oAuth2CustomParameter_label = Lens.lens (\OAuth2CustomParameter' {label} -> label) (\s@OAuth2CustomParameter' {} a -> s {label = a} :: OAuth2CustomParameter)++-- | Indicates whether custom parameter is used with TokenUrl or AuthUrl.+oAuth2CustomParameter_type :: Lens.Lens' OAuth2CustomParameter (Prelude.Maybe OAuth2CustomPropType)+oAuth2CustomParameter_type = Lens.lens (\OAuth2CustomParameter' {type'} -> type') (\s@OAuth2CustomParameter' {} a -> s {type' = a} :: OAuth2CustomParameter)++instance Data.FromJSON OAuth2CustomParameter where+  parseJSON =+    Data.withObject+      "OAuth2CustomParameter"+      ( \x ->+          OAuth2CustomParameter'+            Prelude.<$> ( x+                            Data..:? "connectorSuppliedValues"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "isRequired")+            Prelude.<*> (x Data..:? "isSensitiveField")+            Prelude.<*> (x Data..:? "key")+            Prelude.<*> (x Data..:? "label")+            Prelude.<*> (x Data..:? "type")+      )++instance Prelude.Hashable OAuth2CustomParameter where+  hashWithSalt _salt OAuth2CustomParameter' {..} =+    _salt+      `Prelude.hashWithSalt` connectorSuppliedValues+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` isRequired+      `Prelude.hashWithSalt` isSensitiveField+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` type'++instance Prelude.NFData OAuth2CustomParameter where+  rnf OAuth2CustomParameter' {..} =+    Prelude.rnf connectorSuppliedValues+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf isRequired+      `Prelude.seq` Prelude.rnf isSensitiveField+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf label+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/AppFlow/Types/OAuth2CustomPropType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuth2CustomPropType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2CustomPropType+  ( OAuth2CustomPropType+      ( ..,+        OAuth2CustomPropType_AUTH_URL,+        OAuth2CustomPropType_TOKEN_URL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OAuth2CustomPropType = OAuth2CustomPropType'+  { fromOAuth2CustomPropType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern OAuth2CustomPropType_AUTH_URL :: OAuth2CustomPropType+pattern OAuth2CustomPropType_AUTH_URL = OAuth2CustomPropType' "AUTH_URL"++pattern OAuth2CustomPropType_TOKEN_URL :: OAuth2CustomPropType+pattern OAuth2CustomPropType_TOKEN_URL = OAuth2CustomPropType' "TOKEN_URL"++{-# COMPLETE+  OAuth2CustomPropType_AUTH_URL,+  OAuth2CustomPropType_TOKEN_URL,+  OAuth2CustomPropType'+  #-}
+ gen/Amazonka/AppFlow/Types/OAuth2Defaults.hs view
@@ -0,0 +1,128 @@+{-# 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.AppFlow.Types.OAuth2Defaults+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2Defaults where++import Amazonka.AppFlow.Types.OAuth2CustomParameter+import Amazonka.AppFlow.Types.OAuth2GrantType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the default values required for OAuth 2.0 authentication.+--+-- /See:/ 'newOAuth2Defaults' smart constructor.+data OAuth2Defaults = OAuth2Defaults'+  { -- | Auth code URLs that can be used for OAuth 2.0 authentication.+    authCodeUrls :: Prelude.Maybe [Prelude.Text],+    -- | List of custom parameters required for OAuth 2.0 authentication.+    oauth2CustomProperties :: Prelude.Maybe [OAuth2CustomParameter],+    -- | OAuth 2.0 grant types supported by the connector.+    oauth2GrantTypesSupported :: Prelude.Maybe [OAuth2GrantType],+    -- | OAuth 2.0 scopes that the connector supports.+    oauthScopes :: Prelude.Maybe [Prelude.Text],+    -- | Token URLs that can be used for OAuth 2.0 authentication.+    tokenUrls :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuth2Defaults' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'authCodeUrls', 'oAuth2Defaults_authCodeUrls' - Auth code URLs that can be used for OAuth 2.0 authentication.+--+-- 'oauth2CustomProperties', 'oAuth2Defaults_oauth2CustomProperties' - List of custom parameters required for OAuth 2.0 authentication.+--+-- 'oauth2GrantTypesSupported', 'oAuth2Defaults_oauth2GrantTypesSupported' - OAuth 2.0 grant types supported by the connector.+--+-- 'oauthScopes', 'oAuth2Defaults_oauthScopes' - OAuth 2.0 scopes that the connector supports.+--+-- 'tokenUrls', 'oAuth2Defaults_tokenUrls' - Token URLs that can be used for OAuth 2.0 authentication.+newOAuth2Defaults ::+  OAuth2Defaults+newOAuth2Defaults =+  OAuth2Defaults'+    { authCodeUrls = Prelude.Nothing,+      oauth2CustomProperties = Prelude.Nothing,+      oauth2GrantTypesSupported = Prelude.Nothing,+      oauthScopes = Prelude.Nothing,+      tokenUrls = Prelude.Nothing+    }++-- | Auth code URLs that can be used for OAuth 2.0 authentication.+oAuth2Defaults_authCodeUrls :: Lens.Lens' OAuth2Defaults (Prelude.Maybe [Prelude.Text])+oAuth2Defaults_authCodeUrls = Lens.lens (\OAuth2Defaults' {authCodeUrls} -> authCodeUrls) (\s@OAuth2Defaults' {} a -> s {authCodeUrls = a} :: OAuth2Defaults) Prelude.. Lens.mapping Lens.coerced++-- | List of custom parameters required for OAuth 2.0 authentication.+oAuth2Defaults_oauth2CustomProperties :: Lens.Lens' OAuth2Defaults (Prelude.Maybe [OAuth2CustomParameter])+oAuth2Defaults_oauth2CustomProperties = Lens.lens (\OAuth2Defaults' {oauth2CustomProperties} -> oauth2CustomProperties) (\s@OAuth2Defaults' {} a -> s {oauth2CustomProperties = a} :: OAuth2Defaults) Prelude.. Lens.mapping Lens.coerced++-- | OAuth 2.0 grant types supported by the connector.+oAuth2Defaults_oauth2GrantTypesSupported :: Lens.Lens' OAuth2Defaults (Prelude.Maybe [OAuth2GrantType])+oAuth2Defaults_oauth2GrantTypesSupported = Lens.lens (\OAuth2Defaults' {oauth2GrantTypesSupported} -> oauth2GrantTypesSupported) (\s@OAuth2Defaults' {} a -> s {oauth2GrantTypesSupported = a} :: OAuth2Defaults) Prelude.. Lens.mapping Lens.coerced++-- | OAuth 2.0 scopes that the connector supports.+oAuth2Defaults_oauthScopes :: Lens.Lens' OAuth2Defaults (Prelude.Maybe [Prelude.Text])+oAuth2Defaults_oauthScopes = Lens.lens (\OAuth2Defaults' {oauthScopes} -> oauthScopes) (\s@OAuth2Defaults' {} a -> s {oauthScopes = a} :: OAuth2Defaults) Prelude.. Lens.mapping Lens.coerced++-- | Token URLs that can be used for OAuth 2.0 authentication.+oAuth2Defaults_tokenUrls :: Lens.Lens' OAuth2Defaults (Prelude.Maybe [Prelude.Text])+oAuth2Defaults_tokenUrls = Lens.lens (\OAuth2Defaults' {tokenUrls} -> tokenUrls) (\s@OAuth2Defaults' {} a -> s {tokenUrls = a} :: OAuth2Defaults) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON OAuth2Defaults where+  parseJSON =+    Data.withObject+      "OAuth2Defaults"+      ( \x ->+          OAuth2Defaults'+            Prelude.<$> (x Data..:? "authCodeUrls" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "oauth2CustomProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "oauth2GrantTypesSupported"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "oauthScopes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "tokenUrls" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable OAuth2Defaults where+  hashWithSalt _salt OAuth2Defaults' {..} =+    _salt+      `Prelude.hashWithSalt` authCodeUrls+      `Prelude.hashWithSalt` oauth2CustomProperties+      `Prelude.hashWithSalt` oauth2GrantTypesSupported+      `Prelude.hashWithSalt` oauthScopes+      `Prelude.hashWithSalt` tokenUrls++instance Prelude.NFData OAuth2Defaults where+  rnf OAuth2Defaults' {..} =+    Prelude.rnf authCodeUrls+      `Prelude.seq` Prelude.rnf oauth2CustomProperties+      `Prelude.seq` Prelude.rnf oauth2GrantTypesSupported+      `Prelude.seq` Prelude.rnf oauthScopes+      `Prelude.seq` Prelude.rnf tokenUrls
+ gen/Amazonka/AppFlow/Types/OAuth2GrantType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuth2GrantType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2GrantType+  ( OAuth2GrantType+      ( ..,+        OAuth2GrantType_AUTHORIZATION_CODE,+        OAuth2GrantType_CLIENT_CREDENTIALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OAuth2GrantType = OAuth2GrantType'+  { fromOAuth2GrantType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern OAuth2GrantType_AUTHORIZATION_CODE :: OAuth2GrantType+pattern OAuth2GrantType_AUTHORIZATION_CODE = OAuth2GrantType' "AUTHORIZATION_CODE"++pattern OAuth2GrantType_CLIENT_CREDENTIALS :: OAuth2GrantType+pattern OAuth2GrantType_CLIENT_CREDENTIALS = OAuth2GrantType' "CLIENT_CREDENTIALS"++{-# COMPLETE+  OAuth2GrantType_AUTHORIZATION_CODE,+  OAuth2GrantType_CLIENT_CREDENTIALS,+  OAuth2GrantType'+  #-}
+ gen/Amazonka/AppFlow/Types/OAuth2Properties.hs view
@@ -0,0 +1,123 @@+{-# 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.AppFlow.Types.OAuth2Properties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuth2Properties where++import Amazonka.AppFlow.Types.OAuth2GrantType+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 OAuth 2.0 properties required for OAuth 2.0 authentication.+--+-- /See:/ 'newOAuth2Properties' smart constructor.+data OAuth2Properties = OAuth2Properties'+  { -- | Associates your token URL with a map of properties that you define. Use+    -- this parameter to provide any additional details that the connector+    -- requires to authenticate your request.+    tokenUrlCustomProperties :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The token URL required for OAuth 2.0 authentication.+    tokenUrl :: Prelude.Text,+    -- | The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.+    oAuth2GrantType :: OAuth2GrantType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuth2Properties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tokenUrlCustomProperties', 'oAuth2Properties_tokenUrlCustomProperties' - Associates your token URL with a map of properties that you define. Use+-- this parameter to provide any additional details that the connector+-- requires to authenticate your request.+--+-- 'tokenUrl', 'oAuth2Properties_tokenUrl' - The token URL required for OAuth 2.0 authentication.+--+-- 'oAuth2GrantType', 'oAuth2Properties_oAuth2GrantType' - The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.+newOAuth2Properties ::+  -- | 'tokenUrl'+  Prelude.Text ->+  -- | 'oAuth2GrantType'+  OAuth2GrantType ->+  OAuth2Properties+newOAuth2Properties pTokenUrl_ pOAuth2GrantType_ =+  OAuth2Properties'+    { tokenUrlCustomProperties =+        Prelude.Nothing,+      tokenUrl = pTokenUrl_,+      oAuth2GrantType = pOAuth2GrantType_+    }++-- | Associates your token URL with a map of properties that you define. Use+-- this parameter to provide any additional details that the connector+-- requires to authenticate your request.+oAuth2Properties_tokenUrlCustomProperties :: Lens.Lens' OAuth2Properties (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+oAuth2Properties_tokenUrlCustomProperties = Lens.lens (\OAuth2Properties' {tokenUrlCustomProperties} -> tokenUrlCustomProperties) (\s@OAuth2Properties' {} a -> s {tokenUrlCustomProperties = a} :: OAuth2Properties) Prelude.. Lens.mapping Lens.coerced++-- | The token URL required for OAuth 2.0 authentication.+oAuth2Properties_tokenUrl :: Lens.Lens' OAuth2Properties Prelude.Text+oAuth2Properties_tokenUrl = Lens.lens (\OAuth2Properties' {tokenUrl} -> tokenUrl) (\s@OAuth2Properties' {} a -> s {tokenUrl = a} :: OAuth2Properties)++-- | The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.+oAuth2Properties_oAuth2GrantType :: Lens.Lens' OAuth2Properties OAuth2GrantType+oAuth2Properties_oAuth2GrantType = Lens.lens (\OAuth2Properties' {oAuth2GrantType} -> oAuth2GrantType) (\s@OAuth2Properties' {} a -> s {oAuth2GrantType = a} :: OAuth2Properties)++instance Data.FromJSON OAuth2Properties where+  parseJSON =+    Data.withObject+      "OAuth2Properties"+      ( \x ->+          OAuth2Properties'+            Prelude.<$> ( x+                            Data..:? "tokenUrlCustomProperties"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "tokenUrl")+            Prelude.<*> (x Data..: "oAuth2GrantType")+      )++instance Prelude.Hashable OAuth2Properties where+  hashWithSalt _salt OAuth2Properties' {..} =+    _salt+      `Prelude.hashWithSalt` tokenUrlCustomProperties+      `Prelude.hashWithSalt` tokenUrl+      `Prelude.hashWithSalt` oAuth2GrantType++instance Prelude.NFData OAuth2Properties where+  rnf OAuth2Properties' {..} =+    Prelude.rnf tokenUrlCustomProperties+      `Prelude.seq` Prelude.rnf tokenUrl+      `Prelude.seq` Prelude.rnf oAuth2GrantType++instance Data.ToJSON OAuth2Properties where+  toJSON OAuth2Properties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("tokenUrlCustomProperties" Data..=)+              Prelude.<$> tokenUrlCustomProperties,+            Prelude.Just ("tokenUrl" Data..= tokenUrl),+            Prelude.Just+              ("oAuth2GrantType" Data..= oAuth2GrantType)+          ]+      )
+ gen/Amazonka/AppFlow/Types/OAuthCredentials.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuthCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuthCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 OAuth credentials required for OAuth type authentication.+--+-- /See:/ 'newOAuthCredentials' smart constructor.+data OAuthCredentials = OAuthCredentials'+  { -- | The access token used to access protected SAPOData resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The refresh token used to refresh expired access token.+    refreshToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier for the desired client.+    clientId :: Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuthCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'oAuthCredentials_accessToken' - The access token used to access protected SAPOData resources.+--+-- 'oAuthRequest', 'oAuthCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'refreshToken', 'oAuthCredentials_refreshToken' - The refresh token used to refresh expired access token.+--+-- 'clientId', 'oAuthCredentials_clientId' - The identifier for the desired client.+--+-- 'clientSecret', 'oAuthCredentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+newOAuthCredentials ::+  -- | 'clientId'+  Prelude.Text ->+  -- | 'clientSecret'+  Prelude.Text ->+  OAuthCredentials+newOAuthCredentials pClientId_ pClientSecret_ =+  OAuthCredentials'+    { accessToken = Prelude.Nothing,+      oAuthRequest = Prelude.Nothing,+      refreshToken = Prelude.Nothing,+      clientId = pClientId_,+      clientSecret = Data._Sensitive Lens.# pClientSecret_+    }++-- | The access token used to access protected SAPOData resources.+oAuthCredentials_accessToken :: Lens.Lens' OAuthCredentials (Prelude.Maybe Prelude.Text)+oAuthCredentials_accessToken = Lens.lens (\OAuthCredentials' {accessToken} -> accessToken) (\s@OAuthCredentials' {} a -> s {accessToken = a} :: OAuthCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+oAuthCredentials_oAuthRequest :: Lens.Lens' OAuthCredentials (Prelude.Maybe ConnectorOAuthRequest)+oAuthCredentials_oAuthRequest = Lens.lens (\OAuthCredentials' {oAuthRequest} -> oAuthRequest) (\s@OAuthCredentials' {} a -> s {oAuthRequest = a} :: OAuthCredentials)++-- | The refresh token used to refresh expired access token.+oAuthCredentials_refreshToken :: Lens.Lens' OAuthCredentials (Prelude.Maybe Prelude.Text)+oAuthCredentials_refreshToken = Lens.lens (\OAuthCredentials' {refreshToken} -> refreshToken) (\s@OAuthCredentials' {} a -> s {refreshToken = a} :: OAuthCredentials)++-- | The identifier for the desired client.+oAuthCredentials_clientId :: Lens.Lens' OAuthCredentials Prelude.Text+oAuthCredentials_clientId = Lens.lens (\OAuthCredentials' {clientId} -> clientId) (\s@OAuthCredentials' {} a -> s {clientId = a} :: OAuthCredentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+oAuthCredentials_clientSecret :: Lens.Lens' OAuthCredentials Prelude.Text+oAuthCredentials_clientSecret = Lens.lens (\OAuthCredentials' {clientSecret} -> clientSecret) (\s@OAuthCredentials' {} a -> s {clientSecret = a} :: OAuthCredentials) Prelude.. Data._Sensitive++instance Prelude.Hashable OAuthCredentials where+  hashWithSalt _salt OAuthCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` accessToken+      `Prelude.hashWithSalt` oAuthRequest+      `Prelude.hashWithSalt` refreshToken+      `Prelude.hashWithSalt` clientId+      `Prelude.hashWithSalt` clientSecret++instance Prelude.NFData OAuthCredentials where+  rnf OAuthCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf refreshToken+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance Data.ToJSON OAuthCredentials where+  toJSON OAuthCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            ("refreshToken" Data..=) Prelude.<$> refreshToken,+            Prelude.Just ("clientId" Data..= clientId),+            Prelude.Just ("clientSecret" Data..= clientSecret)+          ]+      )
+ gen/Amazonka/AppFlow/Types/OAuthProperties.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OAuthProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OAuthProperties 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 OAuth properties required for OAuth type authentication.+--+-- /See:/ 'newOAuthProperties' smart constructor.+data OAuthProperties = OAuthProperties'+  { -- | The token url required to fetch access\/refresh tokens using+    -- authorization code and also to refresh expired access token using+    -- refresh token.+    tokenUrl :: Prelude.Text,+    -- | The authorization code url required to redirect to SAP Login Page to+    -- fetch authorization code for OAuth type authentication.+    authCodeUrl :: Prelude.Text,+    -- | The OAuth scopes required for OAuth type authentication.+    oAuthScopes :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OAuthProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tokenUrl', 'oAuthProperties_tokenUrl' - The token url required to fetch access\/refresh tokens using+-- authorization code and also to refresh expired access token using+-- refresh token.+--+-- 'authCodeUrl', 'oAuthProperties_authCodeUrl' - The authorization code url required to redirect to SAP Login Page to+-- fetch authorization code for OAuth type authentication.+--+-- 'oAuthScopes', 'oAuthProperties_oAuthScopes' - The OAuth scopes required for OAuth type authentication.+newOAuthProperties ::+  -- | 'tokenUrl'+  Prelude.Text ->+  -- | 'authCodeUrl'+  Prelude.Text ->+  OAuthProperties+newOAuthProperties pTokenUrl_ pAuthCodeUrl_ =+  OAuthProperties'+    { tokenUrl = pTokenUrl_,+      authCodeUrl = pAuthCodeUrl_,+      oAuthScopes = Prelude.mempty+    }++-- | The token url required to fetch access\/refresh tokens using+-- authorization code and also to refresh expired access token using+-- refresh token.+oAuthProperties_tokenUrl :: Lens.Lens' OAuthProperties Prelude.Text+oAuthProperties_tokenUrl = Lens.lens (\OAuthProperties' {tokenUrl} -> tokenUrl) (\s@OAuthProperties' {} a -> s {tokenUrl = a} :: OAuthProperties)++-- | The authorization code url required to redirect to SAP Login Page to+-- fetch authorization code for OAuth type authentication.+oAuthProperties_authCodeUrl :: Lens.Lens' OAuthProperties Prelude.Text+oAuthProperties_authCodeUrl = Lens.lens (\OAuthProperties' {authCodeUrl} -> authCodeUrl) (\s@OAuthProperties' {} a -> s {authCodeUrl = a} :: OAuthProperties)++-- | The OAuth scopes required for OAuth type authentication.+oAuthProperties_oAuthScopes :: Lens.Lens' OAuthProperties [Prelude.Text]+oAuthProperties_oAuthScopes = Lens.lens (\OAuthProperties' {oAuthScopes} -> oAuthScopes) (\s@OAuthProperties' {} a -> s {oAuthScopes = a} :: OAuthProperties) Prelude.. Lens.coerced++instance Data.FromJSON OAuthProperties where+  parseJSON =+    Data.withObject+      "OAuthProperties"+      ( \x ->+          OAuthProperties'+            Prelude.<$> (x Data..: "tokenUrl")+            Prelude.<*> (x Data..: "authCodeUrl")+            Prelude.<*> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable OAuthProperties where+  hashWithSalt _salt OAuthProperties' {..} =+    _salt+      `Prelude.hashWithSalt` tokenUrl+      `Prelude.hashWithSalt` authCodeUrl+      `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData OAuthProperties where+  rnf OAuthProperties' {..} =+    Prelude.rnf tokenUrl+      `Prelude.seq` Prelude.rnf authCodeUrl+      `Prelude.seq` Prelude.rnf oAuthScopes++instance Data.ToJSON OAuthProperties where+  toJSON OAuthProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("tokenUrl" Data..= tokenUrl),+            Prelude.Just ("authCodeUrl" Data..= authCodeUrl),+            Prelude.Just ("oAuthScopes" Data..= oAuthScopes)+          ]+      )
+ gen/Amazonka/AppFlow/Types/Operator.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.Operator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.Operator+  ( Operator+      ( ..,+        Operator_ADDITION,+        Operator_BETWEEN,+        Operator_CONTAINS,+        Operator_DIVISION,+        Operator_EQUAL_TO,+        Operator_GREATER_THAN,+        Operator_GREATER_THAN_OR_EQUAL_TO,+        Operator_LESS_THAN,+        Operator_LESS_THAN_OR_EQUAL_TO,+        Operator_MASK_ALL,+        Operator_MASK_FIRST_N,+        Operator_MASK_LAST_N,+        Operator_MULTIPLICATION,+        Operator_NOT_EQUAL_TO,+        Operator_NO_OP,+        Operator_PROJECTION,+        Operator_SUBTRACTION,+        Operator_VALIDATE_NON_NEGATIVE,+        Operator_VALIDATE_NON_NULL,+        Operator_VALIDATE_NON_ZERO,+        Operator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operator = Operator'+  { fromOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Operator_ADDITION :: Operator+pattern Operator_ADDITION = Operator' "ADDITION"++pattern Operator_BETWEEN :: Operator+pattern Operator_BETWEEN = Operator' "BETWEEN"++pattern Operator_CONTAINS :: Operator+pattern Operator_CONTAINS = Operator' "CONTAINS"++pattern Operator_DIVISION :: Operator+pattern Operator_DIVISION = Operator' "DIVISION"++pattern Operator_EQUAL_TO :: Operator+pattern Operator_EQUAL_TO = Operator' "EQUAL_TO"++pattern Operator_GREATER_THAN :: Operator+pattern Operator_GREATER_THAN = Operator' "GREATER_THAN"++pattern Operator_GREATER_THAN_OR_EQUAL_TO :: Operator+pattern Operator_GREATER_THAN_OR_EQUAL_TO = Operator' "GREATER_THAN_OR_EQUAL_TO"++pattern Operator_LESS_THAN :: Operator+pattern Operator_LESS_THAN = Operator' "LESS_THAN"++pattern Operator_LESS_THAN_OR_EQUAL_TO :: Operator+pattern Operator_LESS_THAN_OR_EQUAL_TO = Operator' "LESS_THAN_OR_EQUAL_TO"++pattern Operator_MASK_ALL :: Operator+pattern Operator_MASK_ALL = Operator' "MASK_ALL"++pattern Operator_MASK_FIRST_N :: Operator+pattern Operator_MASK_FIRST_N = Operator' "MASK_FIRST_N"++pattern Operator_MASK_LAST_N :: Operator+pattern Operator_MASK_LAST_N = Operator' "MASK_LAST_N"++pattern Operator_MULTIPLICATION :: Operator+pattern Operator_MULTIPLICATION = Operator' "MULTIPLICATION"++pattern Operator_NOT_EQUAL_TO :: Operator+pattern Operator_NOT_EQUAL_TO = Operator' "NOT_EQUAL_TO"++pattern Operator_NO_OP :: Operator+pattern Operator_NO_OP = Operator' "NO_OP"++pattern Operator_PROJECTION :: Operator+pattern Operator_PROJECTION = Operator' "PROJECTION"++pattern Operator_SUBTRACTION :: Operator+pattern Operator_SUBTRACTION = Operator' "SUBTRACTION"++pattern Operator_VALIDATE_NON_NEGATIVE :: Operator+pattern Operator_VALIDATE_NON_NEGATIVE = Operator' "VALIDATE_NON_NEGATIVE"++pattern Operator_VALIDATE_NON_NULL :: Operator+pattern Operator_VALIDATE_NON_NULL = Operator' "VALIDATE_NON_NULL"++pattern Operator_VALIDATE_NON_ZERO :: Operator+pattern Operator_VALIDATE_NON_ZERO = Operator' "VALIDATE_NON_ZERO"++pattern Operator_VALIDATE_NUMERIC :: Operator+pattern Operator_VALIDATE_NUMERIC = Operator' "VALIDATE_NUMERIC"++{-# COMPLETE+  Operator_ADDITION,+  Operator_BETWEEN,+  Operator_CONTAINS,+  Operator_DIVISION,+  Operator_EQUAL_TO,+  Operator_GREATER_THAN,+  Operator_GREATER_THAN_OR_EQUAL_TO,+  Operator_LESS_THAN,+  Operator_LESS_THAN_OR_EQUAL_TO,+  Operator_MASK_ALL,+  Operator_MASK_FIRST_N,+  Operator_MASK_LAST_N,+  Operator_MULTIPLICATION,+  Operator_NOT_EQUAL_TO,+  Operator_NO_OP,+  Operator_PROJECTION,+  Operator_SUBTRACTION,+  Operator_VALIDATE_NON_NEGATIVE,+  Operator_VALIDATE_NON_NULL,+  Operator_VALIDATE_NON_ZERO,+  Operator_VALIDATE_NUMERIC,+  Operator'+  #-}
+ gen/Amazonka/AppFlow/Types/OperatorPropertiesKeys.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.OperatorPropertiesKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.OperatorPropertiesKeys+  ( OperatorPropertiesKeys+      ( ..,+        OperatorPropertiesKeys_CONCAT_FORMAT,+        OperatorPropertiesKeys_DATA_TYPE,+        OperatorPropertiesKeys_DESTINATION_DATA_TYPE,+        OperatorPropertiesKeys_EXCLUDE_SOURCE_FIELDS_LIST,+        OperatorPropertiesKeys_INCLUDE_NEW_FIELDS,+        OperatorPropertiesKeys_LOWER_BOUND,+        OperatorPropertiesKeys_MASK_LENGTH,+        OperatorPropertiesKeys_MASK_VALUE,+        OperatorPropertiesKeys_MATH_OPERATION_FIELDS_ORDER,+        OperatorPropertiesKeys_ORDERED_PARTITION_KEYS_LIST,+        OperatorPropertiesKeys_SOURCE_DATA_TYPE,+        OperatorPropertiesKeys_SUBFIELD_CATEGORY_MAP,+        OperatorPropertiesKeys_TRUNCATE_LENGTH,+        OperatorPropertiesKeys_UPPER_BOUND,+        OperatorPropertiesKeys_VALIDATION_ACTION,+        OperatorPropertiesKeys_VALUE,+        OperatorPropertiesKeys_VALUES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OperatorPropertiesKeys = OperatorPropertiesKeys'+  { fromOperatorPropertiesKeys ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern OperatorPropertiesKeys_CONCAT_FORMAT :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_CONCAT_FORMAT = OperatorPropertiesKeys' "CONCAT_FORMAT"++pattern OperatorPropertiesKeys_DATA_TYPE :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_DATA_TYPE = OperatorPropertiesKeys' "DATA_TYPE"++pattern OperatorPropertiesKeys_DESTINATION_DATA_TYPE :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_DESTINATION_DATA_TYPE = OperatorPropertiesKeys' "DESTINATION_DATA_TYPE"++pattern OperatorPropertiesKeys_EXCLUDE_SOURCE_FIELDS_LIST :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_EXCLUDE_SOURCE_FIELDS_LIST = OperatorPropertiesKeys' "EXCLUDE_SOURCE_FIELDS_LIST"++pattern OperatorPropertiesKeys_INCLUDE_NEW_FIELDS :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_INCLUDE_NEW_FIELDS = OperatorPropertiesKeys' "INCLUDE_NEW_FIELDS"++pattern OperatorPropertiesKeys_LOWER_BOUND :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_LOWER_BOUND = OperatorPropertiesKeys' "LOWER_BOUND"++pattern OperatorPropertiesKeys_MASK_LENGTH :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_MASK_LENGTH = OperatorPropertiesKeys' "MASK_LENGTH"++pattern OperatorPropertiesKeys_MASK_VALUE :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_MASK_VALUE = OperatorPropertiesKeys' "MASK_VALUE"++pattern OperatorPropertiesKeys_MATH_OPERATION_FIELDS_ORDER :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_MATH_OPERATION_FIELDS_ORDER = OperatorPropertiesKeys' "MATH_OPERATION_FIELDS_ORDER"++pattern OperatorPropertiesKeys_ORDERED_PARTITION_KEYS_LIST :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_ORDERED_PARTITION_KEYS_LIST = OperatorPropertiesKeys' "ORDERED_PARTITION_KEYS_LIST"++pattern OperatorPropertiesKeys_SOURCE_DATA_TYPE :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_SOURCE_DATA_TYPE = OperatorPropertiesKeys' "SOURCE_DATA_TYPE"++pattern OperatorPropertiesKeys_SUBFIELD_CATEGORY_MAP :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_SUBFIELD_CATEGORY_MAP = OperatorPropertiesKeys' "SUBFIELD_CATEGORY_MAP"++pattern OperatorPropertiesKeys_TRUNCATE_LENGTH :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_TRUNCATE_LENGTH = OperatorPropertiesKeys' "TRUNCATE_LENGTH"++pattern OperatorPropertiesKeys_UPPER_BOUND :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_UPPER_BOUND = OperatorPropertiesKeys' "UPPER_BOUND"++pattern OperatorPropertiesKeys_VALIDATION_ACTION :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_VALIDATION_ACTION = OperatorPropertiesKeys' "VALIDATION_ACTION"++pattern OperatorPropertiesKeys_VALUE :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_VALUE = OperatorPropertiesKeys' "VALUE"++pattern OperatorPropertiesKeys_VALUES :: OperatorPropertiesKeys+pattern OperatorPropertiesKeys_VALUES = OperatorPropertiesKeys' "VALUES"++{-# COMPLETE+  OperatorPropertiesKeys_CONCAT_FORMAT,+  OperatorPropertiesKeys_DATA_TYPE,+  OperatorPropertiesKeys_DESTINATION_DATA_TYPE,+  OperatorPropertiesKeys_EXCLUDE_SOURCE_FIELDS_LIST,+  OperatorPropertiesKeys_INCLUDE_NEW_FIELDS,+  OperatorPropertiesKeys_LOWER_BOUND,+  OperatorPropertiesKeys_MASK_LENGTH,+  OperatorPropertiesKeys_MASK_VALUE,+  OperatorPropertiesKeys_MATH_OPERATION_FIELDS_ORDER,+  OperatorPropertiesKeys_ORDERED_PARTITION_KEYS_LIST,+  OperatorPropertiesKeys_SOURCE_DATA_TYPE,+  OperatorPropertiesKeys_SUBFIELD_CATEGORY_MAP,+  OperatorPropertiesKeys_TRUNCATE_LENGTH,+  OperatorPropertiesKeys_UPPER_BOUND,+  OperatorPropertiesKeys_VALIDATION_ACTION,+  OperatorPropertiesKeys_VALUE,+  OperatorPropertiesKeys_VALUES,+  OperatorPropertiesKeys'+  #-}
+ gen/Amazonka/AppFlow/Types/Operators.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.Operators+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.Operators+  ( Operators+      ( ..,+        Operators_ADDITION,+        Operators_BETWEEN,+        Operators_CONTAINS,+        Operators_DIVISION,+        Operators_EQUAL_TO,+        Operators_GREATER_THAN,+        Operators_GREATER_THAN_OR_EQUAL_TO,+        Operators_LESS_THAN,+        Operators_LESS_THAN_OR_EQUAL_TO,+        Operators_MASK_ALL,+        Operators_MASK_FIRST_N,+        Operators_MASK_LAST_N,+        Operators_MULTIPLICATION,+        Operators_NOT_EQUAL_TO,+        Operators_NO_OP,+        Operators_PROJECTION,+        Operators_SUBTRACTION,+        Operators_VALIDATE_NON_NEGATIVE,+        Operators_VALIDATE_NON_NULL,+        Operators_VALIDATE_NON_ZERO,+        Operators_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operators = Operators'+  { fromOperators ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Operators_ADDITION :: Operators+pattern Operators_ADDITION = Operators' "ADDITION"++pattern Operators_BETWEEN :: Operators+pattern Operators_BETWEEN = Operators' "BETWEEN"++pattern Operators_CONTAINS :: Operators+pattern Operators_CONTAINS = Operators' "CONTAINS"++pattern Operators_DIVISION :: Operators+pattern Operators_DIVISION = Operators' "DIVISION"++pattern Operators_EQUAL_TO :: Operators+pattern Operators_EQUAL_TO = Operators' "EQUAL_TO"++pattern Operators_GREATER_THAN :: Operators+pattern Operators_GREATER_THAN = Operators' "GREATER_THAN"++pattern Operators_GREATER_THAN_OR_EQUAL_TO :: Operators+pattern Operators_GREATER_THAN_OR_EQUAL_TO = Operators' "GREATER_THAN_OR_EQUAL_TO"++pattern Operators_LESS_THAN :: Operators+pattern Operators_LESS_THAN = Operators' "LESS_THAN"++pattern Operators_LESS_THAN_OR_EQUAL_TO :: Operators+pattern Operators_LESS_THAN_OR_EQUAL_TO = Operators' "LESS_THAN_OR_EQUAL_TO"++pattern Operators_MASK_ALL :: Operators+pattern Operators_MASK_ALL = Operators' "MASK_ALL"++pattern Operators_MASK_FIRST_N :: Operators+pattern Operators_MASK_FIRST_N = Operators' "MASK_FIRST_N"++pattern Operators_MASK_LAST_N :: Operators+pattern Operators_MASK_LAST_N = Operators' "MASK_LAST_N"++pattern Operators_MULTIPLICATION :: Operators+pattern Operators_MULTIPLICATION = Operators' "MULTIPLICATION"++pattern Operators_NOT_EQUAL_TO :: Operators+pattern Operators_NOT_EQUAL_TO = Operators' "NOT_EQUAL_TO"++pattern Operators_NO_OP :: Operators+pattern Operators_NO_OP = Operators' "NO_OP"++pattern Operators_PROJECTION :: Operators+pattern Operators_PROJECTION = Operators' "PROJECTION"++pattern Operators_SUBTRACTION :: Operators+pattern Operators_SUBTRACTION = Operators' "SUBTRACTION"++pattern Operators_VALIDATE_NON_NEGATIVE :: Operators+pattern Operators_VALIDATE_NON_NEGATIVE = Operators' "VALIDATE_NON_NEGATIVE"++pattern Operators_VALIDATE_NON_NULL :: Operators+pattern Operators_VALIDATE_NON_NULL = Operators' "VALIDATE_NON_NULL"++pattern Operators_VALIDATE_NON_ZERO :: Operators+pattern Operators_VALIDATE_NON_ZERO = Operators' "VALIDATE_NON_ZERO"++pattern Operators_VALIDATE_NUMERIC :: Operators+pattern Operators_VALIDATE_NUMERIC = Operators' "VALIDATE_NUMERIC"++{-# COMPLETE+  Operators_ADDITION,+  Operators_BETWEEN,+  Operators_CONTAINS,+  Operators_DIVISION,+  Operators_EQUAL_TO,+  Operators_GREATER_THAN,+  Operators_GREATER_THAN_OR_EQUAL_TO,+  Operators_LESS_THAN,+  Operators_LESS_THAN_OR_EQUAL_TO,+  Operators_MASK_ALL,+  Operators_MASK_FIRST_N,+  Operators_MASK_LAST_N,+  Operators_MULTIPLICATION,+  Operators_NOT_EQUAL_TO,+  Operators_NO_OP,+  Operators_PROJECTION,+  Operators_SUBTRACTION,+  Operators_VALIDATE_NON_NEGATIVE,+  Operators_VALIDATE_NON_NULL,+  Operators_VALIDATE_NON_ZERO,+  Operators_VALIDATE_NUMERIC,+  Operators'+  #-}
+ gen/Amazonka/AppFlow/Types/PathPrefix.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PathPrefix+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PathPrefix+  ( PathPrefix+      ( ..,+        PathPrefix_EXECUTION_ID,+        PathPrefix_SCHEMA_VERSION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PathPrefix = PathPrefix'+  { fromPathPrefix ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PathPrefix_EXECUTION_ID :: PathPrefix+pattern PathPrefix_EXECUTION_ID = PathPrefix' "EXECUTION_ID"++pattern PathPrefix_SCHEMA_VERSION :: PathPrefix+pattern PathPrefix_SCHEMA_VERSION = PathPrefix' "SCHEMA_VERSION"++{-# COMPLETE+  PathPrefix_EXECUTION_ID,+  PathPrefix_SCHEMA_VERSION,+  PathPrefix'+  #-}
+ gen/Amazonka/AppFlow/Types/PrefixConfig.hs view
@@ -0,0 +1,166 @@+{-# 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.AppFlow.Types.PrefixConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrefixConfig where++import Amazonka.AppFlow.Types.PathPrefix+import Amazonka.AppFlow.Types.PrefixFormat+import Amazonka.AppFlow.Types.PrefixType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies elements that Amazon AppFlow includes in the file and folder+-- names in the flow destination.+--+-- /See:/ 'newPrefixConfig' smart constructor.+data PrefixConfig = PrefixConfig'+  { -- | Specifies whether the destination file path includes either or both of+    -- the following elements:+    --+    -- [EXECUTION_ID]+    --     The ID that Amazon AppFlow assigns to the flow run.+    --+    -- [SCHEMA_VERSION]+    --     The version number of your data schema. Amazon AppFlow assigns this+    --     version number. The version number increases by one when you change+    --     any of the following settings in your flow configuration:+    --+    --     -   Source-to-destination field mappings+    --+    --     -   Field data types+    --+    --     -   Partition keys+    pathPrefixHierarchy :: Prelude.Maybe [PathPrefix],+    -- | Determines the level of granularity for the date and time that\'s+    -- included in the prefix.+    prefixFormat :: Prelude.Maybe PrefixFormat,+    -- | Determines the format of the prefix, and whether it applies to the file+    -- name, file path, or both.+    prefixType :: Prelude.Maybe PrefixType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrefixConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pathPrefixHierarchy', 'prefixConfig_pathPrefixHierarchy' - Specifies whether the destination file path includes either or both of+-- the following elements:+--+-- [EXECUTION_ID]+--     The ID that Amazon AppFlow assigns to the flow run.+--+-- [SCHEMA_VERSION]+--     The version number of your data schema. Amazon AppFlow assigns this+--     version number. The version number increases by one when you change+--     any of the following settings in your flow configuration:+--+--     -   Source-to-destination field mappings+--+--     -   Field data types+--+--     -   Partition keys+--+-- 'prefixFormat', 'prefixConfig_prefixFormat' - Determines the level of granularity for the date and time that\'s+-- included in the prefix.+--+-- 'prefixType', 'prefixConfig_prefixType' - Determines the format of the prefix, and whether it applies to the file+-- name, file path, or both.+newPrefixConfig ::+  PrefixConfig+newPrefixConfig =+  PrefixConfig'+    { pathPrefixHierarchy =+        Prelude.Nothing,+      prefixFormat = Prelude.Nothing,+      prefixType = Prelude.Nothing+    }++-- | Specifies whether the destination file path includes either or both of+-- the following elements:+--+-- [EXECUTION_ID]+--     The ID that Amazon AppFlow assigns to the flow run.+--+-- [SCHEMA_VERSION]+--     The version number of your data schema. Amazon AppFlow assigns this+--     version number. The version number increases by one when you change+--     any of the following settings in your flow configuration:+--+--     -   Source-to-destination field mappings+--+--     -   Field data types+--+--     -   Partition keys+prefixConfig_pathPrefixHierarchy :: Lens.Lens' PrefixConfig (Prelude.Maybe [PathPrefix])+prefixConfig_pathPrefixHierarchy = Lens.lens (\PrefixConfig' {pathPrefixHierarchy} -> pathPrefixHierarchy) (\s@PrefixConfig' {} a -> s {pathPrefixHierarchy = a} :: PrefixConfig) Prelude.. Lens.mapping Lens.coerced++-- | Determines the level of granularity for the date and time that\'s+-- included in the prefix.+prefixConfig_prefixFormat :: Lens.Lens' PrefixConfig (Prelude.Maybe PrefixFormat)+prefixConfig_prefixFormat = Lens.lens (\PrefixConfig' {prefixFormat} -> prefixFormat) (\s@PrefixConfig' {} a -> s {prefixFormat = a} :: PrefixConfig)++-- | Determines the format of the prefix, and whether it applies to the file+-- name, file path, or both.+prefixConfig_prefixType :: Lens.Lens' PrefixConfig (Prelude.Maybe PrefixType)+prefixConfig_prefixType = Lens.lens (\PrefixConfig' {prefixType} -> prefixType) (\s@PrefixConfig' {} a -> s {prefixType = a} :: PrefixConfig)++instance Data.FromJSON PrefixConfig where+  parseJSON =+    Data.withObject+      "PrefixConfig"+      ( \x ->+          PrefixConfig'+            Prelude.<$> ( x+                            Data..:? "pathPrefixHierarchy"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "prefixFormat")+            Prelude.<*> (x Data..:? "prefixType")+      )++instance Prelude.Hashable PrefixConfig where+  hashWithSalt _salt PrefixConfig' {..} =+    _salt+      `Prelude.hashWithSalt` pathPrefixHierarchy+      `Prelude.hashWithSalt` prefixFormat+      `Prelude.hashWithSalt` prefixType++instance Prelude.NFData PrefixConfig where+  rnf PrefixConfig' {..} =+    Prelude.rnf pathPrefixHierarchy+      `Prelude.seq` Prelude.rnf prefixFormat+      `Prelude.seq` Prelude.rnf prefixType++instance Data.ToJSON PrefixConfig where+  toJSON PrefixConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("pathPrefixHierarchy" Data..=)+              Prelude.<$> pathPrefixHierarchy,+            ("prefixFormat" Data..=) Prelude.<$> prefixFormat,+            ("prefixType" Data..=) Prelude.<$> prefixType+          ]+      )
+ gen/Amazonka/AppFlow/Types/PrefixFormat.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PrefixFormat+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrefixFormat+  ( PrefixFormat+      ( ..,+        PrefixFormat_DAY,+        PrefixFormat_HOUR,+        PrefixFormat_MINUTE,+        PrefixFormat_MONTH,+        PrefixFormat_YEAR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PrefixFormat = PrefixFormat'+  { fromPrefixFormat ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PrefixFormat_DAY :: PrefixFormat+pattern PrefixFormat_DAY = PrefixFormat' "DAY"++pattern PrefixFormat_HOUR :: PrefixFormat+pattern PrefixFormat_HOUR = PrefixFormat' "HOUR"++pattern PrefixFormat_MINUTE :: PrefixFormat+pattern PrefixFormat_MINUTE = PrefixFormat' "MINUTE"++pattern PrefixFormat_MONTH :: PrefixFormat+pattern PrefixFormat_MONTH = PrefixFormat' "MONTH"++pattern PrefixFormat_YEAR :: PrefixFormat+pattern PrefixFormat_YEAR = PrefixFormat' "YEAR"++{-# COMPLETE+  PrefixFormat_DAY,+  PrefixFormat_HOUR,+  PrefixFormat_MINUTE,+  PrefixFormat_MONTH,+  PrefixFormat_YEAR,+  PrefixFormat'+  #-}
+ gen/Amazonka/AppFlow/Types/PrefixType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PrefixType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrefixType+  ( PrefixType+      ( ..,+        PrefixType_FILENAME,+        PrefixType_PATH,+        PrefixType_PATH_AND_FILENAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PrefixType = PrefixType'+  { fromPrefixType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PrefixType_FILENAME :: PrefixType+pattern PrefixType_FILENAME = PrefixType' "FILENAME"++pattern PrefixType_PATH :: PrefixType+pattern PrefixType_PATH = PrefixType' "PATH"++pattern PrefixType_PATH_AND_FILENAME :: PrefixType+pattern PrefixType_PATH_AND_FILENAME = PrefixType' "PATH_AND_FILENAME"++{-# COMPLETE+  PrefixType_FILENAME,+  PrefixType_PATH,+  PrefixType_PATH_AND_FILENAME,+  PrefixType'+  #-}
+ gen/Amazonka/AppFlow/Types/PrivateConnectionProvisioningFailureCause.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PrivateConnectionProvisioningFailureCause+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrivateConnectionProvisioningFailureCause+  ( PrivateConnectionProvisioningFailureCause+      ( ..,+        PrivateConnectionProvisioningFailureCause_ACCESS_DENIED,+        PrivateConnectionProvisioningFailureCause_CONNECTOR_AUTHENTICATION,+        PrivateConnectionProvisioningFailureCause_CONNECTOR_SERVER,+        PrivateConnectionProvisioningFailureCause_INTERNAL_SERVER,+        PrivateConnectionProvisioningFailureCause_VALIDATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PrivateConnectionProvisioningFailureCause = PrivateConnectionProvisioningFailureCause'+  { fromPrivateConnectionProvisioningFailureCause ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PrivateConnectionProvisioningFailureCause_ACCESS_DENIED :: PrivateConnectionProvisioningFailureCause+pattern PrivateConnectionProvisioningFailureCause_ACCESS_DENIED = PrivateConnectionProvisioningFailureCause' "ACCESS_DENIED"++pattern PrivateConnectionProvisioningFailureCause_CONNECTOR_AUTHENTICATION :: PrivateConnectionProvisioningFailureCause+pattern PrivateConnectionProvisioningFailureCause_CONNECTOR_AUTHENTICATION = PrivateConnectionProvisioningFailureCause' "CONNECTOR_AUTHENTICATION"++pattern PrivateConnectionProvisioningFailureCause_CONNECTOR_SERVER :: PrivateConnectionProvisioningFailureCause+pattern PrivateConnectionProvisioningFailureCause_CONNECTOR_SERVER = PrivateConnectionProvisioningFailureCause' "CONNECTOR_SERVER"++pattern PrivateConnectionProvisioningFailureCause_INTERNAL_SERVER :: PrivateConnectionProvisioningFailureCause+pattern PrivateConnectionProvisioningFailureCause_INTERNAL_SERVER = PrivateConnectionProvisioningFailureCause' "INTERNAL_SERVER"++pattern PrivateConnectionProvisioningFailureCause_VALIDATION :: PrivateConnectionProvisioningFailureCause+pattern PrivateConnectionProvisioningFailureCause_VALIDATION = PrivateConnectionProvisioningFailureCause' "VALIDATION"++{-# COMPLETE+  PrivateConnectionProvisioningFailureCause_ACCESS_DENIED,+  PrivateConnectionProvisioningFailureCause_CONNECTOR_AUTHENTICATION,+  PrivateConnectionProvisioningFailureCause_CONNECTOR_SERVER,+  PrivateConnectionProvisioningFailureCause_INTERNAL_SERVER,+  PrivateConnectionProvisioningFailureCause_VALIDATION,+  PrivateConnectionProvisioningFailureCause'+  #-}
+ gen/Amazonka/AppFlow/Types/PrivateConnectionProvisioningState.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PrivateConnectionProvisioningState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrivateConnectionProvisioningState where++import Amazonka.AppFlow.Types.PrivateConnectionProvisioningFailureCause+import Amazonka.AppFlow.Types.PrivateConnectionProvisioningStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the private connection provisioning state.+--+-- /See:/ 'newPrivateConnectionProvisioningState' smart constructor.+data PrivateConnectionProvisioningState = PrivateConnectionProvisioningState'+  { -- | Specifies the private connection provisioning failure cause.+    failureCause :: Prelude.Maybe PrivateConnectionProvisioningFailureCause,+    -- | Specifies the private connection provisioning failure reason.+    failureMessage :: Prelude.Maybe Prelude.Text,+    -- | Specifies the private connection provisioning status.+    status :: Prelude.Maybe PrivateConnectionProvisioningStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrivateConnectionProvisioningState' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failureCause', 'privateConnectionProvisioningState_failureCause' - Specifies the private connection provisioning failure cause.+--+-- 'failureMessage', 'privateConnectionProvisioningState_failureMessage' - Specifies the private connection provisioning failure reason.+--+-- 'status', 'privateConnectionProvisioningState_status' - Specifies the private connection provisioning status.+newPrivateConnectionProvisioningState ::+  PrivateConnectionProvisioningState+newPrivateConnectionProvisioningState =+  PrivateConnectionProvisioningState'+    { failureCause =+        Prelude.Nothing,+      failureMessage = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Specifies the private connection provisioning failure cause.+privateConnectionProvisioningState_failureCause :: Lens.Lens' PrivateConnectionProvisioningState (Prelude.Maybe PrivateConnectionProvisioningFailureCause)+privateConnectionProvisioningState_failureCause = Lens.lens (\PrivateConnectionProvisioningState' {failureCause} -> failureCause) (\s@PrivateConnectionProvisioningState' {} a -> s {failureCause = a} :: PrivateConnectionProvisioningState)++-- | Specifies the private connection provisioning failure reason.+privateConnectionProvisioningState_failureMessage :: Lens.Lens' PrivateConnectionProvisioningState (Prelude.Maybe Prelude.Text)+privateConnectionProvisioningState_failureMessage = Lens.lens (\PrivateConnectionProvisioningState' {failureMessage} -> failureMessage) (\s@PrivateConnectionProvisioningState' {} a -> s {failureMessage = a} :: PrivateConnectionProvisioningState)++-- | Specifies the private connection provisioning status.+privateConnectionProvisioningState_status :: Lens.Lens' PrivateConnectionProvisioningState (Prelude.Maybe PrivateConnectionProvisioningStatus)+privateConnectionProvisioningState_status = Lens.lens (\PrivateConnectionProvisioningState' {status} -> status) (\s@PrivateConnectionProvisioningState' {} a -> s {status = a} :: PrivateConnectionProvisioningState)++instance+  Data.FromJSON+    PrivateConnectionProvisioningState+  where+  parseJSON =+    Data.withObject+      "PrivateConnectionProvisioningState"+      ( \x ->+          PrivateConnectionProvisioningState'+            Prelude.<$> (x Data..:? "failureCause")+            Prelude.<*> (x Data..:? "failureMessage")+            Prelude.<*> (x Data..:? "status")+      )++instance+  Prelude.Hashable+    PrivateConnectionProvisioningState+  where+  hashWithSalt+    _salt+    PrivateConnectionProvisioningState' {..} =+      _salt+        `Prelude.hashWithSalt` failureCause+        `Prelude.hashWithSalt` failureMessage+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    PrivateConnectionProvisioningState+  where+  rnf PrivateConnectionProvisioningState' {..} =+    Prelude.rnf failureCause+      `Prelude.seq` Prelude.rnf failureMessage+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppFlow/Types/PrivateConnectionProvisioningStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.PrivateConnectionProvisioningStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.PrivateConnectionProvisioningStatus+  ( PrivateConnectionProvisioningStatus+      ( ..,+        PrivateConnectionProvisioningStatus_CREATED,+        PrivateConnectionProvisioningStatus_FAILED,+        PrivateConnectionProvisioningStatus_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PrivateConnectionProvisioningStatus = PrivateConnectionProvisioningStatus'+  { fromPrivateConnectionProvisioningStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern PrivateConnectionProvisioningStatus_CREATED :: PrivateConnectionProvisioningStatus+pattern PrivateConnectionProvisioningStatus_CREATED = PrivateConnectionProvisioningStatus' "CREATED"++pattern PrivateConnectionProvisioningStatus_FAILED :: PrivateConnectionProvisioningStatus+pattern PrivateConnectionProvisioningStatus_FAILED = PrivateConnectionProvisioningStatus' "FAILED"++pattern PrivateConnectionProvisioningStatus_PENDING :: PrivateConnectionProvisioningStatus+pattern PrivateConnectionProvisioningStatus_PENDING = PrivateConnectionProvisioningStatus' "PENDING"++{-# COMPLETE+  PrivateConnectionProvisioningStatus_CREATED,+  PrivateConnectionProvisioningStatus_FAILED,+  PrivateConnectionProvisioningStatus_PENDING,+  PrivateConnectionProvisioningStatus'+  #-}
+ gen/Amazonka/AppFlow/Types/Range.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.Range+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.Range 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 range of values that the property supports.+--+-- /See:/ 'newRange' smart constructor.+data Range = Range'+  { -- | Maximum value supported by the field.+    maximum :: Prelude.Maybe Prelude.Double,+    -- | Minimum value supported by the field.+    minimum :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Range' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maximum', 'range_maximum' - Maximum value supported by the field.+--+-- 'minimum', 'range_minimum' - Minimum value supported by the field.+newRange ::+  Range+newRange =+  Range'+    { maximum = Prelude.Nothing,+      minimum = Prelude.Nothing+    }++-- | Maximum value supported by the field.+range_maximum :: Lens.Lens' Range (Prelude.Maybe Prelude.Double)+range_maximum = Lens.lens (\Range' {maximum} -> maximum) (\s@Range' {} a -> s {maximum = a} :: Range)++-- | Minimum value supported by the field.+range_minimum :: Lens.Lens' Range (Prelude.Maybe Prelude.Double)+range_minimum = Lens.lens (\Range' {minimum} -> minimum) (\s@Range' {} a -> s {minimum = a} :: Range)++instance Data.FromJSON Range where+  parseJSON =+    Data.withObject+      "Range"+      ( \x ->+          Range'+            Prelude.<$> (x Data..:? "maximum")+            Prelude.<*> (x Data..:? "minimum")+      )++instance Prelude.Hashable Range where+  hashWithSalt _salt Range' {..} =+    _salt+      `Prelude.hashWithSalt` maximum+      `Prelude.hashWithSalt` minimum++instance Prelude.NFData Range where+  rnf Range' {..} =+    Prelude.rnf maximum+      `Prelude.seq` Prelude.rnf minimum
+ gen/Amazonka/AppFlow/Types/RedshiftConnectorProfileCredentials.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.AppFlow.Types.RedshiftConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.RedshiftConnectorProfileCredentials 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 connector-specific profile credentials required when using Amazon+-- Redshift.+--+-- /See:/ 'newRedshiftConnectorProfileCredentials' smart constructor.+data RedshiftConnectorProfileCredentials = RedshiftConnectorProfileCredentials'+  { -- | The password that corresponds to the user name.+    password :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the user.+    username :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'password', 'redshiftConnectorProfileCredentials_password' - The password that corresponds to the user name.+--+-- 'username', 'redshiftConnectorProfileCredentials_username' - The name of the user.+newRedshiftConnectorProfileCredentials ::+  RedshiftConnectorProfileCredentials+newRedshiftConnectorProfileCredentials =+  RedshiftConnectorProfileCredentials'+    { password =+        Prelude.Nothing,+      username = Prelude.Nothing+    }++-- | The password that corresponds to the user name.+redshiftConnectorProfileCredentials_password :: Lens.Lens' RedshiftConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileCredentials_password = Lens.lens (\RedshiftConnectorProfileCredentials' {password} -> password) (\s@RedshiftConnectorProfileCredentials' {} a -> s {password = a} :: RedshiftConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the user.+redshiftConnectorProfileCredentials_username :: Lens.Lens' RedshiftConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileCredentials_username = Lens.lens (\RedshiftConnectorProfileCredentials' {username} -> username) (\s@RedshiftConnectorProfileCredentials' {} a -> s {username = a} :: RedshiftConnectorProfileCredentials)++instance+  Prelude.Hashable+    RedshiftConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    RedshiftConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` password+        `Prelude.hashWithSalt` username++instance+  Prelude.NFData+    RedshiftConnectorProfileCredentials+  where+  rnf RedshiftConnectorProfileCredentials' {..} =+    Prelude.rnf password+      `Prelude.seq` Prelude.rnf username++instance+  Data.ToJSON+    RedshiftConnectorProfileCredentials+  where+  toJSON RedshiftConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("password" Data..=) Prelude.<$> password,+            ("username" Data..=) Prelude.<$> username+          ]+      )
+ gen/Amazonka/AppFlow/Types/RedshiftConnectorProfileProperties.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.RedshiftConnectorProfileProperties 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 connector-specific profile properties when using Amazon Redshift.+--+-- /See:/ 'newRedshiftConnectorProfileProperties' smart constructor.+data RedshiftConnectorProfileProperties = RedshiftConnectorProfileProperties'+  { -- | The object key for the destination bucket in which Amazon AppFlow places+    -- the files.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | The unique ID that\'s assigned to an Amazon Redshift cluster.+    clusterIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of an IAM role that permits Amazon+    -- AppFlow to access your Amazon Redshift database through the Data API.+    -- For more information, and for the polices that you attach to this role,+    -- see+    -- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift Allow Amazon AppFlow to access Amazon Redshift databases with the Data API>.+    dataApiRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The name of an Amazon Redshift database.+    databaseName :: Prelude.Maybe Prelude.Text,+    -- | The JDBC URL of the Amazon Redshift cluster.+    databaseUrl :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the connector profile defines a connection to an+    -- Amazon Redshift Serverless data warehouse.+    isRedshiftServerless :: Prelude.Maybe Prelude.Bool,+    -- | The name of an Amazon Redshift workgroup.+    workgroupName :: Prelude.Maybe Prelude.Text,+    -- | A name for the associated Amazon S3 bucket.+    bucketName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift+    -- read-only access to Amazon S3. For more information, and for the polices+    -- that you attach to this role, see+    -- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3 Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3>.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 'redshiftConnectorProfileProperties_bucketPrefix' - The object key for the destination bucket in which Amazon AppFlow places+-- the files.+--+-- 'clusterIdentifier', 'redshiftConnectorProfileProperties_clusterIdentifier' - The unique ID that\'s assigned to an Amazon Redshift cluster.+--+-- 'dataApiRoleArn', 'redshiftConnectorProfileProperties_dataApiRoleArn' - The Amazon Resource Name (ARN) of an IAM role that permits Amazon+-- AppFlow to access your Amazon Redshift database through the Data API.+-- For more information, and for the polices that you attach to this role,+-- see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift Allow Amazon AppFlow to access Amazon Redshift databases with the Data API>.+--+-- 'databaseName', 'redshiftConnectorProfileProperties_databaseName' - The name of an Amazon Redshift database.+--+-- 'databaseUrl', 'redshiftConnectorProfileProperties_databaseUrl' - The JDBC URL of the Amazon Redshift cluster.+--+-- 'isRedshiftServerless', 'redshiftConnectorProfileProperties_isRedshiftServerless' - Indicates whether the connector profile defines a connection to an+-- Amazon Redshift Serverless data warehouse.+--+-- 'workgroupName', 'redshiftConnectorProfileProperties_workgroupName' - The name of an Amazon Redshift workgroup.+--+-- 'bucketName', 'redshiftConnectorProfileProperties_bucketName' - A name for the associated Amazon S3 bucket.+--+-- 'roleArn', 'redshiftConnectorProfileProperties_roleArn' - The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift+-- read-only access to Amazon S3. For more information, and for the polices+-- that you attach to this role, see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3 Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3>.+newRedshiftConnectorProfileProperties ::+  -- | 'bucketName'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  RedshiftConnectorProfileProperties+newRedshiftConnectorProfileProperties+  pBucketName_+  pRoleArn_ =+    RedshiftConnectorProfileProperties'+      { bucketPrefix =+          Prelude.Nothing,+        clusterIdentifier = Prelude.Nothing,+        dataApiRoleArn = Prelude.Nothing,+        databaseName = Prelude.Nothing,+        databaseUrl = Prelude.Nothing,+        isRedshiftServerless = Prelude.Nothing,+        workgroupName = Prelude.Nothing,+        bucketName = pBucketName_,+        roleArn = pRoleArn_+      }++-- | The object key for the destination bucket in which Amazon AppFlow places+-- the files.+redshiftConnectorProfileProperties_bucketPrefix :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_bucketPrefix = Lens.lens (\RedshiftConnectorProfileProperties' {bucketPrefix} -> bucketPrefix) (\s@RedshiftConnectorProfileProperties' {} a -> s {bucketPrefix = a} :: RedshiftConnectorProfileProperties)++-- | The unique ID that\'s assigned to an Amazon Redshift cluster.+redshiftConnectorProfileProperties_clusterIdentifier :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_clusterIdentifier = Lens.lens (\RedshiftConnectorProfileProperties' {clusterIdentifier} -> clusterIdentifier) (\s@RedshiftConnectorProfileProperties' {} a -> s {clusterIdentifier = a} :: RedshiftConnectorProfileProperties)++-- | The Amazon Resource Name (ARN) of an IAM role that permits Amazon+-- AppFlow to access your Amazon Redshift database through the Data API.+-- For more information, and for the polices that you attach to this role,+-- see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift Allow Amazon AppFlow to access Amazon Redshift databases with the Data API>.+redshiftConnectorProfileProperties_dataApiRoleArn :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_dataApiRoleArn = Lens.lens (\RedshiftConnectorProfileProperties' {dataApiRoleArn} -> dataApiRoleArn) (\s@RedshiftConnectorProfileProperties' {} a -> s {dataApiRoleArn = a} :: RedshiftConnectorProfileProperties)++-- | The name of an Amazon Redshift database.+redshiftConnectorProfileProperties_databaseName :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_databaseName = Lens.lens (\RedshiftConnectorProfileProperties' {databaseName} -> databaseName) (\s@RedshiftConnectorProfileProperties' {} a -> s {databaseName = a} :: RedshiftConnectorProfileProperties)++-- | The JDBC URL of the Amazon Redshift cluster.+redshiftConnectorProfileProperties_databaseUrl :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_databaseUrl = Lens.lens (\RedshiftConnectorProfileProperties' {databaseUrl} -> databaseUrl) (\s@RedshiftConnectorProfileProperties' {} a -> s {databaseUrl = a} :: RedshiftConnectorProfileProperties)++-- | Indicates whether the connector profile defines a connection to an+-- Amazon Redshift Serverless data warehouse.+redshiftConnectorProfileProperties_isRedshiftServerless :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Bool)+redshiftConnectorProfileProperties_isRedshiftServerless = Lens.lens (\RedshiftConnectorProfileProperties' {isRedshiftServerless} -> isRedshiftServerless) (\s@RedshiftConnectorProfileProperties' {} a -> s {isRedshiftServerless = a} :: RedshiftConnectorProfileProperties)++-- | The name of an Amazon Redshift workgroup.+redshiftConnectorProfileProperties_workgroupName :: Lens.Lens' RedshiftConnectorProfileProperties (Prelude.Maybe Prelude.Text)+redshiftConnectorProfileProperties_workgroupName = Lens.lens (\RedshiftConnectorProfileProperties' {workgroupName} -> workgroupName) (\s@RedshiftConnectorProfileProperties' {} a -> s {workgroupName = a} :: RedshiftConnectorProfileProperties)++-- | A name for the associated Amazon S3 bucket.+redshiftConnectorProfileProperties_bucketName :: Lens.Lens' RedshiftConnectorProfileProperties Prelude.Text+redshiftConnectorProfileProperties_bucketName = Lens.lens (\RedshiftConnectorProfileProperties' {bucketName} -> bucketName) (\s@RedshiftConnectorProfileProperties' {} a -> s {bucketName = a} :: RedshiftConnectorProfileProperties)++-- | The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift+-- read-only access to Amazon S3. For more information, and for the polices+-- that you attach to this role, see+-- <https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3 Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3>.+redshiftConnectorProfileProperties_roleArn :: Lens.Lens' RedshiftConnectorProfileProperties Prelude.Text+redshiftConnectorProfileProperties_roleArn = Lens.lens (\RedshiftConnectorProfileProperties' {roleArn} -> roleArn) (\s@RedshiftConnectorProfileProperties' {} a -> s {roleArn = a} :: RedshiftConnectorProfileProperties)++instance+  Data.FromJSON+    RedshiftConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "RedshiftConnectorProfileProperties"+      ( \x ->+          RedshiftConnectorProfileProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "clusterIdentifier")+            Prelude.<*> (x Data..:? "dataApiRoleArn")+            Prelude.<*> (x Data..:? "databaseName")+            Prelude.<*> (x Data..:? "databaseUrl")+            Prelude.<*> (x Data..:? "isRedshiftServerless")+            Prelude.<*> (x Data..:? "workgroupName")+            Prelude.<*> (x Data..: "bucketName")+            Prelude.<*> (x Data..: "roleArn")+      )++instance+  Prelude.Hashable+    RedshiftConnectorProfileProperties+  where+  hashWithSalt+    _salt+    RedshiftConnectorProfileProperties' {..} =+      _salt+        `Prelude.hashWithSalt` bucketPrefix+        `Prelude.hashWithSalt` clusterIdentifier+        `Prelude.hashWithSalt` dataApiRoleArn+        `Prelude.hashWithSalt` databaseName+        `Prelude.hashWithSalt` databaseUrl+        `Prelude.hashWithSalt` isRedshiftServerless+        `Prelude.hashWithSalt` workgroupName+        `Prelude.hashWithSalt` bucketName+        `Prelude.hashWithSalt` roleArn++instance+  Prelude.NFData+    RedshiftConnectorProfileProperties+  where+  rnf RedshiftConnectorProfileProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf clusterIdentifier+      `Prelude.seq` Prelude.rnf dataApiRoleArn+      `Prelude.seq` Prelude.rnf databaseName+      `Prelude.seq` Prelude.rnf databaseUrl+      `Prelude.seq` Prelude.rnf isRedshiftServerless+      `Prelude.seq` Prelude.rnf workgroupName+      `Prelude.seq` Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf roleArn++instance+  Data.ToJSON+    RedshiftConnectorProfileProperties+  where+  toJSON RedshiftConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("clusterIdentifier" Data..=)+              Prelude.<$> clusterIdentifier,+            ("dataApiRoleArn" Data..=)+              Prelude.<$> dataApiRoleArn,+            ("databaseName" Data..=) Prelude.<$> databaseName,+            ("databaseUrl" Data..=) Prelude.<$> databaseUrl,+            ("isRedshiftServerless" Data..=)+              Prelude.<$> isRedshiftServerless,+            ("workgroupName" Data..=) Prelude.<$> workgroupName,+            Prelude.Just ("bucketName" Data..= bucketName),+            Prelude.Just ("roleArn" Data..= roleArn)+          ]+      )
+ gen/Amazonka/AppFlow/Types/RedshiftDestinationProperties.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.RedshiftDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.RedshiftDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+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 properties that are applied when Amazon Redshift is being used as a+-- destination.+--+-- /See:/ 'newRedshiftDestinationProperties' smart constructor.+data RedshiftDestinationProperties = RedshiftDestinationProperties'+  { -- | The object key for the bucket in which Amazon AppFlow places the+    -- destination files.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | The settings that determine how Amazon AppFlow handles an error when+    -- placing data in the Amazon Redshift destination. For example, this+    -- setting would determine if the flow should fail after one insertion+    -- error, or continue and attempt to insert every record regardless of the+    -- initial failure. @ErrorHandlingConfig@ is a part of the destination+    -- connector details.+    errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The object specified in the Amazon Redshift flow destination.+    object' :: Prelude.Text,+    -- | The intermediate bucket that Amazon AppFlow uses when moving data into+    -- Amazon Redshift.+    intermediateBucketName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 'redshiftDestinationProperties_bucketPrefix' - The object key for the bucket in which Amazon AppFlow places the+-- destination files.+--+-- 'errorHandlingConfig', 'redshiftDestinationProperties_errorHandlingConfig' - The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Amazon Redshift destination. For example, this+-- setting would determine if the flow should fail after one insertion+-- error, or continue and attempt to insert every record regardless of the+-- initial failure. @ErrorHandlingConfig@ is a part of the destination+-- connector details.+--+-- 'object'', 'redshiftDestinationProperties_object' - The object specified in the Amazon Redshift flow destination.+--+-- 'intermediateBucketName', 'redshiftDestinationProperties_intermediateBucketName' - The intermediate bucket that Amazon AppFlow uses when moving data into+-- Amazon Redshift.+newRedshiftDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  -- | 'intermediateBucketName'+  Prelude.Text ->+  RedshiftDestinationProperties+newRedshiftDestinationProperties+  pObject_+  pIntermediateBucketName_ =+    RedshiftDestinationProperties'+      { bucketPrefix =+          Prelude.Nothing,+        errorHandlingConfig = Prelude.Nothing,+        object' = pObject_,+        intermediateBucketName =+          pIntermediateBucketName_+      }++-- | The object key for the bucket in which Amazon AppFlow places the+-- destination files.+redshiftDestinationProperties_bucketPrefix :: Lens.Lens' RedshiftDestinationProperties (Prelude.Maybe Prelude.Text)+redshiftDestinationProperties_bucketPrefix = Lens.lens (\RedshiftDestinationProperties' {bucketPrefix} -> bucketPrefix) (\s@RedshiftDestinationProperties' {} a -> s {bucketPrefix = a} :: RedshiftDestinationProperties)++-- | The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Amazon Redshift destination. For example, this+-- setting would determine if the flow should fail after one insertion+-- error, or continue and attempt to insert every record regardless of the+-- initial failure. @ErrorHandlingConfig@ is a part of the destination+-- connector details.+redshiftDestinationProperties_errorHandlingConfig :: Lens.Lens' RedshiftDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+redshiftDestinationProperties_errorHandlingConfig = Lens.lens (\RedshiftDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@RedshiftDestinationProperties' {} a -> s {errorHandlingConfig = a} :: RedshiftDestinationProperties)++-- | The object specified in the Amazon Redshift flow destination.+redshiftDestinationProperties_object :: Lens.Lens' RedshiftDestinationProperties Prelude.Text+redshiftDestinationProperties_object = Lens.lens (\RedshiftDestinationProperties' {object'} -> object') (\s@RedshiftDestinationProperties' {} a -> s {object' = a} :: RedshiftDestinationProperties)++-- | The intermediate bucket that Amazon AppFlow uses when moving data into+-- Amazon Redshift.+redshiftDestinationProperties_intermediateBucketName :: Lens.Lens' RedshiftDestinationProperties Prelude.Text+redshiftDestinationProperties_intermediateBucketName = Lens.lens (\RedshiftDestinationProperties' {intermediateBucketName} -> intermediateBucketName) (\s@RedshiftDestinationProperties' {} a -> s {intermediateBucketName = a} :: RedshiftDestinationProperties)++instance Data.FromJSON RedshiftDestinationProperties where+  parseJSON =+    Data.withObject+      "RedshiftDestinationProperties"+      ( \x ->+          RedshiftDestinationProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..: "object")+            Prelude.<*> (x Data..: "intermediateBucketName")+      )++instance+  Prelude.Hashable+    RedshiftDestinationProperties+  where+  hashWithSalt _salt RedshiftDestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` bucketPrefix+      `Prelude.hashWithSalt` errorHandlingConfig+      `Prelude.hashWithSalt` object'+      `Prelude.hashWithSalt` intermediateBucketName++instance Prelude.NFData RedshiftDestinationProperties where+  rnf RedshiftDestinationProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf object'+      `Prelude.seq` Prelude.rnf intermediateBucketName++instance Data.ToJSON RedshiftDestinationProperties where+  toJSON RedshiftDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            Prelude.Just ("object" Data..= object'),+            Prelude.Just+              ( "intermediateBucketName"+                  Data..= intermediateBucketName+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/RedshiftMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.RedshiftMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.RedshiftMetadata 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 connector metadata specific to Amazon Redshift.+--+-- /See:/ 'newRedshiftMetadata' smart constructor.+data RedshiftMetadata = RedshiftMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newRedshiftMetadata ::+  RedshiftMetadata+newRedshiftMetadata = RedshiftMetadata'++instance Data.FromJSON RedshiftMetadata where+  parseJSON =+    Data.withObject+      "RedshiftMetadata"+      (\x -> Prelude.pure RedshiftMetadata')++instance Prelude.Hashable RedshiftMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData RedshiftMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/RegistrationOutput.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.RegistrationOutput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.RegistrationOutput where++import Amazonka.AppFlow.Types.ExecutionStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the status of an attempt from Amazon AppFlow to register a+-- resource.+--+-- When you run a flow that you\'ve configured to use a metadata catalog,+-- Amazon AppFlow registers a metadata table and data partitions with that+-- catalog. This operation provides the status of that registration+-- attempt. The operation also indicates how many related resources Amazon+-- AppFlow created or updated.+--+-- /See:/ 'newRegistrationOutput' smart constructor.+data RegistrationOutput = RegistrationOutput'+  { -- | Explains the status of the registration attempt from Amazon AppFlow. If+    -- the attempt fails, the message explains why.+    message :: Prelude.Maybe Prelude.Text,+    -- | Indicates the number of resources that Amazon AppFlow created or+    -- updated. Possible resources include metadata tables and data partitions.+    result :: Prelude.Maybe Prelude.Text,+    -- | Indicates the status of the registration attempt from Amazon AppFlow.+    status :: Prelude.Maybe ExecutionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegistrationOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'registrationOutput_message' - Explains the status of the registration attempt from Amazon AppFlow. If+-- the attempt fails, the message explains why.+--+-- 'result', 'registrationOutput_result' - Indicates the number of resources that Amazon AppFlow created or+-- updated. Possible resources include metadata tables and data partitions.+--+-- 'status', 'registrationOutput_status' - Indicates the status of the registration attempt from Amazon AppFlow.+newRegistrationOutput ::+  RegistrationOutput+newRegistrationOutput =+  RegistrationOutput'+    { message = Prelude.Nothing,+      result = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Explains the status of the registration attempt from Amazon AppFlow. If+-- the attempt fails, the message explains why.+registrationOutput_message :: Lens.Lens' RegistrationOutput (Prelude.Maybe Prelude.Text)+registrationOutput_message = Lens.lens (\RegistrationOutput' {message} -> message) (\s@RegistrationOutput' {} a -> s {message = a} :: RegistrationOutput)++-- | Indicates the number of resources that Amazon AppFlow created or+-- updated. Possible resources include metadata tables and data partitions.+registrationOutput_result :: Lens.Lens' RegistrationOutput (Prelude.Maybe Prelude.Text)+registrationOutput_result = Lens.lens (\RegistrationOutput' {result} -> result) (\s@RegistrationOutput' {} a -> s {result = a} :: RegistrationOutput)++-- | Indicates the status of the registration attempt from Amazon AppFlow.+registrationOutput_status :: Lens.Lens' RegistrationOutput (Prelude.Maybe ExecutionStatus)+registrationOutput_status = Lens.lens (\RegistrationOutput' {status} -> status) (\s@RegistrationOutput' {} a -> s {status = a} :: RegistrationOutput)++instance Data.FromJSON RegistrationOutput where+  parseJSON =+    Data.withObject+      "RegistrationOutput"+      ( \x ->+          RegistrationOutput'+            Prelude.<$> (x Data..:? "message")+            Prelude.<*> (x Data..:? "result")+            Prelude.<*> (x Data..:? "status")+      )++instance Prelude.Hashable RegistrationOutput where+  hashWithSalt _salt RegistrationOutput' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` result+      `Prelude.hashWithSalt` status++instance Prelude.NFData RegistrationOutput where+  rnf RegistrationOutput' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf result+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AppFlow/Types/S3ConnectorOperator.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.S3ConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3ConnectorOperator+  ( S3ConnectorOperator+      ( ..,+        S3ConnectorOperator_ADDITION,+        S3ConnectorOperator_BETWEEN,+        S3ConnectorOperator_DIVISION,+        S3ConnectorOperator_EQUAL_TO,+        S3ConnectorOperator_GREATER_THAN,+        S3ConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        S3ConnectorOperator_LESS_THAN,+        S3ConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        S3ConnectorOperator_MASK_ALL,+        S3ConnectorOperator_MASK_FIRST_N,+        S3ConnectorOperator_MASK_LAST_N,+        S3ConnectorOperator_MULTIPLICATION,+        S3ConnectorOperator_NOT_EQUAL_TO,+        S3ConnectorOperator_NO_OP,+        S3ConnectorOperator_PROJECTION,+        S3ConnectorOperator_SUBTRACTION,+        S3ConnectorOperator_VALIDATE_NON_NEGATIVE,+        S3ConnectorOperator_VALIDATE_NON_NULL,+        S3ConnectorOperator_VALIDATE_NON_ZERO,+        S3ConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype S3ConnectorOperator = S3ConnectorOperator'+  { fromS3ConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern S3ConnectorOperator_ADDITION :: S3ConnectorOperator+pattern S3ConnectorOperator_ADDITION = S3ConnectorOperator' "ADDITION"++pattern S3ConnectorOperator_BETWEEN :: S3ConnectorOperator+pattern S3ConnectorOperator_BETWEEN = S3ConnectorOperator' "BETWEEN"++pattern S3ConnectorOperator_DIVISION :: S3ConnectorOperator+pattern S3ConnectorOperator_DIVISION = S3ConnectorOperator' "DIVISION"++pattern S3ConnectorOperator_EQUAL_TO :: S3ConnectorOperator+pattern S3ConnectorOperator_EQUAL_TO = S3ConnectorOperator' "EQUAL_TO"++pattern S3ConnectorOperator_GREATER_THAN :: S3ConnectorOperator+pattern S3ConnectorOperator_GREATER_THAN = S3ConnectorOperator' "GREATER_THAN"++pattern S3ConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: S3ConnectorOperator+pattern S3ConnectorOperator_GREATER_THAN_OR_EQUAL_TO = S3ConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern S3ConnectorOperator_LESS_THAN :: S3ConnectorOperator+pattern S3ConnectorOperator_LESS_THAN = S3ConnectorOperator' "LESS_THAN"++pattern S3ConnectorOperator_LESS_THAN_OR_EQUAL_TO :: S3ConnectorOperator+pattern S3ConnectorOperator_LESS_THAN_OR_EQUAL_TO = S3ConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern S3ConnectorOperator_MASK_ALL :: S3ConnectorOperator+pattern S3ConnectorOperator_MASK_ALL = S3ConnectorOperator' "MASK_ALL"++pattern S3ConnectorOperator_MASK_FIRST_N :: S3ConnectorOperator+pattern S3ConnectorOperator_MASK_FIRST_N = S3ConnectorOperator' "MASK_FIRST_N"++pattern S3ConnectorOperator_MASK_LAST_N :: S3ConnectorOperator+pattern S3ConnectorOperator_MASK_LAST_N = S3ConnectorOperator' "MASK_LAST_N"++pattern S3ConnectorOperator_MULTIPLICATION :: S3ConnectorOperator+pattern S3ConnectorOperator_MULTIPLICATION = S3ConnectorOperator' "MULTIPLICATION"++pattern S3ConnectorOperator_NOT_EQUAL_TO :: S3ConnectorOperator+pattern S3ConnectorOperator_NOT_EQUAL_TO = S3ConnectorOperator' "NOT_EQUAL_TO"++pattern S3ConnectorOperator_NO_OP :: S3ConnectorOperator+pattern S3ConnectorOperator_NO_OP = S3ConnectorOperator' "NO_OP"++pattern S3ConnectorOperator_PROJECTION :: S3ConnectorOperator+pattern S3ConnectorOperator_PROJECTION = S3ConnectorOperator' "PROJECTION"++pattern S3ConnectorOperator_SUBTRACTION :: S3ConnectorOperator+pattern S3ConnectorOperator_SUBTRACTION = S3ConnectorOperator' "SUBTRACTION"++pattern S3ConnectorOperator_VALIDATE_NON_NEGATIVE :: S3ConnectorOperator+pattern S3ConnectorOperator_VALIDATE_NON_NEGATIVE = S3ConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern S3ConnectorOperator_VALIDATE_NON_NULL :: S3ConnectorOperator+pattern S3ConnectorOperator_VALIDATE_NON_NULL = S3ConnectorOperator' "VALIDATE_NON_NULL"++pattern S3ConnectorOperator_VALIDATE_NON_ZERO :: S3ConnectorOperator+pattern S3ConnectorOperator_VALIDATE_NON_ZERO = S3ConnectorOperator' "VALIDATE_NON_ZERO"++pattern S3ConnectorOperator_VALIDATE_NUMERIC :: S3ConnectorOperator+pattern S3ConnectorOperator_VALIDATE_NUMERIC = S3ConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  S3ConnectorOperator_ADDITION,+  S3ConnectorOperator_BETWEEN,+  S3ConnectorOperator_DIVISION,+  S3ConnectorOperator_EQUAL_TO,+  S3ConnectorOperator_GREATER_THAN,+  S3ConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  S3ConnectorOperator_LESS_THAN,+  S3ConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  S3ConnectorOperator_MASK_ALL,+  S3ConnectorOperator_MASK_FIRST_N,+  S3ConnectorOperator_MASK_LAST_N,+  S3ConnectorOperator_MULTIPLICATION,+  S3ConnectorOperator_NOT_EQUAL_TO,+  S3ConnectorOperator_NO_OP,+  S3ConnectorOperator_PROJECTION,+  S3ConnectorOperator_SUBTRACTION,+  S3ConnectorOperator_VALIDATE_NON_NEGATIVE,+  S3ConnectorOperator_VALIDATE_NON_NULL,+  S3ConnectorOperator_VALIDATE_NON_ZERO,+  S3ConnectorOperator_VALIDATE_NUMERIC,+  S3ConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/S3DestinationProperties.hs view
@@ -0,0 +1,116 @@+{-# 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.AppFlow.Types.S3DestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3DestinationProperties where++import Amazonka.AppFlow.Types.S3OutputFormatConfig+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 properties that are applied when Amazon S3 is used as a destination.+--+-- /See:/ 'newS3DestinationProperties' smart constructor.+data S3DestinationProperties = S3DestinationProperties'+  { -- | The object key for the destination bucket in which Amazon AppFlow places+    -- the files.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    s3OutputFormatConfig :: Prelude.Maybe S3OutputFormatConfig,+    -- | The Amazon S3 bucket name in which Amazon AppFlow places the transferred+    -- data.+    bucketName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3DestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 's3DestinationProperties_bucketPrefix' - The object key for the destination bucket in which Amazon AppFlow places+-- the files.+--+-- 's3OutputFormatConfig', 's3DestinationProperties_s3OutputFormatConfig' - Undocumented member.+--+-- 'bucketName', 's3DestinationProperties_bucketName' - The Amazon S3 bucket name in which Amazon AppFlow places the transferred+-- data.+newS3DestinationProperties ::+  -- | 'bucketName'+  Prelude.Text ->+  S3DestinationProperties+newS3DestinationProperties pBucketName_ =+  S3DestinationProperties'+    { bucketPrefix =+        Prelude.Nothing,+      s3OutputFormatConfig = Prelude.Nothing,+      bucketName = pBucketName_+    }++-- | The object key for the destination bucket in which Amazon AppFlow places+-- the files.+s3DestinationProperties_bucketPrefix :: Lens.Lens' S3DestinationProperties (Prelude.Maybe Prelude.Text)+s3DestinationProperties_bucketPrefix = Lens.lens (\S3DestinationProperties' {bucketPrefix} -> bucketPrefix) (\s@S3DestinationProperties' {} a -> s {bucketPrefix = a} :: S3DestinationProperties)++-- | Undocumented member.+s3DestinationProperties_s3OutputFormatConfig :: Lens.Lens' S3DestinationProperties (Prelude.Maybe S3OutputFormatConfig)+s3DestinationProperties_s3OutputFormatConfig = Lens.lens (\S3DestinationProperties' {s3OutputFormatConfig} -> s3OutputFormatConfig) (\s@S3DestinationProperties' {} a -> s {s3OutputFormatConfig = a} :: S3DestinationProperties)++-- | The Amazon S3 bucket name in which Amazon AppFlow places the transferred+-- data.+s3DestinationProperties_bucketName :: Lens.Lens' S3DestinationProperties Prelude.Text+s3DestinationProperties_bucketName = Lens.lens (\S3DestinationProperties' {bucketName} -> bucketName) (\s@S3DestinationProperties' {} a -> s {bucketName = a} :: S3DestinationProperties)++instance Data.FromJSON S3DestinationProperties where+  parseJSON =+    Data.withObject+      "S3DestinationProperties"+      ( \x ->+          S3DestinationProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "s3OutputFormatConfig")+            Prelude.<*> (x Data..: "bucketName")+      )++instance Prelude.Hashable S3DestinationProperties where+  hashWithSalt _salt S3DestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` bucketPrefix+      `Prelude.hashWithSalt` s3OutputFormatConfig+      `Prelude.hashWithSalt` bucketName++instance Prelude.NFData S3DestinationProperties where+  rnf S3DestinationProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf s3OutputFormatConfig+      `Prelude.seq` Prelude.rnf bucketName++instance Data.ToJSON S3DestinationProperties where+  toJSON S3DestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("s3OutputFormatConfig" Data..=)+              Prelude.<$> s3OutputFormatConfig,+            Prelude.Just ("bucketName" Data..= bucketName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/S3InputFileType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.S3InputFileType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3InputFileType+  ( S3InputFileType+      ( ..,+        S3InputFileType_CSV,+        S3InputFileType_JSON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype S3InputFileType = S3InputFileType'+  { fromS3InputFileType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern S3InputFileType_CSV :: S3InputFileType+pattern S3InputFileType_CSV = S3InputFileType' "CSV"++pattern S3InputFileType_JSON :: S3InputFileType+pattern S3InputFileType_JSON = S3InputFileType' "JSON"++{-# COMPLETE+  S3InputFileType_CSV,+  S3InputFileType_JSON,+  S3InputFileType'+  #-}
+ gen/Amazonka/AppFlow/Types/S3InputFormatConfig.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.S3InputFormatConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3InputFormatConfig where++import Amazonka.AppFlow.Types.S3InputFileType+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++-- | When you use Amazon S3 as the source, the configuration format that you+-- provide the flow input data.+--+-- /See:/ 'newS3InputFormatConfig' smart constructor.+data S3InputFormatConfig = S3InputFormatConfig'+  { -- | The file type that Amazon AppFlow gets from your Amazon S3 bucket.+    s3InputFileType :: Prelude.Maybe S3InputFileType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3InputFormatConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3InputFileType', 's3InputFormatConfig_s3InputFileType' - The file type that Amazon AppFlow gets from your Amazon S3 bucket.+newS3InputFormatConfig ::+  S3InputFormatConfig+newS3InputFormatConfig =+  S3InputFormatConfig'+    { s3InputFileType =+        Prelude.Nothing+    }++-- | The file type that Amazon AppFlow gets from your Amazon S3 bucket.+s3InputFormatConfig_s3InputFileType :: Lens.Lens' S3InputFormatConfig (Prelude.Maybe S3InputFileType)+s3InputFormatConfig_s3InputFileType = Lens.lens (\S3InputFormatConfig' {s3InputFileType} -> s3InputFileType) (\s@S3InputFormatConfig' {} a -> s {s3InputFileType = a} :: S3InputFormatConfig)++instance Data.FromJSON S3InputFormatConfig where+  parseJSON =+    Data.withObject+      "S3InputFormatConfig"+      ( \x ->+          S3InputFormatConfig'+            Prelude.<$> (x Data..:? "s3InputFileType")+      )++instance Prelude.Hashable S3InputFormatConfig where+  hashWithSalt _salt S3InputFormatConfig' {..} =+    _salt `Prelude.hashWithSalt` s3InputFileType++instance Prelude.NFData S3InputFormatConfig where+  rnf S3InputFormatConfig' {..} =+    Prelude.rnf s3InputFileType++instance Data.ToJSON S3InputFormatConfig where+  toJSON S3InputFormatConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("s3InputFileType" Data..=)+              Prelude.<$> s3InputFileType+          ]+      )
+ gen/Amazonka/AppFlow/Types/S3Metadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.S3Metadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3Metadata 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 connector metadata specific to Amazon S3.+--+-- /See:/ 'newS3Metadata' smart constructor.+data S3Metadata = S3Metadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Metadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newS3Metadata ::+  S3Metadata+newS3Metadata = S3Metadata'++instance Data.FromJSON S3Metadata where+  parseJSON =+    Data.withObject+      "S3Metadata"+      (\x -> Prelude.pure S3Metadata')++instance Prelude.Hashable S3Metadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData S3Metadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/S3OutputFormatConfig.hs view
@@ -0,0 +1,164 @@+{-# 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.AppFlow.Types.S3OutputFormatConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3OutputFormatConfig where++import Amazonka.AppFlow.Types.AggregationConfig+import Amazonka.AppFlow.Types.FileType+import Amazonka.AppFlow.Types.PrefixConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration that determines how Amazon AppFlow should format the+-- flow output data when Amazon S3 is used as the destination.+--+-- /See:/ 'newS3OutputFormatConfig' smart constructor.+data S3OutputFormatConfig = S3OutputFormatConfig'+  { aggregationConfig :: Prelude.Maybe AggregationConfig,+    -- | Indicates the file type that Amazon AppFlow places in the Amazon S3+    -- bucket.+    fileType :: Prelude.Maybe FileType,+    -- | Determines the prefix that Amazon AppFlow applies to the folder name in+    -- the Amazon S3 bucket. You can name folders according to the flow+    -- frequency and date.+    prefixConfig :: Prelude.Maybe PrefixConfig,+    -- | If your file output format is Parquet, use this parameter to set whether+    -- Amazon AppFlow preserves the data types in your source data when it+    -- writes the output to Amazon S3.+    --+    -- -   @true@: Amazon AppFlow preserves the data types when it writes to+    --     Amazon S3. For example, an integer or @1@ in your source data is+    --     still an integer in your output.+    --+    -- -   @false@: Amazon AppFlow converts all of the source data into strings+    --     when it writes to Amazon S3. For example, an integer of @1@ in your+    --     source data becomes the string @\"1\"@ in the output.+    preserveSourceDataTyping :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3OutputFormatConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationConfig', 's3OutputFormatConfig_aggregationConfig' - Undocumented member.+--+-- 'fileType', 's3OutputFormatConfig_fileType' - Indicates the file type that Amazon AppFlow places in the Amazon S3+-- bucket.+--+-- 'prefixConfig', 's3OutputFormatConfig_prefixConfig' - Determines the prefix that Amazon AppFlow applies to the folder name in+-- the Amazon S3 bucket. You can name folders according to the flow+-- frequency and date.+--+-- 'preserveSourceDataTyping', 's3OutputFormatConfig_preserveSourceDataTyping' - If your file output format is Parquet, use this parameter to set whether+-- Amazon AppFlow preserves the data types in your source data when it+-- writes the output to Amazon S3.+--+-- -   @true@: Amazon AppFlow preserves the data types when it writes to+--     Amazon S3. For example, an integer or @1@ in your source data is+--     still an integer in your output.+--+-- -   @false@: Amazon AppFlow converts all of the source data into strings+--     when it writes to Amazon S3. For example, an integer of @1@ in your+--     source data becomes the string @\"1\"@ in the output.+newS3OutputFormatConfig ::+  S3OutputFormatConfig+newS3OutputFormatConfig =+  S3OutputFormatConfig'+    { aggregationConfig =+        Prelude.Nothing,+      fileType = Prelude.Nothing,+      prefixConfig = Prelude.Nothing,+      preserveSourceDataTyping = Prelude.Nothing+    }++-- | Undocumented member.+s3OutputFormatConfig_aggregationConfig :: Lens.Lens' S3OutputFormatConfig (Prelude.Maybe AggregationConfig)+s3OutputFormatConfig_aggregationConfig = Lens.lens (\S3OutputFormatConfig' {aggregationConfig} -> aggregationConfig) (\s@S3OutputFormatConfig' {} a -> s {aggregationConfig = a} :: S3OutputFormatConfig)++-- | Indicates the file type that Amazon AppFlow places in the Amazon S3+-- bucket.+s3OutputFormatConfig_fileType :: Lens.Lens' S3OutputFormatConfig (Prelude.Maybe FileType)+s3OutputFormatConfig_fileType = Lens.lens (\S3OutputFormatConfig' {fileType} -> fileType) (\s@S3OutputFormatConfig' {} a -> s {fileType = a} :: S3OutputFormatConfig)++-- | Determines the prefix that Amazon AppFlow applies to the folder name in+-- the Amazon S3 bucket. You can name folders according to the flow+-- frequency and date.+s3OutputFormatConfig_prefixConfig :: Lens.Lens' S3OutputFormatConfig (Prelude.Maybe PrefixConfig)+s3OutputFormatConfig_prefixConfig = Lens.lens (\S3OutputFormatConfig' {prefixConfig} -> prefixConfig) (\s@S3OutputFormatConfig' {} a -> s {prefixConfig = a} :: S3OutputFormatConfig)++-- | If your file output format is Parquet, use this parameter to set whether+-- Amazon AppFlow preserves the data types in your source data when it+-- writes the output to Amazon S3.+--+-- -   @true@: Amazon AppFlow preserves the data types when it writes to+--     Amazon S3. For example, an integer or @1@ in your source data is+--     still an integer in your output.+--+-- -   @false@: Amazon AppFlow converts all of the source data into strings+--     when it writes to Amazon S3. For example, an integer of @1@ in your+--     source data becomes the string @\"1\"@ in the output.+s3OutputFormatConfig_preserveSourceDataTyping :: Lens.Lens' S3OutputFormatConfig (Prelude.Maybe Prelude.Bool)+s3OutputFormatConfig_preserveSourceDataTyping = Lens.lens (\S3OutputFormatConfig' {preserveSourceDataTyping} -> preserveSourceDataTyping) (\s@S3OutputFormatConfig' {} a -> s {preserveSourceDataTyping = a} :: S3OutputFormatConfig)++instance Data.FromJSON S3OutputFormatConfig where+  parseJSON =+    Data.withObject+      "S3OutputFormatConfig"+      ( \x ->+          S3OutputFormatConfig'+            Prelude.<$> (x Data..:? "aggregationConfig")+            Prelude.<*> (x Data..:? "fileType")+            Prelude.<*> (x Data..:? "prefixConfig")+            Prelude.<*> (x Data..:? "preserveSourceDataTyping")+      )++instance Prelude.Hashable S3OutputFormatConfig where+  hashWithSalt _salt S3OutputFormatConfig' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationConfig+      `Prelude.hashWithSalt` fileType+      `Prelude.hashWithSalt` prefixConfig+      `Prelude.hashWithSalt` preserveSourceDataTyping++instance Prelude.NFData S3OutputFormatConfig where+  rnf S3OutputFormatConfig' {..} =+    Prelude.rnf aggregationConfig+      `Prelude.seq` Prelude.rnf fileType+      `Prelude.seq` Prelude.rnf prefixConfig+      `Prelude.seq` Prelude.rnf preserveSourceDataTyping++instance Data.ToJSON S3OutputFormatConfig where+  toJSON S3OutputFormatConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("aggregationConfig" Data..=)+              Prelude.<$> aggregationConfig,+            ("fileType" Data..=) Prelude.<$> fileType,+            ("prefixConfig" Data..=) Prelude.<$> prefixConfig,+            ("preserveSourceDataTyping" Data..=)+              Prelude.<$> preserveSourceDataTyping+          ]+      )
+ gen/Amazonka/AppFlow/Types/S3SourceProperties.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.S3SourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.S3SourceProperties where++import Amazonka.AppFlow.Types.S3InputFormatConfig+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 properties that are applied when Amazon S3 is being used as the flow+-- source.+--+-- /See:/ 'newS3SourceProperties' smart constructor.+data S3SourceProperties = S3SourceProperties'+  { -- | The object key for the Amazon S3 bucket in which the source files are+    -- stored.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    s3InputFormatConfig :: Prelude.Maybe S3InputFormatConfig,+    -- | The Amazon S3 bucket name where the source files are stored.+    bucketName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3SourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 's3SourceProperties_bucketPrefix' - The object key for the Amazon S3 bucket in which the source files are+-- stored.+--+-- 's3InputFormatConfig', 's3SourceProperties_s3InputFormatConfig' - Undocumented member.+--+-- 'bucketName', 's3SourceProperties_bucketName' - The Amazon S3 bucket name where the source files are stored.+newS3SourceProperties ::+  -- | 'bucketName'+  Prelude.Text ->+  S3SourceProperties+newS3SourceProperties pBucketName_ =+  S3SourceProperties'+    { bucketPrefix = Prelude.Nothing,+      s3InputFormatConfig = Prelude.Nothing,+      bucketName = pBucketName_+    }++-- | The object key for the Amazon S3 bucket in which the source files are+-- stored.+s3SourceProperties_bucketPrefix :: Lens.Lens' S3SourceProperties (Prelude.Maybe Prelude.Text)+s3SourceProperties_bucketPrefix = Lens.lens (\S3SourceProperties' {bucketPrefix} -> bucketPrefix) (\s@S3SourceProperties' {} a -> s {bucketPrefix = a} :: S3SourceProperties)++-- | Undocumented member.+s3SourceProperties_s3InputFormatConfig :: Lens.Lens' S3SourceProperties (Prelude.Maybe S3InputFormatConfig)+s3SourceProperties_s3InputFormatConfig = Lens.lens (\S3SourceProperties' {s3InputFormatConfig} -> s3InputFormatConfig) (\s@S3SourceProperties' {} a -> s {s3InputFormatConfig = a} :: S3SourceProperties)++-- | The Amazon S3 bucket name where the source files are stored.+s3SourceProperties_bucketName :: Lens.Lens' S3SourceProperties Prelude.Text+s3SourceProperties_bucketName = Lens.lens (\S3SourceProperties' {bucketName} -> bucketName) (\s@S3SourceProperties' {} a -> s {bucketName = a} :: S3SourceProperties)++instance Data.FromJSON S3SourceProperties where+  parseJSON =+    Data.withObject+      "S3SourceProperties"+      ( \x ->+          S3SourceProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "s3InputFormatConfig")+            Prelude.<*> (x Data..: "bucketName")+      )++instance Prelude.Hashable S3SourceProperties where+  hashWithSalt _salt S3SourceProperties' {..} =+    _salt+      `Prelude.hashWithSalt` bucketPrefix+      `Prelude.hashWithSalt` s3InputFormatConfig+      `Prelude.hashWithSalt` bucketName++instance Prelude.NFData S3SourceProperties where+  rnf S3SourceProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf s3InputFormatConfig+      `Prelude.seq` Prelude.rnf bucketName++instance Data.ToJSON S3SourceProperties where+  toJSON S3SourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("s3InputFormatConfig" Data..=)+              Prelude.<$> s3InputFormatConfig,+            Prelude.Just ("bucketName" Data..= bucketName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SAPODataConnectorOperator.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SAPODataConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataConnectorOperator+  ( SAPODataConnectorOperator+      ( ..,+        SAPODataConnectorOperator_ADDITION,+        SAPODataConnectorOperator_BETWEEN,+        SAPODataConnectorOperator_CONTAINS,+        SAPODataConnectorOperator_DIVISION,+        SAPODataConnectorOperator_EQUAL_TO,+        SAPODataConnectorOperator_GREATER_THAN,+        SAPODataConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        SAPODataConnectorOperator_LESS_THAN,+        SAPODataConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        SAPODataConnectorOperator_MASK_ALL,+        SAPODataConnectorOperator_MASK_FIRST_N,+        SAPODataConnectorOperator_MASK_LAST_N,+        SAPODataConnectorOperator_MULTIPLICATION,+        SAPODataConnectorOperator_NOT_EQUAL_TO,+        SAPODataConnectorOperator_NO_OP,+        SAPODataConnectorOperator_PROJECTION,+        SAPODataConnectorOperator_SUBTRACTION,+        SAPODataConnectorOperator_VALIDATE_NON_NEGATIVE,+        SAPODataConnectorOperator_VALIDATE_NON_NULL,+        SAPODataConnectorOperator_VALIDATE_NON_ZERO,+        SAPODataConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SAPODataConnectorOperator = SAPODataConnectorOperator'+  { fromSAPODataConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SAPODataConnectorOperator_ADDITION :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_ADDITION = SAPODataConnectorOperator' "ADDITION"++pattern SAPODataConnectorOperator_BETWEEN :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_BETWEEN = SAPODataConnectorOperator' "BETWEEN"++pattern SAPODataConnectorOperator_CONTAINS :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_CONTAINS = SAPODataConnectorOperator' "CONTAINS"++pattern SAPODataConnectorOperator_DIVISION :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_DIVISION = SAPODataConnectorOperator' "DIVISION"++pattern SAPODataConnectorOperator_EQUAL_TO :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_EQUAL_TO = SAPODataConnectorOperator' "EQUAL_TO"++pattern SAPODataConnectorOperator_GREATER_THAN :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_GREATER_THAN = SAPODataConnectorOperator' "GREATER_THAN"++pattern SAPODataConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_GREATER_THAN_OR_EQUAL_TO = SAPODataConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern SAPODataConnectorOperator_LESS_THAN :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_LESS_THAN = SAPODataConnectorOperator' "LESS_THAN"++pattern SAPODataConnectorOperator_LESS_THAN_OR_EQUAL_TO :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_LESS_THAN_OR_EQUAL_TO = SAPODataConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern SAPODataConnectorOperator_MASK_ALL :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_MASK_ALL = SAPODataConnectorOperator' "MASK_ALL"++pattern SAPODataConnectorOperator_MASK_FIRST_N :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_MASK_FIRST_N = SAPODataConnectorOperator' "MASK_FIRST_N"++pattern SAPODataConnectorOperator_MASK_LAST_N :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_MASK_LAST_N = SAPODataConnectorOperator' "MASK_LAST_N"++pattern SAPODataConnectorOperator_MULTIPLICATION :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_MULTIPLICATION = SAPODataConnectorOperator' "MULTIPLICATION"++pattern SAPODataConnectorOperator_NOT_EQUAL_TO :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_NOT_EQUAL_TO = SAPODataConnectorOperator' "NOT_EQUAL_TO"++pattern SAPODataConnectorOperator_NO_OP :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_NO_OP = SAPODataConnectorOperator' "NO_OP"++pattern SAPODataConnectorOperator_PROJECTION :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_PROJECTION = SAPODataConnectorOperator' "PROJECTION"++pattern SAPODataConnectorOperator_SUBTRACTION :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_SUBTRACTION = SAPODataConnectorOperator' "SUBTRACTION"++pattern SAPODataConnectorOperator_VALIDATE_NON_NEGATIVE :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_VALIDATE_NON_NEGATIVE = SAPODataConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern SAPODataConnectorOperator_VALIDATE_NON_NULL :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_VALIDATE_NON_NULL = SAPODataConnectorOperator' "VALIDATE_NON_NULL"++pattern SAPODataConnectorOperator_VALIDATE_NON_ZERO :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_VALIDATE_NON_ZERO = SAPODataConnectorOperator' "VALIDATE_NON_ZERO"++pattern SAPODataConnectorOperator_VALIDATE_NUMERIC :: SAPODataConnectorOperator+pattern SAPODataConnectorOperator_VALIDATE_NUMERIC = SAPODataConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  SAPODataConnectorOperator_ADDITION,+  SAPODataConnectorOperator_BETWEEN,+  SAPODataConnectorOperator_CONTAINS,+  SAPODataConnectorOperator_DIVISION,+  SAPODataConnectorOperator_EQUAL_TO,+  SAPODataConnectorOperator_GREATER_THAN,+  SAPODataConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  SAPODataConnectorOperator_LESS_THAN,+  SAPODataConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  SAPODataConnectorOperator_MASK_ALL,+  SAPODataConnectorOperator_MASK_FIRST_N,+  SAPODataConnectorOperator_MASK_LAST_N,+  SAPODataConnectorOperator_MULTIPLICATION,+  SAPODataConnectorOperator_NOT_EQUAL_TO,+  SAPODataConnectorOperator_NO_OP,+  SAPODataConnectorOperator_PROJECTION,+  SAPODataConnectorOperator_SUBTRACTION,+  SAPODataConnectorOperator_VALIDATE_NON_NEGATIVE,+  SAPODataConnectorOperator_VALIDATE_NON_NULL,+  SAPODataConnectorOperator_VALIDATE_NON_ZERO,+  SAPODataConnectorOperator_VALIDATE_NUMERIC,+  SAPODataConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/SAPODataConnectorProfileCredentials.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataConnectorProfileCredentials where++import Amazonka.AppFlow.Types.BasicAuthCredentials+import Amazonka.AppFlow.Types.OAuthCredentials+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 connector-specific profile credentials required when using SAPOData.+--+-- /See:/ 'newSAPODataConnectorProfileCredentials' smart constructor.+data SAPODataConnectorProfileCredentials = SAPODataConnectorProfileCredentials'+  { -- | The SAPOData basic authentication credentials.+    basicAuthCredentials :: Prelude.Maybe BasicAuthCredentials,+    -- | The SAPOData OAuth type authentication credentials.+    oAuthCredentials :: Prelude.Maybe OAuthCredentials+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SAPODataConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'basicAuthCredentials', 'sAPODataConnectorProfileCredentials_basicAuthCredentials' - The SAPOData basic authentication credentials.+--+-- 'oAuthCredentials', 'sAPODataConnectorProfileCredentials_oAuthCredentials' - The SAPOData OAuth type authentication credentials.+newSAPODataConnectorProfileCredentials ::+  SAPODataConnectorProfileCredentials+newSAPODataConnectorProfileCredentials =+  SAPODataConnectorProfileCredentials'+    { basicAuthCredentials =+        Prelude.Nothing,+      oAuthCredentials = Prelude.Nothing+    }++-- | The SAPOData basic authentication credentials.+sAPODataConnectorProfileCredentials_basicAuthCredentials :: Lens.Lens' SAPODataConnectorProfileCredentials (Prelude.Maybe BasicAuthCredentials)+sAPODataConnectorProfileCredentials_basicAuthCredentials = Lens.lens (\SAPODataConnectorProfileCredentials' {basicAuthCredentials} -> basicAuthCredentials) (\s@SAPODataConnectorProfileCredentials' {} a -> s {basicAuthCredentials = a} :: SAPODataConnectorProfileCredentials)++-- | The SAPOData OAuth type authentication credentials.+sAPODataConnectorProfileCredentials_oAuthCredentials :: Lens.Lens' SAPODataConnectorProfileCredentials (Prelude.Maybe OAuthCredentials)+sAPODataConnectorProfileCredentials_oAuthCredentials = Lens.lens (\SAPODataConnectorProfileCredentials' {oAuthCredentials} -> oAuthCredentials) (\s@SAPODataConnectorProfileCredentials' {} a -> s {oAuthCredentials = a} :: SAPODataConnectorProfileCredentials)++instance+  Prelude.Hashable+    SAPODataConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    SAPODataConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` basicAuthCredentials+        `Prelude.hashWithSalt` oAuthCredentials++instance+  Prelude.NFData+    SAPODataConnectorProfileCredentials+  where+  rnf SAPODataConnectorProfileCredentials' {..} =+    Prelude.rnf basicAuthCredentials+      `Prelude.seq` Prelude.rnf oAuthCredentials++instance+  Data.ToJSON+    SAPODataConnectorProfileCredentials+  where+  toJSON SAPODataConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("basicAuthCredentials" Data..=)+              Prelude.<$> basicAuthCredentials,+            ("oAuthCredentials" Data..=)+              Prelude.<$> oAuthCredentials+          ]+      )
+ gen/Amazonka/AppFlow/Types/SAPODataConnectorProfileProperties.hs view
@@ -0,0 +1,198 @@+{-# 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.AppFlow.Types.SAPODataConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataConnectorProfileProperties where++import Amazonka.AppFlow.Types.OAuthProperties+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 connector-specific profile properties required when using SAPOData.+--+-- /See:/ 'newSAPODataConnectorProfileProperties' smart constructor.+data SAPODataConnectorProfileProperties = SAPODataConnectorProfileProperties'+  { -- | The logon language of SAPOData instance.+    logonLanguage :: Prelude.Maybe Prelude.Text,+    -- | The SAPOData OAuth properties required for OAuth type authentication.+    oAuthProperties :: Prelude.Maybe OAuthProperties,+    -- | The SAPOData Private Link service name to be used for private data+    -- transfers.+    privateLinkServiceName :: Prelude.Maybe Prelude.Text,+    -- | The location of the SAPOData resource.+    applicationHostUrl :: Prelude.Text,+    -- | The application path to catalog service.+    applicationServicePath :: Prelude.Text,+    -- | The port number of the SAPOData instance.+    portNumber :: Prelude.Natural,+    -- | The client number for the client creating the connection.+    clientNumber :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SAPODataConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logonLanguage', 'sAPODataConnectorProfileProperties_logonLanguage' - The logon language of SAPOData instance.+--+-- 'oAuthProperties', 'sAPODataConnectorProfileProperties_oAuthProperties' - The SAPOData OAuth properties required for OAuth type authentication.+--+-- 'privateLinkServiceName', 'sAPODataConnectorProfileProperties_privateLinkServiceName' - The SAPOData Private Link service name to be used for private data+-- transfers.+--+-- 'applicationHostUrl', 'sAPODataConnectorProfileProperties_applicationHostUrl' - The location of the SAPOData resource.+--+-- 'applicationServicePath', 'sAPODataConnectorProfileProperties_applicationServicePath' - The application path to catalog service.+--+-- 'portNumber', 'sAPODataConnectorProfileProperties_portNumber' - The port number of the SAPOData instance.+--+-- 'clientNumber', 'sAPODataConnectorProfileProperties_clientNumber' - The client number for the client creating the connection.+newSAPODataConnectorProfileProperties ::+  -- | 'applicationHostUrl'+  Prelude.Text ->+  -- | 'applicationServicePath'+  Prelude.Text ->+  -- | 'portNumber'+  Prelude.Natural ->+  -- | 'clientNumber'+  Prelude.Text ->+  SAPODataConnectorProfileProperties+newSAPODataConnectorProfileProperties+  pApplicationHostUrl_+  pApplicationServicePath_+  pPortNumber_+  pClientNumber_ =+    SAPODataConnectorProfileProperties'+      { logonLanguage =+          Prelude.Nothing,+        oAuthProperties = Prelude.Nothing,+        privateLinkServiceName =+          Prelude.Nothing,+        applicationHostUrl =+          pApplicationHostUrl_,+        applicationServicePath =+          pApplicationServicePath_,+        portNumber = pPortNumber_,+        clientNumber = pClientNumber_+      }++-- | The logon language of SAPOData instance.+sAPODataConnectorProfileProperties_logonLanguage :: Lens.Lens' SAPODataConnectorProfileProperties (Prelude.Maybe Prelude.Text)+sAPODataConnectorProfileProperties_logonLanguage = Lens.lens (\SAPODataConnectorProfileProperties' {logonLanguage} -> logonLanguage) (\s@SAPODataConnectorProfileProperties' {} a -> s {logonLanguage = a} :: SAPODataConnectorProfileProperties)++-- | The SAPOData OAuth properties required for OAuth type authentication.+sAPODataConnectorProfileProperties_oAuthProperties :: Lens.Lens' SAPODataConnectorProfileProperties (Prelude.Maybe OAuthProperties)+sAPODataConnectorProfileProperties_oAuthProperties = Lens.lens (\SAPODataConnectorProfileProperties' {oAuthProperties} -> oAuthProperties) (\s@SAPODataConnectorProfileProperties' {} a -> s {oAuthProperties = a} :: SAPODataConnectorProfileProperties)++-- | The SAPOData Private Link service name to be used for private data+-- transfers.+sAPODataConnectorProfileProperties_privateLinkServiceName :: Lens.Lens' SAPODataConnectorProfileProperties (Prelude.Maybe Prelude.Text)+sAPODataConnectorProfileProperties_privateLinkServiceName = Lens.lens (\SAPODataConnectorProfileProperties' {privateLinkServiceName} -> privateLinkServiceName) (\s@SAPODataConnectorProfileProperties' {} a -> s {privateLinkServiceName = a} :: SAPODataConnectorProfileProperties)++-- | The location of the SAPOData resource.+sAPODataConnectorProfileProperties_applicationHostUrl :: Lens.Lens' SAPODataConnectorProfileProperties Prelude.Text+sAPODataConnectorProfileProperties_applicationHostUrl = Lens.lens (\SAPODataConnectorProfileProperties' {applicationHostUrl} -> applicationHostUrl) (\s@SAPODataConnectorProfileProperties' {} a -> s {applicationHostUrl = a} :: SAPODataConnectorProfileProperties)++-- | The application path to catalog service.+sAPODataConnectorProfileProperties_applicationServicePath :: Lens.Lens' SAPODataConnectorProfileProperties Prelude.Text+sAPODataConnectorProfileProperties_applicationServicePath = Lens.lens (\SAPODataConnectorProfileProperties' {applicationServicePath} -> applicationServicePath) (\s@SAPODataConnectorProfileProperties' {} a -> s {applicationServicePath = a} :: SAPODataConnectorProfileProperties)++-- | The port number of the SAPOData instance.+sAPODataConnectorProfileProperties_portNumber :: Lens.Lens' SAPODataConnectorProfileProperties Prelude.Natural+sAPODataConnectorProfileProperties_portNumber = Lens.lens (\SAPODataConnectorProfileProperties' {portNumber} -> portNumber) (\s@SAPODataConnectorProfileProperties' {} a -> s {portNumber = a} :: SAPODataConnectorProfileProperties)++-- | The client number for the client creating the connection.+sAPODataConnectorProfileProperties_clientNumber :: Lens.Lens' SAPODataConnectorProfileProperties Prelude.Text+sAPODataConnectorProfileProperties_clientNumber = Lens.lens (\SAPODataConnectorProfileProperties' {clientNumber} -> clientNumber) (\s@SAPODataConnectorProfileProperties' {} a -> s {clientNumber = a} :: SAPODataConnectorProfileProperties)++instance+  Data.FromJSON+    SAPODataConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "SAPODataConnectorProfileProperties"+      ( \x ->+          SAPODataConnectorProfileProperties'+            Prelude.<$> (x Data..:? "logonLanguage")+            Prelude.<*> (x Data..:? "oAuthProperties")+            Prelude.<*> (x Data..:? "privateLinkServiceName")+            Prelude.<*> (x Data..: "applicationHostUrl")+            Prelude.<*> (x Data..: "applicationServicePath")+            Prelude.<*> (x Data..: "portNumber")+            Prelude.<*> (x Data..: "clientNumber")+      )++instance+  Prelude.Hashable+    SAPODataConnectorProfileProperties+  where+  hashWithSalt+    _salt+    SAPODataConnectorProfileProperties' {..} =+      _salt+        `Prelude.hashWithSalt` logonLanguage+        `Prelude.hashWithSalt` oAuthProperties+        `Prelude.hashWithSalt` privateLinkServiceName+        `Prelude.hashWithSalt` applicationHostUrl+        `Prelude.hashWithSalt` applicationServicePath+        `Prelude.hashWithSalt` portNumber+        `Prelude.hashWithSalt` clientNumber++instance+  Prelude.NFData+    SAPODataConnectorProfileProperties+  where+  rnf SAPODataConnectorProfileProperties' {..} =+    Prelude.rnf logonLanguage+      `Prelude.seq` Prelude.rnf oAuthProperties+      `Prelude.seq` Prelude.rnf privateLinkServiceName+      `Prelude.seq` Prelude.rnf applicationHostUrl+      `Prelude.seq` Prelude.rnf applicationServicePath+      `Prelude.seq` Prelude.rnf portNumber+      `Prelude.seq` Prelude.rnf clientNumber++instance+  Data.ToJSON+    SAPODataConnectorProfileProperties+  where+  toJSON SAPODataConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("logonLanguage" Data..=) Prelude.<$> logonLanguage,+            ("oAuthProperties" Data..=)+              Prelude.<$> oAuthProperties,+            ("privateLinkServiceName" Data..=)+              Prelude.<$> privateLinkServiceName,+            Prelude.Just+              ("applicationHostUrl" Data..= applicationHostUrl),+            Prelude.Just+              ( "applicationServicePath"+                  Data..= applicationServicePath+              ),+            Prelude.Just ("portNumber" Data..= portNumber),+            Prelude.Just ("clientNumber" Data..= clientNumber)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SAPODataDestinationProperties.hs view
@@ -0,0 +1,155 @@+{-# 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.AppFlow.Types.SAPODataDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.SuccessResponseHandlingConfig+import Amazonka.AppFlow.Types.WriteOperationType+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 properties that are applied when using SAPOData as a flow+-- destination+--+-- /See:/ 'newSAPODataDestinationProperties' smart constructor.+data SAPODataDestinationProperties = SAPODataDestinationProperties'+  { errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    idFieldNames :: Prelude.Maybe [Prelude.Text],+    -- | Determines how Amazon AppFlow handles the success response that it gets+    -- from the connector after placing data.+    --+    -- For example, this setting would determine where to write the response+    -- from a destination connector upon a successful insert operation.+    successResponseHandlingConfig :: Prelude.Maybe SuccessResponseHandlingConfig,+    writeOperationType :: Prelude.Maybe WriteOperationType,+    -- | The object path specified in the SAPOData flow destination.+    objectPath :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SAPODataDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorHandlingConfig', 'sAPODataDestinationProperties_errorHandlingConfig' - Undocumented member.+--+-- 'idFieldNames', 'sAPODataDestinationProperties_idFieldNames' - Undocumented member.+--+-- 'successResponseHandlingConfig', 'sAPODataDestinationProperties_successResponseHandlingConfig' - Determines how Amazon AppFlow handles the success response that it gets+-- from the connector after placing data.+--+-- For example, this setting would determine where to write the response+-- from a destination connector upon a successful insert operation.+--+-- 'writeOperationType', 'sAPODataDestinationProperties_writeOperationType' - Undocumented member.+--+-- 'objectPath', 'sAPODataDestinationProperties_objectPath' - The object path specified in the SAPOData flow destination.+newSAPODataDestinationProperties ::+  -- | 'objectPath'+  Prelude.Text ->+  SAPODataDestinationProperties+newSAPODataDestinationProperties pObjectPath_ =+  SAPODataDestinationProperties'+    { errorHandlingConfig =+        Prelude.Nothing,+      idFieldNames = Prelude.Nothing,+      successResponseHandlingConfig =+        Prelude.Nothing,+      writeOperationType = Prelude.Nothing,+      objectPath = pObjectPath_+    }++-- | Undocumented member.+sAPODataDestinationProperties_errorHandlingConfig :: Lens.Lens' SAPODataDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+sAPODataDestinationProperties_errorHandlingConfig = Lens.lens (\SAPODataDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@SAPODataDestinationProperties' {} a -> s {errorHandlingConfig = a} :: SAPODataDestinationProperties)++-- | Undocumented member.+sAPODataDestinationProperties_idFieldNames :: Lens.Lens' SAPODataDestinationProperties (Prelude.Maybe [Prelude.Text])+sAPODataDestinationProperties_idFieldNames = Lens.lens (\SAPODataDestinationProperties' {idFieldNames} -> idFieldNames) (\s@SAPODataDestinationProperties' {} a -> s {idFieldNames = a} :: SAPODataDestinationProperties) Prelude.. Lens.mapping Lens.coerced++-- | Determines how Amazon AppFlow handles the success response that it gets+-- from the connector after placing data.+--+-- For example, this setting would determine where to write the response+-- from a destination connector upon a successful insert operation.+sAPODataDestinationProperties_successResponseHandlingConfig :: Lens.Lens' SAPODataDestinationProperties (Prelude.Maybe SuccessResponseHandlingConfig)+sAPODataDestinationProperties_successResponseHandlingConfig = Lens.lens (\SAPODataDestinationProperties' {successResponseHandlingConfig} -> successResponseHandlingConfig) (\s@SAPODataDestinationProperties' {} a -> s {successResponseHandlingConfig = a} :: SAPODataDestinationProperties)++-- | Undocumented member.+sAPODataDestinationProperties_writeOperationType :: Lens.Lens' SAPODataDestinationProperties (Prelude.Maybe WriteOperationType)+sAPODataDestinationProperties_writeOperationType = Lens.lens (\SAPODataDestinationProperties' {writeOperationType} -> writeOperationType) (\s@SAPODataDestinationProperties' {} a -> s {writeOperationType = a} :: SAPODataDestinationProperties)++-- | The object path specified in the SAPOData flow destination.+sAPODataDestinationProperties_objectPath :: Lens.Lens' SAPODataDestinationProperties Prelude.Text+sAPODataDestinationProperties_objectPath = Lens.lens (\SAPODataDestinationProperties' {objectPath} -> objectPath) (\s@SAPODataDestinationProperties' {} a -> s {objectPath = a} :: SAPODataDestinationProperties)++instance Data.FromJSON SAPODataDestinationProperties where+  parseJSON =+    Data.withObject+      "SAPODataDestinationProperties"+      ( \x ->+          SAPODataDestinationProperties'+            Prelude.<$> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..:? "idFieldNames" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "successResponseHandlingConfig")+            Prelude.<*> (x Data..:? "writeOperationType")+            Prelude.<*> (x Data..: "objectPath")+      )++instance+  Prelude.Hashable+    SAPODataDestinationProperties+  where+  hashWithSalt _salt SAPODataDestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` errorHandlingConfig+      `Prelude.hashWithSalt` idFieldNames+      `Prelude.hashWithSalt` successResponseHandlingConfig+      `Prelude.hashWithSalt` writeOperationType+      `Prelude.hashWithSalt` objectPath++instance Prelude.NFData SAPODataDestinationProperties where+  rnf SAPODataDestinationProperties' {..} =+    Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf idFieldNames+      `Prelude.seq` Prelude.rnf successResponseHandlingConfig+      `Prelude.seq` Prelude.rnf writeOperationType+      `Prelude.seq` Prelude.rnf objectPath++instance Data.ToJSON SAPODataDestinationProperties where+  toJSON SAPODataDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            ("idFieldNames" Data..=) Prelude.<$> idFieldNames,+            ("successResponseHandlingConfig" Data..=)+              Prelude.<$> successResponseHandlingConfig,+            ("writeOperationType" Data..=)+              Prelude.<$> writeOperationType,+            Prelude.Just ("objectPath" Data..= objectPath)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SAPODataMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.SAPODataMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataMetadata 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 connector metadata specific to SAPOData.+--+-- /See:/ 'newSAPODataMetadata' smart constructor.+data SAPODataMetadata = SAPODataMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SAPODataMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newSAPODataMetadata ::+  SAPODataMetadata+newSAPODataMetadata = SAPODataMetadata'++instance Data.FromJSON SAPODataMetadata where+  parseJSON =+    Data.withObject+      "SAPODataMetadata"+      (\x -> Prelude.pure SAPODataMetadata')++instance Prelude.Hashable SAPODataMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData SAPODataMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/SAPODataSourceProperties.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SAPODataSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SAPODataSourceProperties 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 properties that are applied when using SAPOData as a flow source.+--+-- /See:/ 'newSAPODataSourceProperties' smart constructor.+data SAPODataSourceProperties = SAPODataSourceProperties'+  { -- | The object path specified in the SAPOData flow source.+    objectPath :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SAPODataSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectPath', 'sAPODataSourceProperties_objectPath' - The object path specified in the SAPOData flow source.+newSAPODataSourceProperties ::+  SAPODataSourceProperties+newSAPODataSourceProperties =+  SAPODataSourceProperties'+    { objectPath =+        Prelude.Nothing+    }++-- | The object path specified in the SAPOData flow source.+sAPODataSourceProperties_objectPath :: Lens.Lens' SAPODataSourceProperties (Prelude.Maybe Prelude.Text)+sAPODataSourceProperties_objectPath = Lens.lens (\SAPODataSourceProperties' {objectPath} -> objectPath) (\s@SAPODataSourceProperties' {} a -> s {objectPath = a} :: SAPODataSourceProperties)++instance Data.FromJSON SAPODataSourceProperties where+  parseJSON =+    Data.withObject+      "SAPODataSourceProperties"+      ( \x ->+          SAPODataSourceProperties'+            Prelude.<$> (x Data..:? "objectPath")+      )++instance Prelude.Hashable SAPODataSourceProperties where+  hashWithSalt _salt SAPODataSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` objectPath++instance Prelude.NFData SAPODataSourceProperties where+  rnf SAPODataSourceProperties' {..} =+    Prelude.rnf objectPath++instance Data.ToJSON SAPODataSourceProperties where+  toJSON SAPODataSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [("objectPath" Data..=) Prelude.<$> objectPath]+      )
+ gen/Amazonka/AppFlow/Types/SalesforceConnectorOperator.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SalesforceConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceConnectorOperator+  ( SalesforceConnectorOperator+      ( ..,+        SalesforceConnectorOperator_ADDITION,+        SalesforceConnectorOperator_BETWEEN,+        SalesforceConnectorOperator_CONTAINS,+        SalesforceConnectorOperator_DIVISION,+        SalesforceConnectorOperator_EQUAL_TO,+        SalesforceConnectorOperator_GREATER_THAN,+        SalesforceConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        SalesforceConnectorOperator_LESS_THAN,+        SalesforceConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        SalesforceConnectorOperator_MASK_ALL,+        SalesforceConnectorOperator_MASK_FIRST_N,+        SalesforceConnectorOperator_MASK_LAST_N,+        SalesforceConnectorOperator_MULTIPLICATION,+        SalesforceConnectorOperator_NOT_EQUAL_TO,+        SalesforceConnectorOperator_NO_OP,+        SalesforceConnectorOperator_PROJECTION,+        SalesforceConnectorOperator_SUBTRACTION,+        SalesforceConnectorOperator_VALIDATE_NON_NEGATIVE,+        SalesforceConnectorOperator_VALIDATE_NON_NULL,+        SalesforceConnectorOperator_VALIDATE_NON_ZERO,+        SalesforceConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SalesforceConnectorOperator = SalesforceConnectorOperator'+  { fromSalesforceConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SalesforceConnectorOperator_ADDITION :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_ADDITION = SalesforceConnectorOperator' "ADDITION"++pattern SalesforceConnectorOperator_BETWEEN :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_BETWEEN = SalesforceConnectorOperator' "BETWEEN"++pattern SalesforceConnectorOperator_CONTAINS :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_CONTAINS = SalesforceConnectorOperator' "CONTAINS"++pattern SalesforceConnectorOperator_DIVISION :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_DIVISION = SalesforceConnectorOperator' "DIVISION"++pattern SalesforceConnectorOperator_EQUAL_TO :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_EQUAL_TO = SalesforceConnectorOperator' "EQUAL_TO"++pattern SalesforceConnectorOperator_GREATER_THAN :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_GREATER_THAN = SalesforceConnectorOperator' "GREATER_THAN"++pattern SalesforceConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_GREATER_THAN_OR_EQUAL_TO = SalesforceConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern SalesforceConnectorOperator_LESS_THAN :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_LESS_THAN = SalesforceConnectorOperator' "LESS_THAN"++pattern SalesforceConnectorOperator_LESS_THAN_OR_EQUAL_TO :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_LESS_THAN_OR_EQUAL_TO = SalesforceConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern SalesforceConnectorOperator_MASK_ALL :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_MASK_ALL = SalesforceConnectorOperator' "MASK_ALL"++pattern SalesforceConnectorOperator_MASK_FIRST_N :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_MASK_FIRST_N = SalesforceConnectorOperator' "MASK_FIRST_N"++pattern SalesforceConnectorOperator_MASK_LAST_N :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_MASK_LAST_N = SalesforceConnectorOperator' "MASK_LAST_N"++pattern SalesforceConnectorOperator_MULTIPLICATION :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_MULTIPLICATION = SalesforceConnectorOperator' "MULTIPLICATION"++pattern SalesforceConnectorOperator_NOT_EQUAL_TO :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_NOT_EQUAL_TO = SalesforceConnectorOperator' "NOT_EQUAL_TO"++pattern SalesforceConnectorOperator_NO_OP :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_NO_OP = SalesforceConnectorOperator' "NO_OP"++pattern SalesforceConnectorOperator_PROJECTION :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_PROJECTION = SalesforceConnectorOperator' "PROJECTION"++pattern SalesforceConnectorOperator_SUBTRACTION :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_SUBTRACTION = SalesforceConnectorOperator' "SUBTRACTION"++pattern SalesforceConnectorOperator_VALIDATE_NON_NEGATIVE :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_VALIDATE_NON_NEGATIVE = SalesforceConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern SalesforceConnectorOperator_VALIDATE_NON_NULL :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_VALIDATE_NON_NULL = SalesforceConnectorOperator' "VALIDATE_NON_NULL"++pattern SalesforceConnectorOperator_VALIDATE_NON_ZERO :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_VALIDATE_NON_ZERO = SalesforceConnectorOperator' "VALIDATE_NON_ZERO"++pattern SalesforceConnectorOperator_VALIDATE_NUMERIC :: SalesforceConnectorOperator+pattern SalesforceConnectorOperator_VALIDATE_NUMERIC = SalesforceConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  SalesforceConnectorOperator_ADDITION,+  SalesforceConnectorOperator_BETWEEN,+  SalesforceConnectorOperator_CONTAINS,+  SalesforceConnectorOperator_DIVISION,+  SalesforceConnectorOperator_EQUAL_TO,+  SalesforceConnectorOperator_GREATER_THAN,+  SalesforceConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  SalesforceConnectorOperator_LESS_THAN,+  SalesforceConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  SalesforceConnectorOperator_MASK_ALL,+  SalesforceConnectorOperator_MASK_FIRST_N,+  SalesforceConnectorOperator_MASK_LAST_N,+  SalesforceConnectorOperator_MULTIPLICATION,+  SalesforceConnectorOperator_NOT_EQUAL_TO,+  SalesforceConnectorOperator_NO_OP,+  SalesforceConnectorOperator_PROJECTION,+  SalesforceConnectorOperator_SUBTRACTION,+  SalesforceConnectorOperator_VALIDATE_NON_NEGATIVE,+  SalesforceConnectorOperator_VALIDATE_NON_NULL,+  SalesforceConnectorOperator_VALIDATE_NON_ZERO,+  SalesforceConnectorOperator_VALIDATE_NUMERIC,+  SalesforceConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/SalesforceConnectorProfileCredentials.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific profile credentials required when using+-- Salesforce.+--+-- /See:/ 'newSalesforceConnectorProfileCredentials' smart constructor.+data SalesforceConnectorProfileCredentials = SalesforceConnectorProfileCredentials'+  { -- | The credentials used to access protected Salesforce resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The secret manager ARN, which contains the client ID and client secret+    -- of the connected app.+    clientCredentialsArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The credentials used to acquire new access tokens.+    refreshToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SalesforceConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'salesforceConnectorProfileCredentials_accessToken' - The credentials used to access protected Salesforce resources.+--+-- 'clientCredentialsArn', 'salesforceConnectorProfileCredentials_clientCredentialsArn' - The secret manager ARN, which contains the client ID and client secret+-- of the connected app.+--+-- 'oAuthRequest', 'salesforceConnectorProfileCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'refreshToken', 'salesforceConnectorProfileCredentials_refreshToken' - The credentials used to acquire new access tokens.+newSalesforceConnectorProfileCredentials ::+  SalesforceConnectorProfileCredentials+newSalesforceConnectorProfileCredentials =+  SalesforceConnectorProfileCredentials'+    { accessToken =+        Prelude.Nothing,+      clientCredentialsArn =+        Prelude.Nothing,+      oAuthRequest = Prelude.Nothing,+      refreshToken = Prelude.Nothing+    }++-- | The credentials used to access protected Salesforce resources.+salesforceConnectorProfileCredentials_accessToken :: Lens.Lens' SalesforceConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+salesforceConnectorProfileCredentials_accessToken = Lens.lens (\SalesforceConnectorProfileCredentials' {accessToken} -> accessToken) (\s@SalesforceConnectorProfileCredentials' {} a -> s {accessToken = a} :: SalesforceConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The secret manager ARN, which contains the client ID and client secret+-- of the connected app.+salesforceConnectorProfileCredentials_clientCredentialsArn :: Lens.Lens' SalesforceConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+salesforceConnectorProfileCredentials_clientCredentialsArn = Lens.lens (\SalesforceConnectorProfileCredentials' {clientCredentialsArn} -> clientCredentialsArn) (\s@SalesforceConnectorProfileCredentials' {} a -> s {clientCredentialsArn = a} :: SalesforceConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+salesforceConnectorProfileCredentials_oAuthRequest :: Lens.Lens' SalesforceConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+salesforceConnectorProfileCredentials_oAuthRequest = Lens.lens (\SalesforceConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@SalesforceConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: SalesforceConnectorProfileCredentials)++-- | The credentials used to acquire new access tokens.+salesforceConnectorProfileCredentials_refreshToken :: Lens.Lens' SalesforceConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+salesforceConnectorProfileCredentials_refreshToken = Lens.lens (\SalesforceConnectorProfileCredentials' {refreshToken} -> refreshToken) (\s@SalesforceConnectorProfileCredentials' {} a -> s {refreshToken = a} :: SalesforceConnectorProfileCredentials)++instance+  Prelude.Hashable+    SalesforceConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    SalesforceConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` clientCredentialsArn+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` refreshToken++instance+  Prelude.NFData+    SalesforceConnectorProfileCredentials+  where+  rnf SalesforceConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf clientCredentialsArn+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf refreshToken++instance+  Data.ToJSON+    SalesforceConnectorProfileCredentials+  where+  toJSON SalesforceConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("clientCredentialsArn" Data..=)+              Prelude.<$> clientCredentialsArn,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            ("refreshToken" Data..=) Prelude.<$> refreshToken+          ]+      )
+ gen/Amazonka/AppFlow/Types/SalesforceConnectorProfileProperties.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceConnectorProfileProperties 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 connector-specific profile properties required when using+-- Salesforce.+--+-- /See:/ 'newSalesforceConnectorProfileProperties' smart constructor.+data SalesforceConnectorProfileProperties = SalesforceConnectorProfileProperties'+  { -- | The location of the Salesforce resource.+    instanceUrl :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the connector profile applies to a sandbox or+    -- production environment.+    isSandboxEnvironment :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SalesforceConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'salesforceConnectorProfileProperties_instanceUrl' - The location of the Salesforce resource.+--+-- 'isSandboxEnvironment', 'salesforceConnectorProfileProperties_isSandboxEnvironment' - Indicates whether the connector profile applies to a sandbox or+-- production environment.+newSalesforceConnectorProfileProperties ::+  SalesforceConnectorProfileProperties+newSalesforceConnectorProfileProperties =+  SalesforceConnectorProfileProperties'+    { instanceUrl =+        Prelude.Nothing,+      isSandboxEnvironment =+        Prelude.Nothing+    }++-- | The location of the Salesforce resource.+salesforceConnectorProfileProperties_instanceUrl :: Lens.Lens' SalesforceConnectorProfileProperties (Prelude.Maybe Prelude.Text)+salesforceConnectorProfileProperties_instanceUrl = Lens.lens (\SalesforceConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@SalesforceConnectorProfileProperties' {} a -> s {instanceUrl = a} :: SalesforceConnectorProfileProperties)++-- | Indicates whether the connector profile applies to a sandbox or+-- production environment.+salesforceConnectorProfileProperties_isSandboxEnvironment :: Lens.Lens' SalesforceConnectorProfileProperties (Prelude.Maybe Prelude.Bool)+salesforceConnectorProfileProperties_isSandboxEnvironment = Lens.lens (\SalesforceConnectorProfileProperties' {isSandboxEnvironment} -> isSandboxEnvironment) (\s@SalesforceConnectorProfileProperties' {} a -> s {isSandboxEnvironment = a} :: SalesforceConnectorProfileProperties)++instance+  Data.FromJSON+    SalesforceConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "SalesforceConnectorProfileProperties"+      ( \x ->+          SalesforceConnectorProfileProperties'+            Prelude.<$> (x Data..:? "instanceUrl")+            Prelude.<*> (x Data..:? "isSandboxEnvironment")+      )++instance+  Prelude.Hashable+    SalesforceConnectorProfileProperties+  where+  hashWithSalt+    _salt+    SalesforceConnectorProfileProperties' {..} =+      _salt+        `Prelude.hashWithSalt` instanceUrl+        `Prelude.hashWithSalt` isSandboxEnvironment++instance+  Prelude.NFData+    SalesforceConnectorProfileProperties+  where+  rnf SalesforceConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl+      `Prelude.seq` Prelude.rnf isSandboxEnvironment++instance+  Data.ToJSON+    SalesforceConnectorProfileProperties+  where+  toJSON SalesforceConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("instanceUrl" Data..=) Prelude.<$> instanceUrl,+            ("isSandboxEnvironment" Data..=)+              Prelude.<$> isSandboxEnvironment+          ]+      )
+ gen/Amazonka/AppFlow/Types/SalesforceDataTransferApi.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SalesforceDataTransferApi+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceDataTransferApi+  ( SalesforceDataTransferApi+      ( ..,+        SalesforceDataTransferApi_AUTOMATIC,+        SalesforceDataTransferApi_BULKV2,+        SalesforceDataTransferApi_REST_SYNC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SalesforceDataTransferApi = SalesforceDataTransferApi'+  { fromSalesforceDataTransferApi ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SalesforceDataTransferApi_AUTOMATIC :: SalesforceDataTransferApi+pattern SalesforceDataTransferApi_AUTOMATIC = SalesforceDataTransferApi' "AUTOMATIC"++pattern SalesforceDataTransferApi_BULKV2 :: SalesforceDataTransferApi+pattern SalesforceDataTransferApi_BULKV2 = SalesforceDataTransferApi' "BULKV2"++pattern SalesforceDataTransferApi_REST_SYNC :: SalesforceDataTransferApi+pattern SalesforceDataTransferApi_REST_SYNC = SalesforceDataTransferApi' "REST_SYNC"++{-# COMPLETE+  SalesforceDataTransferApi_AUTOMATIC,+  SalesforceDataTransferApi_BULKV2,+  SalesforceDataTransferApi_REST_SYNC,+  SalesforceDataTransferApi'+  #-}
+ gen/Amazonka/AppFlow/Types/SalesforceDestinationProperties.hs view
@@ -0,0 +1,291 @@+{-# 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.AppFlow.Types.SalesforceDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.SalesforceDataTransferApi+import Amazonka.AppFlow.Types.WriteOperationType+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 properties that are applied when Salesforce is being used as a+-- destination.+--+-- /See:/ 'newSalesforceDestinationProperties' smart constructor.+data SalesforceDestinationProperties = SalesforceDestinationProperties'+  { -- | Specifies which Salesforce API is used by Amazon AppFlow when your flow+    -- transfers data to Salesforce.+    --+    -- [AUTOMATIC]+    --     The default. Amazon AppFlow selects which API to use based on the+    --     number of records that your flow transfers to Salesforce. If your+    --     flow transfers fewer than 1,000 records, Amazon AppFlow uses+    --     Salesforce REST API. If your flow transfers 1,000 records or more,+    --     Amazon AppFlow uses Salesforce Bulk API 2.0.+    --+    --     Each of these Salesforce APIs structures data differently. If Amazon+    --     AppFlow selects the API automatically, be aware that, for recurring+    --     flows, the data output might vary from one flow run to the next. For+    --     example, if a flow runs daily, it might use REST API on one day to+    --     transfer 900 records, and it might use Bulk API 2.0 on the next day+    --     to transfer 1,100 records. For each of these flow runs, the+    --     respective Salesforce API formats the data differently. Some of the+    --     differences include how dates are formatted and null values are+    --     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+    --     compound fields.+    --+    --     By choosing this option, you optimize flow performance for both+    --     small and large data transfers, but the tradeoff is inconsistent+    --     formatting in the output.+    --+    -- [BULKV2]+    --     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+    --     asynchronous data transfers, and it\'s optimal for large sets of+    --     data. By choosing this option, you ensure that your flow writes+    --     consistent output, but you optimize performance only for large data+    --     transfers.+    --+    --     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+    --+    -- [REST_SYNC]+    --     Amazon AppFlow uses only Salesforce REST API. By choosing this+    --     option, you ensure that your flow writes consistent output, but you+    --     decrease performance for large data transfers that are better suited+    --     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+    --     vary large set of data, it might fail with a timed out error.+    dataTransferApi :: Prelude.Maybe SalesforceDataTransferApi,+    -- | The settings that determine how Amazon AppFlow handles an error when+    -- placing data in the Salesforce destination. For example, this setting+    -- would determine if the flow should fail after one insertion error, or+    -- continue and attempt to insert every record regardless of the initial+    -- failure. @ErrorHandlingConfig@ is a part of the destination connector+    -- details.+    errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The name of the field that Amazon AppFlow uses as an ID when performing+    -- a write operation such as update or delete.+    idFieldNames :: Prelude.Maybe [Prelude.Text],+    -- | This specifies the type of write operation to be performed in+    -- Salesforce. When the value is @UPSERT@, then @idFieldNames@ is required.+    writeOperationType :: Prelude.Maybe WriteOperationType,+    -- | The object specified in the Salesforce flow destination.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SalesforceDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferApi', 'salesforceDestinationProperties_dataTransferApi' - Specifies which Salesforce API is used by Amazon AppFlow when your flow+-- transfers data to Salesforce.+--+-- [AUTOMATIC]+--     The default. Amazon AppFlow selects which API to use based on the+--     number of records that your flow transfers to Salesforce. If your+--     flow transfers fewer than 1,000 records, Amazon AppFlow uses+--     Salesforce REST API. If your flow transfers 1,000 records or more,+--     Amazon AppFlow uses Salesforce Bulk API 2.0.+--+--     Each of these Salesforce APIs structures data differently. If Amazon+--     AppFlow selects the API automatically, be aware that, for recurring+--     flows, the data output might vary from one flow run to the next. For+--     example, if a flow runs daily, it might use REST API on one day to+--     transfer 900 records, and it might use Bulk API 2.0 on the next day+--     to transfer 1,100 records. For each of these flow runs, the+--     respective Salesforce API formats the data differently. Some of the+--     differences include how dates are formatted and null values are+--     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+--     compound fields.+--+--     By choosing this option, you optimize flow performance for both+--     small and large data transfers, but the tradeoff is inconsistent+--     formatting in the output.+--+-- [BULKV2]+--     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+--     asynchronous data transfers, and it\'s optimal for large sets of+--     data. By choosing this option, you ensure that your flow writes+--     consistent output, but you optimize performance only for large data+--     transfers.+--+--     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+--+-- [REST_SYNC]+--     Amazon AppFlow uses only Salesforce REST API. By choosing this+--     option, you ensure that your flow writes consistent output, but you+--     decrease performance for large data transfers that are better suited+--     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+--     vary large set of data, it might fail with a timed out error.+--+-- 'errorHandlingConfig', 'salesforceDestinationProperties_errorHandlingConfig' - The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Salesforce destination. For example, this setting+-- would determine if the flow should fail after one insertion error, or+-- continue and attempt to insert every record regardless of the initial+-- failure. @ErrorHandlingConfig@ is a part of the destination connector+-- details.+--+-- 'idFieldNames', 'salesforceDestinationProperties_idFieldNames' - The name of the field that Amazon AppFlow uses as an ID when performing+-- a write operation such as update or delete.+--+-- 'writeOperationType', 'salesforceDestinationProperties_writeOperationType' - This specifies the type of write operation to be performed in+-- Salesforce. When the value is @UPSERT@, then @idFieldNames@ is required.+--+-- 'object'', 'salesforceDestinationProperties_object' - The object specified in the Salesforce flow destination.+newSalesforceDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  SalesforceDestinationProperties+newSalesforceDestinationProperties pObject_ =+  SalesforceDestinationProperties'+    { dataTransferApi =+        Prelude.Nothing,+      errorHandlingConfig = Prelude.Nothing,+      idFieldNames = Prelude.Nothing,+      writeOperationType = Prelude.Nothing,+      object' = pObject_+    }++-- | Specifies which Salesforce API is used by Amazon AppFlow when your flow+-- transfers data to Salesforce.+--+-- [AUTOMATIC]+--     The default. Amazon AppFlow selects which API to use based on the+--     number of records that your flow transfers to Salesforce. If your+--     flow transfers fewer than 1,000 records, Amazon AppFlow uses+--     Salesforce REST API. If your flow transfers 1,000 records or more,+--     Amazon AppFlow uses Salesforce Bulk API 2.0.+--+--     Each of these Salesforce APIs structures data differently. If Amazon+--     AppFlow selects the API automatically, be aware that, for recurring+--     flows, the data output might vary from one flow run to the next. For+--     example, if a flow runs daily, it might use REST API on one day to+--     transfer 900 records, and it might use Bulk API 2.0 on the next day+--     to transfer 1,100 records. For each of these flow runs, the+--     respective Salesforce API formats the data differently. Some of the+--     differences include how dates are formatted and null values are+--     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+--     compound fields.+--+--     By choosing this option, you optimize flow performance for both+--     small and large data transfers, but the tradeoff is inconsistent+--     formatting in the output.+--+-- [BULKV2]+--     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+--     asynchronous data transfers, and it\'s optimal for large sets of+--     data. By choosing this option, you ensure that your flow writes+--     consistent output, but you optimize performance only for large data+--     transfers.+--+--     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+--+-- [REST_SYNC]+--     Amazon AppFlow uses only Salesforce REST API. By choosing this+--     option, you ensure that your flow writes consistent output, but you+--     decrease performance for large data transfers that are better suited+--     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+--     vary large set of data, it might fail with a timed out error.+salesforceDestinationProperties_dataTransferApi :: Lens.Lens' SalesforceDestinationProperties (Prelude.Maybe SalesforceDataTransferApi)+salesforceDestinationProperties_dataTransferApi = Lens.lens (\SalesforceDestinationProperties' {dataTransferApi} -> dataTransferApi) (\s@SalesforceDestinationProperties' {} a -> s {dataTransferApi = a} :: SalesforceDestinationProperties)++-- | The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Salesforce destination. For example, this setting+-- would determine if the flow should fail after one insertion error, or+-- continue and attempt to insert every record regardless of the initial+-- failure. @ErrorHandlingConfig@ is a part of the destination connector+-- details.+salesforceDestinationProperties_errorHandlingConfig :: Lens.Lens' SalesforceDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+salesforceDestinationProperties_errorHandlingConfig = Lens.lens (\SalesforceDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@SalesforceDestinationProperties' {} a -> s {errorHandlingConfig = a} :: SalesforceDestinationProperties)++-- | The name of the field that Amazon AppFlow uses as an ID when performing+-- a write operation such as update or delete.+salesforceDestinationProperties_idFieldNames :: Lens.Lens' SalesforceDestinationProperties (Prelude.Maybe [Prelude.Text])+salesforceDestinationProperties_idFieldNames = Lens.lens (\SalesforceDestinationProperties' {idFieldNames} -> idFieldNames) (\s@SalesforceDestinationProperties' {} a -> s {idFieldNames = a} :: SalesforceDestinationProperties) Prelude.. Lens.mapping Lens.coerced++-- | This specifies the type of write operation to be performed in+-- Salesforce. When the value is @UPSERT@, then @idFieldNames@ is required.+salesforceDestinationProperties_writeOperationType :: Lens.Lens' SalesforceDestinationProperties (Prelude.Maybe WriteOperationType)+salesforceDestinationProperties_writeOperationType = Lens.lens (\SalesforceDestinationProperties' {writeOperationType} -> writeOperationType) (\s@SalesforceDestinationProperties' {} a -> s {writeOperationType = a} :: SalesforceDestinationProperties)++-- | The object specified in the Salesforce flow destination.+salesforceDestinationProperties_object :: Lens.Lens' SalesforceDestinationProperties Prelude.Text+salesforceDestinationProperties_object = Lens.lens (\SalesforceDestinationProperties' {object'} -> object') (\s@SalesforceDestinationProperties' {} a -> s {object' = a} :: SalesforceDestinationProperties)++instance+  Data.FromJSON+    SalesforceDestinationProperties+  where+  parseJSON =+    Data.withObject+      "SalesforceDestinationProperties"+      ( \x ->+          SalesforceDestinationProperties'+            Prelude.<$> (x Data..:? "dataTransferApi")+            Prelude.<*> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..:? "idFieldNames" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "writeOperationType")+            Prelude.<*> (x Data..: "object")+      )++instance+  Prelude.Hashable+    SalesforceDestinationProperties+  where+  hashWithSalt+    _salt+    SalesforceDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` dataTransferApi+        `Prelude.hashWithSalt` errorHandlingConfig+        `Prelude.hashWithSalt` idFieldNames+        `Prelude.hashWithSalt` writeOperationType+        `Prelude.hashWithSalt` object'++instance+  Prelude.NFData+    SalesforceDestinationProperties+  where+  rnf SalesforceDestinationProperties' {..} =+    Prelude.rnf dataTransferApi+      `Prelude.seq` Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf idFieldNames+      `Prelude.seq` Prelude.rnf writeOperationType+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON SalesforceDestinationProperties where+  toJSON SalesforceDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("dataTransferApi" Data..=)+              Prelude.<$> dataTransferApi,+            ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            ("idFieldNames" Data..=) Prelude.<$> idFieldNames,+            ("writeOperationType" Data..=)+              Prelude.<$> writeOperationType,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/SalesforceMetadata.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SalesforceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceMetadata where++import Amazonka.AppFlow.Types.SalesforceDataTransferApi+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 connector metadata specific to Salesforce.+--+-- /See:/ 'newSalesforceMetadata' smart constructor.+data SalesforceMetadata = SalesforceMetadata'+  { -- | The Salesforce APIs that you can have Amazon AppFlow use when your flows+    -- transfers data to or from Salesforce.+    dataTransferApis :: Prelude.Maybe [SalesforceDataTransferApi],+    -- | The desired authorization scope for the Salesforce account.+    oAuthScopes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SalesforceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferApis', 'salesforceMetadata_dataTransferApis' - The Salesforce APIs that you can have Amazon AppFlow use when your flows+-- transfers data to or from Salesforce.+--+-- 'oAuthScopes', 'salesforceMetadata_oAuthScopes' - The desired authorization scope for the Salesforce account.+newSalesforceMetadata ::+  SalesforceMetadata+newSalesforceMetadata =+  SalesforceMetadata'+    { dataTransferApis =+        Prelude.Nothing,+      oAuthScopes = Prelude.Nothing+    }++-- | The Salesforce APIs that you can have Amazon AppFlow use when your flows+-- transfers data to or from Salesforce.+salesforceMetadata_dataTransferApis :: Lens.Lens' SalesforceMetadata (Prelude.Maybe [SalesforceDataTransferApi])+salesforceMetadata_dataTransferApis = Lens.lens (\SalesforceMetadata' {dataTransferApis} -> dataTransferApis) (\s@SalesforceMetadata' {} a -> s {dataTransferApis = a} :: SalesforceMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The desired authorization scope for the Salesforce account.+salesforceMetadata_oAuthScopes :: Lens.Lens' SalesforceMetadata (Prelude.Maybe [Prelude.Text])+salesforceMetadata_oAuthScopes = Lens.lens (\SalesforceMetadata' {oAuthScopes} -> oAuthScopes) (\s@SalesforceMetadata' {} a -> s {oAuthScopes = a} :: SalesforceMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SalesforceMetadata where+  parseJSON =+    Data.withObject+      "SalesforceMetadata"+      ( \x ->+          SalesforceMetadata'+            Prelude.<$> ( x+                            Data..:? "dataTransferApis"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable SalesforceMetadata where+  hashWithSalt _salt SalesforceMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` dataTransferApis+      `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData SalesforceMetadata where+  rnf SalesforceMetadata' {..} =+    Prelude.rnf dataTransferApis+      `Prelude.seq` Prelude.rnf oAuthScopes
+ gen/Amazonka/AppFlow/Types/SalesforceSourceProperties.hs view
@@ -0,0 +1,247 @@+{-# 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.AppFlow.Types.SalesforceSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SalesforceSourceProperties where++import Amazonka.AppFlow.Types.SalesforceDataTransferApi+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 properties that are applied when Salesforce is being used as a+-- source.+--+-- /See:/ 'newSalesforceSourceProperties' smart constructor.+data SalesforceSourceProperties = SalesforceSourceProperties'+  { -- | Specifies which Salesforce API is used by Amazon AppFlow when your flow+    -- transfers data from Salesforce.+    --+    -- [AUTOMATIC]+    --     The default. Amazon AppFlow selects which API to use based on the+    --     number of records that your flow transfers from Salesforce. If your+    --     flow transfers fewer than 1,000,000 records, Amazon AppFlow uses+    --     Salesforce REST API. If your flow transfers 1,000,000 records or+    --     more, Amazon AppFlow uses Salesforce Bulk API 2.0.+    --+    --     Each of these Salesforce APIs structures data differently. If Amazon+    --     AppFlow selects the API automatically, be aware that, for recurring+    --     flows, the data output might vary from one flow run to the next. For+    --     example, if a flow runs daily, it might use REST API on one day to+    --     transfer 900,000 records, and it might use Bulk API 2.0 on the next+    --     day to transfer 1,100,000 records. For each of these flow runs, the+    --     respective Salesforce API formats the data differently. Some of the+    --     differences include how dates are formatted and null values are+    --     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+    --     compound fields.+    --+    --     By choosing this option, you optimize flow performance for both+    --     small and large data transfers, but the tradeoff is inconsistent+    --     formatting in the output.+    --+    -- [BULKV2]+    --     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+    --     asynchronous data transfers, and it\'s optimal for large sets of+    --     data. By choosing this option, you ensure that your flow writes+    --     consistent output, but you optimize performance only for large data+    --     transfers.+    --+    --     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+    --+    -- [REST_SYNC]+    --     Amazon AppFlow uses only Salesforce REST API. By choosing this+    --     option, you ensure that your flow writes consistent output, but you+    --     decrease performance for large data transfers that are better suited+    --     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+    --     vary large set of data, it might fail wituh a timed out error.+    dataTransferApi :: Prelude.Maybe SalesforceDataTransferApi,+    -- | The flag that enables dynamic fetching of new (recently added) fields in+    -- the Salesforce objects while running a flow.+    enableDynamicFieldUpdate :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether Amazon AppFlow includes deleted files in the flow run.+    includeDeletedRecords :: Prelude.Maybe Prelude.Bool,+    -- | The object specified in the Salesforce flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SalesforceSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferApi', 'salesforceSourceProperties_dataTransferApi' - Specifies which Salesforce API is used by Amazon AppFlow when your flow+-- transfers data from Salesforce.+--+-- [AUTOMATIC]+--     The default. Amazon AppFlow selects which API to use based on the+--     number of records that your flow transfers from Salesforce. If your+--     flow transfers fewer than 1,000,000 records, Amazon AppFlow uses+--     Salesforce REST API. If your flow transfers 1,000,000 records or+--     more, Amazon AppFlow uses Salesforce Bulk API 2.0.+--+--     Each of these Salesforce APIs structures data differently. If Amazon+--     AppFlow selects the API automatically, be aware that, for recurring+--     flows, the data output might vary from one flow run to the next. For+--     example, if a flow runs daily, it might use REST API on one day to+--     transfer 900,000 records, and it might use Bulk API 2.0 on the next+--     day to transfer 1,100,000 records. For each of these flow runs, the+--     respective Salesforce API formats the data differently. Some of the+--     differences include how dates are formatted and null values are+--     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+--     compound fields.+--+--     By choosing this option, you optimize flow performance for both+--     small and large data transfers, but the tradeoff is inconsistent+--     formatting in the output.+--+-- [BULKV2]+--     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+--     asynchronous data transfers, and it\'s optimal for large sets of+--     data. By choosing this option, you ensure that your flow writes+--     consistent output, but you optimize performance only for large data+--     transfers.+--+--     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+--+-- [REST_SYNC]+--     Amazon AppFlow uses only Salesforce REST API. By choosing this+--     option, you ensure that your flow writes consistent output, but you+--     decrease performance for large data transfers that are better suited+--     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+--     vary large set of data, it might fail wituh a timed out error.+--+-- 'enableDynamicFieldUpdate', 'salesforceSourceProperties_enableDynamicFieldUpdate' - The flag that enables dynamic fetching of new (recently added) fields in+-- the Salesforce objects while running a flow.+--+-- 'includeDeletedRecords', 'salesforceSourceProperties_includeDeletedRecords' - Indicates whether Amazon AppFlow includes deleted files in the flow run.+--+-- 'object'', 'salesforceSourceProperties_object' - The object specified in the Salesforce flow source.+newSalesforceSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  SalesforceSourceProperties+newSalesforceSourceProperties pObject_ =+  SalesforceSourceProperties'+    { dataTransferApi =+        Prelude.Nothing,+      enableDynamicFieldUpdate = Prelude.Nothing,+      includeDeletedRecords = Prelude.Nothing,+      object' = pObject_+    }++-- | Specifies which Salesforce API is used by Amazon AppFlow when your flow+-- transfers data from Salesforce.+--+-- [AUTOMATIC]+--     The default. Amazon AppFlow selects which API to use based on the+--     number of records that your flow transfers from Salesforce. If your+--     flow transfers fewer than 1,000,000 records, Amazon AppFlow uses+--     Salesforce REST API. If your flow transfers 1,000,000 records or+--     more, Amazon AppFlow uses Salesforce Bulk API 2.0.+--+--     Each of these Salesforce APIs structures data differently. If Amazon+--     AppFlow selects the API automatically, be aware that, for recurring+--     flows, the data output might vary from one flow run to the next. For+--     example, if a flow runs daily, it might use REST API on one day to+--     transfer 900,000 records, and it might use Bulk API 2.0 on the next+--     day to transfer 1,100,000 records. For each of these flow runs, the+--     respective Salesforce API formats the data differently. Some of the+--     differences include how dates are formatted and null values are+--     represented. Also, Bulk API 2.0 doesn\'t transfer Salesforce+--     compound fields.+--+--     By choosing this option, you optimize flow performance for both+--     small and large data transfers, but the tradeoff is inconsistent+--     formatting in the output.+--+-- [BULKV2]+--     Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs+--     asynchronous data transfers, and it\'s optimal for large sets of+--     data. By choosing this option, you ensure that your flow writes+--     consistent output, but you optimize performance only for large data+--     transfers.+--+--     Note that Bulk API 2.0 does not transfer Salesforce compound fields.+--+-- [REST_SYNC]+--     Amazon AppFlow uses only Salesforce REST API. By choosing this+--     option, you ensure that your flow writes consistent output, but you+--     decrease performance for large data transfers that are better suited+--     for Bulk API 2.0. In some cases, if your flow attempts to transfer a+--     vary large set of data, it might fail wituh a timed out error.+salesforceSourceProperties_dataTransferApi :: Lens.Lens' SalesforceSourceProperties (Prelude.Maybe SalesforceDataTransferApi)+salesforceSourceProperties_dataTransferApi = Lens.lens (\SalesforceSourceProperties' {dataTransferApi} -> dataTransferApi) (\s@SalesforceSourceProperties' {} a -> s {dataTransferApi = a} :: SalesforceSourceProperties)++-- | The flag that enables dynamic fetching of new (recently added) fields in+-- the Salesforce objects while running a flow.+salesforceSourceProperties_enableDynamicFieldUpdate :: Lens.Lens' SalesforceSourceProperties (Prelude.Maybe Prelude.Bool)+salesforceSourceProperties_enableDynamicFieldUpdate = Lens.lens (\SalesforceSourceProperties' {enableDynamicFieldUpdate} -> enableDynamicFieldUpdate) (\s@SalesforceSourceProperties' {} a -> s {enableDynamicFieldUpdate = a} :: SalesforceSourceProperties)++-- | Indicates whether Amazon AppFlow includes deleted files in the flow run.+salesforceSourceProperties_includeDeletedRecords :: Lens.Lens' SalesforceSourceProperties (Prelude.Maybe Prelude.Bool)+salesforceSourceProperties_includeDeletedRecords = Lens.lens (\SalesforceSourceProperties' {includeDeletedRecords} -> includeDeletedRecords) (\s@SalesforceSourceProperties' {} a -> s {includeDeletedRecords = a} :: SalesforceSourceProperties)++-- | The object specified in the Salesforce flow source.+salesforceSourceProperties_object :: Lens.Lens' SalesforceSourceProperties Prelude.Text+salesforceSourceProperties_object = Lens.lens (\SalesforceSourceProperties' {object'} -> object') (\s@SalesforceSourceProperties' {} a -> s {object' = a} :: SalesforceSourceProperties)++instance Data.FromJSON SalesforceSourceProperties where+  parseJSON =+    Data.withObject+      "SalesforceSourceProperties"+      ( \x ->+          SalesforceSourceProperties'+            Prelude.<$> (x Data..:? "dataTransferApi")+            Prelude.<*> (x Data..:? "enableDynamicFieldUpdate")+            Prelude.<*> (x Data..:? "includeDeletedRecords")+            Prelude.<*> (x Data..: "object")+      )++instance Prelude.Hashable SalesforceSourceProperties where+  hashWithSalt _salt SalesforceSourceProperties' {..} =+    _salt+      `Prelude.hashWithSalt` dataTransferApi+      `Prelude.hashWithSalt` enableDynamicFieldUpdate+      `Prelude.hashWithSalt` includeDeletedRecords+      `Prelude.hashWithSalt` object'++instance Prelude.NFData SalesforceSourceProperties where+  rnf SalesforceSourceProperties' {..} =+    Prelude.rnf dataTransferApi+      `Prelude.seq` Prelude.rnf enableDynamicFieldUpdate+      `Prelude.seq` Prelude.rnf includeDeletedRecords+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON SalesforceSourceProperties where+  toJSON SalesforceSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("dataTransferApi" Data..=)+              Prelude.<$> dataTransferApi,+            ("enableDynamicFieldUpdate" Data..=)+              Prelude.<$> enableDynamicFieldUpdate,+            ("includeDeletedRecords" Data..=)+              Prelude.<$> includeDeletedRecords,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/ScheduleFrequencyType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ScheduleFrequencyType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ScheduleFrequencyType+  ( ScheduleFrequencyType+      ( ..,+        ScheduleFrequencyType_BYMINUTE,+        ScheduleFrequencyType_DAILY,+        ScheduleFrequencyType_HOURLY,+        ScheduleFrequencyType_MONTHLY,+        ScheduleFrequencyType_ONCE,+        ScheduleFrequencyType_WEEKLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ScheduleFrequencyType = ScheduleFrequencyType'+  { fromScheduleFrequencyType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ScheduleFrequencyType_BYMINUTE :: ScheduleFrequencyType+pattern ScheduleFrequencyType_BYMINUTE = ScheduleFrequencyType' "BYMINUTE"++pattern ScheduleFrequencyType_DAILY :: ScheduleFrequencyType+pattern ScheduleFrequencyType_DAILY = ScheduleFrequencyType' "DAILY"++pattern ScheduleFrequencyType_HOURLY :: ScheduleFrequencyType+pattern ScheduleFrequencyType_HOURLY = ScheduleFrequencyType' "HOURLY"++pattern ScheduleFrequencyType_MONTHLY :: ScheduleFrequencyType+pattern ScheduleFrequencyType_MONTHLY = ScheduleFrequencyType' "MONTHLY"++pattern ScheduleFrequencyType_ONCE :: ScheduleFrequencyType+pattern ScheduleFrequencyType_ONCE = ScheduleFrequencyType' "ONCE"++pattern ScheduleFrequencyType_WEEKLY :: ScheduleFrequencyType+pattern ScheduleFrequencyType_WEEKLY = ScheduleFrequencyType' "WEEKLY"++{-# COMPLETE+  ScheduleFrequencyType_BYMINUTE,+  ScheduleFrequencyType_DAILY,+  ScheduleFrequencyType_HOURLY,+  ScheduleFrequencyType_MONTHLY,+  ScheduleFrequencyType_ONCE,+  ScheduleFrequencyType_WEEKLY,+  ScheduleFrequencyType'+  #-}
+ gen/Amazonka/AppFlow/Types/ScheduledTriggerProperties.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ScheduledTriggerProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ScheduledTriggerProperties where++import Amazonka.AppFlow.Types.DataPullMode+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration details of a schedule-triggered flow as+-- defined by the user. Currently, these settings only apply to the+-- @Scheduled@ trigger type.+--+-- /See:/ 'newScheduledTriggerProperties' smart constructor.+data ScheduledTriggerProperties = ScheduledTriggerProperties'+  { -- | Specifies whether a scheduled flow has an incremental data transfer or a+    -- complete data transfer for each flow run.+    dataPullMode :: Prelude.Maybe DataPullMode,+    -- | Specifies the date range for the records to import from the connector in+    -- the first flow run.+    firstExecutionFrom :: Prelude.Maybe Data.POSIX,+    -- | Defines how many times a scheduled flow fails consecutively before+    -- Amazon AppFlow deactivates it.+    flowErrorDeactivationThreshold :: Prelude.Maybe Prelude.Natural,+    -- | The time at which the scheduled flow ends. The time is formatted as a+    -- timestamp that follows the ISO 8601 standard, such as+    -- @2022-04-27T13:00:00-07:00@.+    scheduleEndTime :: Prelude.Maybe Data.POSIX,+    -- | Specifies the optional offset that is added to the time interval for a+    -- schedule-triggered flow.+    scheduleOffset :: Prelude.Maybe Prelude.Natural,+    -- | The time at which the scheduled flow starts. The time is formatted as a+    -- timestamp that follows the ISO 8601 standard, such as+    -- @2022-04-26T13:00:00-07:00@.+    scheduleStartTime :: Prelude.Maybe Data.POSIX,+    -- | Specifies the time zone used when referring to the dates and times of a+    -- scheduled flow, such as @America\/New_York@. This time zone is only a+    -- descriptive label. It doesn\'t affect how Amazon AppFlow interprets the+    -- timestamps that you specify to schedule the flow.+    --+    -- If you want to schedule a flow by using times in a particular time zone,+    -- indicate the time zone as a UTC offset in your timestamps. For example,+    -- the UTC offsets for the @America\/New_York@ timezone are @-04:00@ EDT+    -- and @-05:00 EST@.+    timezone :: Prelude.Maybe Prelude.Text,+    -- | The scheduling expression that determines the rate at which the schedule+    -- will run, for example @rate(5minutes)@.+    scheduleExpression :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScheduledTriggerProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataPullMode', 'scheduledTriggerProperties_dataPullMode' - Specifies whether a scheduled flow has an incremental data transfer or a+-- complete data transfer for each flow run.+--+-- 'firstExecutionFrom', 'scheduledTriggerProperties_firstExecutionFrom' - Specifies the date range for the records to import from the connector in+-- the first flow run.+--+-- 'flowErrorDeactivationThreshold', 'scheduledTriggerProperties_flowErrorDeactivationThreshold' - Defines how many times a scheduled flow fails consecutively before+-- Amazon AppFlow deactivates it.+--+-- 'scheduleEndTime', 'scheduledTriggerProperties_scheduleEndTime' - The time at which the scheduled flow ends. The time is formatted as a+-- timestamp that follows the ISO 8601 standard, such as+-- @2022-04-27T13:00:00-07:00@.+--+-- 'scheduleOffset', 'scheduledTriggerProperties_scheduleOffset' - Specifies the optional offset that is added to the time interval for a+-- schedule-triggered flow.+--+-- 'scheduleStartTime', 'scheduledTriggerProperties_scheduleStartTime' - The time at which the scheduled flow starts. The time is formatted as a+-- timestamp that follows the ISO 8601 standard, such as+-- @2022-04-26T13:00:00-07:00@.+--+-- 'timezone', 'scheduledTriggerProperties_timezone' - Specifies the time zone used when referring to the dates and times of a+-- scheduled flow, such as @America\/New_York@. This time zone is only a+-- descriptive label. It doesn\'t affect how Amazon AppFlow interprets the+-- timestamps that you specify to schedule the flow.+--+-- If you want to schedule a flow by using times in a particular time zone,+-- indicate the time zone as a UTC offset in your timestamps. For example,+-- the UTC offsets for the @America\/New_York@ timezone are @-04:00@ EDT+-- and @-05:00 EST@.+--+-- 'scheduleExpression', 'scheduledTriggerProperties_scheduleExpression' - The scheduling expression that determines the rate at which the schedule+-- will run, for example @rate(5minutes)@.+newScheduledTriggerProperties ::+  -- | 'scheduleExpression'+  Prelude.Text ->+  ScheduledTriggerProperties+newScheduledTriggerProperties pScheduleExpression_ =+  ScheduledTriggerProperties'+    { dataPullMode =+        Prelude.Nothing,+      firstExecutionFrom = Prelude.Nothing,+      flowErrorDeactivationThreshold =+        Prelude.Nothing,+      scheduleEndTime = Prelude.Nothing,+      scheduleOffset = Prelude.Nothing,+      scheduleStartTime = Prelude.Nothing,+      timezone = Prelude.Nothing,+      scheduleExpression = pScheduleExpression_+    }++-- | Specifies whether a scheduled flow has an incremental data transfer or a+-- complete data transfer for each flow run.+scheduledTriggerProperties_dataPullMode :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe DataPullMode)+scheduledTriggerProperties_dataPullMode = Lens.lens (\ScheduledTriggerProperties' {dataPullMode} -> dataPullMode) (\s@ScheduledTriggerProperties' {} a -> s {dataPullMode = a} :: ScheduledTriggerProperties)++-- | Specifies the date range for the records to import from the connector in+-- the first flow run.+scheduledTriggerProperties_firstExecutionFrom :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.UTCTime)+scheduledTriggerProperties_firstExecutionFrom = Lens.lens (\ScheduledTriggerProperties' {firstExecutionFrom} -> firstExecutionFrom) (\s@ScheduledTriggerProperties' {} a -> s {firstExecutionFrom = a} :: ScheduledTriggerProperties) Prelude.. Lens.mapping Data._Time++-- | Defines how many times a scheduled flow fails consecutively before+-- Amazon AppFlow deactivates it.+scheduledTriggerProperties_flowErrorDeactivationThreshold :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.Natural)+scheduledTriggerProperties_flowErrorDeactivationThreshold = Lens.lens (\ScheduledTriggerProperties' {flowErrorDeactivationThreshold} -> flowErrorDeactivationThreshold) (\s@ScheduledTriggerProperties' {} a -> s {flowErrorDeactivationThreshold = a} :: ScheduledTriggerProperties)++-- | The time at which the scheduled flow ends. The time is formatted as a+-- timestamp that follows the ISO 8601 standard, such as+-- @2022-04-27T13:00:00-07:00@.+scheduledTriggerProperties_scheduleEndTime :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.UTCTime)+scheduledTriggerProperties_scheduleEndTime = Lens.lens (\ScheduledTriggerProperties' {scheduleEndTime} -> scheduleEndTime) (\s@ScheduledTriggerProperties' {} a -> s {scheduleEndTime = a} :: ScheduledTriggerProperties) Prelude.. Lens.mapping Data._Time++-- | Specifies the optional offset that is added to the time interval for a+-- schedule-triggered flow.+scheduledTriggerProperties_scheduleOffset :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.Natural)+scheduledTriggerProperties_scheduleOffset = Lens.lens (\ScheduledTriggerProperties' {scheduleOffset} -> scheduleOffset) (\s@ScheduledTriggerProperties' {} a -> s {scheduleOffset = a} :: ScheduledTriggerProperties)++-- | The time at which the scheduled flow starts. The time is formatted as a+-- timestamp that follows the ISO 8601 standard, such as+-- @2022-04-26T13:00:00-07:00@.+scheduledTriggerProperties_scheduleStartTime :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.UTCTime)+scheduledTriggerProperties_scheduleStartTime = Lens.lens (\ScheduledTriggerProperties' {scheduleStartTime} -> scheduleStartTime) (\s@ScheduledTriggerProperties' {} a -> s {scheduleStartTime = a} :: ScheduledTriggerProperties) Prelude.. Lens.mapping Data._Time++-- | Specifies the time zone used when referring to the dates and times of a+-- scheduled flow, such as @America\/New_York@. This time zone is only a+-- descriptive label. It doesn\'t affect how Amazon AppFlow interprets the+-- timestamps that you specify to schedule the flow.+--+-- If you want to schedule a flow by using times in a particular time zone,+-- indicate the time zone as a UTC offset in your timestamps. For example,+-- the UTC offsets for the @America\/New_York@ timezone are @-04:00@ EDT+-- and @-05:00 EST@.+scheduledTriggerProperties_timezone :: Lens.Lens' ScheduledTriggerProperties (Prelude.Maybe Prelude.Text)+scheduledTriggerProperties_timezone = Lens.lens (\ScheduledTriggerProperties' {timezone} -> timezone) (\s@ScheduledTriggerProperties' {} a -> s {timezone = a} :: ScheduledTriggerProperties)++-- | The scheduling expression that determines the rate at which the schedule+-- will run, for example @rate(5minutes)@.+scheduledTriggerProperties_scheduleExpression :: Lens.Lens' ScheduledTriggerProperties Prelude.Text+scheduledTriggerProperties_scheduleExpression = Lens.lens (\ScheduledTriggerProperties' {scheduleExpression} -> scheduleExpression) (\s@ScheduledTriggerProperties' {} a -> s {scheduleExpression = a} :: ScheduledTriggerProperties)++instance Data.FromJSON ScheduledTriggerProperties where+  parseJSON =+    Data.withObject+      "ScheduledTriggerProperties"+      ( \x ->+          ScheduledTriggerProperties'+            Prelude.<$> (x Data..:? "dataPullMode")+            Prelude.<*> (x Data..:? "firstExecutionFrom")+            Prelude.<*> (x Data..:? "flowErrorDeactivationThreshold")+            Prelude.<*> (x Data..:? "scheduleEndTime")+            Prelude.<*> (x Data..:? "scheduleOffset")+            Prelude.<*> (x Data..:? "scheduleStartTime")+            Prelude.<*> (x Data..:? "timezone")+            Prelude.<*> (x Data..: "scheduleExpression")+      )++instance Prelude.Hashable ScheduledTriggerProperties where+  hashWithSalt _salt ScheduledTriggerProperties' {..} =+    _salt+      `Prelude.hashWithSalt` dataPullMode+      `Prelude.hashWithSalt` firstExecutionFrom+      `Prelude.hashWithSalt` flowErrorDeactivationThreshold+      `Prelude.hashWithSalt` scheduleEndTime+      `Prelude.hashWithSalt` scheduleOffset+      `Prelude.hashWithSalt` scheduleStartTime+      `Prelude.hashWithSalt` timezone+      `Prelude.hashWithSalt` scheduleExpression++instance Prelude.NFData ScheduledTriggerProperties where+  rnf ScheduledTriggerProperties' {..} =+    Prelude.rnf dataPullMode+      `Prelude.seq` Prelude.rnf firstExecutionFrom+      `Prelude.seq` Prelude.rnf flowErrorDeactivationThreshold+      `Prelude.seq` Prelude.rnf scheduleEndTime+      `Prelude.seq` Prelude.rnf scheduleOffset+      `Prelude.seq` Prelude.rnf scheduleStartTime+      `Prelude.seq` Prelude.rnf timezone+      `Prelude.seq` Prelude.rnf scheduleExpression++instance Data.ToJSON ScheduledTriggerProperties where+  toJSON ScheduledTriggerProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("dataPullMode" Data..=) Prelude.<$> dataPullMode,+            ("firstExecutionFrom" Data..=)+              Prelude.<$> firstExecutionFrom,+            ("flowErrorDeactivationThreshold" Data..=)+              Prelude.<$> flowErrorDeactivationThreshold,+            ("scheduleEndTime" Data..=)+              Prelude.<$> scheduleEndTime,+            ("scheduleOffset" Data..=)+              Prelude.<$> scheduleOffset,+            ("scheduleStartTime" Data..=)+              Prelude.<$> scheduleStartTime,+            ("timezone" Data..=) Prelude.<$> timezone,+            Prelude.Just+              ("scheduleExpression" Data..= scheduleExpression)+          ]+      )
+ gen/Amazonka/AppFlow/Types/ServiceNowConnectorOperator.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ServiceNowConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ServiceNowConnectorOperator+  ( ServiceNowConnectorOperator+      ( ..,+        ServiceNowConnectorOperator_ADDITION,+        ServiceNowConnectorOperator_BETWEEN,+        ServiceNowConnectorOperator_CONTAINS,+        ServiceNowConnectorOperator_DIVISION,+        ServiceNowConnectorOperator_EQUAL_TO,+        ServiceNowConnectorOperator_GREATER_THAN,+        ServiceNowConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        ServiceNowConnectorOperator_LESS_THAN,+        ServiceNowConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        ServiceNowConnectorOperator_MASK_ALL,+        ServiceNowConnectorOperator_MASK_FIRST_N,+        ServiceNowConnectorOperator_MASK_LAST_N,+        ServiceNowConnectorOperator_MULTIPLICATION,+        ServiceNowConnectorOperator_NOT_EQUAL_TO,+        ServiceNowConnectorOperator_NO_OP,+        ServiceNowConnectorOperator_PROJECTION,+        ServiceNowConnectorOperator_SUBTRACTION,+        ServiceNowConnectorOperator_VALIDATE_NON_NEGATIVE,+        ServiceNowConnectorOperator_VALIDATE_NON_NULL,+        ServiceNowConnectorOperator_VALIDATE_NON_ZERO,+        ServiceNowConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceNowConnectorOperator = ServiceNowConnectorOperator'+  { fromServiceNowConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ServiceNowConnectorOperator_ADDITION :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_ADDITION = ServiceNowConnectorOperator' "ADDITION"++pattern ServiceNowConnectorOperator_BETWEEN :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_BETWEEN = ServiceNowConnectorOperator' "BETWEEN"++pattern ServiceNowConnectorOperator_CONTAINS :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_CONTAINS = ServiceNowConnectorOperator' "CONTAINS"++pattern ServiceNowConnectorOperator_DIVISION :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_DIVISION = ServiceNowConnectorOperator' "DIVISION"++pattern ServiceNowConnectorOperator_EQUAL_TO :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_EQUAL_TO = ServiceNowConnectorOperator' "EQUAL_TO"++pattern ServiceNowConnectorOperator_GREATER_THAN :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_GREATER_THAN = ServiceNowConnectorOperator' "GREATER_THAN"++pattern ServiceNowConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_GREATER_THAN_OR_EQUAL_TO = ServiceNowConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern ServiceNowConnectorOperator_LESS_THAN :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_LESS_THAN = ServiceNowConnectorOperator' "LESS_THAN"++pattern ServiceNowConnectorOperator_LESS_THAN_OR_EQUAL_TO :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_LESS_THAN_OR_EQUAL_TO = ServiceNowConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern ServiceNowConnectorOperator_MASK_ALL :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_MASK_ALL = ServiceNowConnectorOperator' "MASK_ALL"++pattern ServiceNowConnectorOperator_MASK_FIRST_N :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_MASK_FIRST_N = ServiceNowConnectorOperator' "MASK_FIRST_N"++pattern ServiceNowConnectorOperator_MASK_LAST_N :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_MASK_LAST_N = ServiceNowConnectorOperator' "MASK_LAST_N"++pattern ServiceNowConnectorOperator_MULTIPLICATION :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_MULTIPLICATION = ServiceNowConnectorOperator' "MULTIPLICATION"++pattern ServiceNowConnectorOperator_NOT_EQUAL_TO :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_NOT_EQUAL_TO = ServiceNowConnectorOperator' "NOT_EQUAL_TO"++pattern ServiceNowConnectorOperator_NO_OP :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_NO_OP = ServiceNowConnectorOperator' "NO_OP"++pattern ServiceNowConnectorOperator_PROJECTION :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_PROJECTION = ServiceNowConnectorOperator' "PROJECTION"++pattern ServiceNowConnectorOperator_SUBTRACTION :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_SUBTRACTION = ServiceNowConnectorOperator' "SUBTRACTION"++pattern ServiceNowConnectorOperator_VALIDATE_NON_NEGATIVE :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_VALIDATE_NON_NEGATIVE = ServiceNowConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern ServiceNowConnectorOperator_VALIDATE_NON_NULL :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_VALIDATE_NON_NULL = ServiceNowConnectorOperator' "VALIDATE_NON_NULL"++pattern ServiceNowConnectorOperator_VALIDATE_NON_ZERO :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_VALIDATE_NON_ZERO = ServiceNowConnectorOperator' "VALIDATE_NON_ZERO"++pattern ServiceNowConnectorOperator_VALIDATE_NUMERIC :: ServiceNowConnectorOperator+pattern ServiceNowConnectorOperator_VALIDATE_NUMERIC = ServiceNowConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  ServiceNowConnectorOperator_ADDITION,+  ServiceNowConnectorOperator_BETWEEN,+  ServiceNowConnectorOperator_CONTAINS,+  ServiceNowConnectorOperator_DIVISION,+  ServiceNowConnectorOperator_EQUAL_TO,+  ServiceNowConnectorOperator_GREATER_THAN,+  ServiceNowConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  ServiceNowConnectorOperator_LESS_THAN,+  ServiceNowConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  ServiceNowConnectorOperator_MASK_ALL,+  ServiceNowConnectorOperator_MASK_FIRST_N,+  ServiceNowConnectorOperator_MASK_LAST_N,+  ServiceNowConnectorOperator_MULTIPLICATION,+  ServiceNowConnectorOperator_NOT_EQUAL_TO,+  ServiceNowConnectorOperator_NO_OP,+  ServiceNowConnectorOperator_PROJECTION,+  ServiceNowConnectorOperator_SUBTRACTION,+  ServiceNowConnectorOperator_VALIDATE_NON_NEGATIVE,+  ServiceNowConnectorOperator_VALIDATE_NON_NULL,+  ServiceNowConnectorOperator_VALIDATE_NON_ZERO,+  ServiceNowConnectorOperator_VALIDATE_NUMERIC,+  ServiceNowConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/ServiceNowConnectorProfileCredentials.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ServiceNowConnectorProfileCredentials 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 connector-specific profile credentials required when using+-- ServiceNow.+--+-- /See:/ 'newServiceNowConnectorProfileCredentials' smart constructor.+data ServiceNowConnectorProfileCredentials = ServiceNowConnectorProfileCredentials'+  { -- | The name of the user.+    username :: Prelude.Text,+    -- | The password that corresponds to the user name.+    password :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceNowConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'username', 'serviceNowConnectorProfileCredentials_username' - The name of the user.+--+-- 'password', 'serviceNowConnectorProfileCredentials_password' - The password that corresponds to the user name.+newServiceNowConnectorProfileCredentials ::+  -- | 'username'+  Prelude.Text ->+  -- | 'password'+  Prelude.Text ->+  ServiceNowConnectorProfileCredentials+newServiceNowConnectorProfileCredentials+  pUsername_+  pPassword_ =+    ServiceNowConnectorProfileCredentials'+      { username =+          pUsername_,+        password =+          Data._Sensitive Lens.# pPassword_+      }++-- | The name of the user.+serviceNowConnectorProfileCredentials_username :: Lens.Lens' ServiceNowConnectorProfileCredentials Prelude.Text+serviceNowConnectorProfileCredentials_username = Lens.lens (\ServiceNowConnectorProfileCredentials' {username} -> username) (\s@ServiceNowConnectorProfileCredentials' {} a -> s {username = a} :: ServiceNowConnectorProfileCredentials)++-- | The password that corresponds to the user name.+serviceNowConnectorProfileCredentials_password :: Lens.Lens' ServiceNowConnectorProfileCredentials Prelude.Text+serviceNowConnectorProfileCredentials_password = Lens.lens (\ServiceNowConnectorProfileCredentials' {password} -> password) (\s@ServiceNowConnectorProfileCredentials' {} a -> s {password = a} :: ServiceNowConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    ServiceNowConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    ServiceNowConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` username+        `Prelude.hashWithSalt` password++instance+  Prelude.NFData+    ServiceNowConnectorProfileCredentials+  where+  rnf ServiceNowConnectorProfileCredentials' {..} =+    Prelude.rnf username+      `Prelude.seq` Prelude.rnf password++instance+  Data.ToJSON+    ServiceNowConnectorProfileCredentials+  where+  toJSON ServiceNowConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("username" Data..= username),+            Prelude.Just ("password" Data..= password)+          ]+      )
+ gen/Amazonka/AppFlow/Types/ServiceNowConnectorProfileProperties.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.AppFlow.Types.ServiceNowConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ServiceNowConnectorProfileProperties 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 connector-specific profile properties required when using+-- ServiceNow.+--+-- /See:/ 'newServiceNowConnectorProfileProperties' smart constructor.+data ServiceNowConnectorProfileProperties = ServiceNowConnectorProfileProperties'+  { -- | The location of the ServiceNow resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceNowConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'serviceNowConnectorProfileProperties_instanceUrl' - The location of the ServiceNow resource.+newServiceNowConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  ServiceNowConnectorProfileProperties+newServiceNowConnectorProfileProperties pInstanceUrl_ =+  ServiceNowConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the ServiceNow resource.+serviceNowConnectorProfileProperties_instanceUrl :: Lens.Lens' ServiceNowConnectorProfileProperties Prelude.Text+serviceNowConnectorProfileProperties_instanceUrl = Lens.lens (\ServiceNowConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@ServiceNowConnectorProfileProperties' {} a -> s {instanceUrl = a} :: ServiceNowConnectorProfileProperties)++instance+  Data.FromJSON+    ServiceNowConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "ServiceNowConnectorProfileProperties"+      ( \x ->+          ServiceNowConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    ServiceNowConnectorProfileProperties+  where+  hashWithSalt+    _salt+    ServiceNowConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    ServiceNowConnectorProfileProperties+  where+  rnf ServiceNowConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    ServiceNowConnectorProfileProperties+  where+  toJSON ServiceNowConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/ServiceNowMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.ServiceNowMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ServiceNowMetadata 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 connector metadata specific to ServiceNow.+--+-- /See:/ 'newServiceNowMetadata' smart constructor.+data ServiceNowMetadata = ServiceNowMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceNowMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newServiceNowMetadata ::+  ServiceNowMetadata+newServiceNowMetadata = ServiceNowMetadata'++instance Data.FromJSON ServiceNowMetadata where+  parseJSON =+    Data.withObject+      "ServiceNowMetadata"+      (\x -> Prelude.pure ServiceNowMetadata')++instance Prelude.Hashable ServiceNowMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ServiceNowMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/ServiceNowSourceProperties.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ServiceNowSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ServiceNowSourceProperties 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 properties that are applied when ServiceNow is being used as a+-- source.+--+-- /See:/ 'newServiceNowSourceProperties' smart constructor.+data ServiceNowSourceProperties = ServiceNowSourceProperties'+  { -- | The object specified in the ServiceNow flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceNowSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'serviceNowSourceProperties_object' - The object specified in the ServiceNow flow source.+newServiceNowSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  ServiceNowSourceProperties+newServiceNowSourceProperties pObject_ =+  ServiceNowSourceProperties' {object' = pObject_}++-- | The object specified in the ServiceNow flow source.+serviceNowSourceProperties_object :: Lens.Lens' ServiceNowSourceProperties Prelude.Text+serviceNowSourceProperties_object = Lens.lens (\ServiceNowSourceProperties' {object'} -> object') (\s@ServiceNowSourceProperties' {} a -> s {object' = a} :: ServiceNowSourceProperties)++instance Data.FromJSON ServiceNowSourceProperties where+  parseJSON =+    Data.withObject+      "ServiceNowSourceProperties"+      ( \x ->+          ServiceNowSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable ServiceNowSourceProperties where+  hashWithSalt _salt ServiceNowSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData ServiceNowSourceProperties where+  rnf ServiceNowSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON ServiceNowSourceProperties where+  toJSON ServiceNowSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/SingularConnectorOperator.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SingularConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SingularConnectorOperator+  ( SingularConnectorOperator+      ( ..,+        SingularConnectorOperator_ADDITION,+        SingularConnectorOperator_DIVISION,+        SingularConnectorOperator_EQUAL_TO,+        SingularConnectorOperator_MASK_ALL,+        SingularConnectorOperator_MASK_FIRST_N,+        SingularConnectorOperator_MASK_LAST_N,+        SingularConnectorOperator_MULTIPLICATION,+        SingularConnectorOperator_NO_OP,+        SingularConnectorOperator_PROJECTION,+        SingularConnectorOperator_SUBTRACTION,+        SingularConnectorOperator_VALIDATE_NON_NEGATIVE,+        SingularConnectorOperator_VALIDATE_NON_NULL,+        SingularConnectorOperator_VALIDATE_NON_ZERO,+        SingularConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SingularConnectorOperator = SingularConnectorOperator'+  { fromSingularConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SingularConnectorOperator_ADDITION :: SingularConnectorOperator+pattern SingularConnectorOperator_ADDITION = SingularConnectorOperator' "ADDITION"++pattern SingularConnectorOperator_DIVISION :: SingularConnectorOperator+pattern SingularConnectorOperator_DIVISION = SingularConnectorOperator' "DIVISION"++pattern SingularConnectorOperator_EQUAL_TO :: SingularConnectorOperator+pattern SingularConnectorOperator_EQUAL_TO = SingularConnectorOperator' "EQUAL_TO"++pattern SingularConnectorOperator_MASK_ALL :: SingularConnectorOperator+pattern SingularConnectorOperator_MASK_ALL = SingularConnectorOperator' "MASK_ALL"++pattern SingularConnectorOperator_MASK_FIRST_N :: SingularConnectorOperator+pattern SingularConnectorOperator_MASK_FIRST_N = SingularConnectorOperator' "MASK_FIRST_N"++pattern SingularConnectorOperator_MASK_LAST_N :: SingularConnectorOperator+pattern SingularConnectorOperator_MASK_LAST_N = SingularConnectorOperator' "MASK_LAST_N"++pattern SingularConnectorOperator_MULTIPLICATION :: SingularConnectorOperator+pattern SingularConnectorOperator_MULTIPLICATION = SingularConnectorOperator' "MULTIPLICATION"++pattern SingularConnectorOperator_NO_OP :: SingularConnectorOperator+pattern SingularConnectorOperator_NO_OP = SingularConnectorOperator' "NO_OP"++pattern SingularConnectorOperator_PROJECTION :: SingularConnectorOperator+pattern SingularConnectorOperator_PROJECTION = SingularConnectorOperator' "PROJECTION"++pattern SingularConnectorOperator_SUBTRACTION :: SingularConnectorOperator+pattern SingularConnectorOperator_SUBTRACTION = SingularConnectorOperator' "SUBTRACTION"++pattern SingularConnectorOperator_VALIDATE_NON_NEGATIVE :: SingularConnectorOperator+pattern SingularConnectorOperator_VALIDATE_NON_NEGATIVE = SingularConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern SingularConnectorOperator_VALIDATE_NON_NULL :: SingularConnectorOperator+pattern SingularConnectorOperator_VALIDATE_NON_NULL = SingularConnectorOperator' "VALIDATE_NON_NULL"++pattern SingularConnectorOperator_VALIDATE_NON_ZERO :: SingularConnectorOperator+pattern SingularConnectorOperator_VALIDATE_NON_ZERO = SingularConnectorOperator' "VALIDATE_NON_ZERO"++pattern SingularConnectorOperator_VALIDATE_NUMERIC :: SingularConnectorOperator+pattern SingularConnectorOperator_VALIDATE_NUMERIC = SingularConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  SingularConnectorOperator_ADDITION,+  SingularConnectorOperator_DIVISION,+  SingularConnectorOperator_EQUAL_TO,+  SingularConnectorOperator_MASK_ALL,+  SingularConnectorOperator_MASK_FIRST_N,+  SingularConnectorOperator_MASK_LAST_N,+  SingularConnectorOperator_MULTIPLICATION,+  SingularConnectorOperator_NO_OP,+  SingularConnectorOperator_PROJECTION,+  SingularConnectorOperator_SUBTRACTION,+  SingularConnectorOperator_VALIDATE_NON_NEGATIVE,+  SingularConnectorOperator_VALIDATE_NON_NULL,+  SingularConnectorOperator_VALIDATE_NON_ZERO,+  SingularConnectorOperator_VALIDATE_NUMERIC,+  SingularConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/SingularConnectorProfileCredentials.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SingularConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SingularConnectorProfileCredentials 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 connector-specific profile credentials required when using Singular.+--+-- /See:/ 'newSingularConnectorProfileCredentials' smart constructor.+data SingularConnectorProfileCredentials = SingularConnectorProfileCredentials'+  { -- | A unique alphanumeric identifier used to authenticate a user, developer,+    -- or calling program to your API.+    apiKey :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SingularConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiKey', 'singularConnectorProfileCredentials_apiKey' - A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+newSingularConnectorProfileCredentials ::+  -- | 'apiKey'+  Prelude.Text ->+  SingularConnectorProfileCredentials+newSingularConnectorProfileCredentials pApiKey_ =+  SingularConnectorProfileCredentials'+    { apiKey =+        Data._Sensitive Lens.# pApiKey_+    }++-- | A unique alphanumeric identifier used to authenticate a user, developer,+-- or calling program to your API.+singularConnectorProfileCredentials_apiKey :: Lens.Lens' SingularConnectorProfileCredentials Prelude.Text+singularConnectorProfileCredentials_apiKey = Lens.lens (\SingularConnectorProfileCredentials' {apiKey} -> apiKey) (\s@SingularConnectorProfileCredentials' {} a -> s {apiKey = a} :: SingularConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    SingularConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    SingularConnectorProfileCredentials' {..} =+      _salt `Prelude.hashWithSalt` apiKey++instance+  Prelude.NFData+    SingularConnectorProfileCredentials+  where+  rnf SingularConnectorProfileCredentials' {..} =+    Prelude.rnf apiKey++instance+  Data.ToJSON+    SingularConnectorProfileCredentials+  where+  toJSON SingularConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("apiKey" Data..= apiKey)]+      )
+ gen/Amazonka/AppFlow/Types/SingularConnectorProfileProperties.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SingularConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SingularConnectorProfileProperties 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 connector-specific profile properties required when using Singular.+--+-- /See:/ 'newSingularConnectorProfileProperties' smart constructor.+data SingularConnectorProfileProperties = SingularConnectorProfileProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SingularConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newSingularConnectorProfileProperties ::+  SingularConnectorProfileProperties+newSingularConnectorProfileProperties =+  SingularConnectorProfileProperties'++instance+  Data.FromJSON+    SingularConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "SingularConnectorProfileProperties"+      ( \x ->+          Prelude.pure SingularConnectorProfileProperties'+      )++instance+  Prelude.Hashable+    SingularConnectorProfileProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    SingularConnectorProfileProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    SingularConnectorProfileProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/SingularMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.SingularMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SingularMetadata 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 connector metadata specific to Singular.+--+-- /See:/ 'newSingularMetadata' smart constructor.+data SingularMetadata = SingularMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SingularMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newSingularMetadata ::+  SingularMetadata+newSingularMetadata = SingularMetadata'++instance Data.FromJSON SingularMetadata where+  parseJSON =+    Data.withObject+      "SingularMetadata"+      (\x -> Prelude.pure SingularMetadata')++instance Prelude.Hashable SingularMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData SingularMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/SingularSourceProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SingularSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SingularSourceProperties 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 properties that are applied when Singular is being used as a source.+--+-- /See:/ 'newSingularSourceProperties' smart constructor.+data SingularSourceProperties = SingularSourceProperties'+  { -- | The object specified in the Singular flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SingularSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'singularSourceProperties_object' - The object specified in the Singular flow source.+newSingularSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  SingularSourceProperties+newSingularSourceProperties pObject_ =+  SingularSourceProperties' {object' = pObject_}++-- | The object specified in the Singular flow source.+singularSourceProperties_object :: Lens.Lens' SingularSourceProperties Prelude.Text+singularSourceProperties_object = Lens.lens (\SingularSourceProperties' {object'} -> object') (\s@SingularSourceProperties' {} a -> s {object' = a} :: SingularSourceProperties)++instance Data.FromJSON SingularSourceProperties where+  parseJSON =+    Data.withObject+      "SingularSourceProperties"+      ( \x ->+          SingularSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable SingularSourceProperties where+  hashWithSalt _salt SingularSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData SingularSourceProperties where+  rnf SingularSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON SingularSourceProperties where+  toJSON SingularSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/SlackConnectorOperator.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SlackConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SlackConnectorOperator+  ( SlackConnectorOperator+      ( ..,+        SlackConnectorOperator_ADDITION,+        SlackConnectorOperator_BETWEEN,+        SlackConnectorOperator_DIVISION,+        SlackConnectorOperator_EQUAL_TO,+        SlackConnectorOperator_GREATER_THAN,+        SlackConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        SlackConnectorOperator_LESS_THAN,+        SlackConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        SlackConnectorOperator_MASK_ALL,+        SlackConnectorOperator_MASK_FIRST_N,+        SlackConnectorOperator_MASK_LAST_N,+        SlackConnectorOperator_MULTIPLICATION,+        SlackConnectorOperator_NO_OP,+        SlackConnectorOperator_PROJECTION,+        SlackConnectorOperator_SUBTRACTION,+        SlackConnectorOperator_VALIDATE_NON_NEGATIVE,+        SlackConnectorOperator_VALIDATE_NON_NULL,+        SlackConnectorOperator_VALIDATE_NON_ZERO,+        SlackConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SlackConnectorOperator = SlackConnectorOperator'+  { fromSlackConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SlackConnectorOperator_ADDITION :: SlackConnectorOperator+pattern SlackConnectorOperator_ADDITION = SlackConnectorOperator' "ADDITION"++pattern SlackConnectorOperator_BETWEEN :: SlackConnectorOperator+pattern SlackConnectorOperator_BETWEEN = SlackConnectorOperator' "BETWEEN"++pattern SlackConnectorOperator_DIVISION :: SlackConnectorOperator+pattern SlackConnectorOperator_DIVISION = SlackConnectorOperator' "DIVISION"++pattern SlackConnectorOperator_EQUAL_TO :: SlackConnectorOperator+pattern SlackConnectorOperator_EQUAL_TO = SlackConnectorOperator' "EQUAL_TO"++pattern SlackConnectorOperator_GREATER_THAN :: SlackConnectorOperator+pattern SlackConnectorOperator_GREATER_THAN = SlackConnectorOperator' "GREATER_THAN"++pattern SlackConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: SlackConnectorOperator+pattern SlackConnectorOperator_GREATER_THAN_OR_EQUAL_TO = SlackConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern SlackConnectorOperator_LESS_THAN :: SlackConnectorOperator+pattern SlackConnectorOperator_LESS_THAN = SlackConnectorOperator' "LESS_THAN"++pattern SlackConnectorOperator_LESS_THAN_OR_EQUAL_TO :: SlackConnectorOperator+pattern SlackConnectorOperator_LESS_THAN_OR_EQUAL_TO = SlackConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern SlackConnectorOperator_MASK_ALL :: SlackConnectorOperator+pattern SlackConnectorOperator_MASK_ALL = SlackConnectorOperator' "MASK_ALL"++pattern SlackConnectorOperator_MASK_FIRST_N :: SlackConnectorOperator+pattern SlackConnectorOperator_MASK_FIRST_N = SlackConnectorOperator' "MASK_FIRST_N"++pattern SlackConnectorOperator_MASK_LAST_N :: SlackConnectorOperator+pattern SlackConnectorOperator_MASK_LAST_N = SlackConnectorOperator' "MASK_LAST_N"++pattern SlackConnectorOperator_MULTIPLICATION :: SlackConnectorOperator+pattern SlackConnectorOperator_MULTIPLICATION = SlackConnectorOperator' "MULTIPLICATION"++pattern SlackConnectorOperator_NO_OP :: SlackConnectorOperator+pattern SlackConnectorOperator_NO_OP = SlackConnectorOperator' "NO_OP"++pattern SlackConnectorOperator_PROJECTION :: SlackConnectorOperator+pattern SlackConnectorOperator_PROJECTION = SlackConnectorOperator' "PROJECTION"++pattern SlackConnectorOperator_SUBTRACTION :: SlackConnectorOperator+pattern SlackConnectorOperator_SUBTRACTION = SlackConnectorOperator' "SUBTRACTION"++pattern SlackConnectorOperator_VALIDATE_NON_NEGATIVE :: SlackConnectorOperator+pattern SlackConnectorOperator_VALIDATE_NON_NEGATIVE = SlackConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern SlackConnectorOperator_VALIDATE_NON_NULL :: SlackConnectorOperator+pattern SlackConnectorOperator_VALIDATE_NON_NULL = SlackConnectorOperator' "VALIDATE_NON_NULL"++pattern SlackConnectorOperator_VALIDATE_NON_ZERO :: SlackConnectorOperator+pattern SlackConnectorOperator_VALIDATE_NON_ZERO = SlackConnectorOperator' "VALIDATE_NON_ZERO"++pattern SlackConnectorOperator_VALIDATE_NUMERIC :: SlackConnectorOperator+pattern SlackConnectorOperator_VALIDATE_NUMERIC = SlackConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  SlackConnectorOperator_ADDITION,+  SlackConnectorOperator_BETWEEN,+  SlackConnectorOperator_DIVISION,+  SlackConnectorOperator_EQUAL_TO,+  SlackConnectorOperator_GREATER_THAN,+  SlackConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  SlackConnectorOperator_LESS_THAN,+  SlackConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  SlackConnectorOperator_MASK_ALL,+  SlackConnectorOperator_MASK_FIRST_N,+  SlackConnectorOperator_MASK_LAST_N,+  SlackConnectorOperator_MULTIPLICATION,+  SlackConnectorOperator_NO_OP,+  SlackConnectorOperator_PROJECTION,+  SlackConnectorOperator_SUBTRACTION,+  SlackConnectorOperator_VALIDATE_NON_NEGATIVE,+  SlackConnectorOperator_VALIDATE_NON_NULL,+  SlackConnectorOperator_VALIDATE_NON_ZERO,+  SlackConnectorOperator_VALIDATE_NUMERIC,+  SlackConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/SlackConnectorProfileCredentials.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SlackConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SlackConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific profile credentials required when using Slack.+--+-- /See:/ 'newSlackConnectorProfileCredentials' smart constructor.+data SlackConnectorProfileCredentials = SlackConnectorProfileCredentials'+  { -- | The credentials used to access protected Slack resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The identifier for the client.+    clientId :: Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SlackConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'slackConnectorProfileCredentials_accessToken' - The credentials used to access protected Slack resources.+--+-- 'oAuthRequest', 'slackConnectorProfileCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'clientId', 'slackConnectorProfileCredentials_clientId' - The identifier for the client.+--+-- 'clientSecret', 'slackConnectorProfileCredentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+newSlackConnectorProfileCredentials ::+  -- | 'clientId'+  Prelude.Text ->+  -- | 'clientSecret'+  Prelude.Text ->+  SlackConnectorProfileCredentials+newSlackConnectorProfileCredentials+  pClientId_+  pClientSecret_ =+    SlackConnectorProfileCredentials'+      { accessToken =+          Prelude.Nothing,+        oAuthRequest = Prelude.Nothing,+        clientId = pClientId_,+        clientSecret =+          Data._Sensitive Lens.# pClientSecret_+      }++-- | The credentials used to access protected Slack resources.+slackConnectorProfileCredentials_accessToken :: Lens.Lens' SlackConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+slackConnectorProfileCredentials_accessToken = Lens.lens (\SlackConnectorProfileCredentials' {accessToken} -> accessToken) (\s@SlackConnectorProfileCredentials' {} a -> s {accessToken = a} :: SlackConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+slackConnectorProfileCredentials_oAuthRequest :: Lens.Lens' SlackConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+slackConnectorProfileCredentials_oAuthRequest = Lens.lens (\SlackConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@SlackConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: SlackConnectorProfileCredentials)++-- | The identifier for the client.+slackConnectorProfileCredentials_clientId :: Lens.Lens' SlackConnectorProfileCredentials Prelude.Text+slackConnectorProfileCredentials_clientId = Lens.lens (\SlackConnectorProfileCredentials' {clientId} -> clientId) (\s@SlackConnectorProfileCredentials' {} a -> s {clientId = a} :: SlackConnectorProfileCredentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+slackConnectorProfileCredentials_clientSecret :: Lens.Lens' SlackConnectorProfileCredentials Prelude.Text+slackConnectorProfileCredentials_clientSecret = Lens.lens (\SlackConnectorProfileCredentials' {clientSecret} -> clientSecret) (\s@SlackConnectorProfileCredentials' {} a -> s {clientSecret = a} :: SlackConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    SlackConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    SlackConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` clientSecret++instance+  Prelude.NFData+    SlackConnectorProfileCredentials+  where+  rnf SlackConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance Data.ToJSON SlackConnectorProfileCredentials where+  toJSON SlackConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            Prelude.Just ("clientId" Data..= clientId),+            Prelude.Just ("clientSecret" Data..= clientSecret)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SlackConnectorProfileProperties.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SlackConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SlackConnectorProfileProperties 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 connector-specific profile properties required when using Slack.+--+-- /See:/ 'newSlackConnectorProfileProperties' smart constructor.+data SlackConnectorProfileProperties = SlackConnectorProfileProperties'+  { -- | The location of the Slack resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SlackConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'slackConnectorProfileProperties_instanceUrl' - The location of the Slack resource.+newSlackConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  SlackConnectorProfileProperties+newSlackConnectorProfileProperties pInstanceUrl_ =+  SlackConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Slack resource.+slackConnectorProfileProperties_instanceUrl :: Lens.Lens' SlackConnectorProfileProperties Prelude.Text+slackConnectorProfileProperties_instanceUrl = Lens.lens (\SlackConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@SlackConnectorProfileProperties' {} a -> s {instanceUrl = a} :: SlackConnectorProfileProperties)++instance+  Data.FromJSON+    SlackConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "SlackConnectorProfileProperties"+      ( \x ->+          SlackConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    SlackConnectorProfileProperties+  where+  hashWithSalt+    _salt+    SlackConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    SlackConnectorProfileProperties+  where+  rnf SlackConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance Data.ToJSON SlackConnectorProfileProperties where+  toJSON SlackConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/SlackMetadata.hs view
@@ -0,0 +1,68 @@+{-# 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.AppFlow.Types.SlackMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SlackMetadata 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 connector metadata specific to Slack.+--+-- /See:/ 'newSlackMetadata' smart constructor.+data SlackMetadata = SlackMetadata'+  { -- | The desired authorization scope for the Slack account.+    oAuthScopes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SlackMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oAuthScopes', 'slackMetadata_oAuthScopes' - The desired authorization scope for the Slack account.+newSlackMetadata ::+  SlackMetadata+newSlackMetadata =+  SlackMetadata' {oAuthScopes = Prelude.Nothing}++-- | The desired authorization scope for the Slack account.+slackMetadata_oAuthScopes :: Lens.Lens' SlackMetadata (Prelude.Maybe [Prelude.Text])+slackMetadata_oAuthScopes = Lens.lens (\SlackMetadata' {oAuthScopes} -> oAuthScopes) (\s@SlackMetadata' {} a -> s {oAuthScopes = a} :: SlackMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SlackMetadata where+  parseJSON =+    Data.withObject+      "SlackMetadata"+      ( \x ->+          SlackMetadata'+            Prelude.<$> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable SlackMetadata where+  hashWithSalt _salt SlackMetadata' {..} =+    _salt `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData SlackMetadata where+  rnf SlackMetadata' {..} = Prelude.rnf oAuthScopes
+ gen/Amazonka/AppFlow/Types/SlackSourceProperties.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SlackSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SlackSourceProperties 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 properties that are applied when Slack is being used as a source.+--+-- /See:/ 'newSlackSourceProperties' smart constructor.+data SlackSourceProperties = SlackSourceProperties'+  { -- | The object specified in the Slack flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SlackSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'slackSourceProperties_object' - The object specified in the Slack flow source.+newSlackSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  SlackSourceProperties+newSlackSourceProperties pObject_ =+  SlackSourceProperties' {object' = pObject_}++-- | The object specified in the Slack flow source.+slackSourceProperties_object :: Lens.Lens' SlackSourceProperties Prelude.Text+slackSourceProperties_object = Lens.lens (\SlackSourceProperties' {object'} -> object') (\s@SlackSourceProperties' {} a -> s {object' = a} :: SlackSourceProperties)++instance Data.FromJSON SlackSourceProperties where+  parseJSON =+    Data.withObject+      "SlackSourceProperties"+      ( \x ->+          SlackSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable SlackSourceProperties where+  hashWithSalt _salt SlackSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData SlackSourceProperties where+  rnf SlackSourceProperties' {..} = Prelude.rnf object'++instance Data.ToJSON SlackSourceProperties where+  toJSON SlackSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/SnowflakeConnectorProfileCredentials.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SnowflakeConnectorProfileCredentials 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 connector-specific profile credentials required when using+-- Snowflake.+--+-- /See:/ 'newSnowflakeConnectorProfileCredentials' smart constructor.+data SnowflakeConnectorProfileCredentials = SnowflakeConnectorProfileCredentials'+  { -- | The name of the user.+    username :: Prelude.Text,+    -- | The password that corresponds to the user name.+    password :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnowflakeConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'username', 'snowflakeConnectorProfileCredentials_username' - The name of the user.+--+-- 'password', 'snowflakeConnectorProfileCredentials_password' - The password that corresponds to the user name.+newSnowflakeConnectorProfileCredentials ::+  -- | 'username'+  Prelude.Text ->+  -- | 'password'+  Prelude.Text ->+  SnowflakeConnectorProfileCredentials+newSnowflakeConnectorProfileCredentials+  pUsername_+  pPassword_ =+    SnowflakeConnectorProfileCredentials'+      { username =+          pUsername_,+        password =+          Data._Sensitive Lens.# pPassword_+      }++-- | The name of the user.+snowflakeConnectorProfileCredentials_username :: Lens.Lens' SnowflakeConnectorProfileCredentials Prelude.Text+snowflakeConnectorProfileCredentials_username = Lens.lens (\SnowflakeConnectorProfileCredentials' {username} -> username) (\s@SnowflakeConnectorProfileCredentials' {} a -> s {username = a} :: SnowflakeConnectorProfileCredentials)++-- | The password that corresponds to the user name.+snowflakeConnectorProfileCredentials_password :: Lens.Lens' SnowflakeConnectorProfileCredentials Prelude.Text+snowflakeConnectorProfileCredentials_password = Lens.lens (\SnowflakeConnectorProfileCredentials' {password} -> password) (\s@SnowflakeConnectorProfileCredentials' {} a -> s {password = a} :: SnowflakeConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    SnowflakeConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    SnowflakeConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` username+        `Prelude.hashWithSalt` password++instance+  Prelude.NFData+    SnowflakeConnectorProfileCredentials+  where+  rnf SnowflakeConnectorProfileCredentials' {..} =+    Prelude.rnf username+      `Prelude.seq` Prelude.rnf password++instance+  Data.ToJSON+    SnowflakeConnectorProfileCredentials+  where+  toJSON SnowflakeConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("username" Data..= username),+            Prelude.Just ("password" Data..= password)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SnowflakeConnectorProfileProperties.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SnowflakeConnectorProfileProperties 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 connector-specific profile properties required when using Snowflake.+--+-- /See:/ 'newSnowflakeConnectorProfileProperties' smart constructor.+data SnowflakeConnectorProfileProperties = SnowflakeConnectorProfileProperties'+  { -- | The name of the account.+    accountName :: Prelude.Maybe Prelude.Text,+    -- | The bucket path that refers to the Amazon S3 bucket associated with+    -- Snowflake.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | The Snowflake Private Link service name to be used for private data+    -- transfers.+    privateLinkServiceName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region of the Snowflake account.+    region :: Prelude.Maybe Prelude.Text,+    -- | The name of the Snowflake warehouse.+    warehouse :: Prelude.Text,+    -- | The name of the Amazon S3 stage that was created while setting up an+    -- Amazon S3 stage in the Snowflake account. This is written in the+    -- following format: \< Database>\< Schema>\<Stage Name>.+    stage :: Prelude.Text,+    -- | The name of the Amazon S3 bucket associated with Snowflake.+    bucketName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnowflakeConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountName', 'snowflakeConnectorProfileProperties_accountName' - The name of the account.+--+-- 'bucketPrefix', 'snowflakeConnectorProfileProperties_bucketPrefix' - The bucket path that refers to the Amazon S3 bucket associated with+-- Snowflake.+--+-- 'privateLinkServiceName', 'snowflakeConnectorProfileProperties_privateLinkServiceName' - The Snowflake Private Link service name to be used for private data+-- transfers.+--+-- 'region', 'snowflakeConnectorProfileProperties_region' - The Amazon Web Services Region of the Snowflake account.+--+-- 'warehouse', 'snowflakeConnectorProfileProperties_warehouse' - The name of the Snowflake warehouse.+--+-- 'stage', 'snowflakeConnectorProfileProperties_stage' - The name of the Amazon S3 stage that was created while setting up an+-- Amazon S3 stage in the Snowflake account. This is written in the+-- following format: \< Database>\< Schema>\<Stage Name>.+--+-- 'bucketName', 'snowflakeConnectorProfileProperties_bucketName' - The name of the Amazon S3 bucket associated with Snowflake.+newSnowflakeConnectorProfileProperties ::+  -- | 'warehouse'+  Prelude.Text ->+  -- | 'stage'+  Prelude.Text ->+  -- | 'bucketName'+  Prelude.Text ->+  SnowflakeConnectorProfileProperties+newSnowflakeConnectorProfileProperties+  pWarehouse_+  pStage_+  pBucketName_ =+    SnowflakeConnectorProfileProperties'+      { accountName =+          Prelude.Nothing,+        bucketPrefix = Prelude.Nothing,+        privateLinkServiceName =+          Prelude.Nothing,+        region = Prelude.Nothing,+        warehouse = pWarehouse_,+        stage = pStage_,+        bucketName = pBucketName_+      }++-- | The name of the account.+snowflakeConnectorProfileProperties_accountName :: Lens.Lens' SnowflakeConnectorProfileProperties (Prelude.Maybe Prelude.Text)+snowflakeConnectorProfileProperties_accountName = Lens.lens (\SnowflakeConnectorProfileProperties' {accountName} -> accountName) (\s@SnowflakeConnectorProfileProperties' {} a -> s {accountName = a} :: SnowflakeConnectorProfileProperties)++-- | The bucket path that refers to the Amazon S3 bucket associated with+-- Snowflake.+snowflakeConnectorProfileProperties_bucketPrefix :: Lens.Lens' SnowflakeConnectorProfileProperties (Prelude.Maybe Prelude.Text)+snowflakeConnectorProfileProperties_bucketPrefix = Lens.lens (\SnowflakeConnectorProfileProperties' {bucketPrefix} -> bucketPrefix) (\s@SnowflakeConnectorProfileProperties' {} a -> s {bucketPrefix = a} :: SnowflakeConnectorProfileProperties)++-- | The Snowflake Private Link service name to be used for private data+-- transfers.+snowflakeConnectorProfileProperties_privateLinkServiceName :: Lens.Lens' SnowflakeConnectorProfileProperties (Prelude.Maybe Prelude.Text)+snowflakeConnectorProfileProperties_privateLinkServiceName = Lens.lens (\SnowflakeConnectorProfileProperties' {privateLinkServiceName} -> privateLinkServiceName) (\s@SnowflakeConnectorProfileProperties' {} a -> s {privateLinkServiceName = a} :: SnowflakeConnectorProfileProperties)++-- | The Amazon Web Services Region of the Snowflake account.+snowflakeConnectorProfileProperties_region :: Lens.Lens' SnowflakeConnectorProfileProperties (Prelude.Maybe Prelude.Text)+snowflakeConnectorProfileProperties_region = Lens.lens (\SnowflakeConnectorProfileProperties' {region} -> region) (\s@SnowflakeConnectorProfileProperties' {} a -> s {region = a} :: SnowflakeConnectorProfileProperties)++-- | The name of the Snowflake warehouse.+snowflakeConnectorProfileProperties_warehouse :: Lens.Lens' SnowflakeConnectorProfileProperties Prelude.Text+snowflakeConnectorProfileProperties_warehouse = Lens.lens (\SnowflakeConnectorProfileProperties' {warehouse} -> warehouse) (\s@SnowflakeConnectorProfileProperties' {} a -> s {warehouse = a} :: SnowflakeConnectorProfileProperties)++-- | The name of the Amazon S3 stage that was created while setting up an+-- Amazon S3 stage in the Snowflake account. This is written in the+-- following format: \< Database>\< Schema>\<Stage Name>.+snowflakeConnectorProfileProperties_stage :: Lens.Lens' SnowflakeConnectorProfileProperties Prelude.Text+snowflakeConnectorProfileProperties_stage = Lens.lens (\SnowflakeConnectorProfileProperties' {stage} -> stage) (\s@SnowflakeConnectorProfileProperties' {} a -> s {stage = a} :: SnowflakeConnectorProfileProperties)++-- | The name of the Amazon S3 bucket associated with Snowflake.+snowflakeConnectorProfileProperties_bucketName :: Lens.Lens' SnowflakeConnectorProfileProperties Prelude.Text+snowflakeConnectorProfileProperties_bucketName = Lens.lens (\SnowflakeConnectorProfileProperties' {bucketName} -> bucketName) (\s@SnowflakeConnectorProfileProperties' {} a -> s {bucketName = a} :: SnowflakeConnectorProfileProperties)++instance+  Data.FromJSON+    SnowflakeConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "SnowflakeConnectorProfileProperties"+      ( \x ->+          SnowflakeConnectorProfileProperties'+            Prelude.<$> (x Data..:? "accountName")+            Prelude.<*> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "privateLinkServiceName")+            Prelude.<*> (x Data..:? "region")+            Prelude.<*> (x Data..: "warehouse")+            Prelude.<*> (x Data..: "stage")+            Prelude.<*> (x Data..: "bucketName")+      )++instance+  Prelude.Hashable+    SnowflakeConnectorProfileProperties+  where+  hashWithSalt+    _salt+    SnowflakeConnectorProfileProperties' {..} =+      _salt+        `Prelude.hashWithSalt` accountName+        `Prelude.hashWithSalt` bucketPrefix+        `Prelude.hashWithSalt` privateLinkServiceName+        `Prelude.hashWithSalt` region+        `Prelude.hashWithSalt` warehouse+        `Prelude.hashWithSalt` stage+        `Prelude.hashWithSalt` bucketName++instance+  Prelude.NFData+    SnowflakeConnectorProfileProperties+  where+  rnf SnowflakeConnectorProfileProperties' {..} =+    Prelude.rnf accountName+      `Prelude.seq` Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf privateLinkServiceName+      `Prelude.seq` Prelude.rnf region+      `Prelude.seq` Prelude.rnf warehouse+      `Prelude.seq` Prelude.rnf stage+      `Prelude.seq` Prelude.rnf bucketName++instance+  Data.ToJSON+    SnowflakeConnectorProfileProperties+  where+  toJSON SnowflakeConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accountName" Data..=) Prelude.<$> accountName,+            ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("privateLinkServiceName" Data..=)+              Prelude.<$> privateLinkServiceName,+            ("region" Data..=) Prelude.<$> region,+            Prelude.Just ("warehouse" Data..= warehouse),+            Prelude.Just ("stage" Data..= stage),+            Prelude.Just ("bucketName" Data..= bucketName)+          ]+      )
+ gen/Amazonka/AppFlow/Types/SnowflakeDestinationProperties.hs view
@@ -0,0 +1,162 @@+{-# 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.AppFlow.Types.SnowflakeDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SnowflakeDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+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 properties that are applied when Snowflake is being used as a+-- destination.+--+-- /See:/ 'newSnowflakeDestinationProperties' smart constructor.+data SnowflakeDestinationProperties = SnowflakeDestinationProperties'+  { -- | The object key for the destination bucket in which Amazon AppFlow places+    -- the files.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | The settings that determine how Amazon AppFlow handles an error when+    -- placing data in the Snowflake destination. For example, this setting+    -- would determine if the flow should fail after one insertion error, or+    -- continue and attempt to insert every record regardless of the initial+    -- failure. @ErrorHandlingConfig@ is a part of the destination connector+    -- details.+    errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    -- | The object specified in the Snowflake flow destination.+    object' :: Prelude.Text,+    -- | The intermediate bucket that Amazon AppFlow uses when moving data into+    -- Snowflake.+    intermediateBucketName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnowflakeDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 'snowflakeDestinationProperties_bucketPrefix' - The object key for the destination bucket in which Amazon AppFlow places+-- the files.+--+-- 'errorHandlingConfig', 'snowflakeDestinationProperties_errorHandlingConfig' - The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Snowflake destination. For example, this setting+-- would determine if the flow should fail after one insertion error, or+-- continue and attempt to insert every record regardless of the initial+-- failure. @ErrorHandlingConfig@ is a part of the destination connector+-- details.+--+-- 'object'', 'snowflakeDestinationProperties_object' - The object specified in the Snowflake flow destination.+--+-- 'intermediateBucketName', 'snowflakeDestinationProperties_intermediateBucketName' - The intermediate bucket that Amazon AppFlow uses when moving data into+-- Snowflake.+newSnowflakeDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  -- | 'intermediateBucketName'+  Prelude.Text ->+  SnowflakeDestinationProperties+newSnowflakeDestinationProperties+  pObject_+  pIntermediateBucketName_ =+    SnowflakeDestinationProperties'+      { bucketPrefix =+          Prelude.Nothing,+        errorHandlingConfig = Prelude.Nothing,+        object' = pObject_,+        intermediateBucketName =+          pIntermediateBucketName_+      }++-- | The object key for the destination bucket in which Amazon AppFlow places+-- the files.+snowflakeDestinationProperties_bucketPrefix :: Lens.Lens' SnowflakeDestinationProperties (Prelude.Maybe Prelude.Text)+snowflakeDestinationProperties_bucketPrefix = Lens.lens (\SnowflakeDestinationProperties' {bucketPrefix} -> bucketPrefix) (\s@SnowflakeDestinationProperties' {} a -> s {bucketPrefix = a} :: SnowflakeDestinationProperties)++-- | The settings that determine how Amazon AppFlow handles an error when+-- placing data in the Snowflake destination. For example, this setting+-- would determine if the flow should fail after one insertion error, or+-- continue and attempt to insert every record regardless of the initial+-- failure. @ErrorHandlingConfig@ is a part of the destination connector+-- details.+snowflakeDestinationProperties_errorHandlingConfig :: Lens.Lens' SnowflakeDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+snowflakeDestinationProperties_errorHandlingConfig = Lens.lens (\SnowflakeDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@SnowflakeDestinationProperties' {} a -> s {errorHandlingConfig = a} :: SnowflakeDestinationProperties)++-- | The object specified in the Snowflake flow destination.+snowflakeDestinationProperties_object :: Lens.Lens' SnowflakeDestinationProperties Prelude.Text+snowflakeDestinationProperties_object = Lens.lens (\SnowflakeDestinationProperties' {object'} -> object') (\s@SnowflakeDestinationProperties' {} a -> s {object' = a} :: SnowflakeDestinationProperties)++-- | The intermediate bucket that Amazon AppFlow uses when moving data into+-- Snowflake.+snowflakeDestinationProperties_intermediateBucketName :: Lens.Lens' SnowflakeDestinationProperties Prelude.Text+snowflakeDestinationProperties_intermediateBucketName = Lens.lens (\SnowflakeDestinationProperties' {intermediateBucketName} -> intermediateBucketName) (\s@SnowflakeDestinationProperties' {} a -> s {intermediateBucketName = a} :: SnowflakeDestinationProperties)++instance Data.FromJSON SnowflakeDestinationProperties where+  parseJSON =+    Data.withObject+      "SnowflakeDestinationProperties"+      ( \x ->+          SnowflakeDestinationProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..: "object")+            Prelude.<*> (x Data..: "intermediateBucketName")+      )++instance+  Prelude.Hashable+    SnowflakeDestinationProperties+  where+  hashWithSalt+    _salt+    SnowflakeDestinationProperties' {..} =+      _salt+        `Prelude.hashWithSalt` bucketPrefix+        `Prelude.hashWithSalt` errorHandlingConfig+        `Prelude.hashWithSalt` object'+        `Prelude.hashWithSalt` intermediateBucketName++instance+  Prelude.NFData+    SnowflakeDestinationProperties+  where+  rnf SnowflakeDestinationProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf object'+      `Prelude.seq` Prelude.rnf intermediateBucketName++instance Data.ToJSON SnowflakeDestinationProperties where+  toJSON SnowflakeDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            Prelude.Just ("object" Data..= object'),+            Prelude.Just+              ( "intermediateBucketName"+                  Data..= intermediateBucketName+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/SnowflakeMetadata.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SnowflakeMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SnowflakeMetadata 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 connector metadata specific to Snowflake.+--+-- /See:/ 'newSnowflakeMetadata' smart constructor.+data SnowflakeMetadata = SnowflakeMetadata'+  { -- | Specifies the supported Amazon Web Services Regions when using+    -- Snowflake.+    supportedRegions :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnowflakeMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'supportedRegions', 'snowflakeMetadata_supportedRegions' - Specifies the supported Amazon Web Services Regions when using+-- Snowflake.+newSnowflakeMetadata ::+  SnowflakeMetadata+newSnowflakeMetadata =+  SnowflakeMetadata'+    { supportedRegions =+        Prelude.Nothing+    }++-- | Specifies the supported Amazon Web Services Regions when using+-- Snowflake.+snowflakeMetadata_supportedRegions :: Lens.Lens' SnowflakeMetadata (Prelude.Maybe [Prelude.Text])+snowflakeMetadata_supportedRegions = Lens.lens (\SnowflakeMetadata' {supportedRegions} -> supportedRegions) (\s@SnowflakeMetadata' {} a -> s {supportedRegions = a} :: SnowflakeMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SnowflakeMetadata where+  parseJSON =+    Data.withObject+      "SnowflakeMetadata"+      ( \x ->+          SnowflakeMetadata'+            Prelude.<$> ( x+                            Data..:? "supportedRegions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable SnowflakeMetadata where+  hashWithSalt _salt SnowflakeMetadata' {..} =+    _salt `Prelude.hashWithSalt` supportedRegions++instance Prelude.NFData SnowflakeMetadata where+  rnf SnowflakeMetadata' {..} =+    Prelude.rnf supportedRegions
+ gen/Amazonka/AppFlow/Types/SourceConnectorProperties.hs view
@@ -0,0 +1,296 @@+{-# 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.AppFlow.Types.SourceConnectorProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SourceConnectorProperties where++import Amazonka.AppFlow.Types.AmplitudeSourceProperties+import Amazonka.AppFlow.Types.CustomConnectorSourceProperties+import Amazonka.AppFlow.Types.DatadogSourceProperties+import Amazonka.AppFlow.Types.DynatraceSourceProperties+import Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties+import Amazonka.AppFlow.Types.InforNexusSourceProperties+import Amazonka.AppFlow.Types.MarketoSourceProperties+import Amazonka.AppFlow.Types.S3SourceProperties+import Amazonka.AppFlow.Types.SAPODataSourceProperties+import Amazonka.AppFlow.Types.SalesforceSourceProperties+import Amazonka.AppFlow.Types.ServiceNowSourceProperties+import Amazonka.AppFlow.Types.SingularSourceProperties+import Amazonka.AppFlow.Types.SlackSourceProperties+import Amazonka.AppFlow.Types.TrendmicroSourceProperties+import Amazonka.AppFlow.Types.VeevaSourceProperties+import Amazonka.AppFlow.Types.ZendeskSourceProperties+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the information that is required to query a particular+-- connector.+--+-- /See:/ 'newSourceConnectorProperties' smart constructor.+data SourceConnectorProperties = SourceConnectorProperties'+  { -- | Specifies the information that is required for querying Amplitude.+    amplitude :: Prelude.Maybe AmplitudeSourceProperties,+    customConnector :: Prelude.Maybe CustomConnectorSourceProperties,+    -- | Specifies the information that is required for querying Datadog.+    datadog :: Prelude.Maybe DatadogSourceProperties,+    -- | Specifies the information that is required for querying Dynatrace.+    dynatrace :: Prelude.Maybe DynatraceSourceProperties,+    -- | Specifies the information that is required for querying Google+    -- Analytics.+    googleAnalytics :: Prelude.Maybe GoogleAnalyticsSourceProperties,+    -- | Specifies the information that is required for querying Infor Nexus.+    inforNexus :: Prelude.Maybe InforNexusSourceProperties,+    -- | Specifies the information that is required for querying Marketo.+    marketo :: Prelude.Maybe MarketoSourceProperties,+    -- | Specifies the information that is required for querying Amazon S3.+    s3 :: Prelude.Maybe S3SourceProperties,+    sAPOData :: Prelude.Maybe SAPODataSourceProperties,+    -- | Specifies the information that is required for querying Salesforce.+    salesforce :: Prelude.Maybe SalesforceSourceProperties,+    -- | Specifies the information that is required for querying ServiceNow.+    serviceNow :: Prelude.Maybe ServiceNowSourceProperties,+    -- | Specifies the information that is required for querying Singular.+    singular :: Prelude.Maybe SingularSourceProperties,+    -- | Specifies the information that is required for querying Slack.+    slack :: Prelude.Maybe SlackSourceProperties,+    -- | Specifies the information that is required for querying Trend Micro.+    trendmicro :: Prelude.Maybe TrendmicroSourceProperties,+    -- | Specifies the information that is required for querying Veeva.+    veeva :: Prelude.Maybe VeevaSourceProperties,+    -- | Specifies the information that is required for querying Zendesk.+    zendesk :: Prelude.Maybe ZendeskSourceProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceConnectorProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplitude', 'sourceConnectorProperties_amplitude' - Specifies the information that is required for querying Amplitude.+--+-- 'customConnector', 'sourceConnectorProperties_customConnector' - Undocumented member.+--+-- 'datadog', 'sourceConnectorProperties_datadog' - Specifies the information that is required for querying Datadog.+--+-- 'dynatrace', 'sourceConnectorProperties_dynatrace' - Specifies the information that is required for querying Dynatrace.+--+-- 'googleAnalytics', 'sourceConnectorProperties_googleAnalytics' - Specifies the information that is required for querying Google+-- Analytics.+--+-- 'inforNexus', 'sourceConnectorProperties_inforNexus' - Specifies the information that is required for querying Infor Nexus.+--+-- 'marketo', 'sourceConnectorProperties_marketo' - Specifies the information that is required for querying Marketo.+--+-- 's3', 'sourceConnectorProperties_s3' - Specifies the information that is required for querying Amazon S3.+--+-- 'sAPOData', 'sourceConnectorProperties_sAPOData' - Undocumented member.+--+-- 'salesforce', 'sourceConnectorProperties_salesforce' - Specifies the information that is required for querying Salesforce.+--+-- 'serviceNow', 'sourceConnectorProperties_serviceNow' - Specifies the information that is required for querying ServiceNow.+--+-- 'singular', 'sourceConnectorProperties_singular' - Specifies the information that is required for querying Singular.+--+-- 'slack', 'sourceConnectorProperties_slack' - Specifies the information that is required for querying Slack.+--+-- 'trendmicro', 'sourceConnectorProperties_trendmicro' - Specifies the information that is required for querying Trend Micro.+--+-- 'veeva', 'sourceConnectorProperties_veeva' - Specifies the information that is required for querying Veeva.+--+-- 'zendesk', 'sourceConnectorProperties_zendesk' - Specifies the information that is required for querying Zendesk.+newSourceConnectorProperties ::+  SourceConnectorProperties+newSourceConnectorProperties =+  SourceConnectorProperties'+    { amplitude =+        Prelude.Nothing,+      customConnector = Prelude.Nothing,+      datadog = Prelude.Nothing,+      dynatrace = Prelude.Nothing,+      googleAnalytics = Prelude.Nothing,+      inforNexus = Prelude.Nothing,+      marketo = Prelude.Nothing,+      s3 = Prelude.Nothing,+      sAPOData = Prelude.Nothing,+      salesforce = Prelude.Nothing,+      serviceNow = Prelude.Nothing,+      singular = Prelude.Nothing,+      slack = Prelude.Nothing,+      trendmicro = Prelude.Nothing,+      veeva = Prelude.Nothing,+      zendesk = Prelude.Nothing+    }++-- | Specifies the information that is required for querying Amplitude.+sourceConnectorProperties_amplitude :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe AmplitudeSourceProperties)+sourceConnectorProperties_amplitude = Lens.lens (\SourceConnectorProperties' {amplitude} -> amplitude) (\s@SourceConnectorProperties' {} a -> s {amplitude = a} :: SourceConnectorProperties)++-- | Undocumented member.+sourceConnectorProperties_customConnector :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe CustomConnectorSourceProperties)+sourceConnectorProperties_customConnector = Lens.lens (\SourceConnectorProperties' {customConnector} -> customConnector) (\s@SourceConnectorProperties' {} a -> s {customConnector = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Datadog.+sourceConnectorProperties_datadog :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe DatadogSourceProperties)+sourceConnectorProperties_datadog = Lens.lens (\SourceConnectorProperties' {datadog} -> datadog) (\s@SourceConnectorProperties' {} a -> s {datadog = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Dynatrace.+sourceConnectorProperties_dynatrace :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe DynatraceSourceProperties)+sourceConnectorProperties_dynatrace = Lens.lens (\SourceConnectorProperties' {dynatrace} -> dynatrace) (\s@SourceConnectorProperties' {} a -> s {dynatrace = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Google+-- Analytics.+sourceConnectorProperties_googleAnalytics :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe GoogleAnalyticsSourceProperties)+sourceConnectorProperties_googleAnalytics = Lens.lens (\SourceConnectorProperties' {googleAnalytics} -> googleAnalytics) (\s@SourceConnectorProperties' {} a -> s {googleAnalytics = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Infor Nexus.+sourceConnectorProperties_inforNexus :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe InforNexusSourceProperties)+sourceConnectorProperties_inforNexus = Lens.lens (\SourceConnectorProperties' {inforNexus} -> inforNexus) (\s@SourceConnectorProperties' {} a -> s {inforNexus = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Marketo.+sourceConnectorProperties_marketo :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe MarketoSourceProperties)+sourceConnectorProperties_marketo = Lens.lens (\SourceConnectorProperties' {marketo} -> marketo) (\s@SourceConnectorProperties' {} a -> s {marketo = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Amazon S3.+sourceConnectorProperties_s3 :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe S3SourceProperties)+sourceConnectorProperties_s3 = Lens.lens (\SourceConnectorProperties' {s3} -> s3) (\s@SourceConnectorProperties' {} a -> s {s3 = a} :: SourceConnectorProperties)++-- | Undocumented member.+sourceConnectorProperties_sAPOData :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SAPODataSourceProperties)+sourceConnectorProperties_sAPOData = Lens.lens (\SourceConnectorProperties' {sAPOData} -> sAPOData) (\s@SourceConnectorProperties' {} a -> s {sAPOData = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Salesforce.+sourceConnectorProperties_salesforce :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SalesforceSourceProperties)+sourceConnectorProperties_salesforce = Lens.lens (\SourceConnectorProperties' {salesforce} -> salesforce) (\s@SourceConnectorProperties' {} a -> s {salesforce = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying ServiceNow.+sourceConnectorProperties_serviceNow :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe ServiceNowSourceProperties)+sourceConnectorProperties_serviceNow = Lens.lens (\SourceConnectorProperties' {serviceNow} -> serviceNow) (\s@SourceConnectorProperties' {} a -> s {serviceNow = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Singular.+sourceConnectorProperties_singular :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SingularSourceProperties)+sourceConnectorProperties_singular = Lens.lens (\SourceConnectorProperties' {singular} -> singular) (\s@SourceConnectorProperties' {} a -> s {singular = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Slack.+sourceConnectorProperties_slack :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SlackSourceProperties)+sourceConnectorProperties_slack = Lens.lens (\SourceConnectorProperties' {slack} -> slack) (\s@SourceConnectorProperties' {} a -> s {slack = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Trend Micro.+sourceConnectorProperties_trendmicro :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe TrendmicroSourceProperties)+sourceConnectorProperties_trendmicro = Lens.lens (\SourceConnectorProperties' {trendmicro} -> trendmicro) (\s@SourceConnectorProperties' {} a -> s {trendmicro = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Veeva.+sourceConnectorProperties_veeva :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe VeevaSourceProperties)+sourceConnectorProperties_veeva = Lens.lens (\SourceConnectorProperties' {veeva} -> veeva) (\s@SourceConnectorProperties' {} a -> s {veeva = a} :: SourceConnectorProperties)++-- | Specifies the information that is required for querying Zendesk.+sourceConnectorProperties_zendesk :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe ZendeskSourceProperties)+sourceConnectorProperties_zendesk = Lens.lens (\SourceConnectorProperties' {zendesk} -> zendesk) (\s@SourceConnectorProperties' {} a -> s {zendesk = a} :: SourceConnectorProperties)++instance Data.FromJSON SourceConnectorProperties where+  parseJSON =+    Data.withObject+      "SourceConnectorProperties"+      ( \x ->+          SourceConnectorProperties'+            Prelude.<$> (x Data..:? "Amplitude")+            Prelude.<*> (x Data..:? "CustomConnector")+            Prelude.<*> (x Data..:? "Datadog")+            Prelude.<*> (x Data..:? "Dynatrace")+            Prelude.<*> (x Data..:? "GoogleAnalytics")+            Prelude.<*> (x Data..:? "InforNexus")+            Prelude.<*> (x Data..:? "Marketo")+            Prelude.<*> (x Data..:? "S3")+            Prelude.<*> (x Data..:? "SAPOData")+            Prelude.<*> (x Data..:? "Salesforce")+            Prelude.<*> (x Data..:? "ServiceNow")+            Prelude.<*> (x Data..:? "Singular")+            Prelude.<*> (x Data..:? "Slack")+            Prelude.<*> (x Data..:? "Trendmicro")+            Prelude.<*> (x Data..:? "Veeva")+            Prelude.<*> (x Data..:? "Zendesk")+      )++instance Prelude.Hashable SourceConnectorProperties where+  hashWithSalt _salt SourceConnectorProperties' {..} =+    _salt+      `Prelude.hashWithSalt` amplitude+      `Prelude.hashWithSalt` customConnector+      `Prelude.hashWithSalt` datadog+      `Prelude.hashWithSalt` dynatrace+      `Prelude.hashWithSalt` googleAnalytics+      `Prelude.hashWithSalt` inforNexus+      `Prelude.hashWithSalt` marketo+      `Prelude.hashWithSalt` s3+      `Prelude.hashWithSalt` sAPOData+      `Prelude.hashWithSalt` salesforce+      `Prelude.hashWithSalt` serviceNow+      `Prelude.hashWithSalt` singular+      `Prelude.hashWithSalt` slack+      `Prelude.hashWithSalt` trendmicro+      `Prelude.hashWithSalt` veeva+      `Prelude.hashWithSalt` zendesk++instance Prelude.NFData SourceConnectorProperties where+  rnf SourceConnectorProperties' {..} =+    Prelude.rnf amplitude+      `Prelude.seq` Prelude.rnf customConnector+      `Prelude.seq` Prelude.rnf datadog+      `Prelude.seq` Prelude.rnf dynatrace+      `Prelude.seq` Prelude.rnf googleAnalytics+      `Prelude.seq` Prelude.rnf inforNexus+      `Prelude.seq` Prelude.rnf marketo+      `Prelude.seq` Prelude.rnf s3+      `Prelude.seq` Prelude.rnf sAPOData+      `Prelude.seq` Prelude.rnf salesforce+      `Prelude.seq` Prelude.rnf serviceNow+      `Prelude.seq` Prelude.rnf singular+      `Prelude.seq` Prelude.rnf slack+      `Prelude.seq` Prelude.rnf trendmicro+      `Prelude.seq` Prelude.rnf veeva+      `Prelude.seq` Prelude.rnf zendesk++instance Data.ToJSON SourceConnectorProperties where+  toJSON SourceConnectorProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Amplitude" Data..=) Prelude.<$> amplitude,+            ("CustomConnector" Data..=)+              Prelude.<$> customConnector,+            ("Datadog" Data..=) Prelude.<$> datadog,+            ("Dynatrace" Data..=) Prelude.<$> dynatrace,+            ("GoogleAnalytics" Data..=)+              Prelude.<$> googleAnalytics,+            ("InforNexus" Data..=) Prelude.<$> inforNexus,+            ("Marketo" Data..=) Prelude.<$> marketo,+            ("S3" Data..=) Prelude.<$> s3,+            ("SAPOData" Data..=) Prelude.<$> sAPOData,+            ("Salesforce" Data..=) Prelude.<$> salesforce,+            ("ServiceNow" Data..=) Prelude.<$> serviceNow,+            ("Singular" Data..=) Prelude.<$> singular,+            ("Slack" Data..=) Prelude.<$> slack,+            ("Trendmicro" Data..=) Prelude.<$> trendmicro,+            ("Veeva" Data..=) Prelude.<$> veeva,+            ("Zendesk" Data..=) Prelude.<$> zendesk+          ]+      )
+ gen/Amazonka/AppFlow/Types/SourceFieldProperties.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SourceFieldProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SourceFieldProperties 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 properties that can be applied to a field when the connector is+-- being used as a source.+--+-- /See:/ 'newSourceFieldProperties' smart constructor.+data SourceFieldProperties = SourceFieldProperties'+  { -- | Indicates if the field can be queried.+    isQueryable :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether the field can be returned in a search result.+    isRetrievable :: Prelude.Maybe Prelude.Bool,+    -- | Indicates if this timestamp field can be used for incremental queries.+    isTimestampFieldForIncrementalQueries :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceFieldProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isQueryable', 'sourceFieldProperties_isQueryable' - Indicates if the field can be queried.+--+-- 'isRetrievable', 'sourceFieldProperties_isRetrievable' - Indicates whether the field can be returned in a search result.+--+-- 'isTimestampFieldForIncrementalQueries', 'sourceFieldProperties_isTimestampFieldForIncrementalQueries' - Indicates if this timestamp field can be used for incremental queries.+newSourceFieldProperties ::+  SourceFieldProperties+newSourceFieldProperties =+  SourceFieldProperties'+    { isQueryable =+        Prelude.Nothing,+      isRetrievable = Prelude.Nothing,+      isTimestampFieldForIncrementalQueries =+        Prelude.Nothing+    }++-- | Indicates if the field can be queried.+sourceFieldProperties_isQueryable :: Lens.Lens' SourceFieldProperties (Prelude.Maybe Prelude.Bool)+sourceFieldProperties_isQueryable = Lens.lens (\SourceFieldProperties' {isQueryable} -> isQueryable) (\s@SourceFieldProperties' {} a -> s {isQueryable = a} :: SourceFieldProperties)++-- | Indicates whether the field can be returned in a search result.+sourceFieldProperties_isRetrievable :: Lens.Lens' SourceFieldProperties (Prelude.Maybe Prelude.Bool)+sourceFieldProperties_isRetrievable = Lens.lens (\SourceFieldProperties' {isRetrievable} -> isRetrievable) (\s@SourceFieldProperties' {} a -> s {isRetrievable = a} :: SourceFieldProperties)++-- | Indicates if this timestamp field can be used for incremental queries.+sourceFieldProperties_isTimestampFieldForIncrementalQueries :: Lens.Lens' SourceFieldProperties (Prelude.Maybe Prelude.Bool)+sourceFieldProperties_isTimestampFieldForIncrementalQueries = Lens.lens (\SourceFieldProperties' {isTimestampFieldForIncrementalQueries} -> isTimestampFieldForIncrementalQueries) (\s@SourceFieldProperties' {} a -> s {isTimestampFieldForIncrementalQueries = a} :: SourceFieldProperties)++instance Data.FromJSON SourceFieldProperties where+  parseJSON =+    Data.withObject+      "SourceFieldProperties"+      ( \x ->+          SourceFieldProperties'+            Prelude.<$> (x Data..:? "isQueryable")+            Prelude.<*> (x Data..:? "isRetrievable")+            Prelude.<*> (x Data..:? "isTimestampFieldForIncrementalQueries")+      )++instance Prelude.Hashable SourceFieldProperties where+  hashWithSalt _salt SourceFieldProperties' {..} =+    _salt+      `Prelude.hashWithSalt` isQueryable+      `Prelude.hashWithSalt` isRetrievable+      `Prelude.hashWithSalt` isTimestampFieldForIncrementalQueries++instance Prelude.NFData SourceFieldProperties where+  rnf SourceFieldProperties' {..} =+    Prelude.rnf isQueryable+      `Prelude.seq` Prelude.rnf isRetrievable+      `Prelude.seq` Prelude.rnf isTimestampFieldForIncrementalQueries
+ gen/Amazonka/AppFlow/Types/SourceFlowConfig.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SourceFlowConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SourceFlowConfig where++import Amazonka.AppFlow.Types.ConnectorType+import Amazonka.AppFlow.Types.IncrementalPullConfig+import Amazonka.AppFlow.Types.SourceConnectorProperties+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the configuration of the source connector+-- used in the flow.+--+-- /See:/ 'newSourceFlowConfig' smart constructor.+data SourceFlowConfig = SourceFlowConfig'+  { -- | The API version of the connector when it\'s used as a source in the+    -- flow.+    apiVersion :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector profile. This name must be unique for each+    -- connector profile in the Amazon Web Services account.+    connectorProfileName :: Prelude.Maybe Prelude.Text,+    -- | Defines the configuration for a scheduled incremental data pull. If a+    -- valid configuration is provided, the fields specified in the+    -- configuration are used when querying for the incremental data pull.+    incrementalPullConfig :: Prelude.Maybe IncrementalPullConfig,+    -- | The type of connector, such as Salesforce, Amplitude, and so on.+    connectorType :: ConnectorType,+    -- | Specifies the information that is required to query a particular source+    -- connector.+    sourceConnectorProperties :: SourceConnectorProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceFlowConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiVersion', 'sourceFlowConfig_apiVersion' - The API version of the connector when it\'s used as a source in the+-- flow.+--+-- 'connectorProfileName', 'sourceFlowConfig_connectorProfileName' - The name of the connector profile. This name must be unique for each+-- connector profile in the Amazon Web Services account.+--+-- 'incrementalPullConfig', 'sourceFlowConfig_incrementalPullConfig' - Defines the configuration for a scheduled incremental data pull. If a+-- valid configuration is provided, the fields specified in the+-- configuration are used when querying for the incremental data pull.+--+-- 'connectorType', 'sourceFlowConfig_connectorType' - The type of connector, such as Salesforce, Amplitude, and so on.+--+-- 'sourceConnectorProperties', 'sourceFlowConfig_sourceConnectorProperties' - Specifies the information that is required to query a particular source+-- connector.+newSourceFlowConfig ::+  -- | 'connectorType'+  ConnectorType ->+  -- | 'sourceConnectorProperties'+  SourceConnectorProperties ->+  SourceFlowConfig+newSourceFlowConfig+  pConnectorType_+  pSourceConnectorProperties_ =+    SourceFlowConfig'+      { apiVersion = Prelude.Nothing,+        connectorProfileName = Prelude.Nothing,+        incrementalPullConfig = Prelude.Nothing,+        connectorType = pConnectorType_,+        sourceConnectorProperties =+          pSourceConnectorProperties_+      }++-- | The API version of the connector when it\'s used as a source in the+-- flow.+sourceFlowConfig_apiVersion :: Lens.Lens' SourceFlowConfig (Prelude.Maybe Prelude.Text)+sourceFlowConfig_apiVersion = Lens.lens (\SourceFlowConfig' {apiVersion} -> apiVersion) (\s@SourceFlowConfig' {} a -> s {apiVersion = a} :: SourceFlowConfig)++-- | The name of the connector profile. This name must be unique for each+-- connector profile in the Amazon Web Services account.+sourceFlowConfig_connectorProfileName :: Lens.Lens' SourceFlowConfig (Prelude.Maybe Prelude.Text)+sourceFlowConfig_connectorProfileName = Lens.lens (\SourceFlowConfig' {connectorProfileName} -> connectorProfileName) (\s@SourceFlowConfig' {} a -> s {connectorProfileName = a} :: SourceFlowConfig)++-- | Defines the configuration for a scheduled incremental data pull. If a+-- valid configuration is provided, the fields specified in the+-- configuration are used when querying for the incremental data pull.+sourceFlowConfig_incrementalPullConfig :: Lens.Lens' SourceFlowConfig (Prelude.Maybe IncrementalPullConfig)+sourceFlowConfig_incrementalPullConfig = Lens.lens (\SourceFlowConfig' {incrementalPullConfig} -> incrementalPullConfig) (\s@SourceFlowConfig' {} a -> s {incrementalPullConfig = a} :: SourceFlowConfig)++-- | The type of connector, such as Salesforce, Amplitude, and so on.+sourceFlowConfig_connectorType :: Lens.Lens' SourceFlowConfig ConnectorType+sourceFlowConfig_connectorType = Lens.lens (\SourceFlowConfig' {connectorType} -> connectorType) (\s@SourceFlowConfig' {} a -> s {connectorType = a} :: SourceFlowConfig)++-- | Specifies the information that is required to query a particular source+-- connector.+sourceFlowConfig_sourceConnectorProperties :: Lens.Lens' SourceFlowConfig SourceConnectorProperties+sourceFlowConfig_sourceConnectorProperties = Lens.lens (\SourceFlowConfig' {sourceConnectorProperties} -> sourceConnectorProperties) (\s@SourceFlowConfig' {} a -> s {sourceConnectorProperties = a} :: SourceFlowConfig)++instance Data.FromJSON SourceFlowConfig where+  parseJSON =+    Data.withObject+      "SourceFlowConfig"+      ( \x ->+          SourceFlowConfig'+            Prelude.<$> (x Data..:? "apiVersion")+            Prelude.<*> (x Data..:? "connectorProfileName")+            Prelude.<*> (x Data..:? "incrementalPullConfig")+            Prelude.<*> (x Data..: "connectorType")+            Prelude.<*> (x Data..: "sourceConnectorProperties")+      )++instance Prelude.Hashable SourceFlowConfig where+  hashWithSalt _salt SourceFlowConfig' {..} =+    _salt+      `Prelude.hashWithSalt` apiVersion+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` incrementalPullConfig+      `Prelude.hashWithSalt` connectorType+      `Prelude.hashWithSalt` sourceConnectorProperties++instance Prelude.NFData SourceFlowConfig where+  rnf SourceFlowConfig' {..} =+    Prelude.rnf apiVersion+      `Prelude.seq` Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf incrementalPullConfig+      `Prelude.seq` Prelude.rnf connectorType+      `Prelude.seq` Prelude.rnf sourceConnectorProperties++instance Data.ToJSON SourceFlowConfig where+  toJSON SourceFlowConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("apiVersion" Data..=) Prelude.<$> apiVersion,+            ("connectorProfileName" Data..=)+              Prelude.<$> connectorProfileName,+            ("incrementalPullConfig" Data..=)+              Prelude.<$> incrementalPullConfig,+            Prelude.Just ("connectorType" Data..= connectorType),+            Prelude.Just+              ( "sourceConnectorProperties"+                  Data..= sourceConnectorProperties+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/SuccessResponseHandlingConfig.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SuccessResponseHandlingConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SuccessResponseHandlingConfig 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++-- | Determines how Amazon AppFlow handles the success response that it gets+-- from the connector after placing data.+--+-- For example, this setting would determine where to write the response+-- from the destination connector upon a successful insert operation.+--+-- /See:/ 'newSuccessResponseHandlingConfig' smart constructor.+data SuccessResponseHandlingConfig = SuccessResponseHandlingConfig'+  { -- | The name of the Amazon S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon S3 bucket prefix.+    bucketPrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SuccessResponseHandlingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'successResponseHandlingConfig_bucketName' - The name of the Amazon S3 bucket.+--+-- 'bucketPrefix', 'successResponseHandlingConfig_bucketPrefix' - The Amazon S3 bucket prefix.+newSuccessResponseHandlingConfig ::+  SuccessResponseHandlingConfig+newSuccessResponseHandlingConfig =+  SuccessResponseHandlingConfig'+    { bucketName =+        Prelude.Nothing,+      bucketPrefix = Prelude.Nothing+    }++-- | The name of the Amazon S3 bucket.+successResponseHandlingConfig_bucketName :: Lens.Lens' SuccessResponseHandlingConfig (Prelude.Maybe Prelude.Text)+successResponseHandlingConfig_bucketName = Lens.lens (\SuccessResponseHandlingConfig' {bucketName} -> bucketName) (\s@SuccessResponseHandlingConfig' {} a -> s {bucketName = a} :: SuccessResponseHandlingConfig)++-- | The Amazon S3 bucket prefix.+successResponseHandlingConfig_bucketPrefix :: Lens.Lens' SuccessResponseHandlingConfig (Prelude.Maybe Prelude.Text)+successResponseHandlingConfig_bucketPrefix = Lens.lens (\SuccessResponseHandlingConfig' {bucketPrefix} -> bucketPrefix) (\s@SuccessResponseHandlingConfig' {} a -> s {bucketPrefix = a} :: SuccessResponseHandlingConfig)++instance Data.FromJSON SuccessResponseHandlingConfig where+  parseJSON =+    Data.withObject+      "SuccessResponseHandlingConfig"+      ( \x ->+          SuccessResponseHandlingConfig'+            Prelude.<$> (x Data..:? "bucketName")+            Prelude.<*> (x Data..:? "bucketPrefix")+      )++instance+  Prelude.Hashable+    SuccessResponseHandlingConfig+  where+  hashWithSalt _salt SuccessResponseHandlingConfig' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` bucketPrefix++instance Prelude.NFData SuccessResponseHandlingConfig where+  rnf SuccessResponseHandlingConfig' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf bucketPrefix++instance Data.ToJSON SuccessResponseHandlingConfig where+  toJSON SuccessResponseHandlingConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketName" Data..=) Prelude.<$> bucketName,+            ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix+          ]+      )
+ gen/Amazonka/AppFlow/Types/SupportedFieldTypeDetails.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.SupportedFieldTypeDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.SupportedFieldTypeDetails where++import Amazonka.AppFlow.Types.FieldTypeDetails+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains details regarding all the supported @FieldTypes@ and their+-- corresponding @filterOperators@ and @supportedValues@.+--+-- /See:/ 'newSupportedFieldTypeDetails' smart constructor.+data SupportedFieldTypeDetails = SupportedFieldTypeDetails'+  { -- | The initial supported version for @fieldType@. If this is later changed+    -- to a different version, v2 will be introduced.+    v1 :: FieldTypeDetails+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SupportedFieldTypeDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'v1', 'supportedFieldTypeDetails_v1' - The initial supported version for @fieldType@. If this is later changed+-- to a different version, v2 will be introduced.+newSupportedFieldTypeDetails ::+  -- | 'v1'+  FieldTypeDetails ->+  SupportedFieldTypeDetails+newSupportedFieldTypeDetails pV1_ =+  SupportedFieldTypeDetails' {v1 = pV1_}++-- | The initial supported version for @fieldType@. If this is later changed+-- to a different version, v2 will be introduced.+supportedFieldTypeDetails_v1 :: Lens.Lens' SupportedFieldTypeDetails FieldTypeDetails+supportedFieldTypeDetails_v1 = Lens.lens (\SupportedFieldTypeDetails' {v1} -> v1) (\s@SupportedFieldTypeDetails' {} a -> s {v1 = a} :: SupportedFieldTypeDetails)++instance Data.FromJSON SupportedFieldTypeDetails where+  parseJSON =+    Data.withObject+      "SupportedFieldTypeDetails"+      ( \x ->+          SupportedFieldTypeDetails'+            Prelude.<$> (x Data..: "v1")+      )++instance Prelude.Hashable SupportedFieldTypeDetails where+  hashWithSalt _salt SupportedFieldTypeDetails' {..} =+    _salt `Prelude.hashWithSalt` v1++instance Prelude.NFData SupportedFieldTypeDetails where+  rnf SupportedFieldTypeDetails' {..} = Prelude.rnf v1
+ gen/Amazonka/AppFlow/Types/Task.hs view
@@ -0,0 +1,150 @@+{-# 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.AppFlow.Types.Task+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.Task where++import Amazonka.AppFlow.Types.ConnectorOperator+import Amazonka.AppFlow.Types.OperatorPropertiesKeys+import Amazonka.AppFlow.Types.TaskType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A class for modeling different type of tasks. Task implementation varies+-- based on the @TaskType@.+--+-- /See:/ 'newTask' smart constructor.+data Task = Task'+  { -- | The operation to be performed on the provided source fields.+    connectorOperator :: Prelude.Maybe ConnectorOperator,+    -- | A field in a destination connector, or a field value against which+    -- Amazon AppFlow validates a source field.+    destinationField :: Prelude.Maybe Prelude.Text,+    -- | A map used to store task-related information. The execution service+    -- looks for particular information based on the @TaskType@.+    taskProperties :: Prelude.Maybe (Prelude.HashMap OperatorPropertiesKeys Prelude.Text),+    -- | The source fields to which a particular task is applied.+    sourceFields :: [Prelude.Text],+    -- | Specifies the particular task implementation that Amazon AppFlow+    -- performs.+    taskType :: TaskType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Task' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorOperator', 'task_connectorOperator' - The operation to be performed on the provided source fields.+--+-- 'destinationField', 'task_destinationField' - A field in a destination connector, or a field value against which+-- Amazon AppFlow validates a source field.+--+-- 'taskProperties', 'task_taskProperties' - A map used to store task-related information. The execution service+-- looks for particular information based on the @TaskType@.+--+-- 'sourceFields', 'task_sourceFields' - The source fields to which a particular task is applied.+--+-- 'taskType', 'task_taskType' - Specifies the particular task implementation that Amazon AppFlow+-- performs.+newTask ::+  -- | 'taskType'+  TaskType ->+  Task+newTask pTaskType_ =+  Task'+    { connectorOperator = Prelude.Nothing,+      destinationField = Prelude.Nothing,+      taskProperties = Prelude.Nothing,+      sourceFields = Prelude.mempty,+      taskType = pTaskType_+    }++-- | The operation to be performed on the provided source fields.+task_connectorOperator :: Lens.Lens' Task (Prelude.Maybe ConnectorOperator)+task_connectorOperator = Lens.lens (\Task' {connectorOperator} -> connectorOperator) (\s@Task' {} a -> s {connectorOperator = a} :: Task)++-- | A field in a destination connector, or a field value against which+-- Amazon AppFlow validates a source field.+task_destinationField :: Lens.Lens' Task (Prelude.Maybe Prelude.Text)+task_destinationField = Lens.lens (\Task' {destinationField} -> destinationField) (\s@Task' {} a -> s {destinationField = a} :: Task)++-- | A map used to store task-related information. The execution service+-- looks for particular information based on the @TaskType@.+task_taskProperties :: Lens.Lens' Task (Prelude.Maybe (Prelude.HashMap OperatorPropertiesKeys Prelude.Text))+task_taskProperties = Lens.lens (\Task' {taskProperties} -> taskProperties) (\s@Task' {} a -> s {taskProperties = a} :: Task) Prelude.. Lens.mapping Lens.coerced++-- | The source fields to which a particular task is applied.+task_sourceFields :: Lens.Lens' Task [Prelude.Text]+task_sourceFields = Lens.lens (\Task' {sourceFields} -> sourceFields) (\s@Task' {} a -> s {sourceFields = a} :: Task) Prelude.. Lens.coerced++-- | Specifies the particular task implementation that Amazon AppFlow+-- performs.+task_taskType :: Lens.Lens' Task TaskType+task_taskType = Lens.lens (\Task' {taskType} -> taskType) (\s@Task' {} a -> s {taskType = a} :: Task)++instance Data.FromJSON Task where+  parseJSON =+    Data.withObject+      "Task"+      ( \x ->+          Task'+            Prelude.<$> (x Data..:? "connectorOperator")+            Prelude.<*> (x Data..:? "destinationField")+            Prelude.<*> (x Data..:? "taskProperties" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "sourceFields" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "taskType")+      )++instance Prelude.Hashable Task where+  hashWithSalt _salt Task' {..} =+    _salt+      `Prelude.hashWithSalt` connectorOperator+      `Prelude.hashWithSalt` destinationField+      `Prelude.hashWithSalt` taskProperties+      `Prelude.hashWithSalt` sourceFields+      `Prelude.hashWithSalt` taskType++instance Prelude.NFData Task where+  rnf Task' {..} =+    Prelude.rnf connectorOperator+      `Prelude.seq` Prelude.rnf destinationField+      `Prelude.seq` Prelude.rnf taskProperties+      `Prelude.seq` Prelude.rnf sourceFields+      `Prelude.seq` Prelude.rnf taskType++instance Data.ToJSON Task where+  toJSON Task' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorOperator" Data..=)+              Prelude.<$> connectorOperator,+            ("destinationField" Data..=)+              Prelude.<$> destinationField,+            ("taskProperties" Data..=)+              Prelude.<$> taskProperties,+            Prelude.Just ("sourceFields" Data..= sourceFields),+            Prelude.Just ("taskType" Data..= taskType)+          ]+      )
+ gen/Amazonka/AppFlow/Types/TaskType.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TaskType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TaskType+  ( TaskType+      ( ..,+        TaskType_Arithmetic,+        TaskType_Filter,+        TaskType_Map,+        TaskType_Map_all,+        TaskType_Mask,+        TaskType_Merge,+        TaskType_Partition,+        TaskType_Passthrough,+        TaskType_Truncate,+        TaskType_Validate+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TaskType = TaskType'+  { fromTaskType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TaskType_Arithmetic :: TaskType+pattern TaskType_Arithmetic = TaskType' "Arithmetic"++pattern TaskType_Filter :: TaskType+pattern TaskType_Filter = TaskType' "Filter"++pattern TaskType_Map :: TaskType+pattern TaskType_Map = TaskType' "Map"++pattern TaskType_Map_all :: TaskType+pattern TaskType_Map_all = TaskType' "Map_all"++pattern TaskType_Mask :: TaskType+pattern TaskType_Mask = TaskType' "Mask"++pattern TaskType_Merge :: TaskType+pattern TaskType_Merge = TaskType' "Merge"++pattern TaskType_Partition :: TaskType+pattern TaskType_Partition = TaskType' "Partition"++pattern TaskType_Passthrough :: TaskType+pattern TaskType_Passthrough = TaskType' "Passthrough"++pattern TaskType_Truncate :: TaskType+pattern TaskType_Truncate = TaskType' "Truncate"++pattern TaskType_Validate :: TaskType+pattern TaskType_Validate = TaskType' "Validate"++{-# COMPLETE+  TaskType_Arithmetic,+  TaskType_Filter,+  TaskType_Map,+  TaskType_Map_all,+  TaskType_Mask,+  TaskType_Merge,+  TaskType_Partition,+  TaskType_Passthrough,+  TaskType_Truncate,+  TaskType_Validate,+  TaskType'+  #-}
+ gen/Amazonka/AppFlow/Types/TrendmicroConnectorOperator.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TrendmicroConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TrendmicroConnectorOperator+  ( TrendmicroConnectorOperator+      ( ..,+        TrendmicroConnectorOperator_ADDITION,+        TrendmicroConnectorOperator_DIVISION,+        TrendmicroConnectorOperator_EQUAL_TO,+        TrendmicroConnectorOperator_MASK_ALL,+        TrendmicroConnectorOperator_MASK_FIRST_N,+        TrendmicroConnectorOperator_MASK_LAST_N,+        TrendmicroConnectorOperator_MULTIPLICATION,+        TrendmicroConnectorOperator_NO_OP,+        TrendmicroConnectorOperator_PROJECTION,+        TrendmicroConnectorOperator_SUBTRACTION,+        TrendmicroConnectorOperator_VALIDATE_NON_NEGATIVE,+        TrendmicroConnectorOperator_VALIDATE_NON_NULL,+        TrendmicroConnectorOperator_VALIDATE_NON_ZERO,+        TrendmicroConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TrendmicroConnectorOperator = TrendmicroConnectorOperator'+  { fromTrendmicroConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TrendmicroConnectorOperator_ADDITION :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_ADDITION = TrendmicroConnectorOperator' "ADDITION"++pattern TrendmicroConnectorOperator_DIVISION :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_DIVISION = TrendmicroConnectorOperator' "DIVISION"++pattern TrendmicroConnectorOperator_EQUAL_TO :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_EQUAL_TO = TrendmicroConnectorOperator' "EQUAL_TO"++pattern TrendmicroConnectorOperator_MASK_ALL :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_MASK_ALL = TrendmicroConnectorOperator' "MASK_ALL"++pattern TrendmicroConnectorOperator_MASK_FIRST_N :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_MASK_FIRST_N = TrendmicroConnectorOperator' "MASK_FIRST_N"++pattern TrendmicroConnectorOperator_MASK_LAST_N :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_MASK_LAST_N = TrendmicroConnectorOperator' "MASK_LAST_N"++pattern TrendmicroConnectorOperator_MULTIPLICATION :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_MULTIPLICATION = TrendmicroConnectorOperator' "MULTIPLICATION"++pattern TrendmicroConnectorOperator_NO_OP :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_NO_OP = TrendmicroConnectorOperator' "NO_OP"++pattern TrendmicroConnectorOperator_PROJECTION :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_PROJECTION = TrendmicroConnectorOperator' "PROJECTION"++pattern TrendmicroConnectorOperator_SUBTRACTION :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_SUBTRACTION = TrendmicroConnectorOperator' "SUBTRACTION"++pattern TrendmicroConnectorOperator_VALIDATE_NON_NEGATIVE :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_VALIDATE_NON_NEGATIVE = TrendmicroConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern TrendmicroConnectorOperator_VALIDATE_NON_NULL :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_VALIDATE_NON_NULL = TrendmicroConnectorOperator' "VALIDATE_NON_NULL"++pattern TrendmicroConnectorOperator_VALIDATE_NON_ZERO :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_VALIDATE_NON_ZERO = TrendmicroConnectorOperator' "VALIDATE_NON_ZERO"++pattern TrendmicroConnectorOperator_VALIDATE_NUMERIC :: TrendmicroConnectorOperator+pattern TrendmicroConnectorOperator_VALIDATE_NUMERIC = TrendmicroConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  TrendmicroConnectorOperator_ADDITION,+  TrendmicroConnectorOperator_DIVISION,+  TrendmicroConnectorOperator_EQUAL_TO,+  TrendmicroConnectorOperator_MASK_ALL,+  TrendmicroConnectorOperator_MASK_FIRST_N,+  TrendmicroConnectorOperator_MASK_LAST_N,+  TrendmicroConnectorOperator_MULTIPLICATION,+  TrendmicroConnectorOperator_NO_OP,+  TrendmicroConnectorOperator_PROJECTION,+  TrendmicroConnectorOperator_SUBTRACTION,+  TrendmicroConnectorOperator_VALIDATE_NON_NEGATIVE,+  TrendmicroConnectorOperator_VALIDATE_NON_NULL,+  TrendmicroConnectorOperator_VALIDATE_NON_ZERO,+  TrendmicroConnectorOperator_VALIDATE_NUMERIC,+  TrendmicroConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/TrendmicroConnectorProfileCredentials.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TrendmicroConnectorProfileCredentials 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 connector-specific profile credentials required when using Trend+-- Micro.+--+-- /See:/ 'newTrendmicroConnectorProfileCredentials' smart constructor.+data TrendmicroConnectorProfileCredentials = TrendmicroConnectorProfileCredentials'+  { -- | The Secret Access Key portion of the credentials.+    apiSecretKey :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrendmicroConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiSecretKey', 'trendmicroConnectorProfileCredentials_apiSecretKey' - The Secret Access Key portion of the credentials.+newTrendmicroConnectorProfileCredentials ::+  -- | 'apiSecretKey'+  Prelude.Text ->+  TrendmicroConnectorProfileCredentials+newTrendmicroConnectorProfileCredentials+  pApiSecretKey_ =+    TrendmicroConnectorProfileCredentials'+      { apiSecretKey =+          Data._Sensitive+            Lens.# pApiSecretKey_+      }++-- | The Secret Access Key portion of the credentials.+trendmicroConnectorProfileCredentials_apiSecretKey :: Lens.Lens' TrendmicroConnectorProfileCredentials Prelude.Text+trendmicroConnectorProfileCredentials_apiSecretKey = Lens.lens (\TrendmicroConnectorProfileCredentials' {apiSecretKey} -> apiSecretKey) (\s@TrendmicroConnectorProfileCredentials' {} a -> s {apiSecretKey = a} :: TrendmicroConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    TrendmicroConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    TrendmicroConnectorProfileCredentials' {..} =+      _salt `Prelude.hashWithSalt` apiSecretKey++instance+  Prelude.NFData+    TrendmicroConnectorProfileCredentials+  where+  rnf TrendmicroConnectorProfileCredentials' {..} =+    Prelude.rnf apiSecretKey++instance+  Data.ToJSON+    TrendmicroConnectorProfileCredentials+  where+  toJSON TrendmicroConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("apiSecretKey" Data..= apiSecretKey)]+      )
+ gen/Amazonka/AppFlow/Types/TrendmicroConnectorProfileProperties.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TrendmicroConnectorProfileProperties 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 connector-specific profile properties required when using Trend+-- Micro.+--+-- /See:/ 'newTrendmicroConnectorProfileProperties' smart constructor.+data TrendmicroConnectorProfileProperties = TrendmicroConnectorProfileProperties'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrendmicroConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTrendmicroConnectorProfileProperties ::+  TrendmicroConnectorProfileProperties+newTrendmicroConnectorProfileProperties =+  TrendmicroConnectorProfileProperties'++instance+  Data.FromJSON+    TrendmicroConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "TrendmicroConnectorProfileProperties"+      ( \x ->+          Prelude.pure TrendmicroConnectorProfileProperties'+      )++instance+  Prelude.Hashable+    TrendmicroConnectorProfileProperties+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    TrendmicroConnectorProfileProperties+  where+  rnf _ = ()++instance+  Data.ToJSON+    TrendmicroConnectorProfileProperties+  where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AppFlow/Types/TrendmicroMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.TrendmicroMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TrendmicroMetadata 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 connector metadata specific to Trend Micro.+--+-- /See:/ 'newTrendmicroMetadata' smart constructor.+data TrendmicroMetadata = TrendmicroMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrendmicroMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTrendmicroMetadata ::+  TrendmicroMetadata+newTrendmicroMetadata = TrendmicroMetadata'++instance Data.FromJSON TrendmicroMetadata where+  parseJSON =+    Data.withObject+      "TrendmicroMetadata"+      (\x -> Prelude.pure TrendmicroMetadata')++instance Prelude.Hashable TrendmicroMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData TrendmicroMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/TrendmicroSourceProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TrendmicroSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TrendmicroSourceProperties 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 properties that are applied when using Trend Micro as a flow source.+--+-- /See:/ 'newTrendmicroSourceProperties' smart constructor.+data TrendmicroSourceProperties = TrendmicroSourceProperties'+  { -- | The object specified in the Trend Micro flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrendmicroSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'trendmicroSourceProperties_object' - The object specified in the Trend Micro flow source.+newTrendmicroSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  TrendmicroSourceProperties+newTrendmicroSourceProperties pObject_ =+  TrendmicroSourceProperties' {object' = pObject_}++-- | The object specified in the Trend Micro flow source.+trendmicroSourceProperties_object :: Lens.Lens' TrendmicroSourceProperties Prelude.Text+trendmicroSourceProperties_object = Lens.lens (\TrendmicroSourceProperties' {object'} -> object') (\s@TrendmicroSourceProperties' {} a -> s {object' = a} :: TrendmicroSourceProperties)++instance Data.FromJSON TrendmicroSourceProperties where+  parseJSON =+    Data.withObject+      "TrendmicroSourceProperties"+      ( \x ->+          TrendmicroSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable TrendmicroSourceProperties where+  hashWithSalt _salt TrendmicroSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData TrendmicroSourceProperties where+  rnf TrendmicroSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON TrendmicroSourceProperties where+  toJSON TrendmicroSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/Types/TriggerConfig.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TriggerConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TriggerConfig where++import Amazonka.AppFlow.Types.TriggerProperties+import Amazonka.AppFlow.Types.TriggerType+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 trigger settings that determine how and when Amazon AppFlow runs the+-- specified flow.+--+-- /See:/ 'newTriggerConfig' smart constructor.+data TriggerConfig = TriggerConfig'+  { -- | Specifies the configuration details of a schedule-triggered flow as+    -- defined by the user. Currently, these settings only apply to the+    -- @Scheduled@ trigger type.+    triggerProperties :: Prelude.Maybe TriggerProperties,+    -- | Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+    -- or @Event@.+    triggerType :: TriggerType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TriggerConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'triggerProperties', 'triggerConfig_triggerProperties' - Specifies the configuration details of a schedule-triggered flow as+-- defined by the user. Currently, these settings only apply to the+-- @Scheduled@ trigger type.+--+-- 'triggerType', 'triggerConfig_triggerType' - Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+-- or @Event@.+newTriggerConfig ::+  -- | 'triggerType'+  TriggerType ->+  TriggerConfig+newTriggerConfig pTriggerType_ =+  TriggerConfig'+    { triggerProperties = Prelude.Nothing,+      triggerType = pTriggerType_+    }++-- | Specifies the configuration details of a schedule-triggered flow as+-- defined by the user. Currently, these settings only apply to the+-- @Scheduled@ trigger type.+triggerConfig_triggerProperties :: Lens.Lens' TriggerConfig (Prelude.Maybe TriggerProperties)+triggerConfig_triggerProperties = Lens.lens (\TriggerConfig' {triggerProperties} -> triggerProperties) (\s@TriggerConfig' {} a -> s {triggerProperties = a} :: TriggerConfig)++-- | Specifies the type of flow trigger. This can be @OnDemand@, @Scheduled@,+-- or @Event@.+triggerConfig_triggerType :: Lens.Lens' TriggerConfig TriggerType+triggerConfig_triggerType = Lens.lens (\TriggerConfig' {triggerType} -> triggerType) (\s@TriggerConfig' {} a -> s {triggerType = a} :: TriggerConfig)++instance Data.FromJSON TriggerConfig where+  parseJSON =+    Data.withObject+      "TriggerConfig"+      ( \x ->+          TriggerConfig'+            Prelude.<$> (x Data..:? "triggerProperties")+            Prelude.<*> (x Data..: "triggerType")+      )++instance Prelude.Hashable TriggerConfig where+  hashWithSalt _salt TriggerConfig' {..} =+    _salt+      `Prelude.hashWithSalt` triggerProperties+      `Prelude.hashWithSalt` triggerType++instance Prelude.NFData TriggerConfig where+  rnf TriggerConfig' {..} =+    Prelude.rnf triggerProperties+      `Prelude.seq` Prelude.rnf triggerType++instance Data.ToJSON TriggerConfig where+  toJSON TriggerConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("triggerProperties" Data..=)+              Prelude.<$> triggerProperties,+            Prelude.Just ("triggerType" Data..= triggerType)+          ]+      )
+ gen/Amazonka/AppFlow/Types/TriggerProperties.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TriggerProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TriggerProperties where++import Amazonka.AppFlow.Types.ScheduledTriggerProperties+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration details that control the trigger for a flow.+-- Currently, these settings only apply to the @Scheduled@ trigger type.+--+-- /See:/ 'newTriggerProperties' smart constructor.+data TriggerProperties = TriggerProperties'+  { -- | Specifies the configuration details of a schedule-triggered flow as+    -- defined by the user.+    scheduled :: Prelude.Maybe ScheduledTriggerProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TriggerProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scheduled', 'triggerProperties_scheduled' - Specifies the configuration details of a schedule-triggered flow as+-- defined by the user.+newTriggerProperties ::+  TriggerProperties+newTriggerProperties =+  TriggerProperties' {scheduled = Prelude.Nothing}++-- | Specifies the configuration details of a schedule-triggered flow as+-- defined by the user.+triggerProperties_scheduled :: Lens.Lens' TriggerProperties (Prelude.Maybe ScheduledTriggerProperties)+triggerProperties_scheduled = Lens.lens (\TriggerProperties' {scheduled} -> scheduled) (\s@TriggerProperties' {} a -> s {scheduled = a} :: TriggerProperties)++instance Data.FromJSON TriggerProperties where+  parseJSON =+    Data.withObject+      "TriggerProperties"+      ( \x ->+          TriggerProperties'+            Prelude.<$> (x Data..:? "Scheduled")+      )++instance Prelude.Hashable TriggerProperties where+  hashWithSalt _salt TriggerProperties' {..} =+    _salt `Prelude.hashWithSalt` scheduled++instance Prelude.NFData TriggerProperties where+  rnf TriggerProperties' {..} = Prelude.rnf scheduled++instance Data.ToJSON TriggerProperties where+  toJSON TriggerProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Scheduled" Data..=) Prelude.<$> scheduled]+      )
+ gen/Amazonka/AppFlow/Types/TriggerType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.TriggerType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.TriggerType+  ( TriggerType+      ( ..,+        TriggerType_Event,+        TriggerType_OnDemand,+        TriggerType_Scheduled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TriggerType = TriggerType'+  { fromTriggerType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TriggerType_Event :: TriggerType+pattern TriggerType_Event = TriggerType' "Event"++pattern TriggerType_OnDemand :: TriggerType+pattern TriggerType_OnDemand = TriggerType' "OnDemand"++pattern TriggerType_Scheduled :: TriggerType+pattern TriggerType_Scheduled = TriggerType' "Scheduled"++{-# COMPLETE+  TriggerType_Event,+  TriggerType_OnDemand,+  TriggerType_Scheduled,+  TriggerType'+  #-}
+ gen/Amazonka/AppFlow/Types/UpsolverDestinationProperties.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.UpsolverDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.UpsolverDestinationProperties where++import Amazonka.AppFlow.Types.UpsolverS3OutputFormatConfig+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 properties that are applied when Upsolver is used as a destination.+--+-- /See:/ 'newUpsolverDestinationProperties' smart constructor.+data UpsolverDestinationProperties = UpsolverDestinationProperties'+  { -- | The object key for the destination Upsolver Amazon S3 bucket in which+    -- Amazon AppFlow places the files.+    bucketPrefix :: Prelude.Maybe Prelude.Text,+    -- | The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the+    -- transferred data.+    bucketName :: Prelude.Text,+    -- | The configuration that determines how data is formatted when Upsolver is+    -- used as the flow destination.+    s3OutputFormatConfig :: UpsolverS3OutputFormatConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpsolverDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketPrefix', 'upsolverDestinationProperties_bucketPrefix' - The object key for the destination Upsolver Amazon S3 bucket in which+-- Amazon AppFlow places the files.+--+-- 'bucketName', 'upsolverDestinationProperties_bucketName' - The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the+-- transferred data.+--+-- 's3OutputFormatConfig', 'upsolverDestinationProperties_s3OutputFormatConfig' - The configuration that determines how data is formatted when Upsolver is+-- used as the flow destination.+newUpsolverDestinationProperties ::+  -- | 'bucketName'+  Prelude.Text ->+  -- | 's3OutputFormatConfig'+  UpsolverS3OutputFormatConfig ->+  UpsolverDestinationProperties+newUpsolverDestinationProperties+  pBucketName_+  pS3OutputFormatConfig_ =+    UpsolverDestinationProperties'+      { bucketPrefix =+          Prelude.Nothing,+        bucketName = pBucketName_,+        s3OutputFormatConfig =+          pS3OutputFormatConfig_+      }++-- | The object key for the destination Upsolver Amazon S3 bucket in which+-- Amazon AppFlow places the files.+upsolverDestinationProperties_bucketPrefix :: Lens.Lens' UpsolverDestinationProperties (Prelude.Maybe Prelude.Text)+upsolverDestinationProperties_bucketPrefix = Lens.lens (\UpsolverDestinationProperties' {bucketPrefix} -> bucketPrefix) (\s@UpsolverDestinationProperties' {} a -> s {bucketPrefix = a} :: UpsolverDestinationProperties)++-- | The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the+-- transferred data.+upsolverDestinationProperties_bucketName :: Lens.Lens' UpsolverDestinationProperties Prelude.Text+upsolverDestinationProperties_bucketName = Lens.lens (\UpsolverDestinationProperties' {bucketName} -> bucketName) (\s@UpsolverDestinationProperties' {} a -> s {bucketName = a} :: UpsolverDestinationProperties)++-- | The configuration that determines how data is formatted when Upsolver is+-- used as the flow destination.+upsolverDestinationProperties_s3OutputFormatConfig :: Lens.Lens' UpsolverDestinationProperties UpsolverS3OutputFormatConfig+upsolverDestinationProperties_s3OutputFormatConfig = Lens.lens (\UpsolverDestinationProperties' {s3OutputFormatConfig} -> s3OutputFormatConfig) (\s@UpsolverDestinationProperties' {} a -> s {s3OutputFormatConfig = a} :: UpsolverDestinationProperties)++instance Data.FromJSON UpsolverDestinationProperties where+  parseJSON =+    Data.withObject+      "UpsolverDestinationProperties"+      ( \x ->+          UpsolverDestinationProperties'+            Prelude.<$> (x Data..:? "bucketPrefix")+            Prelude.<*> (x Data..: "bucketName")+            Prelude.<*> (x Data..: "s3OutputFormatConfig")+      )++instance+  Prelude.Hashable+    UpsolverDestinationProperties+  where+  hashWithSalt _salt UpsolverDestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` bucketPrefix+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` s3OutputFormatConfig++instance Prelude.NFData UpsolverDestinationProperties where+  rnf UpsolverDestinationProperties' {..} =+    Prelude.rnf bucketPrefix+      `Prelude.seq` Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf s3OutputFormatConfig++instance Data.ToJSON UpsolverDestinationProperties where+  toJSON UpsolverDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketPrefix" Data..=) Prelude.<$> bucketPrefix,+            Prelude.Just ("bucketName" Data..= bucketName),+            Prelude.Just+              ( "s3OutputFormatConfig"+                  Data..= s3OutputFormatConfig+              )+          ]+      )
+ gen/Amazonka/AppFlow/Types/UpsolverMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.UpsolverMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.UpsolverMetadata 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 connector metadata specific to Upsolver.+--+-- /See:/ 'newUpsolverMetadata' smart constructor.+data UpsolverMetadata = UpsolverMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpsolverMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUpsolverMetadata ::+  UpsolverMetadata+newUpsolverMetadata = UpsolverMetadata'++instance Data.FromJSON UpsolverMetadata where+  parseJSON =+    Data.withObject+      "UpsolverMetadata"+      (\x -> Prelude.pure UpsolverMetadata')++instance Prelude.Hashable UpsolverMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData UpsolverMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/UpsolverS3OutputFormatConfig.hs view
@@ -0,0 +1,118 @@+{-# 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.AppFlow.Types.UpsolverS3OutputFormatConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.UpsolverS3OutputFormatConfig where++import Amazonka.AppFlow.Types.AggregationConfig+import Amazonka.AppFlow.Types.FileType+import Amazonka.AppFlow.Types.PrefixConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration that determines how Amazon AppFlow formats the flow+-- output data when Upsolver is used as the destination.+--+-- /See:/ 'newUpsolverS3OutputFormatConfig' smart constructor.+data UpsolverS3OutputFormatConfig = UpsolverS3OutputFormatConfig'+  { aggregationConfig :: Prelude.Maybe AggregationConfig,+    -- | Indicates the file type that Amazon AppFlow places in the Upsolver+    -- Amazon S3 bucket.+    fileType :: Prelude.Maybe FileType,+    prefixConfig :: PrefixConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpsolverS3OutputFormatConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationConfig', 'upsolverS3OutputFormatConfig_aggregationConfig' - Undocumented member.+--+-- 'fileType', 'upsolverS3OutputFormatConfig_fileType' - Indicates the file type that Amazon AppFlow places in the Upsolver+-- Amazon S3 bucket.+--+-- 'prefixConfig', 'upsolverS3OutputFormatConfig_prefixConfig' - Undocumented member.+newUpsolverS3OutputFormatConfig ::+  -- | 'prefixConfig'+  PrefixConfig ->+  UpsolverS3OutputFormatConfig+newUpsolverS3OutputFormatConfig pPrefixConfig_ =+  UpsolverS3OutputFormatConfig'+    { aggregationConfig =+        Prelude.Nothing,+      fileType = Prelude.Nothing,+      prefixConfig = pPrefixConfig_+    }++-- | Undocumented member.+upsolverS3OutputFormatConfig_aggregationConfig :: Lens.Lens' UpsolverS3OutputFormatConfig (Prelude.Maybe AggregationConfig)+upsolverS3OutputFormatConfig_aggregationConfig = Lens.lens (\UpsolverS3OutputFormatConfig' {aggregationConfig} -> aggregationConfig) (\s@UpsolverS3OutputFormatConfig' {} a -> s {aggregationConfig = a} :: UpsolverS3OutputFormatConfig)++-- | Indicates the file type that Amazon AppFlow places in the Upsolver+-- Amazon S3 bucket.+upsolverS3OutputFormatConfig_fileType :: Lens.Lens' UpsolverS3OutputFormatConfig (Prelude.Maybe FileType)+upsolverS3OutputFormatConfig_fileType = Lens.lens (\UpsolverS3OutputFormatConfig' {fileType} -> fileType) (\s@UpsolverS3OutputFormatConfig' {} a -> s {fileType = a} :: UpsolverS3OutputFormatConfig)++-- | Undocumented member.+upsolverS3OutputFormatConfig_prefixConfig :: Lens.Lens' UpsolverS3OutputFormatConfig PrefixConfig+upsolverS3OutputFormatConfig_prefixConfig = Lens.lens (\UpsolverS3OutputFormatConfig' {prefixConfig} -> prefixConfig) (\s@UpsolverS3OutputFormatConfig' {} a -> s {prefixConfig = a} :: UpsolverS3OutputFormatConfig)++instance Data.FromJSON UpsolverS3OutputFormatConfig where+  parseJSON =+    Data.withObject+      "UpsolverS3OutputFormatConfig"+      ( \x ->+          UpsolverS3OutputFormatConfig'+            Prelude.<$> (x Data..:? "aggregationConfig")+            Prelude.<*> (x Data..:? "fileType")+            Prelude.<*> (x Data..: "prefixConfig")+      )++instance+  Prelude.Hashable+    UpsolverS3OutputFormatConfig+  where+  hashWithSalt _salt UpsolverS3OutputFormatConfig' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationConfig+      `Prelude.hashWithSalt` fileType+      `Prelude.hashWithSalt` prefixConfig++instance Prelude.NFData UpsolverS3OutputFormatConfig where+  rnf UpsolverS3OutputFormatConfig' {..} =+    Prelude.rnf aggregationConfig+      `Prelude.seq` Prelude.rnf fileType+      `Prelude.seq` Prelude.rnf prefixConfig++instance Data.ToJSON UpsolverS3OutputFormatConfig where+  toJSON UpsolverS3OutputFormatConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("aggregationConfig" Data..=)+              Prelude.<$> aggregationConfig,+            ("fileType" Data..=) Prelude.<$> fileType,+            Prelude.Just ("prefixConfig" Data..= prefixConfig)+          ]+      )
+ gen/Amazonka/AppFlow/Types/VeevaConnectorOperator.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.VeevaConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.VeevaConnectorOperator+  ( VeevaConnectorOperator+      ( ..,+        VeevaConnectorOperator_ADDITION,+        VeevaConnectorOperator_BETWEEN,+        VeevaConnectorOperator_CONTAINS,+        VeevaConnectorOperator_DIVISION,+        VeevaConnectorOperator_EQUAL_TO,+        VeevaConnectorOperator_GREATER_THAN,+        VeevaConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+        VeevaConnectorOperator_LESS_THAN,+        VeevaConnectorOperator_LESS_THAN_OR_EQUAL_TO,+        VeevaConnectorOperator_MASK_ALL,+        VeevaConnectorOperator_MASK_FIRST_N,+        VeevaConnectorOperator_MASK_LAST_N,+        VeevaConnectorOperator_MULTIPLICATION,+        VeevaConnectorOperator_NOT_EQUAL_TO,+        VeevaConnectorOperator_NO_OP,+        VeevaConnectorOperator_PROJECTION,+        VeevaConnectorOperator_SUBTRACTION,+        VeevaConnectorOperator_VALIDATE_NON_NEGATIVE,+        VeevaConnectorOperator_VALIDATE_NON_NULL,+        VeevaConnectorOperator_VALIDATE_NON_ZERO,+        VeevaConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VeevaConnectorOperator = VeevaConnectorOperator'+  { fromVeevaConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern VeevaConnectorOperator_ADDITION :: VeevaConnectorOperator+pattern VeevaConnectorOperator_ADDITION = VeevaConnectorOperator' "ADDITION"++pattern VeevaConnectorOperator_BETWEEN :: VeevaConnectorOperator+pattern VeevaConnectorOperator_BETWEEN = VeevaConnectorOperator' "BETWEEN"++pattern VeevaConnectorOperator_CONTAINS :: VeevaConnectorOperator+pattern VeevaConnectorOperator_CONTAINS = VeevaConnectorOperator' "CONTAINS"++pattern VeevaConnectorOperator_DIVISION :: VeevaConnectorOperator+pattern VeevaConnectorOperator_DIVISION = VeevaConnectorOperator' "DIVISION"++pattern VeevaConnectorOperator_EQUAL_TO :: VeevaConnectorOperator+pattern VeevaConnectorOperator_EQUAL_TO = VeevaConnectorOperator' "EQUAL_TO"++pattern VeevaConnectorOperator_GREATER_THAN :: VeevaConnectorOperator+pattern VeevaConnectorOperator_GREATER_THAN = VeevaConnectorOperator' "GREATER_THAN"++pattern VeevaConnectorOperator_GREATER_THAN_OR_EQUAL_TO :: VeevaConnectorOperator+pattern VeevaConnectorOperator_GREATER_THAN_OR_EQUAL_TO = VeevaConnectorOperator' "GREATER_THAN_OR_EQUAL_TO"++pattern VeevaConnectorOperator_LESS_THAN :: VeevaConnectorOperator+pattern VeevaConnectorOperator_LESS_THAN = VeevaConnectorOperator' "LESS_THAN"++pattern VeevaConnectorOperator_LESS_THAN_OR_EQUAL_TO :: VeevaConnectorOperator+pattern VeevaConnectorOperator_LESS_THAN_OR_EQUAL_TO = VeevaConnectorOperator' "LESS_THAN_OR_EQUAL_TO"++pattern VeevaConnectorOperator_MASK_ALL :: VeevaConnectorOperator+pattern VeevaConnectorOperator_MASK_ALL = VeevaConnectorOperator' "MASK_ALL"++pattern VeevaConnectorOperator_MASK_FIRST_N :: VeevaConnectorOperator+pattern VeevaConnectorOperator_MASK_FIRST_N = VeevaConnectorOperator' "MASK_FIRST_N"++pattern VeevaConnectorOperator_MASK_LAST_N :: VeevaConnectorOperator+pattern VeevaConnectorOperator_MASK_LAST_N = VeevaConnectorOperator' "MASK_LAST_N"++pattern VeevaConnectorOperator_MULTIPLICATION :: VeevaConnectorOperator+pattern VeevaConnectorOperator_MULTIPLICATION = VeevaConnectorOperator' "MULTIPLICATION"++pattern VeevaConnectorOperator_NOT_EQUAL_TO :: VeevaConnectorOperator+pattern VeevaConnectorOperator_NOT_EQUAL_TO = VeevaConnectorOperator' "NOT_EQUAL_TO"++pattern VeevaConnectorOperator_NO_OP :: VeevaConnectorOperator+pattern VeevaConnectorOperator_NO_OP = VeevaConnectorOperator' "NO_OP"++pattern VeevaConnectorOperator_PROJECTION :: VeevaConnectorOperator+pattern VeevaConnectorOperator_PROJECTION = VeevaConnectorOperator' "PROJECTION"++pattern VeevaConnectorOperator_SUBTRACTION :: VeevaConnectorOperator+pattern VeevaConnectorOperator_SUBTRACTION = VeevaConnectorOperator' "SUBTRACTION"++pattern VeevaConnectorOperator_VALIDATE_NON_NEGATIVE :: VeevaConnectorOperator+pattern VeevaConnectorOperator_VALIDATE_NON_NEGATIVE = VeevaConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern VeevaConnectorOperator_VALIDATE_NON_NULL :: VeevaConnectorOperator+pattern VeevaConnectorOperator_VALIDATE_NON_NULL = VeevaConnectorOperator' "VALIDATE_NON_NULL"++pattern VeevaConnectorOperator_VALIDATE_NON_ZERO :: VeevaConnectorOperator+pattern VeevaConnectorOperator_VALIDATE_NON_ZERO = VeevaConnectorOperator' "VALIDATE_NON_ZERO"++pattern VeevaConnectorOperator_VALIDATE_NUMERIC :: VeevaConnectorOperator+pattern VeevaConnectorOperator_VALIDATE_NUMERIC = VeevaConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  VeevaConnectorOperator_ADDITION,+  VeevaConnectorOperator_BETWEEN,+  VeevaConnectorOperator_CONTAINS,+  VeevaConnectorOperator_DIVISION,+  VeevaConnectorOperator_EQUAL_TO,+  VeevaConnectorOperator_GREATER_THAN,+  VeevaConnectorOperator_GREATER_THAN_OR_EQUAL_TO,+  VeevaConnectorOperator_LESS_THAN,+  VeevaConnectorOperator_LESS_THAN_OR_EQUAL_TO,+  VeevaConnectorOperator_MASK_ALL,+  VeevaConnectorOperator_MASK_FIRST_N,+  VeevaConnectorOperator_MASK_LAST_N,+  VeevaConnectorOperator_MULTIPLICATION,+  VeevaConnectorOperator_NOT_EQUAL_TO,+  VeevaConnectorOperator_NO_OP,+  VeevaConnectorOperator_PROJECTION,+  VeevaConnectorOperator_SUBTRACTION,+  VeevaConnectorOperator_VALIDATE_NON_NEGATIVE,+  VeevaConnectorOperator_VALIDATE_NON_NULL,+  VeevaConnectorOperator_VALIDATE_NON_ZERO,+  VeevaConnectorOperator_VALIDATE_NUMERIC,+  VeevaConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/VeevaConnectorProfileCredentials.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.VeevaConnectorProfileCredentials 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 connector-specific profile credentials required when using Veeva.+--+-- /See:/ 'newVeevaConnectorProfileCredentials' smart constructor.+data VeevaConnectorProfileCredentials = VeevaConnectorProfileCredentials'+  { -- | The name of the user.+    username :: Prelude.Text,+    -- | The password that corresponds to the user name.+    password :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VeevaConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'username', 'veevaConnectorProfileCredentials_username' - The name of the user.+--+-- 'password', 'veevaConnectorProfileCredentials_password' - The password that corresponds to the user name.+newVeevaConnectorProfileCredentials ::+  -- | 'username'+  Prelude.Text ->+  -- | 'password'+  Prelude.Text ->+  VeevaConnectorProfileCredentials+newVeevaConnectorProfileCredentials+  pUsername_+  pPassword_ =+    VeevaConnectorProfileCredentials'+      { username =+          pUsername_,+        password =+          Data._Sensitive Lens.# pPassword_+      }++-- | The name of the user.+veevaConnectorProfileCredentials_username :: Lens.Lens' VeevaConnectorProfileCredentials Prelude.Text+veevaConnectorProfileCredentials_username = Lens.lens (\VeevaConnectorProfileCredentials' {username} -> username) (\s@VeevaConnectorProfileCredentials' {} a -> s {username = a} :: VeevaConnectorProfileCredentials)++-- | The password that corresponds to the user name.+veevaConnectorProfileCredentials_password :: Lens.Lens' VeevaConnectorProfileCredentials Prelude.Text+veevaConnectorProfileCredentials_password = Lens.lens (\VeevaConnectorProfileCredentials' {password} -> password) (\s@VeevaConnectorProfileCredentials' {} a -> s {password = a} :: VeevaConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    VeevaConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    VeevaConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` username+        `Prelude.hashWithSalt` password++instance+  Prelude.NFData+    VeevaConnectorProfileCredentials+  where+  rnf VeevaConnectorProfileCredentials' {..} =+    Prelude.rnf username+      `Prelude.seq` Prelude.rnf password++instance Data.ToJSON VeevaConnectorProfileCredentials where+  toJSON VeevaConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("username" Data..= username),+            Prelude.Just ("password" Data..= password)+          ]+      )
+ gen/Amazonka/AppFlow/Types/VeevaConnectorProfileProperties.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.VeevaConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.VeevaConnectorProfileProperties 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 connector-specific profile properties required when using Veeva.+--+-- /See:/ 'newVeevaConnectorProfileProperties' smart constructor.+data VeevaConnectorProfileProperties = VeevaConnectorProfileProperties'+  { -- | The location of the Veeva resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VeevaConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'veevaConnectorProfileProperties_instanceUrl' - The location of the Veeva resource.+newVeevaConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  VeevaConnectorProfileProperties+newVeevaConnectorProfileProperties pInstanceUrl_ =+  VeevaConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Veeva resource.+veevaConnectorProfileProperties_instanceUrl :: Lens.Lens' VeevaConnectorProfileProperties Prelude.Text+veevaConnectorProfileProperties_instanceUrl = Lens.lens (\VeevaConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@VeevaConnectorProfileProperties' {} a -> s {instanceUrl = a} :: VeevaConnectorProfileProperties)++instance+  Data.FromJSON+    VeevaConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "VeevaConnectorProfileProperties"+      ( \x ->+          VeevaConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    VeevaConnectorProfileProperties+  where+  hashWithSalt+    _salt+    VeevaConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    VeevaConnectorProfileProperties+  where+  rnf VeevaConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance Data.ToJSON VeevaConnectorProfileProperties where+  toJSON VeevaConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/VeevaMetadata.hs view
@@ -0,0 +1,54 @@+{-# 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.AppFlow.Types.VeevaMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.VeevaMetadata 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 connector metadata specific to Veeva.+--+-- /See:/ 'newVeevaMetadata' smart constructor.+data VeevaMetadata = VeevaMetadata'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VeevaMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newVeevaMetadata ::+  VeevaMetadata+newVeevaMetadata = VeevaMetadata'++instance Data.FromJSON VeevaMetadata where+  parseJSON =+    Data.withObject+      "VeevaMetadata"+      (\x -> Prelude.pure VeevaMetadata')++instance Prelude.Hashable VeevaMetadata where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData VeevaMetadata where+  rnf _ = ()
+ gen/Amazonka/AppFlow/Types/VeevaSourceProperties.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.AppFlow.Types.VeevaSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.VeevaSourceProperties 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 properties that are applied when using Veeva as a flow source.+--+-- /See:/ 'newVeevaSourceProperties' smart constructor.+data VeevaSourceProperties = VeevaSourceProperties'+  { -- | The document type specified in the Veeva document extract flow.+    documentType :: Prelude.Maybe Prelude.Text,+    -- | Boolean value to include All Versions of files in Veeva document extract+    -- flow.+    includeAllVersions :: Prelude.Maybe Prelude.Bool,+    -- | Boolean value to include file renditions in Veeva document extract flow.+    includeRenditions :: Prelude.Maybe Prelude.Bool,+    -- | Boolean value to include source files in Veeva document extract flow.+    includeSourceFiles :: Prelude.Maybe Prelude.Bool,+    -- | The object specified in the Veeva flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VeevaSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'documentType', 'veevaSourceProperties_documentType' - The document type specified in the Veeva document extract flow.+--+-- 'includeAllVersions', 'veevaSourceProperties_includeAllVersions' - Boolean value to include All Versions of files in Veeva document extract+-- flow.+--+-- 'includeRenditions', 'veevaSourceProperties_includeRenditions' - Boolean value to include file renditions in Veeva document extract flow.+--+-- 'includeSourceFiles', 'veevaSourceProperties_includeSourceFiles' - Boolean value to include source files in Veeva document extract flow.+--+-- 'object'', 'veevaSourceProperties_object' - The object specified in the Veeva flow source.+newVeevaSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  VeevaSourceProperties+newVeevaSourceProperties pObject_ =+  VeevaSourceProperties'+    { documentType =+        Prelude.Nothing,+      includeAllVersions = Prelude.Nothing,+      includeRenditions = Prelude.Nothing,+      includeSourceFiles = Prelude.Nothing,+      object' = pObject_+    }++-- | The document type specified in the Veeva document extract flow.+veevaSourceProperties_documentType :: Lens.Lens' VeevaSourceProperties (Prelude.Maybe Prelude.Text)+veevaSourceProperties_documentType = Lens.lens (\VeevaSourceProperties' {documentType} -> documentType) (\s@VeevaSourceProperties' {} a -> s {documentType = a} :: VeevaSourceProperties)++-- | Boolean value to include All Versions of files in Veeva document extract+-- flow.+veevaSourceProperties_includeAllVersions :: Lens.Lens' VeevaSourceProperties (Prelude.Maybe Prelude.Bool)+veevaSourceProperties_includeAllVersions = Lens.lens (\VeevaSourceProperties' {includeAllVersions} -> includeAllVersions) (\s@VeevaSourceProperties' {} a -> s {includeAllVersions = a} :: VeevaSourceProperties)++-- | Boolean value to include file renditions in Veeva document extract flow.+veevaSourceProperties_includeRenditions :: Lens.Lens' VeevaSourceProperties (Prelude.Maybe Prelude.Bool)+veevaSourceProperties_includeRenditions = Lens.lens (\VeevaSourceProperties' {includeRenditions} -> includeRenditions) (\s@VeevaSourceProperties' {} a -> s {includeRenditions = a} :: VeevaSourceProperties)++-- | Boolean value to include source files in Veeva document extract flow.+veevaSourceProperties_includeSourceFiles :: Lens.Lens' VeevaSourceProperties (Prelude.Maybe Prelude.Bool)+veevaSourceProperties_includeSourceFiles = Lens.lens (\VeevaSourceProperties' {includeSourceFiles} -> includeSourceFiles) (\s@VeevaSourceProperties' {} a -> s {includeSourceFiles = a} :: VeevaSourceProperties)++-- | The object specified in the Veeva flow source.+veevaSourceProperties_object :: Lens.Lens' VeevaSourceProperties Prelude.Text+veevaSourceProperties_object = Lens.lens (\VeevaSourceProperties' {object'} -> object') (\s@VeevaSourceProperties' {} a -> s {object' = a} :: VeevaSourceProperties)++instance Data.FromJSON VeevaSourceProperties where+  parseJSON =+    Data.withObject+      "VeevaSourceProperties"+      ( \x ->+          VeevaSourceProperties'+            Prelude.<$> (x Data..:? "documentType")+            Prelude.<*> (x Data..:? "includeAllVersions")+            Prelude.<*> (x Data..:? "includeRenditions")+            Prelude.<*> (x Data..:? "includeSourceFiles")+            Prelude.<*> (x Data..: "object")+      )++instance Prelude.Hashable VeevaSourceProperties where+  hashWithSalt _salt VeevaSourceProperties' {..} =+    _salt+      `Prelude.hashWithSalt` documentType+      `Prelude.hashWithSalt` includeAllVersions+      `Prelude.hashWithSalt` includeRenditions+      `Prelude.hashWithSalt` includeSourceFiles+      `Prelude.hashWithSalt` object'++instance Prelude.NFData VeevaSourceProperties where+  rnf VeevaSourceProperties' {..} =+    Prelude.rnf documentType+      `Prelude.seq` Prelude.rnf includeAllVersions+      `Prelude.seq` Prelude.rnf includeRenditions+      `Prelude.seq` Prelude.rnf includeSourceFiles+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON VeevaSourceProperties where+  toJSON VeevaSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("documentType" Data..=) Prelude.<$> documentType,+            ("includeAllVersions" Data..=)+              Prelude.<$> includeAllVersions,+            ("includeRenditions" Data..=)+              Prelude.<$> includeRenditions,+            ("includeSourceFiles" Data..=)+              Prelude.<$> includeSourceFiles,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/WriteOperationType.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.WriteOperationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.WriteOperationType+  ( WriteOperationType+      ( ..,+        WriteOperationType_DELETE,+        WriteOperationType_INSERT,+        WriteOperationType_UPDATE,+        WriteOperationType_UPSERT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The possible write operations in the destination connector. When this+-- value is not provided, this defaults to the @INSERT@ operation.+newtype WriteOperationType = WriteOperationType'+  { fromWriteOperationType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern WriteOperationType_DELETE :: WriteOperationType+pattern WriteOperationType_DELETE = WriteOperationType' "DELETE"++pattern WriteOperationType_INSERT :: WriteOperationType+pattern WriteOperationType_INSERT = WriteOperationType' "INSERT"++pattern WriteOperationType_UPDATE :: WriteOperationType+pattern WriteOperationType_UPDATE = WriteOperationType' "UPDATE"++pattern WriteOperationType_UPSERT :: WriteOperationType+pattern WriteOperationType_UPSERT = WriteOperationType' "UPSERT"++{-# COMPLETE+  WriteOperationType_DELETE,+  WriteOperationType_INSERT,+  WriteOperationType_UPDATE,+  WriteOperationType_UPSERT,+  WriteOperationType'+  #-}
+ gen/Amazonka/AppFlow/Types/ZendeskConnectorOperator.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ZendeskConnectorOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskConnectorOperator+  ( ZendeskConnectorOperator+      ( ..,+        ZendeskConnectorOperator_ADDITION,+        ZendeskConnectorOperator_DIVISION,+        ZendeskConnectorOperator_GREATER_THAN,+        ZendeskConnectorOperator_MASK_ALL,+        ZendeskConnectorOperator_MASK_FIRST_N,+        ZendeskConnectorOperator_MASK_LAST_N,+        ZendeskConnectorOperator_MULTIPLICATION,+        ZendeskConnectorOperator_NO_OP,+        ZendeskConnectorOperator_PROJECTION,+        ZendeskConnectorOperator_SUBTRACTION,+        ZendeskConnectorOperator_VALIDATE_NON_NEGATIVE,+        ZendeskConnectorOperator_VALIDATE_NON_NULL,+        ZendeskConnectorOperator_VALIDATE_NON_ZERO,+        ZendeskConnectorOperator_VALIDATE_NUMERIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ZendeskConnectorOperator = ZendeskConnectorOperator'+  { fromZendeskConnectorOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ZendeskConnectorOperator_ADDITION :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_ADDITION = ZendeskConnectorOperator' "ADDITION"++pattern ZendeskConnectorOperator_DIVISION :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_DIVISION = ZendeskConnectorOperator' "DIVISION"++pattern ZendeskConnectorOperator_GREATER_THAN :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_GREATER_THAN = ZendeskConnectorOperator' "GREATER_THAN"++pattern ZendeskConnectorOperator_MASK_ALL :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_MASK_ALL = ZendeskConnectorOperator' "MASK_ALL"++pattern ZendeskConnectorOperator_MASK_FIRST_N :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_MASK_FIRST_N = ZendeskConnectorOperator' "MASK_FIRST_N"++pattern ZendeskConnectorOperator_MASK_LAST_N :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_MASK_LAST_N = ZendeskConnectorOperator' "MASK_LAST_N"++pattern ZendeskConnectorOperator_MULTIPLICATION :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_MULTIPLICATION = ZendeskConnectorOperator' "MULTIPLICATION"++pattern ZendeskConnectorOperator_NO_OP :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_NO_OP = ZendeskConnectorOperator' "NO_OP"++pattern ZendeskConnectorOperator_PROJECTION :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_PROJECTION = ZendeskConnectorOperator' "PROJECTION"++pattern ZendeskConnectorOperator_SUBTRACTION :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_SUBTRACTION = ZendeskConnectorOperator' "SUBTRACTION"++pattern ZendeskConnectorOperator_VALIDATE_NON_NEGATIVE :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_VALIDATE_NON_NEGATIVE = ZendeskConnectorOperator' "VALIDATE_NON_NEGATIVE"++pattern ZendeskConnectorOperator_VALIDATE_NON_NULL :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_VALIDATE_NON_NULL = ZendeskConnectorOperator' "VALIDATE_NON_NULL"++pattern ZendeskConnectorOperator_VALIDATE_NON_ZERO :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_VALIDATE_NON_ZERO = ZendeskConnectorOperator' "VALIDATE_NON_ZERO"++pattern ZendeskConnectorOperator_VALIDATE_NUMERIC :: ZendeskConnectorOperator+pattern ZendeskConnectorOperator_VALIDATE_NUMERIC = ZendeskConnectorOperator' "VALIDATE_NUMERIC"++{-# COMPLETE+  ZendeskConnectorOperator_ADDITION,+  ZendeskConnectorOperator_DIVISION,+  ZendeskConnectorOperator_GREATER_THAN,+  ZendeskConnectorOperator_MASK_ALL,+  ZendeskConnectorOperator_MASK_FIRST_N,+  ZendeskConnectorOperator_MASK_LAST_N,+  ZendeskConnectorOperator_MULTIPLICATION,+  ZendeskConnectorOperator_NO_OP,+  ZendeskConnectorOperator_PROJECTION,+  ZendeskConnectorOperator_SUBTRACTION,+  ZendeskConnectorOperator_VALIDATE_NON_NEGATIVE,+  ZendeskConnectorOperator_VALIDATE_NON_NULL,+  ZendeskConnectorOperator_VALIDATE_NON_ZERO,+  ZendeskConnectorOperator_VALIDATE_NUMERIC,+  ZendeskConnectorOperator'+  #-}
+ gen/Amazonka/AppFlow/Types/ZendeskConnectorProfileCredentials.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.AppFlow.Types.ZendeskConnectorProfileCredentials+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskConnectorProfileCredentials where++import Amazonka.AppFlow.Types.ConnectorOAuthRequest+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 connector-specific profile credentials required when using Zendesk.+--+-- /See:/ 'newZendeskConnectorProfileCredentials' smart constructor.+data ZendeskConnectorProfileCredentials = ZendeskConnectorProfileCredentials'+  { -- | The credentials used to access protected Zendesk resources.+    accessToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The OAuth requirement needed to request security tokens from the+    -- connector endpoint.+    oAuthRequest :: Prelude.Maybe ConnectorOAuthRequest,+    -- | The identifier for the desired client.+    clientId :: Prelude.Text,+    -- | The client secret used by the OAuth client to authenticate to the+    -- authorization server.+    clientSecret :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZendeskConnectorProfileCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessToken', 'zendeskConnectorProfileCredentials_accessToken' - The credentials used to access protected Zendesk resources.+--+-- 'oAuthRequest', 'zendeskConnectorProfileCredentials_oAuthRequest' - The OAuth requirement needed to request security tokens from the+-- connector endpoint.+--+-- 'clientId', 'zendeskConnectorProfileCredentials_clientId' - The identifier for the desired client.+--+-- 'clientSecret', 'zendeskConnectorProfileCredentials_clientSecret' - The client secret used by the OAuth client to authenticate to the+-- authorization server.+newZendeskConnectorProfileCredentials ::+  -- | 'clientId'+  Prelude.Text ->+  -- | 'clientSecret'+  Prelude.Text ->+  ZendeskConnectorProfileCredentials+newZendeskConnectorProfileCredentials+  pClientId_+  pClientSecret_ =+    ZendeskConnectorProfileCredentials'+      { accessToken =+          Prelude.Nothing,+        oAuthRequest = Prelude.Nothing,+        clientId = pClientId_,+        clientSecret =+          Data._Sensitive Lens.# pClientSecret_+      }++-- | The credentials used to access protected Zendesk resources.+zendeskConnectorProfileCredentials_accessToken :: Lens.Lens' ZendeskConnectorProfileCredentials (Prelude.Maybe Prelude.Text)+zendeskConnectorProfileCredentials_accessToken = Lens.lens (\ZendeskConnectorProfileCredentials' {accessToken} -> accessToken) (\s@ZendeskConnectorProfileCredentials' {} a -> s {accessToken = a} :: ZendeskConnectorProfileCredentials) Prelude.. Lens.mapping Data._Sensitive++-- | The OAuth requirement needed to request security tokens from the+-- connector endpoint.+zendeskConnectorProfileCredentials_oAuthRequest :: Lens.Lens' ZendeskConnectorProfileCredentials (Prelude.Maybe ConnectorOAuthRequest)+zendeskConnectorProfileCredentials_oAuthRequest = Lens.lens (\ZendeskConnectorProfileCredentials' {oAuthRequest} -> oAuthRequest) (\s@ZendeskConnectorProfileCredentials' {} a -> s {oAuthRequest = a} :: ZendeskConnectorProfileCredentials)++-- | The identifier for the desired client.+zendeskConnectorProfileCredentials_clientId :: Lens.Lens' ZendeskConnectorProfileCredentials Prelude.Text+zendeskConnectorProfileCredentials_clientId = Lens.lens (\ZendeskConnectorProfileCredentials' {clientId} -> clientId) (\s@ZendeskConnectorProfileCredentials' {} a -> s {clientId = a} :: ZendeskConnectorProfileCredentials)++-- | The client secret used by the OAuth client to authenticate to the+-- authorization server.+zendeskConnectorProfileCredentials_clientSecret :: Lens.Lens' ZendeskConnectorProfileCredentials Prelude.Text+zendeskConnectorProfileCredentials_clientSecret = Lens.lens (\ZendeskConnectorProfileCredentials' {clientSecret} -> clientSecret) (\s@ZendeskConnectorProfileCredentials' {} a -> s {clientSecret = a} :: ZendeskConnectorProfileCredentials) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    ZendeskConnectorProfileCredentials+  where+  hashWithSalt+    _salt+    ZendeskConnectorProfileCredentials' {..} =+      _salt+        `Prelude.hashWithSalt` accessToken+        `Prelude.hashWithSalt` oAuthRequest+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` clientSecret++instance+  Prelude.NFData+    ZendeskConnectorProfileCredentials+  where+  rnf ZendeskConnectorProfileCredentials' {..} =+    Prelude.rnf accessToken+      `Prelude.seq` Prelude.rnf oAuthRequest+      `Prelude.seq` Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance+  Data.ToJSON+    ZendeskConnectorProfileCredentials+  where+  toJSON ZendeskConnectorProfileCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("accessToken" Data..=) Prelude.<$> accessToken,+            ("oAuthRequest" Data..=) Prelude.<$> oAuthRequest,+            Prelude.Just ("clientId" Data..= clientId),+            Prelude.Just ("clientSecret" Data..= clientSecret)+          ]+      )
+ gen/Amazonka/AppFlow/Types/ZendeskConnectorProfileProperties.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskConnectorProfileProperties 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 connector-specific profile properties required when using Zendesk.+--+-- /See:/ 'newZendeskConnectorProfileProperties' smart constructor.+data ZendeskConnectorProfileProperties = ZendeskConnectorProfileProperties'+  { -- | The location of the Zendesk resource.+    instanceUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZendeskConnectorProfileProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceUrl', 'zendeskConnectorProfileProperties_instanceUrl' - The location of the Zendesk resource.+newZendeskConnectorProfileProperties ::+  -- | 'instanceUrl'+  Prelude.Text ->+  ZendeskConnectorProfileProperties+newZendeskConnectorProfileProperties pInstanceUrl_ =+  ZendeskConnectorProfileProperties'+    { instanceUrl =+        pInstanceUrl_+    }++-- | The location of the Zendesk resource.+zendeskConnectorProfileProperties_instanceUrl :: Lens.Lens' ZendeskConnectorProfileProperties Prelude.Text+zendeskConnectorProfileProperties_instanceUrl = Lens.lens (\ZendeskConnectorProfileProperties' {instanceUrl} -> instanceUrl) (\s@ZendeskConnectorProfileProperties' {} a -> s {instanceUrl = a} :: ZendeskConnectorProfileProperties)++instance+  Data.FromJSON+    ZendeskConnectorProfileProperties+  where+  parseJSON =+    Data.withObject+      "ZendeskConnectorProfileProperties"+      ( \x ->+          ZendeskConnectorProfileProperties'+            Prelude.<$> (x Data..: "instanceUrl")+      )++instance+  Prelude.Hashable+    ZendeskConnectorProfileProperties+  where+  hashWithSalt+    _salt+    ZendeskConnectorProfileProperties' {..} =+      _salt `Prelude.hashWithSalt` instanceUrl++instance+  Prelude.NFData+    ZendeskConnectorProfileProperties+  where+  rnf ZendeskConnectorProfileProperties' {..} =+    Prelude.rnf instanceUrl++instance+  Data.ToJSON+    ZendeskConnectorProfileProperties+  where+  toJSON ZendeskConnectorProfileProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("instanceUrl" Data..= instanceUrl)]+      )
+ gen/Amazonka/AppFlow/Types/ZendeskDestinationProperties.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ZendeskDestinationProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskDestinationProperties where++import Amazonka.AppFlow.Types.ErrorHandlingConfig+import Amazonka.AppFlow.Types.WriteOperationType+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 properties that are applied when Zendesk is used as a destination.+--+-- /See:/ 'newZendeskDestinationProperties' smart constructor.+data ZendeskDestinationProperties = ZendeskDestinationProperties'+  { errorHandlingConfig :: Prelude.Maybe ErrorHandlingConfig,+    idFieldNames :: Prelude.Maybe [Prelude.Text],+    writeOperationType :: Prelude.Maybe WriteOperationType,+    -- | The object specified in the Zendesk flow destination.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZendeskDestinationProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorHandlingConfig', 'zendeskDestinationProperties_errorHandlingConfig' - Undocumented member.+--+-- 'idFieldNames', 'zendeskDestinationProperties_idFieldNames' - Undocumented member.+--+-- 'writeOperationType', 'zendeskDestinationProperties_writeOperationType' - Undocumented member.+--+-- 'object'', 'zendeskDestinationProperties_object' - The object specified in the Zendesk flow destination.+newZendeskDestinationProperties ::+  -- | 'object''+  Prelude.Text ->+  ZendeskDestinationProperties+newZendeskDestinationProperties pObject_ =+  ZendeskDestinationProperties'+    { errorHandlingConfig =+        Prelude.Nothing,+      idFieldNames = Prelude.Nothing,+      writeOperationType = Prelude.Nothing,+      object' = pObject_+    }++-- | Undocumented member.+zendeskDestinationProperties_errorHandlingConfig :: Lens.Lens' ZendeskDestinationProperties (Prelude.Maybe ErrorHandlingConfig)+zendeskDestinationProperties_errorHandlingConfig = Lens.lens (\ZendeskDestinationProperties' {errorHandlingConfig} -> errorHandlingConfig) (\s@ZendeskDestinationProperties' {} a -> s {errorHandlingConfig = a} :: ZendeskDestinationProperties)++-- | Undocumented member.+zendeskDestinationProperties_idFieldNames :: Lens.Lens' ZendeskDestinationProperties (Prelude.Maybe [Prelude.Text])+zendeskDestinationProperties_idFieldNames = Lens.lens (\ZendeskDestinationProperties' {idFieldNames} -> idFieldNames) (\s@ZendeskDestinationProperties' {} a -> s {idFieldNames = a} :: ZendeskDestinationProperties) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+zendeskDestinationProperties_writeOperationType :: Lens.Lens' ZendeskDestinationProperties (Prelude.Maybe WriteOperationType)+zendeskDestinationProperties_writeOperationType = Lens.lens (\ZendeskDestinationProperties' {writeOperationType} -> writeOperationType) (\s@ZendeskDestinationProperties' {} a -> s {writeOperationType = a} :: ZendeskDestinationProperties)++-- | The object specified in the Zendesk flow destination.+zendeskDestinationProperties_object :: Lens.Lens' ZendeskDestinationProperties Prelude.Text+zendeskDestinationProperties_object = Lens.lens (\ZendeskDestinationProperties' {object'} -> object') (\s@ZendeskDestinationProperties' {} a -> s {object' = a} :: ZendeskDestinationProperties)++instance Data.FromJSON ZendeskDestinationProperties where+  parseJSON =+    Data.withObject+      "ZendeskDestinationProperties"+      ( \x ->+          ZendeskDestinationProperties'+            Prelude.<$> (x Data..:? "errorHandlingConfig")+            Prelude.<*> (x Data..:? "idFieldNames" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "writeOperationType")+            Prelude.<*> (x Data..: "object")+      )++instance+  Prelude.Hashable+    ZendeskDestinationProperties+  where+  hashWithSalt _salt ZendeskDestinationProperties' {..} =+    _salt+      `Prelude.hashWithSalt` errorHandlingConfig+      `Prelude.hashWithSalt` idFieldNames+      `Prelude.hashWithSalt` writeOperationType+      `Prelude.hashWithSalt` object'++instance Prelude.NFData ZendeskDestinationProperties where+  rnf ZendeskDestinationProperties' {..} =+    Prelude.rnf errorHandlingConfig+      `Prelude.seq` Prelude.rnf idFieldNames+      `Prelude.seq` Prelude.rnf writeOperationType+      `Prelude.seq` Prelude.rnf object'++instance Data.ToJSON ZendeskDestinationProperties where+  toJSON ZendeskDestinationProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("errorHandlingConfig" Data..=)+              Prelude.<$> errorHandlingConfig,+            ("idFieldNames" Data..=) Prelude.<$> idFieldNames,+            ("writeOperationType" Data..=)+              Prelude.<$> writeOperationType,+            Prelude.Just ("object" Data..= object')+          ]+      )
+ gen/Amazonka/AppFlow/Types/ZendeskMetadata.hs view
@@ -0,0 +1,68 @@+{-# 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.AppFlow.Types.ZendeskMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskMetadata 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 connector metadata specific to Zendesk.+--+-- /See:/ 'newZendeskMetadata' smart constructor.+data ZendeskMetadata = ZendeskMetadata'+  { -- | The desired authorization scope for the Zendesk account.+    oAuthScopes :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZendeskMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oAuthScopes', 'zendeskMetadata_oAuthScopes' - The desired authorization scope for the Zendesk account.+newZendeskMetadata ::+  ZendeskMetadata+newZendeskMetadata =+  ZendeskMetadata' {oAuthScopes = Prelude.Nothing}++-- | The desired authorization scope for the Zendesk account.+zendeskMetadata_oAuthScopes :: Lens.Lens' ZendeskMetadata (Prelude.Maybe [Prelude.Text])+zendeskMetadata_oAuthScopes = Lens.lens (\ZendeskMetadata' {oAuthScopes} -> oAuthScopes) (\s@ZendeskMetadata' {} a -> s {oAuthScopes = a} :: ZendeskMetadata) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ZendeskMetadata where+  parseJSON =+    Data.withObject+      "ZendeskMetadata"+      ( \x ->+          ZendeskMetadata'+            Prelude.<$> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ZendeskMetadata where+  hashWithSalt _salt ZendeskMetadata' {..} =+    _salt `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData ZendeskMetadata where+  rnf ZendeskMetadata' {..} = Prelude.rnf oAuthScopes
+ gen/Amazonka/AppFlow/Types/ZendeskSourceProperties.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.Types.ZendeskSourceProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppFlow.Types.ZendeskSourceProperties 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 properties that are applied when using Zendesk as a flow source.+--+-- /See:/ 'newZendeskSourceProperties' smart constructor.+data ZendeskSourceProperties = ZendeskSourceProperties'+  { -- | The object specified in the Zendesk flow source.+    object' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZendeskSourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'object'', 'zendeskSourceProperties_object' - The object specified in the Zendesk flow source.+newZendeskSourceProperties ::+  -- | 'object''+  Prelude.Text ->+  ZendeskSourceProperties+newZendeskSourceProperties pObject_ =+  ZendeskSourceProperties' {object' = pObject_}++-- | The object specified in the Zendesk flow source.+zendeskSourceProperties_object :: Lens.Lens' ZendeskSourceProperties Prelude.Text+zendeskSourceProperties_object = Lens.lens (\ZendeskSourceProperties' {object'} -> object') (\s@ZendeskSourceProperties' {} a -> s {object' = a} :: ZendeskSourceProperties)++instance Data.FromJSON ZendeskSourceProperties where+  parseJSON =+    Data.withObject+      "ZendeskSourceProperties"+      ( \x ->+          ZendeskSourceProperties'+            Prelude.<$> (x Data..: "object")+      )++instance Prelude.Hashable ZendeskSourceProperties where+  hashWithSalt _salt ZendeskSourceProperties' {..} =+    _salt `Prelude.hashWithSalt` object'++instance Prelude.NFData ZendeskSourceProperties where+  rnf ZendeskSourceProperties' {..} =+    Prelude.rnf object'++instance Data.ToJSON ZendeskSourceProperties where+  toJSON ZendeskSourceProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("object" Data..= object')]+      )
+ gen/Amazonka/AppFlow/UnregisterConnector.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AppFlow.UnregisterConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Unregisters the custom connector registered in your account that matches+-- the connector label provided in the request.+module Amazonka.AppFlow.UnregisterConnector+  ( -- * Creating a Request+    UnregisterConnector (..),+    newUnregisterConnector,++    -- * Request Lenses+    unregisterConnector_forceDelete,+    unregisterConnector_connectorLabel,++    -- * Destructuring the Response+    UnregisterConnectorResponse (..),+    newUnregisterConnectorResponse,++    -- * Response Lenses+    unregisterConnectorResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newUnregisterConnector' smart constructor.+data UnregisterConnector = UnregisterConnector'+  { -- | Indicates whether Amazon AppFlow should unregister the connector, even+    -- if it is currently in use in one or more connector profiles. The default+    -- value is false.+    forceDelete :: Prelude.Maybe Prelude.Bool,+    -- | The label of the connector. The label is unique for each+    -- @ConnectorRegistration@ in your Amazon Web Services account.+    connectorLabel :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnregisterConnector' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceDelete', 'unregisterConnector_forceDelete' - Indicates whether Amazon AppFlow should unregister the connector, even+-- if it is currently in use in one or more connector profiles. The default+-- value is false.+--+-- 'connectorLabel', 'unregisterConnector_connectorLabel' - The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account.+newUnregisterConnector ::+  -- | 'connectorLabel'+  Prelude.Text ->+  UnregisterConnector+newUnregisterConnector pConnectorLabel_ =+  UnregisterConnector'+    { forceDelete = Prelude.Nothing,+      connectorLabel = pConnectorLabel_+    }++-- | Indicates whether Amazon AppFlow should unregister the connector, even+-- if it is currently in use in one or more connector profiles. The default+-- value is false.+unregisterConnector_forceDelete :: Lens.Lens' UnregisterConnector (Prelude.Maybe Prelude.Bool)+unregisterConnector_forceDelete = Lens.lens (\UnregisterConnector' {forceDelete} -> forceDelete) (\s@UnregisterConnector' {} a -> s {forceDelete = a} :: UnregisterConnector)++-- | The label of the connector. The label is unique for each+-- @ConnectorRegistration@ in your Amazon Web Services account.+unregisterConnector_connectorLabel :: Lens.Lens' UnregisterConnector Prelude.Text+unregisterConnector_connectorLabel = Lens.lens (\UnregisterConnector' {connectorLabel} -> connectorLabel) (\s@UnregisterConnector' {} a -> s {connectorLabel = a} :: UnregisterConnector)++instance Core.AWSRequest UnregisterConnector where+  type+    AWSResponse UnregisterConnector =+      UnregisterConnectorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UnregisterConnectorResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UnregisterConnector where+  hashWithSalt _salt UnregisterConnector' {..} =+    _salt+      `Prelude.hashWithSalt` forceDelete+      `Prelude.hashWithSalt` connectorLabel++instance Prelude.NFData UnregisterConnector where+  rnf UnregisterConnector' {..} =+    Prelude.rnf forceDelete+      `Prelude.seq` Prelude.rnf connectorLabel++instance Data.ToHeaders UnregisterConnector where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UnregisterConnector where+  toJSON UnregisterConnector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("forceDelete" Data..=) Prelude.<$> forceDelete,+            Prelude.Just+              ("connectorLabel" Data..= connectorLabel)+          ]+      )++instance Data.ToPath UnregisterConnector where+  toPath = Prelude.const "/unregister-connector"++instance Data.ToQuery UnregisterConnector where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUnregisterConnectorResponse' smart constructor.+data UnregisterConnectorResponse = UnregisterConnectorResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnregisterConnectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'unregisterConnectorResponse_httpStatus' - The response's http status code.+newUnregisterConnectorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UnregisterConnectorResponse+newUnregisterConnectorResponse pHttpStatus_ =+  UnregisterConnectorResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+unregisterConnectorResponse_httpStatus :: Lens.Lens' UnregisterConnectorResponse Prelude.Int+unregisterConnectorResponse_httpStatus = Lens.lens (\UnregisterConnectorResponse' {httpStatus} -> httpStatus) (\s@UnregisterConnectorResponse' {} a -> s {httpStatus = a} :: UnregisterConnectorResponse)++instance Prelude.NFData UnregisterConnectorResponse where+  rnf UnregisterConnectorResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/UntagResource.hs view
@@ -0,0 +1,164 @@+{-# 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.AppFlow.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 a tag from the specified flow.+module Amazonka.AppFlow.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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 flow that you want to untag.+    resourceArn :: Prelude.Text,+    -- | The tag keys associated with the tag that you want to remove from your+    -- flow.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the flow that you want to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys associated with the tag that you want to remove from your+-- flow.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the flow that you want to untag.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys associated with the tag that you want to remove from your+-- flow.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/UpdateConnectorProfile.hs view
@@ -0,0 +1,216 @@+{-# 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.AppFlow.UpdateConnectorProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a given connector profile associated with your account.+module Amazonka.AppFlow.UpdateConnectorProfile+  ( -- * Creating a Request+    UpdateConnectorProfile (..),+    newUpdateConnectorProfile,++    -- * Request Lenses+    updateConnectorProfile_connectorProfileName,+    updateConnectorProfile_connectionMode,+    updateConnectorProfile_connectorProfileConfig,++    -- * Destructuring the Response+    UpdateConnectorProfileResponse (..),+    newUpdateConnectorProfileResponse,++    -- * Response Lenses+    updateConnectorProfileResponse_connectorProfileArn,+    updateConnectorProfileResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newUpdateConnectorProfile' smart constructor.+data UpdateConnectorProfile = UpdateConnectorProfile'+  { -- | The name of the connector profile and is unique for each+    -- @ConnectorProfile@ in the Amazon Web Services account.+    connectorProfileName :: Prelude.Text,+    -- | Indicates the connection mode and if it is public or private.+    connectionMode :: ConnectionMode,+    -- | Defines the connector-specific profile configuration and credentials.+    connectorProfileConfig :: ConnectorProfileConfig+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnectorProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProfileName', 'updateConnectorProfile_connectorProfileName' - The name of the connector profile and is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+--+-- 'connectionMode', 'updateConnectorProfile_connectionMode' - Indicates the connection mode and if it is public or private.+--+-- 'connectorProfileConfig', 'updateConnectorProfile_connectorProfileConfig' - Defines the connector-specific profile configuration and credentials.+newUpdateConnectorProfile ::+  -- | 'connectorProfileName'+  Prelude.Text ->+  -- | 'connectionMode'+  ConnectionMode ->+  -- | 'connectorProfileConfig'+  ConnectorProfileConfig ->+  UpdateConnectorProfile+newUpdateConnectorProfile+  pConnectorProfileName_+  pConnectionMode_+  pConnectorProfileConfig_ =+    UpdateConnectorProfile'+      { connectorProfileName =+          pConnectorProfileName_,+        connectionMode = pConnectionMode_,+        connectorProfileConfig = pConnectorProfileConfig_+      }++-- | The name of the connector profile and is unique for each+-- @ConnectorProfile@ in the Amazon Web Services account.+updateConnectorProfile_connectorProfileName :: Lens.Lens' UpdateConnectorProfile Prelude.Text+updateConnectorProfile_connectorProfileName = Lens.lens (\UpdateConnectorProfile' {connectorProfileName} -> connectorProfileName) (\s@UpdateConnectorProfile' {} a -> s {connectorProfileName = a} :: UpdateConnectorProfile)++-- | Indicates the connection mode and if it is public or private.+updateConnectorProfile_connectionMode :: Lens.Lens' UpdateConnectorProfile ConnectionMode+updateConnectorProfile_connectionMode = Lens.lens (\UpdateConnectorProfile' {connectionMode} -> connectionMode) (\s@UpdateConnectorProfile' {} a -> s {connectionMode = a} :: UpdateConnectorProfile)++-- | Defines the connector-specific profile configuration and credentials.+updateConnectorProfile_connectorProfileConfig :: Lens.Lens' UpdateConnectorProfile ConnectorProfileConfig+updateConnectorProfile_connectorProfileConfig = Lens.lens (\UpdateConnectorProfile' {connectorProfileConfig} -> connectorProfileConfig) (\s@UpdateConnectorProfile' {} a -> s {connectorProfileConfig = a} :: UpdateConnectorProfile)++instance Core.AWSRequest UpdateConnectorProfile where+  type+    AWSResponse UpdateConnectorProfile =+      UpdateConnectorProfileResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateConnectorProfileResponse'+            Prelude.<$> (x Data..?> "connectorProfileArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateConnectorProfile where+  hashWithSalt _salt UpdateConnectorProfile' {..} =+    _salt+      `Prelude.hashWithSalt` connectorProfileName+      `Prelude.hashWithSalt` connectionMode+      `Prelude.hashWithSalt` connectorProfileConfig++instance Prelude.NFData UpdateConnectorProfile where+  rnf UpdateConnectorProfile' {..} =+    Prelude.rnf connectorProfileName+      `Prelude.seq` Prelude.rnf connectionMode+      `Prelude.seq` Prelude.rnf connectorProfileConfig++instance Data.ToHeaders UpdateConnectorProfile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateConnectorProfile where+  toJSON UpdateConnectorProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "connectorProfileName"+                  Data..= connectorProfileName+              ),+            Prelude.Just+              ("connectionMode" Data..= connectionMode),+            Prelude.Just+              ( "connectorProfileConfig"+                  Data..= connectorProfileConfig+              )+          ]+      )++instance Data.ToPath UpdateConnectorProfile where+  toPath = Prelude.const "/update-connector-profile"++instance Data.ToQuery UpdateConnectorProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateConnectorProfileResponse' smart constructor.+data UpdateConnectorProfileResponse = UpdateConnectorProfileResponse'+  { -- | The Amazon Resource Name (ARN) of the connector profile.+    connectorProfileArn :: 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 'UpdateConnectorProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProfileArn', 'updateConnectorProfileResponse_connectorProfileArn' - The Amazon Resource Name (ARN) of the connector profile.+--+-- 'httpStatus', 'updateConnectorProfileResponse_httpStatus' - The response's http status code.+newUpdateConnectorProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateConnectorProfileResponse+newUpdateConnectorProfileResponse pHttpStatus_ =+  UpdateConnectorProfileResponse'+    { connectorProfileArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the connector profile.+updateConnectorProfileResponse_connectorProfileArn :: Lens.Lens' UpdateConnectorProfileResponse (Prelude.Maybe Prelude.Text)+updateConnectorProfileResponse_connectorProfileArn = Lens.lens (\UpdateConnectorProfileResponse' {connectorProfileArn} -> connectorProfileArn) (\s@UpdateConnectorProfileResponse' {} a -> s {connectorProfileArn = a} :: UpdateConnectorProfileResponse)++-- | The response's http status code.+updateConnectorProfileResponse_httpStatus :: Lens.Lens' UpdateConnectorProfileResponse Prelude.Int+updateConnectorProfileResponse_httpStatus = Lens.lens (\UpdateConnectorProfileResponse' {httpStatus} -> httpStatus) (\s@UpdateConnectorProfileResponse' {} a -> s {httpStatus = a} :: UpdateConnectorProfileResponse)++instance+  Prelude.NFData+    UpdateConnectorProfileResponse+  where+  rnf UpdateConnectorProfileResponse' {..} =+    Prelude.rnf connectorProfileArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/UpdateConnectorRegistration.hs view
@@ -0,0 +1,210 @@+{-# 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.AppFlow.UpdateConnectorRegistration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a custom connector that you\'ve previously registered. This+-- operation updates the connector with one of the following:+--+-- -   The latest version of the AWS Lambda function that\'s assigned to+--     the connector+--+-- -   A new AWS Lambda function that you specify+module Amazonka.AppFlow.UpdateConnectorRegistration+  ( -- * Creating a Request+    UpdateConnectorRegistration (..),+    newUpdateConnectorRegistration,++    -- * Request Lenses+    updateConnectorRegistration_connectorProvisioningConfig,+    updateConnectorRegistration_description,+    updateConnectorRegistration_connectorLabel,++    -- * Destructuring the Response+    UpdateConnectorRegistrationResponse (..),+    newUpdateConnectorRegistrationResponse,++    -- * Response Lenses+    updateConnectorRegistrationResponse_connectorArn,+    updateConnectorRegistrationResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newUpdateConnectorRegistration' smart constructor.+data UpdateConnectorRegistration = UpdateConnectorRegistration'+  { connectorProvisioningConfig :: Prelude.Maybe ConnectorProvisioningConfig,+    -- | A description about the update that you\'re applying to the connector.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the connector. The name is unique for each connector+    -- registration in your AWS account.+    connectorLabel :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnectorRegistration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorProvisioningConfig', 'updateConnectorRegistration_connectorProvisioningConfig' - Undocumented member.+--+-- 'description', 'updateConnectorRegistration_description' - A description about the update that you\'re applying to the connector.+--+-- 'connectorLabel', 'updateConnectorRegistration_connectorLabel' - The name of the connector. The name is unique for each connector+-- registration in your AWS account.+newUpdateConnectorRegistration ::+  -- | 'connectorLabel'+  Prelude.Text ->+  UpdateConnectorRegistration+newUpdateConnectorRegistration pConnectorLabel_ =+  UpdateConnectorRegistration'+    { connectorProvisioningConfig =+        Prelude.Nothing,+      description = Prelude.Nothing,+      connectorLabel = pConnectorLabel_+    }++-- | Undocumented member.+updateConnectorRegistration_connectorProvisioningConfig :: Lens.Lens' UpdateConnectorRegistration (Prelude.Maybe ConnectorProvisioningConfig)+updateConnectorRegistration_connectorProvisioningConfig = Lens.lens (\UpdateConnectorRegistration' {connectorProvisioningConfig} -> connectorProvisioningConfig) (\s@UpdateConnectorRegistration' {} a -> s {connectorProvisioningConfig = a} :: UpdateConnectorRegistration)++-- | A description about the update that you\'re applying to the connector.+updateConnectorRegistration_description :: Lens.Lens' UpdateConnectorRegistration (Prelude.Maybe Prelude.Text)+updateConnectorRegistration_description = Lens.lens (\UpdateConnectorRegistration' {description} -> description) (\s@UpdateConnectorRegistration' {} a -> s {description = a} :: UpdateConnectorRegistration)++-- | The name of the connector. The name is unique for each connector+-- registration in your AWS account.+updateConnectorRegistration_connectorLabel :: Lens.Lens' UpdateConnectorRegistration Prelude.Text+updateConnectorRegistration_connectorLabel = Lens.lens (\UpdateConnectorRegistration' {connectorLabel} -> connectorLabel) (\s@UpdateConnectorRegistration' {} a -> s {connectorLabel = a} :: UpdateConnectorRegistration)++instance Core.AWSRequest UpdateConnectorRegistration where+  type+    AWSResponse UpdateConnectorRegistration =+      UpdateConnectorRegistrationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateConnectorRegistrationResponse'+            Prelude.<$> (x Data..?> "connectorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateConnectorRegistration where+  hashWithSalt _salt UpdateConnectorRegistration' {..} =+    _salt+      `Prelude.hashWithSalt` connectorProvisioningConfig+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` connectorLabel++instance Prelude.NFData UpdateConnectorRegistration where+  rnf UpdateConnectorRegistration' {..} =+    Prelude.rnf connectorProvisioningConfig+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf connectorLabel++instance Data.ToHeaders UpdateConnectorRegistration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateConnectorRegistration where+  toJSON UpdateConnectorRegistration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("connectorProvisioningConfig" Data..=)+              Prelude.<$> connectorProvisioningConfig,+            ("description" Data..=) Prelude.<$> description,+            Prelude.Just+              ("connectorLabel" Data..= connectorLabel)+          ]+      )++instance Data.ToPath UpdateConnectorRegistration where+  toPath =+    Prelude.const "/update-connector-registration"++instance Data.ToQuery UpdateConnectorRegistration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateConnectorRegistrationResponse' smart constructor.+data UpdateConnectorRegistrationResponse = UpdateConnectorRegistrationResponse'+  { -- | The ARN of the connector being updated.+    connectorArn :: 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 'UpdateConnectorRegistrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectorArn', 'updateConnectorRegistrationResponse_connectorArn' - The ARN of the connector being updated.+--+-- 'httpStatus', 'updateConnectorRegistrationResponse_httpStatus' - The response's http status code.+newUpdateConnectorRegistrationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateConnectorRegistrationResponse+newUpdateConnectorRegistrationResponse pHttpStatus_ =+  UpdateConnectorRegistrationResponse'+    { connectorArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the connector being updated.+updateConnectorRegistrationResponse_connectorArn :: Lens.Lens' UpdateConnectorRegistrationResponse (Prelude.Maybe Prelude.Text)+updateConnectorRegistrationResponse_connectorArn = Lens.lens (\UpdateConnectorRegistrationResponse' {connectorArn} -> connectorArn) (\s@UpdateConnectorRegistrationResponse' {} a -> s {connectorArn = a} :: UpdateConnectorRegistrationResponse)++-- | The response's http status code.+updateConnectorRegistrationResponse_httpStatus :: Lens.Lens' UpdateConnectorRegistrationResponse Prelude.Int+updateConnectorRegistrationResponse_httpStatus = Lens.lens (\UpdateConnectorRegistrationResponse' {httpStatus} -> httpStatus) (\s@UpdateConnectorRegistrationResponse' {} a -> s {httpStatus = a} :: UpdateConnectorRegistrationResponse)++instance+  Prelude.NFData+    UpdateConnectorRegistrationResponse+  where+  rnf UpdateConnectorRegistrationResponse' {..} =+    Prelude.rnf connectorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/UpdateFlow.hs view
@@ -0,0 +1,270 @@+{-# 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.AppFlow.UpdateFlow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing flow.+module Amazonka.AppFlow.UpdateFlow+  ( -- * Creating a Request+    UpdateFlow (..),+    newUpdateFlow,++    -- * Request Lenses+    updateFlow_description,+    updateFlow_metadataCatalogConfig,+    updateFlow_flowName,+    updateFlow_triggerConfig,+    updateFlow_sourceFlowConfig,+    updateFlow_destinationFlowConfigList,+    updateFlow_tasks,++    -- * Destructuring the Response+    UpdateFlowResponse (..),+    newUpdateFlowResponse,++    -- * Response Lenses+    updateFlowResponse_flowStatus,+    updateFlowResponse_httpStatus,+  )+where++import Amazonka.AppFlow.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:/ 'newUpdateFlow' smart constructor.+data UpdateFlow = UpdateFlow'+  { -- | A description of the flow.+    description :: Prelude.Maybe Prelude.Text,+    -- | Specifies the configuration that Amazon AppFlow uses when it catalogs+    -- the data that\'s transferred by the associated flow. When Amazon AppFlow+    -- catalogs the data from a flow, it stores metadata in a data catalog.+    metadataCatalogConfig :: Prelude.Maybe MetadataCatalogConfig,+    -- | The specified name of the flow. Spaces are not allowed. Use underscores+    -- (_) or hyphens (-) only.+    flowName :: Prelude.Text,+    -- | The trigger settings that determine how and when the flow runs.+    triggerConfig :: TriggerConfig,+    sourceFlowConfig :: SourceFlowConfig,+    -- | The configuration that controls how Amazon AppFlow transfers data to the+    -- destination connector.+    destinationFlowConfigList :: [DestinationFlowConfig],+    -- | A list of tasks that Amazon AppFlow performs while transferring the data+    -- in the flow run.+    tasks :: [Task]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateFlow_description' - A description of the flow.+--+-- 'metadataCatalogConfig', 'updateFlow_metadataCatalogConfig' - Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+--+-- 'flowName', 'updateFlow_flowName' - The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+--+-- 'triggerConfig', 'updateFlow_triggerConfig' - The trigger settings that determine how and when the flow runs.+--+-- 'sourceFlowConfig', 'updateFlow_sourceFlowConfig' - Undocumented member.+--+-- 'destinationFlowConfigList', 'updateFlow_destinationFlowConfigList' - The configuration that controls how Amazon AppFlow transfers data to the+-- destination connector.+--+-- 'tasks', 'updateFlow_tasks' - A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+newUpdateFlow ::+  -- | 'flowName'+  Prelude.Text ->+  -- | 'triggerConfig'+  TriggerConfig ->+  -- | 'sourceFlowConfig'+  SourceFlowConfig ->+  UpdateFlow+newUpdateFlow+  pFlowName_+  pTriggerConfig_+  pSourceFlowConfig_ =+    UpdateFlow'+      { description = Prelude.Nothing,+        metadataCatalogConfig = Prelude.Nothing,+        flowName = pFlowName_,+        triggerConfig = pTriggerConfig_,+        sourceFlowConfig = pSourceFlowConfig_,+        destinationFlowConfigList = Prelude.mempty,+        tasks = Prelude.mempty+      }++-- | A description of the flow.+updateFlow_description :: Lens.Lens' UpdateFlow (Prelude.Maybe Prelude.Text)+updateFlow_description = Lens.lens (\UpdateFlow' {description} -> description) (\s@UpdateFlow' {} a -> s {description = a} :: UpdateFlow)++-- | Specifies the configuration that Amazon AppFlow uses when it catalogs+-- the data that\'s transferred by the associated flow. When Amazon AppFlow+-- catalogs the data from a flow, it stores metadata in a data catalog.+updateFlow_metadataCatalogConfig :: Lens.Lens' UpdateFlow (Prelude.Maybe MetadataCatalogConfig)+updateFlow_metadataCatalogConfig = Lens.lens (\UpdateFlow' {metadataCatalogConfig} -> metadataCatalogConfig) (\s@UpdateFlow' {} a -> s {metadataCatalogConfig = a} :: UpdateFlow)++-- | The specified name of the flow. Spaces are not allowed. Use underscores+-- (_) or hyphens (-) only.+updateFlow_flowName :: Lens.Lens' UpdateFlow Prelude.Text+updateFlow_flowName = Lens.lens (\UpdateFlow' {flowName} -> flowName) (\s@UpdateFlow' {} a -> s {flowName = a} :: UpdateFlow)++-- | The trigger settings that determine how and when the flow runs.+updateFlow_triggerConfig :: Lens.Lens' UpdateFlow TriggerConfig+updateFlow_triggerConfig = Lens.lens (\UpdateFlow' {triggerConfig} -> triggerConfig) (\s@UpdateFlow' {} a -> s {triggerConfig = a} :: UpdateFlow)++-- | Undocumented member.+updateFlow_sourceFlowConfig :: Lens.Lens' UpdateFlow SourceFlowConfig+updateFlow_sourceFlowConfig = Lens.lens (\UpdateFlow' {sourceFlowConfig} -> sourceFlowConfig) (\s@UpdateFlow' {} a -> s {sourceFlowConfig = a} :: UpdateFlow)++-- | The configuration that controls how Amazon AppFlow transfers data to the+-- destination connector.+updateFlow_destinationFlowConfigList :: Lens.Lens' UpdateFlow [DestinationFlowConfig]+updateFlow_destinationFlowConfigList = Lens.lens (\UpdateFlow' {destinationFlowConfigList} -> destinationFlowConfigList) (\s@UpdateFlow' {} a -> s {destinationFlowConfigList = a} :: UpdateFlow) Prelude.. Lens.coerced++-- | A list of tasks that Amazon AppFlow performs while transferring the data+-- in the flow run.+updateFlow_tasks :: Lens.Lens' UpdateFlow [Task]+updateFlow_tasks = Lens.lens (\UpdateFlow' {tasks} -> tasks) (\s@UpdateFlow' {} a -> s {tasks = a} :: UpdateFlow) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateFlow where+  type AWSResponse UpdateFlow = UpdateFlowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateFlowResponse'+            Prelude.<$> (x Data..?> "flowStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateFlow where+  hashWithSalt _salt UpdateFlow' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` metadataCatalogConfig+      `Prelude.hashWithSalt` flowName+      `Prelude.hashWithSalt` triggerConfig+      `Prelude.hashWithSalt` sourceFlowConfig+      `Prelude.hashWithSalt` destinationFlowConfigList+      `Prelude.hashWithSalt` tasks++instance Prelude.NFData UpdateFlow where+  rnf UpdateFlow' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf metadataCatalogConfig+      `Prelude.seq` Prelude.rnf flowName+      `Prelude.seq` Prelude.rnf triggerConfig+      `Prelude.seq` Prelude.rnf sourceFlowConfig+      `Prelude.seq` Prelude.rnf destinationFlowConfigList+      `Prelude.seq` Prelude.rnf tasks++instance Data.ToHeaders UpdateFlow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateFlow where+  toJSON UpdateFlow' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("metadataCatalogConfig" Data..=)+              Prelude.<$> metadataCatalogConfig,+            Prelude.Just ("flowName" Data..= flowName),+            Prelude.Just ("triggerConfig" Data..= triggerConfig),+            Prelude.Just+              ("sourceFlowConfig" Data..= sourceFlowConfig),+            Prelude.Just+              ( "destinationFlowConfigList"+                  Data..= destinationFlowConfigList+              ),+            Prelude.Just ("tasks" Data..= tasks)+          ]+      )++instance Data.ToPath UpdateFlow where+  toPath = Prelude.const "/update-flow"++instance Data.ToQuery UpdateFlow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowResponse' smart constructor.+data UpdateFlowResponse = UpdateFlowResponse'+  { -- | Indicates the current status of the flow.+    flowStatus :: Prelude.Maybe FlowStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowStatus', 'updateFlowResponse_flowStatus' - Indicates the current status of the flow.+--+-- 'httpStatus', 'updateFlowResponse_httpStatus' - The response's http status code.+newUpdateFlowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateFlowResponse+newUpdateFlowResponse pHttpStatus_ =+  UpdateFlowResponse'+    { flowStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates the current status of the flow.+updateFlowResponse_flowStatus :: Lens.Lens' UpdateFlowResponse (Prelude.Maybe FlowStatus)+updateFlowResponse_flowStatus = Lens.lens (\UpdateFlowResponse' {flowStatus} -> flowStatus) (\s@UpdateFlowResponse' {} a -> s {flowStatus = a} :: UpdateFlowResponse)++-- | The response's http status code.+updateFlowResponse_httpStatus :: Lens.Lens' UpdateFlowResponse Prelude.Int+updateFlowResponse_httpStatus = Lens.lens (\UpdateFlowResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowResponse' {} a -> s {httpStatus = a} :: UpdateFlowResponse)++instance Prelude.NFData UpdateFlowResponse where+  rnf UpdateFlowResponse' {..} =+    Prelude.rnf flowStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppFlow/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.AppFlow.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.AppFlow.Waiters where++import Amazonka.AppFlow.Lens+import Amazonka.AppFlow.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.AppFlow+import Test.Amazonka.AppFlow.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "AppFlow"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/AppFlow.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.AppFlow+-- Copyright   : (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.AppFlow+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AppFlow/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.AppFlow.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.AppFlow.Internal where
+ test/Test/Amazonka/Gen/AppFlow.hs view
@@ -0,0 +1,498 @@+{-# 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.AppFlow+-- Copyright   : (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.AppFlow where++import Amazonka.AppFlow+import qualified Data.Proxy as Proxy+import Test.Amazonka.AppFlow.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"+--         [ requestCreateConnectorProfile $+--             newCreateConnectorProfile+--+--         , requestCreateFlow $+--             newCreateFlow+--+--         , requestDeleteConnectorProfile $+--             newDeleteConnectorProfile+--+--         , requestDeleteFlow $+--             newDeleteFlow+--+--         , requestDescribeConnector $+--             newDescribeConnector+--+--         , requestDescribeConnectorEntity $+--             newDescribeConnectorEntity+--+--         , requestDescribeConnectorProfiles $+--             newDescribeConnectorProfiles+--+--         , requestDescribeConnectors $+--             newDescribeConnectors+--+--         , requestDescribeFlow $+--             newDescribeFlow+--+--         , requestDescribeFlowExecutionRecords $+--             newDescribeFlowExecutionRecords+--+--         , requestListConnectorEntities $+--             newListConnectorEntities+--+--         , requestListConnectors $+--             newListConnectors+--+--         , requestListFlows $+--             newListFlows+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestRegisterConnector $+--             newRegisterConnector+--+--         , requestStartFlow $+--             newStartFlow+--+--         , requestStopFlow $+--             newStopFlow+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUnregisterConnector $+--             newUnregisterConnector+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateConnectorProfile $+--             newUpdateConnectorProfile+--+--         , requestUpdateConnectorRegistration $+--             newUpdateConnectorRegistration+--+--         , requestUpdateFlow $+--             newUpdateFlow+--+--           ]++--     , testGroup "response"+--         [ responseCreateConnectorProfile $+--             newCreateConnectorProfileResponse+--+--         , responseCreateFlow $+--             newCreateFlowResponse+--+--         , responseDeleteConnectorProfile $+--             newDeleteConnectorProfileResponse+--+--         , responseDeleteFlow $+--             newDeleteFlowResponse+--+--         , responseDescribeConnector $+--             newDescribeConnectorResponse+--+--         , responseDescribeConnectorEntity $+--             newDescribeConnectorEntityResponse+--+--         , responseDescribeConnectorProfiles $+--             newDescribeConnectorProfilesResponse+--+--         , responseDescribeConnectors $+--             newDescribeConnectorsResponse+--+--         , responseDescribeFlow $+--             newDescribeFlowResponse+--+--         , responseDescribeFlowExecutionRecords $+--             newDescribeFlowExecutionRecordsResponse+--+--         , responseListConnectorEntities $+--             newListConnectorEntitiesResponse+--+--         , responseListConnectors $+--             newListConnectorsResponse+--+--         , responseListFlows $+--             newListFlowsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseRegisterConnector $+--             newRegisterConnectorResponse+--+--         , responseStartFlow $+--             newStartFlowResponse+--+--         , responseStopFlow $+--             newStopFlowResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUnregisterConnector $+--             newUnregisterConnectorResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateConnectorProfile $+--             newUpdateConnectorProfileResponse+--+--         , responseUpdateConnectorRegistration $+--             newUpdateConnectorRegistrationResponse+--+--         , responseUpdateFlow $+--             newUpdateFlowResponse+--+--           ]+--     ]++-- Requests++requestCreateConnectorProfile :: CreateConnectorProfile -> TestTree+requestCreateConnectorProfile =+  req+    "CreateConnectorProfile"+    "fixture/CreateConnectorProfile.yaml"++requestCreateFlow :: CreateFlow -> TestTree+requestCreateFlow =+  req+    "CreateFlow"+    "fixture/CreateFlow.yaml"++requestDeleteConnectorProfile :: DeleteConnectorProfile -> TestTree+requestDeleteConnectorProfile =+  req+    "DeleteConnectorProfile"+    "fixture/DeleteConnectorProfile.yaml"++requestDeleteFlow :: DeleteFlow -> TestTree+requestDeleteFlow =+  req+    "DeleteFlow"+    "fixture/DeleteFlow.yaml"++requestDescribeConnector :: DescribeConnector -> TestTree+requestDescribeConnector =+  req+    "DescribeConnector"+    "fixture/DescribeConnector.yaml"++requestDescribeConnectorEntity :: DescribeConnectorEntity -> TestTree+requestDescribeConnectorEntity =+  req+    "DescribeConnectorEntity"+    "fixture/DescribeConnectorEntity.yaml"++requestDescribeConnectorProfiles :: DescribeConnectorProfiles -> TestTree+requestDescribeConnectorProfiles =+  req+    "DescribeConnectorProfiles"+    "fixture/DescribeConnectorProfiles.yaml"++requestDescribeConnectors :: DescribeConnectors -> TestTree+requestDescribeConnectors =+  req+    "DescribeConnectors"+    "fixture/DescribeConnectors.yaml"++requestDescribeFlow :: DescribeFlow -> TestTree+requestDescribeFlow =+  req+    "DescribeFlow"+    "fixture/DescribeFlow.yaml"++requestDescribeFlowExecutionRecords :: DescribeFlowExecutionRecords -> TestTree+requestDescribeFlowExecutionRecords =+  req+    "DescribeFlowExecutionRecords"+    "fixture/DescribeFlowExecutionRecords.yaml"++requestListConnectorEntities :: ListConnectorEntities -> TestTree+requestListConnectorEntities =+  req+    "ListConnectorEntities"+    "fixture/ListConnectorEntities.yaml"++requestListConnectors :: ListConnectors -> TestTree+requestListConnectors =+  req+    "ListConnectors"+    "fixture/ListConnectors.yaml"++requestListFlows :: ListFlows -> TestTree+requestListFlows =+  req+    "ListFlows"+    "fixture/ListFlows.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestRegisterConnector :: RegisterConnector -> TestTree+requestRegisterConnector =+  req+    "RegisterConnector"+    "fixture/RegisterConnector.yaml"++requestStartFlow :: StartFlow -> TestTree+requestStartFlow =+  req+    "StartFlow"+    "fixture/StartFlow.yaml"++requestStopFlow :: StopFlow -> TestTree+requestStopFlow =+  req+    "StopFlow"+    "fixture/StopFlow.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUnregisterConnector :: UnregisterConnector -> TestTree+requestUnregisterConnector =+  req+    "UnregisterConnector"+    "fixture/UnregisterConnector.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateConnectorProfile :: UpdateConnectorProfile -> TestTree+requestUpdateConnectorProfile =+  req+    "UpdateConnectorProfile"+    "fixture/UpdateConnectorProfile.yaml"++requestUpdateConnectorRegistration :: UpdateConnectorRegistration -> TestTree+requestUpdateConnectorRegistration =+  req+    "UpdateConnectorRegistration"+    "fixture/UpdateConnectorRegistration.yaml"++requestUpdateFlow :: UpdateFlow -> TestTree+requestUpdateFlow =+  req+    "UpdateFlow"+    "fixture/UpdateFlow.yaml"++-- Responses++responseCreateConnectorProfile :: CreateConnectorProfileResponse -> TestTree+responseCreateConnectorProfile =+  res+    "CreateConnectorProfileResponse"+    "fixture/CreateConnectorProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnectorProfile)++responseCreateFlow :: CreateFlowResponse -> TestTree+responseCreateFlow =+  res+    "CreateFlowResponse"+    "fixture/CreateFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateFlow)++responseDeleteConnectorProfile :: DeleteConnectorProfileResponse -> TestTree+responseDeleteConnectorProfile =+  res+    "DeleteConnectorProfileResponse"+    "fixture/DeleteConnectorProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteConnectorProfile)++responseDeleteFlow :: DeleteFlowResponse -> TestTree+responseDeleteFlow =+  res+    "DeleteFlowResponse"+    "fixture/DeleteFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteFlow)++responseDescribeConnector :: DescribeConnectorResponse -> TestTree+responseDescribeConnector =+  res+    "DescribeConnectorResponse"+    "fixture/DescribeConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeConnector)++responseDescribeConnectorEntity :: DescribeConnectorEntityResponse -> TestTree+responseDescribeConnectorEntity =+  res+    "DescribeConnectorEntityResponse"+    "fixture/DescribeConnectorEntityResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeConnectorEntity)++responseDescribeConnectorProfiles :: DescribeConnectorProfilesResponse -> TestTree+responseDescribeConnectorProfiles =+  res+    "DescribeConnectorProfilesResponse"+    "fixture/DescribeConnectorProfilesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeConnectorProfiles)++responseDescribeConnectors :: DescribeConnectorsResponse -> TestTree+responseDescribeConnectors =+  res+    "DescribeConnectorsResponse"+    "fixture/DescribeConnectorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeConnectors)++responseDescribeFlow :: DescribeFlowResponse -> TestTree+responseDescribeFlow =+  res+    "DescribeFlowResponse"+    "fixture/DescribeFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeFlow)++responseDescribeFlowExecutionRecords :: DescribeFlowExecutionRecordsResponse -> TestTree+responseDescribeFlowExecutionRecords =+  res+    "DescribeFlowExecutionRecordsResponse"+    "fixture/DescribeFlowExecutionRecordsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeFlowExecutionRecords)++responseListConnectorEntities :: ListConnectorEntitiesResponse -> TestTree+responseListConnectorEntities =+  res+    "ListConnectorEntitiesResponse"+    "fixture/ListConnectorEntitiesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConnectorEntities)++responseListConnectors :: ListConnectorsResponse -> TestTree+responseListConnectors =+  res+    "ListConnectorsResponse"+    "fixture/ListConnectorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConnectors)++responseListFlows :: ListFlowsResponse -> TestTree+responseListFlows =+  res+    "ListFlowsResponse"+    "fixture/ListFlowsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListFlows)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseRegisterConnector :: RegisterConnectorResponse -> TestTree+responseRegisterConnector =+  res+    "RegisterConnectorResponse"+    "fixture/RegisterConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegisterConnector)++responseStartFlow :: StartFlowResponse -> TestTree+responseStartFlow =+  res+    "StartFlowResponse"+    "fixture/StartFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartFlow)++responseStopFlow :: StopFlowResponse -> TestTree+responseStopFlow =+  res+    "StopFlowResponse"+    "fixture/StopFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopFlow)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUnregisterConnector :: UnregisterConnectorResponse -> TestTree+responseUnregisterConnector =+  res+    "UnregisterConnectorResponse"+    "fixture/UnregisterConnectorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UnregisterConnector)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateConnectorProfile :: UpdateConnectorProfileResponse -> TestTree+responseUpdateConnectorProfile =+  res+    "UpdateConnectorProfileResponse"+    "fixture/UpdateConnectorProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateConnectorProfile)++responseUpdateConnectorRegistration :: UpdateConnectorRegistrationResponse -> TestTree+responseUpdateConnectorRegistration =+  res+    "UpdateConnectorRegistrationResponse"+    "fixture/UpdateConnectorRegistrationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateConnectorRegistration)++responseUpdateFlow :: UpdateFlowResponse -> TestTree+responseUpdateFlow =+  res+    "UpdateFlowResponse"+    "fixture/UpdateFlowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateFlow)