/**
* 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 LakeFormation
{
/**
* Lake Formation Defines the public endpoint for the Lake
* Formation service.
*/
class AWS_LAKEFORMATION_API LakeFormationClient : 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 LakeFormationClientConfiguration ClientConfigurationType;
typedef LakeFormationEndpointProvider 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.
*/
LakeFormationClient(const Aws::LakeFormation::LakeFormationClientConfiguration& clientConfiguration = Aws::LakeFormation::LakeFormationClientConfiguration(),
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.
*/
LakeFormationClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::LakeFormation::LakeFormationClientConfiguration& clientConfiguration = Aws::LakeFormation::LakeFormationClientConfiguration());
/**
* 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
*/
LakeFormationClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::LakeFormation::LakeFormationClientConfiguration& clientConfiguration = Aws::LakeFormation::LakeFormationClientConfiguration());
/* 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.
*/
LakeFormationClient(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.
*/
LakeFormationClient(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
*/
LakeFormationClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~LakeFormationClient();
/**
* Attaches one or more LF-tags to an existing resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::AddLFTagsToResourceOutcome AddLFTagsToResource(const Model::AddLFTagsToResourceRequest& request) const;
/**
* A Callable wrapper for AddLFTagsToResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddLFTagsToResourceOutcomeCallable AddLFTagsToResourceCallable(const AddLFTagsToResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::AddLFTagsToResource, request);
}
/**
* An Async wrapper for AddLFTagsToResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddLFTagsToResourceAsync(const AddLFTagsToResourceRequestT& request, const AddLFTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::AddLFTagsToResource, request, handler, context);
}
/**
* Allows a caller to assume an IAM role decorated as the SAML user specified in
* the SAML assertion included in the request. This decoration allows Lake
* Formation to enforce access policies against the SAML users and groups. This API
* operation requires SAML federation setup in the caller’s account as it can only
* be called with valid SAML assertions. Lake Formation does not scope down the
* permission of the assumed role. All permissions attached to the role via the
* SAML federation setup will be included in the role session.
This
* decorated role is expected to access data in Amazon S3 by getting temporary
* access from Lake Formation which is authorized via the virtual API
* GetDataAccess
. Therefore, all SAML roles that can be assumed via
* AssumeDecoratedRoleWithSAML
must at a minimum include
* lakeformation:GetDataAccess
in their role policies. A typical IAM
* policy attached to such a role would look as follows:
See Also:
* AWS
* API Reference
*/
virtual Model::AssumeDecoratedRoleWithSAMLOutcome AssumeDecoratedRoleWithSAML(const Model::AssumeDecoratedRoleWithSAMLRequest& request) const;
/**
* A Callable wrapper for AssumeDecoratedRoleWithSAML that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssumeDecoratedRoleWithSAMLOutcomeCallable AssumeDecoratedRoleWithSAMLCallable(const AssumeDecoratedRoleWithSAMLRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::AssumeDecoratedRoleWithSAML, request);
}
/**
* An Async wrapper for AssumeDecoratedRoleWithSAML that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssumeDecoratedRoleWithSAMLAsync(const AssumeDecoratedRoleWithSAMLRequestT& request, const AssumeDecoratedRoleWithSAMLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::AssumeDecoratedRoleWithSAML, request, handler, context);
}
/**
* Batch operation to grant permissions to the principal.
See
* Also:
AWS
* API Reference
*/
virtual Model::BatchGrantPermissionsOutcome BatchGrantPermissions(const Model::BatchGrantPermissionsRequest& request) const;
/**
* A Callable wrapper for BatchGrantPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchGrantPermissionsOutcomeCallable BatchGrantPermissionsCallable(const BatchGrantPermissionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::BatchGrantPermissions, request);
}
/**
* An Async wrapper for BatchGrantPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchGrantPermissionsAsync(const BatchGrantPermissionsRequestT& request, const BatchGrantPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::BatchGrantPermissions, request, handler, context);
}
/**
* Batch operation to revoke permissions from the principal.
See
* Also:
AWS
* API Reference
*/
virtual Model::BatchRevokePermissionsOutcome BatchRevokePermissions(const Model::BatchRevokePermissionsRequest& request) const;
/**
* A Callable wrapper for BatchRevokePermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchRevokePermissionsOutcomeCallable BatchRevokePermissionsCallable(const BatchRevokePermissionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::BatchRevokePermissions, request);
}
/**
* An Async wrapper for BatchRevokePermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchRevokePermissionsAsync(const BatchRevokePermissionsRequestT& request, const BatchRevokePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::BatchRevokePermissions, request, handler, context);
}
/**
* Attempts to cancel the specified transaction. Returns an exception if the
* transaction was previously committed.
See Also:
AWS
* API Reference
*/
virtual Model::CancelTransactionOutcome CancelTransaction(const Model::CancelTransactionRequest& request) const;
/**
* A Callable wrapper for CancelTransaction that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelTransactionOutcomeCallable CancelTransactionCallable(const CancelTransactionRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::CancelTransaction, request);
}
/**
* An Async wrapper for CancelTransaction that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelTransactionAsync(const CancelTransactionRequestT& request, const CancelTransactionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::CancelTransaction, request, handler, context);
}
/**
* Attempts to commit the specified transaction. Returns an exception if the
* transaction was previously aborted. This API action is idempotent if called
* multiple times for the same transaction.
See Also:
AWS
* API Reference
*/
virtual Model::CommitTransactionOutcome CommitTransaction(const Model::CommitTransactionRequest& request) const;
/**
* A Callable wrapper for CommitTransaction that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CommitTransactionOutcomeCallable CommitTransactionCallable(const CommitTransactionRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::CommitTransaction, request);
}
/**
* An Async wrapper for CommitTransaction that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CommitTransactionAsync(const CommitTransactionRequestT& request, const CommitTransactionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::CommitTransaction, request, handler, context);
}
/**
* Creates a data cell filter to allow one to grant access to certain columns on
* certain rows.
See Also:
AWS
* API Reference
*/
virtual Model::CreateDataCellsFilterOutcome CreateDataCellsFilter(const Model::CreateDataCellsFilterRequest& request) const;
/**
* A Callable wrapper for CreateDataCellsFilter that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDataCellsFilterOutcomeCallable CreateDataCellsFilterCallable(const CreateDataCellsFilterRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::CreateDataCellsFilter, request);
}
/**
* An Async wrapper for CreateDataCellsFilter that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDataCellsFilterAsync(const CreateDataCellsFilterRequestT& request, const CreateDataCellsFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::CreateDataCellsFilter, request, handler, context);
}
/**
* Creates an LF-tag with the specified name and values.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateLFTagOutcome CreateLFTag(const Model::CreateLFTagRequest& request) const;
/**
* A Callable wrapper for CreateLFTag that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateLFTagOutcomeCallable CreateLFTagCallable(const CreateLFTagRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::CreateLFTag, request);
}
/**
* An Async wrapper for CreateLFTag that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateLFTagAsync(const CreateLFTagRequestT& request, const CreateLFTagResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::CreateLFTag, request, handler, context);
}
/**
* Deletes a data cell filter.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDataCellsFilterOutcome DeleteDataCellsFilter(const Model::DeleteDataCellsFilterRequest& request) const;
/**
* A Callable wrapper for DeleteDataCellsFilter that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDataCellsFilterOutcomeCallable DeleteDataCellsFilterCallable(const DeleteDataCellsFilterRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DeleteDataCellsFilter, request);
}
/**
* An Async wrapper for DeleteDataCellsFilter that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDataCellsFilterAsync(const DeleteDataCellsFilterRequestT& request, const DeleteDataCellsFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DeleteDataCellsFilter, request, handler, context);
}
/**
* Deletes the specified LF-tag given a key name. If the input parameter tag key
* was not found, then the operation will throw an exception. When you delete an
* LF-tag, the LFTagPolicy
attached to the LF-tag becomes invalid. If
* the deleted LF-tag was still assigned to any resource, the tag policy attach to
* the deleted LF-tag will no longer be applied to the resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteLFTagOutcome DeleteLFTag(const Model::DeleteLFTagRequest& request) const;
/**
* A Callable wrapper for DeleteLFTag that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteLFTagOutcomeCallable DeleteLFTagCallable(const DeleteLFTagRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DeleteLFTag, request);
}
/**
* An Async wrapper for DeleteLFTag that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteLFTagAsync(const DeleteLFTagRequestT& request, const DeleteLFTagResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DeleteLFTag, request, handler, context);
}
/**
* For a specific governed table, provides a list of Amazon S3 objects that will
* be written during the current transaction and that can be automatically deleted
* if the transaction is canceled. Without this call, no Amazon S3 objects are
* automatically deleted when a transaction cancels.
The Glue ETL library
* function write_dynamic_frame.from_catalog()
includes an option to
* automatically call DeleteObjectsOnCancel
before writes. For more
* information, see Rolling
* Back Amazon S3 Writes.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteObjectsOnCancelOutcome DeleteObjectsOnCancel(const Model::DeleteObjectsOnCancelRequest& request) const;
/**
* A Callable wrapper for DeleteObjectsOnCancel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteObjectsOnCancelOutcomeCallable DeleteObjectsOnCancelCallable(const DeleteObjectsOnCancelRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DeleteObjectsOnCancel, request);
}
/**
* An Async wrapper for DeleteObjectsOnCancel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteObjectsOnCancelAsync(const DeleteObjectsOnCancelRequestT& request, const DeleteObjectsOnCancelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DeleteObjectsOnCancel, request, handler, context);
}
/**
* Deregisters the resource as managed by the Data Catalog.
When you
* deregister a path, Lake Formation removes the path from the inline policy
* attached to your service-linked role.
See Also:
AWS
* API Reference
*/
virtual Model::DeregisterResourceOutcome DeregisterResource(const Model::DeregisterResourceRequest& request) const;
/**
* A Callable wrapper for DeregisterResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeregisterResourceOutcomeCallable DeregisterResourceCallable(const DeregisterResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DeregisterResource, request);
}
/**
* An Async wrapper for DeregisterResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeregisterResourceAsync(const DeregisterResourceRequestT& request, const DeregisterResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DeregisterResource, request, handler, context);
}
/**
* Retrieves the current data access role for the given resource registered in
* Lake Formation.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeResourceOutcome DescribeResource(const Model::DescribeResourceRequest& request) const;
/**
* A Callable wrapper for DescribeResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeResourceOutcomeCallable DescribeResourceCallable(const DescribeResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DescribeResource, request);
}
/**
* An Async wrapper for DescribeResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeResourceAsync(const DescribeResourceRequestT& request, const DescribeResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DescribeResource, request, handler, context);
}
/**
* Returns the details of a single transaction.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeTransactionOutcome DescribeTransaction(const Model::DescribeTransactionRequest& request) const;
/**
* A Callable wrapper for DescribeTransaction that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeTransactionOutcomeCallable DescribeTransactionCallable(const DescribeTransactionRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::DescribeTransaction, request);
}
/**
* An Async wrapper for DescribeTransaction that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeTransactionAsync(const DescribeTransactionRequestT& request, const DescribeTransactionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::DescribeTransaction, request, handler, context);
}
/**
* Indicates to the service that the specified transaction is still active and
* should not be treated as idle and aborted.
Write transactions that remain
* idle for a long period are automatically aborted unless explicitly
* extended.
See Also:
AWS
* API Reference
*/
virtual Model::ExtendTransactionOutcome ExtendTransaction(const Model::ExtendTransactionRequest& request) const;
/**
* A Callable wrapper for ExtendTransaction that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ExtendTransactionOutcomeCallable ExtendTransactionCallable(const ExtendTransactionRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ExtendTransaction, request);
}
/**
* An Async wrapper for ExtendTransaction that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ExtendTransactionAsync(const ExtendTransactionRequestT& request, const ExtendTransactionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ExtendTransaction, request, handler, context);
}
/**
* Returns a data cells filter.
See Also:
AWS
* API Reference
*/
virtual Model::GetDataCellsFilterOutcome GetDataCellsFilter(const Model::GetDataCellsFilterRequest& request) const;
/**
* A Callable wrapper for GetDataCellsFilter that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDataCellsFilterOutcomeCallable GetDataCellsFilterCallable(const GetDataCellsFilterRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetDataCellsFilter, request);
}
/**
* An Async wrapper for GetDataCellsFilter that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDataCellsFilterAsync(const GetDataCellsFilterRequestT& request, const GetDataCellsFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetDataCellsFilter, request, handler, context);
}
/**
* Retrieves the list of the data lake administrators of a Lake
* Formation-managed data lake.
See Also:
AWS
* API Reference
*/
virtual Model::GetDataLakeSettingsOutcome GetDataLakeSettings(const Model::GetDataLakeSettingsRequest& request) const;
/**
* A Callable wrapper for GetDataLakeSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDataLakeSettingsOutcomeCallable GetDataLakeSettingsCallable(const GetDataLakeSettingsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetDataLakeSettings, request);
}
/**
* An Async wrapper for GetDataLakeSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDataLakeSettingsAsync(const GetDataLakeSettingsRequestT& request, const GetDataLakeSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetDataLakeSettings, request, handler, context);
}
/**
* Returns the Lake Formation permissions for a specified table or database
* resource located at a path in Amazon S3.
* GetEffectivePermissionsForPath
will not return databases and tables
* if the catalog is encrypted.
See Also:
AWS
* API Reference
*/
virtual Model::GetEffectivePermissionsForPathOutcome GetEffectivePermissionsForPath(const Model::GetEffectivePermissionsForPathRequest& request) const;
/**
* A Callable wrapper for GetEffectivePermissionsForPath that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetEffectivePermissionsForPathOutcomeCallable GetEffectivePermissionsForPathCallable(const GetEffectivePermissionsForPathRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetEffectivePermissionsForPath, request);
}
/**
* An Async wrapper for GetEffectivePermissionsForPath that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetEffectivePermissionsForPathAsync(const GetEffectivePermissionsForPathRequestT& request, const GetEffectivePermissionsForPathResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetEffectivePermissionsForPath, request, handler, context);
}
/**
* Returns an LF-tag definition.
See Also:
AWS
* API Reference
*/
virtual Model::GetLFTagOutcome GetLFTag(const Model::GetLFTagRequest& request) const;
/**
* A Callable wrapper for GetLFTag that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLFTagOutcomeCallable GetLFTagCallable(const GetLFTagRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetLFTag, request);
}
/**
* An Async wrapper for GetLFTag that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLFTagAsync(const GetLFTagRequestT& request, const GetLFTagResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetLFTag, request, handler, context);
}
/**
* Returns the state of a query previously submitted. Clients are expected to
* poll GetQueryState
to monitor the current state of the planning
* before retrieving the work units. A query state is only visible to the principal
* that made the initial call to StartQueryPlanning
.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetQueryStateOutcome GetQueryState(const Model::GetQueryStateRequest& request) const;
/**
* A Callable wrapper for GetQueryState that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetQueryStateOutcomeCallable GetQueryStateCallable(const GetQueryStateRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetQueryState, request);
}
/**
* An Async wrapper for GetQueryState that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetQueryStateAsync(const GetQueryStateRequestT& request, const GetQueryStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetQueryState, request, handler, context);
}
/**
* Retrieves statistics on the planning and execution of a query.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetQueryStatisticsOutcome GetQueryStatistics(const Model::GetQueryStatisticsRequest& request) const;
/**
* A Callable wrapper for GetQueryStatistics that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetQueryStatisticsOutcomeCallable GetQueryStatisticsCallable(const GetQueryStatisticsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetQueryStatistics, request);
}
/**
* An Async wrapper for GetQueryStatistics that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetQueryStatisticsAsync(const GetQueryStatisticsRequestT& request, const GetQueryStatisticsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetQueryStatistics, request, handler, context);
}
/**
* Returns the LF-tags applied to a resource.
See Also:
AWS
* API Reference
*/
virtual Model::GetResourceLFTagsOutcome GetResourceLFTags(const Model::GetResourceLFTagsRequest& request) const;
/**
* A Callable wrapper for GetResourceLFTags that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetResourceLFTagsOutcomeCallable GetResourceLFTagsCallable(const GetResourceLFTagsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetResourceLFTags, request);
}
/**
* An Async wrapper for GetResourceLFTags that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetResourceLFTagsAsync(const GetResourceLFTagsRequestT& request, const GetResourceLFTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetResourceLFTags, request, handler, context);
}
/**
* Returns the set of Amazon S3 objects that make up the specified governed
* table. A transaction ID or timestamp can be specified for time-travel
* queries.
See Also:
AWS
* API Reference
*/
virtual Model::GetTableObjectsOutcome GetTableObjects(const Model::GetTableObjectsRequest& request) const;
/**
* A Callable wrapper for GetTableObjects that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTableObjectsOutcomeCallable GetTableObjectsCallable(const GetTableObjectsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetTableObjects, request);
}
/**
* An Async wrapper for GetTableObjects that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTableObjectsAsync(const GetTableObjectsRequestT& request, const GetTableObjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetTableObjects, request, handler, context);
}
/**
* This API is identical to GetTemporaryTableCredentials
except
* that this is used when the target Data Catalog resource is of type Partition.
* Lake Formation restricts the permission of the vended credentials with the same
* scope down policy which restricts access to a single Amazon S3
* prefix.
See Also:
AWS
* API Reference
*/
virtual Model::GetTemporaryGluePartitionCredentialsOutcome GetTemporaryGluePartitionCredentials(const Model::GetTemporaryGluePartitionCredentialsRequest& request) const;
/**
* A Callable wrapper for GetTemporaryGluePartitionCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTemporaryGluePartitionCredentialsOutcomeCallable GetTemporaryGluePartitionCredentialsCallable(const GetTemporaryGluePartitionCredentialsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetTemporaryGluePartitionCredentials, request);
}
/**
* An Async wrapper for GetTemporaryGluePartitionCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTemporaryGluePartitionCredentialsAsync(const GetTemporaryGluePartitionCredentialsRequestT& request, const GetTemporaryGluePartitionCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetTemporaryGluePartitionCredentials, request, handler, context);
}
/**
* Allows a caller in a secure environment to assume a role with permission to
* access Amazon S3. In order to vend such credentials, Lake Formation assumes the
* role associated with a registered location, for example an Amazon S3 bucket,
* with a scope down policy which restricts the access to a single
* prefix.
See Also:
AWS
* API Reference
*/
virtual Model::GetTemporaryGlueTableCredentialsOutcome GetTemporaryGlueTableCredentials(const Model::GetTemporaryGlueTableCredentialsRequest& request) const;
/**
* A Callable wrapper for GetTemporaryGlueTableCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTemporaryGlueTableCredentialsOutcomeCallable GetTemporaryGlueTableCredentialsCallable(const GetTemporaryGlueTableCredentialsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetTemporaryGlueTableCredentials, request);
}
/**
* An Async wrapper for GetTemporaryGlueTableCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTemporaryGlueTableCredentialsAsync(const GetTemporaryGlueTableCredentialsRequestT& request, const GetTemporaryGlueTableCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetTemporaryGlueTableCredentials, request, handler, context);
}
/**
* Returns the work units resulting from the query. Work units can be executed
* in any order and in parallel.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkUnitResultsOutcome GetWorkUnitResults(const Model::GetWorkUnitResultsRequest& request) const;
/**
* A Callable wrapper for GetWorkUnitResults that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkUnitResultsOutcomeCallable GetWorkUnitResultsCallable(const GetWorkUnitResultsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetWorkUnitResults, request);
}
/**
* An Async wrapper for GetWorkUnitResults that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkUnitResultsAsync(const GetWorkUnitResultsRequestT& request, const GetWorkUnitResultsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetWorkUnitResults, request, handler, context);
}
/**
* Retrieves the work units generated by the StartQueryPlanning
* operation.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkUnitsOutcome GetWorkUnits(const Model::GetWorkUnitsRequest& request) const;
/**
* A Callable wrapper for GetWorkUnits that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkUnitsOutcomeCallable GetWorkUnitsCallable(const GetWorkUnitsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GetWorkUnits, request);
}
/**
* An Async wrapper for GetWorkUnits that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkUnitsAsync(const GetWorkUnitsRequestT& request, const GetWorkUnitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GetWorkUnits, request, handler, context);
}
/**
* Grants permissions to the principal to access metadata in the Data Catalog
* and data organized in underlying data storage such as Amazon S3.
For
* information about permissions, see Security
* and Access Control to Metadata and Data.
See Also:
AWS
* API Reference
*/
virtual Model::GrantPermissionsOutcome GrantPermissions(const Model::GrantPermissionsRequest& request) const;
/**
* A Callable wrapper for GrantPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GrantPermissionsOutcomeCallable GrantPermissionsCallable(const GrantPermissionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::GrantPermissions, request);
}
/**
* An Async wrapper for GrantPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GrantPermissionsAsync(const GrantPermissionsRequestT& request, const GrantPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::GrantPermissions, request, handler, context);
}
/**
* Lists all the data cell filters on a table.
See Also:
AWS
* API Reference
*/
virtual Model::ListDataCellsFilterOutcome ListDataCellsFilter(const Model::ListDataCellsFilterRequest& request) const;
/**
* A Callable wrapper for ListDataCellsFilter that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDataCellsFilterOutcomeCallable ListDataCellsFilterCallable(const ListDataCellsFilterRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListDataCellsFilter, request);
}
/**
* An Async wrapper for ListDataCellsFilter that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDataCellsFilterAsync(const ListDataCellsFilterRequestT& request, const ListDataCellsFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListDataCellsFilter, request, handler, context);
}
/**
* Lists LF-tags that the requester has permission to view.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListLFTagsOutcome ListLFTags(const Model::ListLFTagsRequest& request) const;
/**
* A Callable wrapper for ListLFTags that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLFTagsOutcomeCallable ListLFTagsCallable(const ListLFTagsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListLFTags, request);
}
/**
* An Async wrapper for ListLFTags that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLFTagsAsync(const ListLFTagsRequestT& request, const ListLFTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListLFTags, request, handler, context);
}
/**
* Returns a list of the principal permissions on the resource, filtered by the
* permissions of the caller. For example, if you are granted an ALTER permission,
* you are able to see only the principal permissions for ALTER.
This
* operation returns only those permissions that have been explicitly granted.
* For information about permissions, see Security
* and Access Control to Metadata and Data.
See Also:
AWS
* API Reference
*/
virtual Model::ListPermissionsOutcome ListPermissions(const Model::ListPermissionsRequest& request) const;
/**
* A Callable wrapper for ListPermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPermissionsOutcomeCallable ListPermissionsCallable(const ListPermissionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListPermissions, request);
}
/**
* An Async wrapper for ListPermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPermissionsAsync(const ListPermissionsRequestT& request, const ListPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListPermissions, request, handler, context);
}
/**
* Lists the resources registered to be managed by the Data
* Catalog.
See Also:
AWS
* API Reference
*/
virtual Model::ListResourcesOutcome ListResources(const Model::ListResourcesRequest& request) const;
/**
* A Callable wrapper for ListResources that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListResourcesOutcomeCallable ListResourcesCallable(const ListResourcesRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListResources, request);
}
/**
* An Async wrapper for ListResources that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListResourcesAsync(const ListResourcesRequestT& request, const ListResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListResources, request, handler, context);
}
/**
* Returns the configuration of all storage optimizers associated with a
* specified table.
See Also:
AWS
* API Reference
*/
virtual Model::ListTableStorageOptimizersOutcome ListTableStorageOptimizers(const Model::ListTableStorageOptimizersRequest& request) const;
/**
* A Callable wrapper for ListTableStorageOptimizers that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTableStorageOptimizersOutcomeCallable ListTableStorageOptimizersCallable(const ListTableStorageOptimizersRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListTableStorageOptimizers, request);
}
/**
* An Async wrapper for ListTableStorageOptimizers that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTableStorageOptimizersAsync(const ListTableStorageOptimizersRequestT& request, const ListTableStorageOptimizersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListTableStorageOptimizers, request, handler, context);
}
/**
* Returns metadata about transactions and their status. To prevent the response
* from growing indefinitely, only uncommitted transactions and those available for
* time-travel queries are returned.
This operation can help you identify
* uncommitted transactions or to get information about transactions.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTransactionsOutcome ListTransactions(const Model::ListTransactionsRequest& request) const;
/**
* A Callable wrapper for ListTransactions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTransactionsOutcomeCallable ListTransactionsCallable(const ListTransactionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::ListTransactions, request);
}
/**
* An Async wrapper for ListTransactions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTransactionsAsync(const ListTransactionsRequestT& request, const ListTransactionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::ListTransactions, request, handler, context);
}
/**
* Sets the list of data lake administrators who have admin privileges on all
* resources managed by Lake Formation. For more information on admin privileges,
* see Granting
* Lake Formation Permissions.
This API replaces the current list of
* data lake admins with the new list being passed. To add an admin, fetch the
* current list and add the new admin to that list and pass that list in this
* API.
See Also:
AWS
* API Reference
*/
virtual Model::PutDataLakeSettingsOutcome PutDataLakeSettings(const Model::PutDataLakeSettingsRequest& request) const;
/**
* A Callable wrapper for PutDataLakeSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutDataLakeSettingsOutcomeCallable PutDataLakeSettingsCallable(const PutDataLakeSettingsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::PutDataLakeSettings, request);
}
/**
* An Async wrapper for PutDataLakeSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutDataLakeSettingsAsync(const PutDataLakeSettingsRequestT& request, const PutDataLakeSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::PutDataLakeSettings, request, handler, context);
}
/**
* Registers the resource as managed by the Data Catalog.
To add or
* update data, Lake Formation needs read/write access to the chosen Amazon S3
* path. Choose a role that you know has permission to do this, or choose the
* AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register
* the first Amazon S3 path, the service-linked role and a new inline policy are
* created on your behalf. Lake Formation adds the first path to the inline policy
* and attaches it to the service-linked role. When you register subsequent paths,
* Lake Formation adds the path to the existing policy.
The following
* request registers a new location and gives Lake Formation permission to use the
* service-linked role to access that location.
ResourceArn =
* arn:aws:s3:::my-bucket UseServiceLinkedRole = true
If
* UseServiceLinkedRole
is not set to true, you must provide or set
* the RoleArn
:
* arn:aws:iam::12345:role/my-data-access-role
See
* Also:
AWS
* API Reference
*/
virtual Model::RegisterResourceOutcome RegisterResource(const Model::RegisterResourceRequest& request) const;
/**
* A Callable wrapper for RegisterResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RegisterResourceOutcomeCallable RegisterResourceCallable(const RegisterResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::RegisterResource, request);
}
/**
* An Async wrapper for RegisterResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RegisterResourceAsync(const RegisterResourceRequestT& request, const RegisterResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::RegisterResource, request, handler, context);
}
/**
* Removes an LF-tag from the resource. Only database, table, or
* tableWithColumns resource are allowed. To tag columns, use the column inclusion
* list in tableWithColumns
to specify column input.
See
* Also:
AWS
* API Reference
*/
virtual Model::RemoveLFTagsFromResourceOutcome RemoveLFTagsFromResource(const Model::RemoveLFTagsFromResourceRequest& request) const;
/**
* A Callable wrapper for RemoveLFTagsFromResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveLFTagsFromResourceOutcomeCallable RemoveLFTagsFromResourceCallable(const RemoveLFTagsFromResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::RemoveLFTagsFromResource, request);
}
/**
* An Async wrapper for RemoveLFTagsFromResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveLFTagsFromResourceAsync(const RemoveLFTagsFromResourceRequestT& request, const RemoveLFTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::RemoveLFTagsFromResource, request, handler, context);
}
/**
* Revokes permissions to the principal to access metadata in the Data Catalog
* and data organized in underlying data storage such as Amazon S3.
See
* Also:
AWS
* API Reference
*/
virtual Model::RevokePermissionsOutcome RevokePermissions(const Model::RevokePermissionsRequest& request) const;
/**
* A Callable wrapper for RevokePermissions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RevokePermissionsOutcomeCallable RevokePermissionsCallable(const RevokePermissionsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::RevokePermissions, request);
}
/**
* An Async wrapper for RevokePermissions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RevokePermissionsAsync(const RevokePermissionsRequestT& request, const RevokePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::RevokePermissions, request, handler, context);
}
/**
* This operation allows a search on DATABASE
resources by
* TagCondition
. This operation is used by admins who want to grant
* user permissions on certain TagConditions
. Before making a grant,
* the admin can use SearchDatabasesByTags
to find all resources where
* the given TagConditions
are valid to verify whether the returned
* resources can be shared.
See Also:
AWS
* API Reference
*/
virtual Model::SearchDatabasesByLFTagsOutcome SearchDatabasesByLFTags(const Model::SearchDatabasesByLFTagsRequest& request) const;
/**
* A Callable wrapper for SearchDatabasesByLFTags that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchDatabasesByLFTagsOutcomeCallable SearchDatabasesByLFTagsCallable(const SearchDatabasesByLFTagsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::SearchDatabasesByLFTags, request);
}
/**
* An Async wrapper for SearchDatabasesByLFTags that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchDatabasesByLFTagsAsync(const SearchDatabasesByLFTagsRequestT& request, const SearchDatabasesByLFTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::SearchDatabasesByLFTags, request, handler, context);
}
/**
* This operation allows a search on TABLE
resources by
* LFTag
s. This will be used by admins who want to grant user
* permissions on certain LF-tags. Before making a grant, the admin can use
* SearchTablesByLFTags
to find all resources where the given
* LFTag
s are valid to verify whether the returned resources can be
* shared.
See Also:
AWS
* API Reference
*/
virtual Model::SearchTablesByLFTagsOutcome SearchTablesByLFTags(const Model::SearchTablesByLFTagsRequest& request) const;
/**
* A Callable wrapper for SearchTablesByLFTags that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchTablesByLFTagsOutcomeCallable SearchTablesByLFTagsCallable(const SearchTablesByLFTagsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::SearchTablesByLFTags, request);
}
/**
* An Async wrapper for SearchTablesByLFTags that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchTablesByLFTagsAsync(const SearchTablesByLFTagsRequestT& request, const SearchTablesByLFTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::SearchTablesByLFTags, request, handler, context);
}
/**
* Submits a request to process a query statement.
This operation
* generates work units that can be retrieved with the GetWorkUnits
* operation as soon as the query state is WORKUNITS_AVAILABLE or
* FINISHED.
See Also:
AWS
* API Reference
*/
virtual Model::StartQueryPlanningOutcome StartQueryPlanning(const Model::StartQueryPlanningRequest& request) const;
/**
* A Callable wrapper for StartQueryPlanning that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartQueryPlanningOutcomeCallable StartQueryPlanningCallable(const StartQueryPlanningRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::StartQueryPlanning, request);
}
/**
* An Async wrapper for StartQueryPlanning that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartQueryPlanningAsync(const StartQueryPlanningRequestT& request, const StartQueryPlanningResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::StartQueryPlanning, request, handler, context);
}
/**
* Starts a new transaction and returns its transaction ID. Transaction IDs are
* opaque objects that you can use to identify a transaction.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartTransactionOutcome StartTransaction(const Model::StartTransactionRequest& request) const;
/**
* A Callable wrapper for StartTransaction that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartTransactionOutcomeCallable StartTransactionCallable(const StartTransactionRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::StartTransaction, request);
}
/**
* An Async wrapper for StartTransaction that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartTransactionAsync(const StartTransactionRequestT& request, const StartTransactionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::StartTransaction, request, handler, context);
}
/**
* Updates a data cell filter.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateDataCellsFilterOutcome UpdateDataCellsFilter(const Model::UpdateDataCellsFilterRequest& request) const;
/**
* A Callable wrapper for UpdateDataCellsFilter that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateDataCellsFilterOutcomeCallable UpdateDataCellsFilterCallable(const UpdateDataCellsFilterRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::UpdateDataCellsFilter, request);
}
/**
* An Async wrapper for UpdateDataCellsFilter that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateDataCellsFilterAsync(const UpdateDataCellsFilterRequestT& request, const UpdateDataCellsFilterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::UpdateDataCellsFilter, request, handler, context);
}
/**
* Updates the list of possible values for the specified LF-tag key. If the
* LF-tag does not exist, the operation throws an EntityNotFoundException. The
* values in the delete key values will be deleted from list of possible values. If
* any value in the delete key values is attached to a resource, then API errors
* out with a 400 Exception - "Update not allowed". Untag the attribute before
* deleting the LF-tag key's value.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateLFTagOutcome UpdateLFTag(const Model::UpdateLFTagRequest& request) const;
/**
* A Callable wrapper for UpdateLFTag that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLFTagOutcomeCallable UpdateLFTagCallable(const UpdateLFTagRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::UpdateLFTag, request);
}
/**
* An Async wrapper for UpdateLFTag that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLFTagAsync(const UpdateLFTagRequestT& request, const UpdateLFTagResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::UpdateLFTag, request, handler, context);
}
/**
* Updates the data access role used for vending access to the given
* (registered) resource in Lake Formation.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateResourceOutcome UpdateResource(const Model::UpdateResourceRequest& request) const;
/**
* A Callable wrapper for UpdateResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateResourceOutcomeCallable UpdateResourceCallable(const UpdateResourceRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::UpdateResource, request);
}
/**
* An Async wrapper for UpdateResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateResourceAsync(const UpdateResourceRequestT& request, const UpdateResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::UpdateResource, request, handler, context);
}
/**
* Updates the manifest of Amazon S3 objects that make up the specified governed
* table.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateTableObjectsOutcome UpdateTableObjects(const Model::UpdateTableObjectsRequest& request) const;
/**
* A Callable wrapper for UpdateTableObjects that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateTableObjectsOutcomeCallable UpdateTableObjectsCallable(const UpdateTableObjectsRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::UpdateTableObjects, request);
}
/**
* An Async wrapper for UpdateTableObjects that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateTableObjectsAsync(const UpdateTableObjectsRequestT& request, const UpdateTableObjectsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::UpdateTableObjects, request, handler, context);
}
/**
* Updates the configuration of the storage optimizers for a
* table.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateTableStorageOptimizerOutcome UpdateTableStorageOptimizer(const Model::UpdateTableStorageOptimizerRequest& request) const;
/**
* A Callable wrapper for UpdateTableStorageOptimizer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateTableStorageOptimizerOutcomeCallable UpdateTableStorageOptimizerCallable(const UpdateTableStorageOptimizerRequestT& request) const
{
return SubmitCallable(&LakeFormationClient::UpdateTableStorageOptimizer, request);
}
/**
* An Async wrapper for UpdateTableStorageOptimizer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateTableStorageOptimizerAsync(const UpdateTableStorageOptimizerRequestT& request, const UpdateTableStorageOptimizerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&LakeFormationClient::UpdateTableStorageOptimizer, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const LakeFormationClientConfiguration& clientConfiguration);
LakeFormationClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace LakeFormation
} // namespace Aws