/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Appflow
{
/**
* 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.
*/
class AWS_APPFLOW_API AppflowClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef AppflowClientConfiguration ClientConfigurationType;
typedef AppflowEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppflowClient(const Aws::Appflow::AppflowClientConfiguration& clientConfiguration = Aws::Appflow::AppflowClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppflowClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::Appflow::AppflowClientConfiguration& clientConfiguration = Aws::Appflow::AppflowClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
AppflowClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::Appflow::AppflowClientConfiguration& clientConfiguration = Aws::Appflow::AppflowClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppflowClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppflowClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
AppflowClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~AppflowClient();
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::CancelFlowExecutionsOutcome CancelFlowExecutions(const Model::CancelFlowExecutionsRequest& request) const;
/**
* A Callable wrapper for CancelFlowExecutions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelFlowExecutionsOutcomeCallable CancelFlowExecutionsCallable(const CancelFlowExecutionsRequestT& request) const
{
return SubmitCallable(&AppflowClient::CancelFlowExecutions, request);
}
/**
* An Async wrapper for CancelFlowExecutions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelFlowExecutionsAsync(const CancelFlowExecutionsRequestT& request, const CancelFlowExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::CancelFlowExecutions, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateConnectorProfileOutcome CreateConnectorProfile(const Model::CreateConnectorProfileRequest& request) const;
/**
* A Callable wrapper for CreateConnectorProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateConnectorProfileOutcomeCallable CreateConnectorProfileCallable(const CreateConnectorProfileRequestT& request) const
{
return SubmitCallable(&AppflowClient::CreateConnectorProfile, request);
}
/**
* An Async wrapper for CreateConnectorProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateConnectorProfileAsync(const CreateConnectorProfileRequestT& request, const CreateConnectorProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::CreateConnectorProfile, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateFlowOutcome CreateFlow(const Model::CreateFlowRequest& request) const;
/**
* A Callable wrapper for CreateFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateFlowOutcomeCallable CreateFlowCallable(const CreateFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::CreateFlow, request);
}
/**
* An Async wrapper for CreateFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateFlowAsync(const CreateFlowRequestT& request, const CreateFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::CreateFlow, request, handler, context);
}
/**
* Enables you to delete an existing connector profile.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteConnectorProfileOutcome DeleteConnectorProfile(const Model::DeleteConnectorProfileRequest& request) const;
/**
* A Callable wrapper for DeleteConnectorProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteConnectorProfileOutcomeCallable DeleteConnectorProfileCallable(const DeleteConnectorProfileRequestT& request) const
{
return SubmitCallable(&AppflowClient::DeleteConnectorProfile, request);
}
/**
* An Async wrapper for DeleteConnectorProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteConnectorProfileAsync(const DeleteConnectorProfileRequestT& request, const DeleteConnectorProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DeleteConnectorProfile, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteFlowOutcome DeleteFlow(const Model::DeleteFlowRequest& request) const;
/**
* A Callable wrapper for DeleteFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteFlowOutcomeCallable DeleteFlowCallable(const DeleteFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::DeleteFlow, request);
}
/**
* An Async wrapper for DeleteFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteFlowAsync(const DeleteFlowRequestT& request, const DeleteFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DeleteFlow, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeConnectorOutcome DescribeConnector(const Model::DescribeConnectorRequest& request) const;
/**
* A Callable wrapper for DescribeConnector that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeConnectorOutcomeCallable DescribeConnectorCallable(const DescribeConnectorRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeConnector, request);
}
/**
* An Async wrapper for DescribeConnector that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeConnectorAsync(const DescribeConnectorRequestT& request, const DescribeConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeConnector, request, handler, context);
}
/**
* Provides details regarding the entity used with the connector, with a
* description of the data model for each field in that entity.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeConnectorEntityOutcome DescribeConnectorEntity(const Model::DescribeConnectorEntityRequest& request) const;
/**
* A Callable wrapper for DescribeConnectorEntity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeConnectorEntityOutcomeCallable DescribeConnectorEntityCallable(const DescribeConnectorEntityRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeConnectorEntity, request);
}
/**
* An Async wrapper for DescribeConnectorEntity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeConnectorEntityAsync(const DescribeConnectorEntityRequestT& request, const DescribeConnectorEntityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeConnectorEntity, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeConnectorProfilesOutcome DescribeConnectorProfiles(const Model::DescribeConnectorProfilesRequest& request) const;
/**
* A Callable wrapper for DescribeConnectorProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeConnectorProfilesOutcomeCallable DescribeConnectorProfilesCallable(const DescribeConnectorProfilesRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeConnectorProfiles, request);
}
/**
* An Async wrapper for DescribeConnectorProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeConnectorProfilesAsync(const DescribeConnectorProfilesRequestT& request, const DescribeConnectorProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeConnectorProfiles, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::DescribeConnectorsOutcome DescribeConnectors(const Model::DescribeConnectorsRequest& request) const;
/**
* A Callable wrapper for DescribeConnectors that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeConnectorsOutcomeCallable DescribeConnectorsCallable(const DescribeConnectorsRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeConnectors, request);
}
/**
* An Async wrapper for DescribeConnectors that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeConnectorsAsync(const DescribeConnectorsRequestT& request, const DescribeConnectorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeConnectors, request, handler, context);
}
/**
* Provides a description of the specified flow.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeFlowOutcome DescribeFlow(const Model::DescribeFlowRequest& request) const;
/**
* A Callable wrapper for DescribeFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFlowOutcomeCallable DescribeFlowCallable(const DescribeFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeFlow, request);
}
/**
* An Async wrapper for DescribeFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFlowAsync(const DescribeFlowRequestT& request, const DescribeFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeFlow, request, handler, context);
}
/**
* Fetches the execution history of the flow.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeFlowExecutionRecordsOutcome DescribeFlowExecutionRecords(const Model::DescribeFlowExecutionRecordsRequest& request) const;
/**
* A Callable wrapper for DescribeFlowExecutionRecords that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFlowExecutionRecordsOutcomeCallable DescribeFlowExecutionRecordsCallable(const DescribeFlowExecutionRecordsRequestT& request) const
{
return SubmitCallable(&AppflowClient::DescribeFlowExecutionRecords, request);
}
/**
* An Async wrapper for DescribeFlowExecutionRecords that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFlowExecutionRecordsAsync(const DescribeFlowExecutionRecordsRequestT& request, const DescribeFlowExecutionRecordsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::DescribeFlowExecutionRecords, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListConnectorEntitiesOutcome ListConnectorEntities(const Model::ListConnectorEntitiesRequest& request) const;
/**
* A Callable wrapper for ListConnectorEntities that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListConnectorEntitiesOutcomeCallable ListConnectorEntitiesCallable(const ListConnectorEntitiesRequestT& request) const
{
return SubmitCallable(&AppflowClient::ListConnectorEntities, request);
}
/**
* An Async wrapper for ListConnectorEntities that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListConnectorEntitiesAsync(const ListConnectorEntitiesRequestT& request, const ListConnectorEntitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::ListConnectorEntities, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListConnectorsOutcome ListConnectors(const Model::ListConnectorsRequest& request) const;
/**
* A Callable wrapper for ListConnectors that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListConnectorsOutcomeCallable ListConnectorsCallable(const ListConnectorsRequestT& request) const
{
return SubmitCallable(&AppflowClient::ListConnectors, request);
}
/**
* An Async wrapper for ListConnectors that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListConnectorsAsync(const ListConnectorsRequestT& request, const ListConnectorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::ListConnectors, request, handler, context);
}
/**
* Lists all of the flows associated with your account.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListFlowsOutcome ListFlows(const Model::ListFlowsRequest& request) const;
/**
* A Callable wrapper for ListFlows that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFlowsOutcomeCallable ListFlowsCallable(const ListFlowsRequestT& request) const
{
return SubmitCallable(&AppflowClient::ListFlows, request);
}
/**
* An Async wrapper for ListFlows that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFlowsAsync(const ListFlowsRequestT& request, const ListFlowsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::ListFlows, request, handler, context);
}
/**
* Retrieves the tags that are associated with a specified flow.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&AppflowClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::ListTagsForResource, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::RegisterConnectorOutcome RegisterConnector(const Model::RegisterConnectorRequest& request) const;
/**
* A Callable wrapper for RegisterConnector that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RegisterConnectorOutcomeCallable RegisterConnectorCallable(const RegisterConnectorRequestT& request) const
{
return SubmitCallable(&AppflowClient::RegisterConnector, request);
}
/**
* An Async wrapper for RegisterConnector that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RegisterConnectorAsync(const RegisterConnectorRequestT& request, const RegisterConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::RegisterConnector, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ResetConnectorMetadataCacheOutcome ResetConnectorMetadataCache(const Model::ResetConnectorMetadataCacheRequest& request) const;
/**
* A Callable wrapper for ResetConnectorMetadataCache that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ResetConnectorMetadataCacheOutcomeCallable ResetConnectorMetadataCacheCallable(const ResetConnectorMetadataCacheRequestT& request) const
{
return SubmitCallable(&AppflowClient::ResetConnectorMetadataCache, request);
}
/**
* An Async wrapper for ResetConnectorMetadataCache that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ResetConnectorMetadataCacheAsync(const ResetConnectorMetadataCacheRequestT& request, const ResetConnectorMetadataCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::ResetConnectorMetadataCache, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::StartFlowOutcome StartFlow(const Model::StartFlowRequest& request) const;
/**
* A Callable wrapper for StartFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartFlowOutcomeCallable StartFlowCallable(const StartFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::StartFlow, request);
}
/**
* An Async wrapper for StartFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartFlowAsync(const StartFlowRequestT& request, const StartFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::StartFlow, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::StopFlowOutcome StopFlow(const Model::StopFlowRequest& request) const;
/**
* A Callable wrapper for StopFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StopFlowOutcomeCallable StopFlowCallable(const StopFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::StopFlow, request);
}
/**
* An Async wrapper for StopFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StopFlowAsync(const StopFlowRequestT& request, const StopFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::StopFlow, request, handler, context);
}
/**
* Applies a tag to the specified flow.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&AppflowClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::TagResource, request, handler, context);
}
/**
* Unregisters the custom connector registered in your account that matches the
* connector label provided in the request.
See Also:
AWS
* API Reference
*/
virtual Model::UnregisterConnectorOutcome UnregisterConnector(const Model::UnregisterConnectorRequest& request) const;
/**
* A Callable wrapper for UnregisterConnector that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UnregisterConnectorOutcomeCallable UnregisterConnectorCallable(const UnregisterConnectorRequestT& request) const
{
return SubmitCallable(&AppflowClient::UnregisterConnector, request);
}
/**
* An Async wrapper for UnregisterConnector that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UnregisterConnectorAsync(const UnregisterConnectorRequestT& request, const UnregisterConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::UnregisterConnector, request, handler, context);
}
/**
* Removes a tag from the specified flow.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&AppflowClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::UntagResource, request, handler, context);
}
/**
* Updates a given connector profile associated with your account.
*
See Also:
AWS
* API Reference
*/
virtual Model::UpdateConnectorProfileOutcome UpdateConnectorProfile(const Model::UpdateConnectorProfileRequest& request) const;
/**
* A Callable wrapper for UpdateConnectorProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateConnectorProfileOutcomeCallable UpdateConnectorProfileCallable(const UpdateConnectorProfileRequestT& request) const
{
return SubmitCallable(&AppflowClient::UpdateConnectorProfile, request);
}
/**
* An Async wrapper for UpdateConnectorProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateConnectorProfileAsync(const UpdateConnectorProfileRequestT& request, const UpdateConnectorProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::UpdateConnectorProfile, request, handler, context);
}
/**
* Updates a custom connector that you've previously registered. This operation
* updates the connector with one of the following:
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateConnectorRegistrationOutcome UpdateConnectorRegistration(const Model::UpdateConnectorRegistrationRequest& request) const;
/**
* A Callable wrapper for UpdateConnectorRegistration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateConnectorRegistrationOutcomeCallable UpdateConnectorRegistrationCallable(const UpdateConnectorRegistrationRequestT& request) const
{
return SubmitCallable(&AppflowClient::UpdateConnectorRegistration, request);
}
/**
* An Async wrapper for UpdateConnectorRegistration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateConnectorRegistrationAsync(const UpdateConnectorRegistrationRequestT& request, const UpdateConnectorRegistrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::UpdateConnectorRegistration, request, handler, context);
}
/**
* Updates an existing flow.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFlowOutcome UpdateFlow(const Model::UpdateFlowRequest& request) const;
/**
* A Callable wrapper for UpdateFlow that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFlowOutcomeCallable UpdateFlowCallable(const UpdateFlowRequestT& request) const
{
return SubmitCallable(&AppflowClient::UpdateFlow, request);
}
/**
* An Async wrapper for UpdateFlow that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFlowAsync(const UpdateFlowRequestT& request, const UpdateFlowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AppflowClient::UpdateFlow, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const AppflowClientConfiguration& clientConfiguration);
AppflowClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace Appflow
} // namespace Aws