/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.appflow; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.appflow.model.*; /** * Interface for accessing Amazon Appflow. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.appflow.AbstractAmazonAppflow} instead. *
**
* 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: *
** Actions: An alphabetical list * of all Amazon AppFlow API operations. *
** Data types: An alphabetical list of * all Amazon AppFlow data types. *
** Common parameters: * Parameters that all Query operations can use. *
** Common errors: Client and server * errors that all operations can return. *
** If you're new to Amazon AppFlow, we recommend that you review the 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 Authorize Apps with OAuth
* documentation.
*
* Cancels active runs for a flow. *
** You can cancel all of the active runs for a flow, or you can cancel specific runs by providing their IDs. *
*
* You can cancel a flow run only when the run is in progress. You can't cancel a run that has already completed or
* failed. You also can't cancel a run that's scheduled to occur but hasn't started yet. To prevent a scheduled run,
* you can deactivate the flow with the StopFlow
action.
*
* You cannot resume a run after you cancel it. *
*
* When you send your request, the status for each run becomes CancelStarted
. When the cancellation
* completes, the status becomes Canceled
.
*
* When you cancel a run, you still incur charges for any data that the run already processed before the * cancellation. If the run had already written some data to the flow destination, then that data remains in the * destination. If you configured the flow to use a batch API (such as the Salesforce Bulk API 2.0), then the run * will finish reading or writing its entire batch of data after the cancellation. For these operations, the data * processing charges for Amazon AppFlow apply. For the pricing information, see Amazon AppFlow pricing. *
** 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. *
* * @param createConnectorProfileRequest * @return Result of the CreateConnectorProfile operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ConflictException * 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. * @throws ServiceQuotaExceededException * The request would cause a service quota (such as the number of flows) to be exceeded. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.CreateConnectorProfile * @see AWS * API Documentation */ CreateConnectorProfileResult createConnectorProfile(CreateConnectorProfileRequest createConnectorProfileRequest); /** ** 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. *
* * @param createFlowRequest * @return Result of the CreateFlow operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ServiceQuotaExceededException * The request would cause a service quota (such as the number of flows) to be exceeded. * @throws ConflictException * 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. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws ConnectorServerException * An error occurred when retrieving data from the connector endpoint. * @sample AmazonAppflow.CreateFlow * @see AWS API * Documentation */ CreateFlowResult createFlow(CreateFlowRequest createFlowRequest); /** ** Enables you to delete an existing connector profile. *
* * @param deleteConnectorProfileRequest * @return Result of the DeleteConnectorProfile operation returned by the service. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConflictException * 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. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.DeleteConnectorProfile * @see AWS * API Documentation */ DeleteConnectorProfileResult deleteConnectorProfile(DeleteConnectorProfileRequest deleteConnectorProfileRequest); /** ** 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. *
* * @param deleteFlowRequest * @return Result of the DeleteFlow operation returned by the service. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConflictException * 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. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.DeleteFlow * @see AWS API * Documentation */ DeleteFlowResult deleteFlow(DeleteFlowRequest deleteFlowRequest); /** ** 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. *
* * @param describeConnectorRequest * @return Result of the DescribeConnector operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @sample AmazonAppflow.DescribeConnector * @see AWS API * Documentation */ DescribeConnectorResult describeConnector(DescribeConnectorRequest describeConnectorRequest); /** ** Provides details regarding the entity used with the connector, with a description of the data model for each * field in that entity. *
* * @param describeConnectorEntityRequest * @return Result of the DescribeConnectorEntity operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws ConnectorServerException * An error occurred when retrieving data from the connector endpoint. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.DescribeConnectorEntity * @see AWS API Documentation */ DescribeConnectorEntityResult describeConnectorEntity(DescribeConnectorEntityRequest describeConnectorEntityRequest); /** *
* 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.
*
* 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.
*
* Provides a description of the specified flow. *
* * @param describeFlowRequest * @return Result of the DescribeFlow operation returned by the service. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.DescribeFlow * @see AWS API * Documentation */ DescribeFlowResult describeFlow(DescribeFlowRequest describeFlowRequest); /** ** Fetches the execution history of the flow. *
* * @param describeFlowExecutionRecordsRequest * @return Result of the DescribeFlowExecutionRecords operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.DescribeFlowExecutionRecords * @see AWS API Documentation */ DescribeFlowExecutionRecordsResult describeFlowExecutionRecords(DescribeFlowExecutionRecordsRequest describeFlowExecutionRecordsRequest); /** ** 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. *
* * @param listConnectorEntitiesRequest * @return Result of the ListConnectorEntities operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws ConnectorServerException * An error occurred when retrieving data from the connector endpoint. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.ListConnectorEntities * @see AWS * API Documentation */ ListConnectorEntitiesResult listConnectorEntities(ListConnectorEntitiesRequest listConnectorEntitiesRequest); /** ** 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. *
* * @param listConnectorsRequest * @return Result of the ListConnectors operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.ListConnectors * @see AWS API * Documentation */ ListConnectorsResult listConnectors(ListConnectorsRequest listConnectorsRequest); /** ** Lists all of the flows associated with your account. *
* * @param listFlowsRequest * @return Result of the ListFlows operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.ListFlows * @see AWS API * Documentation */ ListFlowsResult listFlows(ListFlowsRequest listFlowsRequest); /** ** Retrieves the tags that are associated with a specified flow. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @sample AmazonAppflow.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** ** 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. *
* * @param registerConnectorRequest * @return Result of the RegisterConnector operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ConflictException * 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. * @throws AccessDeniedException * AppFlow/Requester has invalid or missing permissions. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ServiceQuotaExceededException * The request would cause a service quota (such as the number of flows) to be exceeded. * @throws ThrottlingException * API calls have exceeded the maximum allowed API request rate per account and per Region. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ConnectorServerException * An error occurred when retrieving data from the connector endpoint. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @sample AmazonAppflow.RegisterConnector * @see AWS API * Documentation */ RegisterConnectorResult registerConnector(RegisterConnectorRequest registerConnectorRequest); /** ** Resets metadata about your connector entities that Amazon AppFlow stored in its cache. Use this action when you * want Amazon AppFlow to return the latest information about the data that you have in a source application. *
** Amazon AppFlow returns metadata about your entities when you use the ListConnectorEntities or * DescribeConnectorEntities actions. Following these actions, Amazon AppFlow caches the metadata to reduce the * number of API requests that it must send to the source application. Amazon AppFlow automatically resets the cache * once every hour, but you can use this action when you want to get the latest metadata right away. *
* * @param resetConnectorMetadataCacheRequest * @return Result of the ResetConnectorMetadataCache operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConflictException * 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. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.ResetConnectorMetadataCache * @see AWS API Documentation */ ResetConnectorMetadataCacheResult resetConnectorMetadataCache(ResetConnectorMetadataCacheRequest resetConnectorMetadataCacheRequest); /** ** 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. *
* * @param startFlowRequest * @return Result of the StartFlow operation returned by the service. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ServiceQuotaExceededException * The request would cause a service quota (such as the number of flows) to be exceeded. * @throws ConflictException * 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. * @sample AmazonAppflow.StartFlow * @see AWS API * Documentation */ StartFlowResult startFlow(StartFlowRequest startFlowRequest); /** *
* 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.
*
* Applies a tag to the specified flow. *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @sample AmazonAppflow.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** ** Unregisters the custom connector registered in your account that matches the connector label provided in the * request. *
* * @param unregisterConnectorRequest * @return Result of the UnregisterConnector operation returned by the service. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConflictException * 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. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.UnregisterConnector * @see AWS * API Documentation */ UnregisterConnectorResult unregisterConnector(UnregisterConnectorRequest unregisterConnectorRequest); /** ** Removes a tag from the specified flow. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @sample AmazonAppflow.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** ** Updates a given connector profile associated with your account. *
* * @param updateConnectorProfileRequest * @return Result of the UpdateConnectorProfile operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ConflictException * 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. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.UpdateConnectorProfile * @see AWS * API Documentation */ UpdateConnectorProfileResult updateConnectorProfile(UpdateConnectorProfileRequest updateConnectorProfileRequest); /** ** 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 *
** Updates an existing flow. *
* * @param updateFlowRequest * @return Result of the UpdateFlow operation returned by the service. * @throws ValidationException * The request has invalid or missing parameters. * @throws ResourceNotFoundException * The resource specified in the request (such as the source or destination connector profile) is not found. * @throws ServiceQuotaExceededException * The request would cause a service quota (such as the number of flows) to be exceeded. * @throws ConflictException * 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. * @throws ConnectorAuthenticationException * An error occurred when authenticating with the connector endpoint. * @throws ConnectorServerException * An error occurred when retrieving data from the connector endpoint. * @throws InternalServerException * An internal service error occurred during the processing of your request. Try again later. * @sample AmazonAppflow.UpdateFlow * @see AWS API * Documentation */ UpdateFlowResult updateFlow(UpdateFlowRequest updateFlowRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. ** Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }