/** * 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 * LFTags. 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 * LFTags 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