import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AppflowClient } from "./AppflowClient" ; import { CreateConnectorProfileCommand , CreateConnectorProfileCommandInput , CreateConnectorProfileCommandOutput , } from "./commands/CreateConnectorProfileCommand" ; import { CreateFlowCommand , CreateFlowCommandInput , CreateFlowCommandOutput } from "./commands/CreateFlowCommand" ; import { DeleteConnectorProfileCommand , DeleteConnectorProfileCommandInput , DeleteConnectorProfileCommandOutput , } from "./commands/DeleteConnectorProfileCommand" ; import { DeleteFlowCommand , DeleteFlowCommandInput , DeleteFlowCommandOutput } from "./commands/DeleteFlowCommand" ; import { DescribeConnectorEntityCommand , DescribeConnectorEntityCommandInput , DescribeConnectorEntityCommandOutput , } from "./commands/DescribeConnectorEntityCommand" ; import { DescribeConnectorProfilesCommand , DescribeConnectorProfilesCommandInput , DescribeConnectorProfilesCommandOutput , } from "./commands/DescribeConnectorProfilesCommand" ; import { DescribeConnectorsCommand , DescribeConnectorsCommandInput , DescribeConnectorsCommandOutput , } from "./commands/DescribeConnectorsCommand" ; import { DescribeFlowCommand , DescribeFlowCommandInput , DescribeFlowCommandOutput , } from "./commands/DescribeFlowCommand" ; import { DescribeFlowExecutionRecordsCommand , DescribeFlowExecutionRecordsCommandInput , DescribeFlowExecutionRecordsCommandOutput , } from "./commands/DescribeFlowExecutionRecordsCommand" ; import { ListConnectorEntitiesCommand , ListConnectorEntitiesCommandInput , ListConnectorEntitiesCommandOutput , } from "./commands/ListConnectorEntitiesCommand" ; import { ListFlowsCommand , ListFlowsCommandInput , ListFlowsCommandOutput } from "./commands/ListFlowsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { StartFlowCommand , StartFlowCommandInput , StartFlowCommandOutput } from "./commands/StartFlowCommand" ; import { StopFlowCommand , StopFlowCommandInput , StopFlowCommandOutput } from "./commands/StopFlowCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateConnectorProfileCommand , UpdateConnectorProfileCommandInput , UpdateConnectorProfileCommandOutput , } from "./commands/UpdateConnectorProfileCommand" ; import { UpdateFlowCommand , UpdateFlowCommandInput , UpdateFlowCommandOutput } from "./commands/UpdateFlowCommand" ; /**
 * <p>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. </p>
 *
 *          <p>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. </p>
 *
 *
 *
 *          <p>Use the following links to get started on the Amazon AppFlow API:</p>
 *
 *          <ul>
 *             <li>
 *                <p>
 *                   <a href="https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Operations.html">Actions</a>: An alphabetical list of all Amazon AppFlow API operations.</p>
 *             </li>
 *             <li>
 *                <p>
 *                   <a href="https://docs.aws.amazon.com/appflow/1.0/APIReference/API_Types.html">Data
 *             types</a>: An alphabetical list of all Amazon AppFlow data types.</p>
 *             </li>
 *             <li>
 *                <p>
 *                   <a href="https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonParameters.html">Common parameters</a>: Parameters that all Query operations can use.</p>
 *             </li>
 *             <li>
 *                <p>
 *                   <a href="https://docs.aws.amazon.com/appflow/1.0/APIReference/CommonErrors.html">Common
 *             errors</a>: Client and server errors that all operations can return.</p>
 *             </li>
 *          </ul>
 *
 *          <p>If you're new to Amazon AppFlow, we recommend that you review the <a href="https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html">Amazon AppFlow User
 *         Guide</a>.</p>
 *          <p>Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include
 *       applicable OAuth attributes (such as <code>auth-code</code> and <code>redirecturi</code>) with
 *       the connector-specific <code>ConnectorProfileProperties</code> when creating a new connector
 *       profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the
 *         <a href="https://help.salesforce.com/articleView?id=remoteaccess_authenticate.htm">
 *                <i>Authorize Apps with OAuth</i>
 *             </a> documentation.</p>
 */ export class Appflow extends AppflowClient { /**
     * <p> 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. </p>
     */ public createConnectorProfile ( args , options ? ) ; public createConnectorProfile ( args , cb ) ; public createConnectorProfile ( args , options , cb ) ; public createConnectorProfile ( args , optionsOrCb ? , cb ? ) { const command = new CreateConnectorProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> 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. </p>
     */ public createFlow ( args , options ? ) ; public createFlow ( args , cb ) ; public createFlow ( args , options , cb ) ; public createFlow ( args , optionsOrCb ? , cb ? ) { const command = new CreateFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Enables you to delete an existing connector profile. </p>
     */ public deleteConnectorProfile ( args , options ? ) ; public deleteConnectorProfile ( args , cb ) ; public deleteConnectorProfile ( args , options , cb ) ; public deleteConnectorProfile ( args , optionsOrCb ? , cb ? ) { const command = new DeleteConnectorProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> 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. </p>
     */ public deleteFlow ( args , options ? ) ; public deleteFlow ( args , cb ) ; public deleteFlow ( args , options , cb ) ; public deleteFlow ( args , optionsOrCb ? , cb ? ) { const command = new DeleteFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Provides details regarding the entity used with the connector, with a description of the
     *       data model for each entity. </p>
     */ public describeConnectorEntity ( args , options ? ) ; public describeConnectorEntity ( args , cb ) ; public describeConnectorEntity ( args , options , cb ) ; public describeConnectorEntity ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConnectorEntityCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Returns a list of <code>connector-profile</code> details matching the provided
     *         <code>connector-profile</code> names and <code>connector-types</code>. Both input lists are
     *       optional, and you can use them to filter the result. </p>
     *          <p>If no names or <code>connector-types</code> are provided, returns all connector profiles
     *       in a paginated form. If there is no match, this operation returns an empty list.</p>
     */ public describeConnectorProfiles ( args , options ? ) ; public describeConnectorProfiles ( args , cb ) ; public describeConnectorProfiles ( args , options , cb ) ; public describeConnectorProfiles ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConnectorProfilesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> 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 <code>nextToken</code> object, which can be be passed in to the next call to the
     *         <code>DescribeConnectors</code> API operation to retrieve the next page. </p>
     */ public describeConnectors ( args , options ? ) ; public describeConnectors ( args , cb ) ; public describeConnectors ( args , options , cb ) ; public describeConnectors ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConnectorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Provides a description of the specified flow. </p>
     */ public describeFlow ( args , options ? ) ; public describeFlow ( args , cb ) ; public describeFlow ( args , options , cb ) ; public describeFlow ( args , optionsOrCb ? , cb ? ) { const command = new DescribeFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Fetches the execution history of the flow. </p>
     */ public describeFlowExecutionRecords ( args , options ? ) ; public describeFlowExecutionRecords ( args , cb ) ; public describeFlowExecutionRecords ( args , options , cb ) ; public describeFlowExecutionRecords ( args , optionsOrCb ? , cb ? ) { const command = new DescribeFlowExecutionRecordsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Returns the list of available connector entities supported by Amazon AppFlow. For
     *       example, you can query Salesforce for <i>Account</i> and
     *         <i>Opportunity</i> entities, or query ServiceNow for the
     *         <i>Incident</i> entity. </p>
     */ public listConnectorEntities ( args , options ? ) ; public listConnectorEntities ( args , cb ) ; public listConnectorEntities ( args , options , cb ) ; public listConnectorEntities ( args , optionsOrCb ? , cb ? ) { const command = new ListConnectorEntitiesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Lists all of the flows associated with your account. </p>
     */ public listFlows ( args , options ? ) ; public listFlows ( args , cb ) ; public listFlows ( args , options , cb ) ; public listFlows ( args , optionsOrCb ? , cb ? ) { const command = new ListFlowsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Retrieves the tags that are associated with a specified flow. </p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> 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. </p>
     */ public startFlow ( args , options ? ) ; public startFlow ( args , cb ) ; public startFlow ( args , options , cb ) ; public startFlow ( args , optionsOrCb ? , cb ? ) { const command = new StartFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Deactivates the existing flow. For on-demand flows, this operation returns an
     *         <code>unsupportedOperationException</code> error message. For schedule and event-triggered
     *       flows, this operation deactivates the flow. </p>
     */ public stopFlow ( args , options ? ) ; public stopFlow ( args , cb ) ; public stopFlow ( args , options , cb ) ; public stopFlow ( args , optionsOrCb ? , cb ? ) { const command = new StopFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Applies a tag to the specified flow. </p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Removes a tag from the specified flow. </p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Updates a given connector profile associated with your account. </p>
     */ public updateConnectorProfile ( args , options ? ) ; public updateConnectorProfile ( args , cb ) ; public updateConnectorProfile ( args , options , cb ) ; public updateConnectorProfile ( args , optionsOrCb ? , cb ? ) { const command = new UpdateConnectorProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> Updates an existing flow. </p>
     */ public updateFlow ( args , options ? ) ; public updateFlow ( args , cb ) ; public updateFlow ( args , options , cb ) ; public updateFlow ( args , optionsOrCb ? , cb ? ) { const command = new UpdateFlowCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }