7#include <aws/lakeformation/LakeFormation_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/client/AWSClient.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/utils/json/JsonSerializer.h>
12#include <aws/lakeformation/LakeFormationServiceClientModel.h>
16namespace LakeFormation
37 std::shared_ptr<LakeFormationEndpointProviderBase> endpointProvider =
nullptr);
44 std::shared_ptr<LakeFormationEndpointProviderBase> endpointProvider =
nullptr,
52 std::shared_ptr<LakeFormationEndpointProviderBase> endpointProvider =
nullptr,
91 template<
typename AddLFTagsToResourceRequestT = Model::AddLFTagsToResourceRequest>
94 return SubmitCallable(&LakeFormationClient::AddLFTagsToResource, request);
100 template<
typename AddLFTagsToResourceRequestT = Model::AddLFTagsToResourceRequest>
103 return SubmitAsync(&LakeFormationClient::AddLFTagsToResource, request, handler, context);
129 template<
typename AssumeDecoratedRoleWithSAMLRequestT = Model::AssumeDecoratedRoleWithSAMLRequest>
132 return SubmitCallable(&LakeFormationClient::AssumeDecoratedRoleWithSAML, request);
138 template<
typename AssumeDecoratedRoleWithSAMLRequestT = Model::AssumeDecoratedRoleWithSAMLRequest>
141 return SubmitAsync(&LakeFormationClient::AssumeDecoratedRoleWithSAML, request, handler, context);
155 template<
typename BatchGrantPermissionsRequestT = Model::BatchGrantPermissionsRequest>
158 return SubmitCallable(&LakeFormationClient::BatchGrantPermissions, request);
164 template<
typename BatchGrantPermissionsRequestT = Model::BatchGrantPermissionsRequest>
167 return SubmitAsync(&LakeFormationClient::BatchGrantPermissions, request, handler, context);
181 template<
typename BatchRevokePermissionsRequestT = Model::BatchRevokePermissionsRequest>
184 return SubmitCallable(&LakeFormationClient::BatchRevokePermissions, request);
190 template<
typename BatchRevokePermissionsRequestT = Model::BatchRevokePermissionsRequest>
193 return SubmitAsync(&LakeFormationClient::BatchRevokePermissions, request, handler, context);
207 template<
typename CancelTransactionRequestT = Model::CancelTransactionRequest>
210 return SubmitCallable(&LakeFormationClient::CancelTransaction, request);
216 template<
typename CancelTransactionRequestT = Model::CancelTransactionRequest>
219 return SubmitAsync(&LakeFormationClient::CancelTransaction, request, handler, context);
234 template<
typename CommitTransactionRequestT = Model::CommitTransactionRequest>
237 return SubmitCallable(&LakeFormationClient::CommitTransaction, request);
243 template<
typename CommitTransactionRequestT = Model::CommitTransactionRequest>
246 return SubmitAsync(&LakeFormationClient::CommitTransaction, request, handler, context);
260 template<
typename CreateDataCellsFilterRequestT = Model::CreateDataCellsFilterRequest>
263 return SubmitCallable(&LakeFormationClient::CreateDataCellsFilter, request);
269 template<
typename CreateDataCellsFilterRequestT = Model::CreateDataCellsFilterRequest>
272 return SubmitAsync(&LakeFormationClient::CreateDataCellsFilter, request, handler, context);
286 template<
typename CreateLFTagRequestT = Model::CreateLFTagRequest>
289 return SubmitCallable(&LakeFormationClient::CreateLFTag, request);
295 template<
typename CreateLFTagRequestT = Model::CreateLFTagRequest>
298 return SubmitAsync(&LakeFormationClient::CreateLFTag, request, handler, context);
318 template<
typename CreateLFTagExpressionRequestT = Model::CreateLFTagExpressionRequest>
321 return SubmitCallable(&LakeFormationClient::CreateLFTagExpression, request);
327 template<
typename CreateLFTagExpressionRequestT = Model::CreateLFTagExpressionRequest>
330 return SubmitAsync(&LakeFormationClient::CreateLFTagExpression, request, handler, context);
345 template<
typename CreateLakeFormationIdentityCenterConfigurationRequestT = Model::CreateLakeFormationIdentityCenterConfigurationRequest>
348 return SubmitCallable(&LakeFormationClient::CreateLakeFormationIdentityCenterConfiguration, request);
354 template<
typename CreateLakeFormationIdentityCenterConfigurationRequestT = Model::CreateLakeFormationIdentityCenterConfigurationRequest>
357 return SubmitAsync(&LakeFormationClient::CreateLakeFormationIdentityCenterConfiguration, request, handler, context);
371 template<
typename CreateLakeFormationOptInRequestT = Model::CreateLakeFormationOptInRequest>
374 return SubmitCallable(&LakeFormationClient::CreateLakeFormationOptIn, request);
380 template<
typename CreateLakeFormationOptInRequestT = Model::CreateLakeFormationOptInRequest>
383 return SubmitAsync(&LakeFormationClient::CreateLakeFormationOptIn, request, handler, context);
396 template<
typename DeleteDataCellsFilterRequestT = Model::DeleteDataCellsFilterRequest>
399 return SubmitCallable(&LakeFormationClient::DeleteDataCellsFilter, request);
405 template<
typename DeleteDataCellsFilterRequestT = Model::DeleteDataCellsFilterRequest>
408 return SubmitAsync(&LakeFormationClient::DeleteDataCellsFilter, request, handler, context);
426 template<
typename DeleteLFTagRequestT = Model::DeleteLFTagRequest>
429 return SubmitCallable(&LakeFormationClient::DeleteLFTag, request);
435 template<
typename DeleteLFTagRequestT = Model::DeleteLFTagRequest>
438 return SubmitAsync(&LakeFormationClient::DeleteLFTag, request, handler, context);
454 template<
typename DeleteLFTagExpressionRequestT = Model::DeleteLFTagExpressionRequest>
457 return SubmitCallable(&LakeFormationClient::DeleteLFTagExpression, request);
463 template<
typename DeleteLFTagExpressionRequestT = Model::DeleteLFTagExpressionRequest>
466 return SubmitAsync(&LakeFormationClient::DeleteLFTagExpression, request, handler, context);
480 template<
typename DeleteLakeFormationIdentityCenterConfigurationRequestT = Model::DeleteLakeFormationIdentityCenterConfigurationRequest>
483 return SubmitCallable(&LakeFormationClient::DeleteLakeFormationIdentityCenterConfiguration, request);
489 template<
typename DeleteLakeFormationIdentityCenterConfigurationRequestT = Model::DeleteLakeFormationIdentityCenterConfigurationRequest>
492 return SubmitAsync(&LakeFormationClient::DeleteLakeFormationIdentityCenterConfiguration, request, handler, context);
506 template<
typename DeleteLakeFormationOptInRequestT = Model::DeleteLakeFormationOptInRequest>
509 return SubmitCallable(&LakeFormationClient::DeleteLakeFormationOptIn, request);
515 template<
typename DeleteLakeFormationOptInRequestT = Model::DeleteLakeFormationOptInRequest>
518 return SubmitAsync(&LakeFormationClient::DeleteLakeFormationOptIn, request, handler, context);
539 template<
typename DeleteObjectsOnCancelRequestT = Model::DeleteObjectsOnCancelRequest>
542 return SubmitCallable(&LakeFormationClient::DeleteObjectsOnCancel, request);
548 template<
typename DeleteObjectsOnCancelRequestT = Model::DeleteObjectsOnCancelRequest>
551 return SubmitAsync(&LakeFormationClient::DeleteObjectsOnCancel, request, handler, context);
566 template<
typename DeregisterResourceRequestT = Model::DeregisterResourceRequest>
569 return SubmitCallable(&LakeFormationClient::DeregisterResource, request);
575 template<
typename DeregisterResourceRequestT = Model::DeregisterResourceRequest>
578 return SubmitAsync(&LakeFormationClient::DeregisterResource, request, handler, context);
592 template<
typename DescribeLakeFormationIdentityCenterConfigurationRequestT = Model::DescribeLakeFormationIdentityCenterConfigurationRequest>
595 return SubmitCallable(&LakeFormationClient::DescribeLakeFormationIdentityCenterConfiguration, request);
601 template<
typename DescribeLakeFormationIdentityCenterConfigurationRequestT = Model::DescribeLakeFormationIdentityCenterConfigurationRequest>
604 return SubmitAsync(&LakeFormationClient::DescribeLakeFormationIdentityCenterConfiguration, request, handler, context);
618 template<
typename DescribeResourceRequestT = Model::DescribeResourceRequest>
621 return SubmitCallable(&LakeFormationClient::DescribeResource, request);
627 template<
typename DescribeResourceRequestT = Model::DescribeResourceRequest>
630 return SubmitAsync(&LakeFormationClient::DescribeResource, request, handler, context);
643 template<
typename DescribeTransactionRequestT = Model::DescribeTransactionRequest>
646 return SubmitCallable(&LakeFormationClient::DescribeTransaction, request);
652 template<
typename DescribeTransactionRequestT = Model::DescribeTransactionRequest>
655 return SubmitAsync(&LakeFormationClient::DescribeTransaction, request, handler, context);
671 template<
typename ExtendTransactionRequestT = Model::ExtendTransactionRequest>
674 return SubmitCallable(&LakeFormationClient::ExtendTransaction, request);
680 template<
typename ExtendTransactionRequestT = Model::ExtendTransactionRequest>
683 return SubmitAsync(&LakeFormationClient::ExtendTransaction, request, handler, context);
696 template<
typename GetDataCellsFilterRequestT = Model::GetDataCellsFilterRequest>
699 return SubmitCallable(&LakeFormationClient::GetDataCellsFilter, request);
705 template<
typename GetDataCellsFilterRequestT = Model::GetDataCellsFilterRequest>
708 return SubmitAsync(&LakeFormationClient::GetDataCellsFilter, request, handler, context);
721 template<
typename GetDataLakePrincipalRequestT = Model::GetDataLakePrincipalRequest>
724 return SubmitCallable(&LakeFormationClient::GetDataLakePrincipal, request);
730 template<
typename GetDataLakePrincipalRequestT = Model::GetDataLakePrincipalRequest>
733 return SubmitAsync(&LakeFormationClient::GetDataLakePrincipal, request, handler, context);
747 template<
typename GetDataLakeSettingsRequestT = Model::GetDataLakeSettingsRequest>
750 return SubmitCallable(&LakeFormationClient::GetDataLakeSettings, request);
756 template<
typename GetDataLakeSettingsRequestT = Model::GetDataLakeSettingsRequest>
759 return SubmitAsync(&LakeFormationClient::GetDataLakeSettings, request, handler, context);
775 template<
typename GetEffectivePermissionsForPathRequestT = Model::GetEffectivePermissionsForPathRequest>
778 return SubmitCallable(&LakeFormationClient::GetEffectivePermissionsForPath, request);
784 template<
typename GetEffectivePermissionsForPathRequestT = Model::GetEffectivePermissionsForPathRequest>
787 return SubmitAsync(&LakeFormationClient::GetEffectivePermissionsForPath, request, handler, context);
800 template<
typename GetLFTagRequestT = Model::GetLFTagRequest>
803 return SubmitCallable(&LakeFormationClient::GetLFTag, request);
809 template<
typename GetLFTagRequestT = Model::GetLFTagRequest>
812 return SubmitAsync(&LakeFormationClient::GetLFTag, request, handler, context);
827 template<
typename GetLFTagExpressionRequestT = Model::GetLFTagExpressionRequest>
830 return SubmitCallable(&LakeFormationClient::GetLFTagExpression, request);
836 template<
typename GetLFTagExpressionRequestT = Model::GetLFTagExpressionRequest>
839 return SubmitAsync(&LakeFormationClient::GetLFTagExpression, request, handler, context);
856 template<
typename GetQueryStateRequestT = Model::GetQueryStateRequest>
859 return SubmitCallable(&LakeFormationClient::GetQueryState, request);
865 template<
typename GetQueryStateRequestT = Model::GetQueryStateRequest>
868 return SubmitAsync(&LakeFormationClient::GetQueryState, request, handler, context);
882 template<
typename GetQueryStatisticsRequestT = Model::GetQueryStatisticsRequest>
885 return SubmitCallable(&LakeFormationClient::GetQueryStatistics, request);
891 template<
typename GetQueryStatisticsRequestT = Model::GetQueryStatisticsRequest>
894 return SubmitAsync(&LakeFormationClient::GetQueryStatistics, request, handler, context);
907 template<
typename GetResourceLFTagsRequestT = Model::GetResourceLFTagsRequest>
910 return SubmitCallable(&LakeFormationClient::GetResourceLFTags, request);
916 template<
typename GetResourceLFTagsRequestT = Model::GetResourceLFTagsRequest>
919 return SubmitAsync(&LakeFormationClient::GetResourceLFTags, request, handler, context);
934 template<
typename GetTableObjectsRequestT = Model::GetTableObjectsRequest>
937 return SubmitCallable(&LakeFormationClient::GetTableObjects, request);
943 template<
typename GetTableObjectsRequestT = Model::GetTableObjectsRequest>
946 return SubmitAsync(&LakeFormationClient::GetTableObjects, request, handler, context);
963 template<
typename GetTemporaryGluePartitionCredentialsRequestT = Model::GetTemporaryGluePartitionCredentialsRequest>
966 return SubmitCallable(&LakeFormationClient::GetTemporaryGluePartitionCredentials, request);
972 template<
typename GetTemporaryGluePartitionCredentialsRequestT = Model::GetTemporaryGluePartitionCredentialsRequest>
975 return SubmitAsync(&LakeFormationClient::GetTemporaryGluePartitionCredentials, request, handler, context);
994 template<
typename GetTemporaryGlueTableCredentialsRequestT = Model::GetTemporaryGlueTableCredentialsRequest>
997 return SubmitCallable(&LakeFormationClient::GetTemporaryGlueTableCredentials, request);
1003 template<
typename GetTemporaryGlueTableCredentialsRequestT = Model::GetTemporaryGlueTableCredentialsRequest>
1006 return SubmitAsync(&LakeFormationClient::GetTemporaryGlueTableCredentials, request, handler, context);
1020 template<
typename GetWorkUnitResultsRequestT = Model::GetWorkUnitResultsRequest>
1023 return SubmitCallable(&LakeFormationClient::GetWorkUnitResults, request);
1029 template<
typename GetWorkUnitResultsRequestT = Model::GetWorkUnitResultsRequest>
1032 return SubmitAsync(&LakeFormationClient::GetWorkUnitResults, request, handler, context);
1046 template<
typename GetWorkUnitsRequestT = Model::GetWorkUnitsRequest>
1049 return SubmitCallable(&LakeFormationClient::GetWorkUnits, request);
1055 template<
typename GetWorkUnitsRequestT = Model::GetWorkUnitsRequest>
1058 return SubmitAsync(&LakeFormationClient::GetWorkUnits, request, handler, context);
1075 template<
typename GrantPermissionsRequestT = Model::GrantPermissionsRequest>
1078 return SubmitCallable(&LakeFormationClient::GrantPermissions, request);
1084 template<
typename GrantPermissionsRequestT = Model::GrantPermissionsRequest>
1087 return SubmitAsync(&LakeFormationClient::GrantPermissions, request, handler, context);
1100 template<
typename ListDataCellsFilterRequestT = Model::ListDataCellsFilterRequest>
1103 return SubmitCallable(&LakeFormationClient::ListDataCellsFilter, request);
1109 template<
typename ListDataCellsFilterRequestT = Model::ListDataCellsFilterRequest>
1112 return SubmitAsync(&LakeFormationClient::ListDataCellsFilter, request, handler, context);
1128 template<
typename ListLFTagExpressionsRequestT = Model::ListLFTagExpressionsRequest>
1131 return SubmitCallable(&LakeFormationClient::ListLFTagExpressions, request);
1137 template<
typename ListLFTagExpressionsRequestT = Model::ListLFTagExpressionsRequest>
1140 return SubmitAsync(&LakeFormationClient::ListLFTagExpressions, request, handler, context);
1154 template<
typename ListLFTagsRequestT = Model::ListLFTagsRequest>
1157 return SubmitCallable(&LakeFormationClient::ListLFTags, request);
1163 template<
typename ListLFTagsRequestT = Model::ListLFTagsRequest>
1166 return SubmitAsync(&LakeFormationClient::ListLFTags, request, handler, context);
1180 template<
typename ListLakeFormationOptInsRequestT = Model::ListLakeFormationOptInsRequest>
1183 return SubmitCallable(&LakeFormationClient::ListLakeFormationOptIns, request);
1189 template<
typename ListLakeFormationOptInsRequestT = Model::ListLakeFormationOptInsRequest>
1192 return SubmitAsync(&LakeFormationClient::ListLakeFormationOptIns, request, handler, context);
1211 template<
typename ListPermissionsRequestT = Model::ListPermissionsRequest>
1214 return SubmitCallable(&LakeFormationClient::ListPermissions, request);
1220 template<
typename ListPermissionsRequestT = Model::ListPermissionsRequest>
1223 return SubmitAsync(&LakeFormationClient::ListPermissions, request, handler, context);
1237 template<
typename ListResourcesRequestT = Model::ListResourcesRequest>
1240 return SubmitCallable(&LakeFormationClient::ListResources, request);
1246 template<
typename ListResourcesRequestT = Model::ListResourcesRequest>
1249 return SubmitAsync(&LakeFormationClient::ListResources, request, handler, context);
1263 template<
typename ListTableStorageOptimizersRequestT = Model::ListTableStorageOptimizersRequest>
1266 return SubmitCallable(&LakeFormationClient::ListTableStorageOptimizers, request);
1272 template<
typename ListTableStorageOptimizersRequestT = Model::ListTableStorageOptimizersRequest>
1275 return SubmitAsync(&LakeFormationClient::ListTableStorageOptimizers, request, handler, context);
1292 template<
typename ListTransactionsRequestT = Model::ListTransactionsRequest>
1295 return SubmitCallable(&LakeFormationClient::ListTransactions, request);
1301 template<
typename ListTransactionsRequestT = Model::ListTransactionsRequest>
1304 return SubmitAsync(&LakeFormationClient::ListTransactions, request, handler, context);
1324 template<
typename PutDataLakeSettingsRequestT = Model::PutDataLakeSettingsRequest>
1327 return SubmitCallable(&LakeFormationClient::PutDataLakeSettings, request);
1333 template<
typename PutDataLakeSettingsRequestT = Model::PutDataLakeSettingsRequest>
1336 return SubmitAsync(&LakeFormationClient::PutDataLakeSettings, request, handler, context);
1363 template<
typename RegisterResourceRequestT = Model::RegisterResourceRequest>
1366 return SubmitCallable(&LakeFormationClient::RegisterResource, request);
1372 template<
typename RegisterResourceRequestT = Model::RegisterResourceRequest>
1375 return SubmitAsync(&LakeFormationClient::RegisterResource, request, handler, context);
1391 template<
typename RemoveLFTagsFromResourceRequestT = Model::RemoveLFTagsFromResourceRequest>
1394 return SubmitCallable(&LakeFormationClient::RemoveLFTagsFromResource, request);
1400 template<
typename RemoveLFTagsFromResourceRequestT = Model::RemoveLFTagsFromResourceRequest>
1403 return SubmitAsync(&LakeFormationClient::RemoveLFTagsFromResource, request, handler, context);
1418 template<
typename RevokePermissionsRequestT = Model::RevokePermissionsRequest>
1421 return SubmitCallable(&LakeFormationClient::RevokePermissions, request);
1427 template<
typename RevokePermissionsRequestT = Model::RevokePermissionsRequest>
1430 return SubmitAsync(&LakeFormationClient::RevokePermissions, request, handler, context);
1448 template<
typename SearchDatabasesByLFTagsRequestT = Model::SearchDatabasesByLFTagsRequest>
1451 return SubmitCallable(&LakeFormationClient::SearchDatabasesByLFTags, request);
1457 template<
typename SearchDatabasesByLFTagsRequestT = Model::SearchDatabasesByLFTagsRequest>
1460 return SubmitAsync(&LakeFormationClient::SearchDatabasesByLFTags, request, handler, context);
1478 template<
typename SearchTablesByLFTagsRequestT = Model::SearchTablesByLFTagsRequest>
1481 return SubmitCallable(&LakeFormationClient::SearchTablesByLFTags, request);
1487 template<
typename SearchTablesByLFTagsRequestT = Model::SearchTablesByLFTagsRequest>
1490 return SubmitAsync(&LakeFormationClient::SearchTablesByLFTags, request, handler, context);
1506 template<
typename StartQueryPlanningRequestT = Model::StartQueryPlanningRequest>
1509 return SubmitCallable(&LakeFormationClient::StartQueryPlanning, request);
1515 template<
typename StartQueryPlanningRequestT = Model::StartQueryPlanningRequest>
1518 return SubmitAsync(&LakeFormationClient::StartQueryPlanning, request, handler, context);
1533 template<
typename StartTransactionRequestT = Model::StartTransactionRequest>
1536 return SubmitCallable(&LakeFormationClient::StartTransaction, request);
1542 template<
typename StartTransactionRequestT = Model::StartTransactionRequest>
1545 return SubmitAsync(&LakeFormationClient::StartTransaction, request, handler, context);
1558 template<
typename UpdateDataCellsFilterRequestT = Model::UpdateDataCellsFilterRequest>
1561 return SubmitCallable(&LakeFormationClient::UpdateDataCellsFilter, request);
1567 template<
typename UpdateDataCellsFilterRequestT = Model::UpdateDataCellsFilterRequest>
1570 return SubmitAsync(&LakeFormationClient::UpdateDataCellsFilter, request, handler, context);
1588 template<
typename UpdateLFTagRequestT = Model::UpdateLFTagRequest>
1591 return SubmitCallable(&LakeFormationClient::UpdateLFTag, request);
1597 template<
typename UpdateLFTagRequestT = Model::UpdateLFTagRequest>
1600 return SubmitAsync(&LakeFormationClient::UpdateLFTag, request, handler, context);
1616 template<
typename UpdateLFTagExpressionRequestT = Model::UpdateLFTagExpressionRequest>
1619 return SubmitCallable(&LakeFormationClient::UpdateLFTagExpression, request);
1625 template<
typename UpdateLFTagExpressionRequestT = Model::UpdateLFTagExpressionRequest>
1628 return SubmitAsync(&LakeFormationClient::UpdateLFTagExpression, request, handler, context);
1642 template<
typename UpdateLakeFormationIdentityCenterConfigurationRequestT = Model::UpdateLakeFormationIdentityCenterConfigurationRequest>
1645 return SubmitCallable(&LakeFormationClient::UpdateLakeFormationIdentityCenterConfiguration, request);
1651 template<
typename UpdateLakeFormationIdentityCenterConfigurationRequestT = Model::UpdateLakeFormationIdentityCenterConfigurationRequest>
1654 return SubmitAsync(&LakeFormationClient::UpdateLakeFormationIdentityCenterConfiguration, request, handler, context);
1668 template<
typename UpdateResourceRequestT = Model::UpdateResourceRequest>
1671 return SubmitCallable(&LakeFormationClient::UpdateResource, request);
1677 template<
typename UpdateResourceRequestT = Model::UpdateResourceRequest>
1680 return SubmitAsync(&LakeFormationClient::UpdateResource, request, handler, context);
1694 template<
typename UpdateTableObjectsRequestT = Model::UpdateTableObjectsRequest>
1697 return SubmitCallable(&LakeFormationClient::UpdateTableObjects, request);
1703 template<
typename UpdateTableObjectsRequestT = Model::UpdateTableObjectsRequest>
1706 return SubmitAsync(&LakeFormationClient::UpdateTableObjects, request, handler, context);
1720 template<
typename UpdateTableStorageOptimizerRequestT = Model::UpdateTableStorageOptimizerRequest>
1723 return SubmitCallable(&LakeFormationClient::UpdateTableStorageOptimizer, request);
1729 template<
typename UpdateTableStorageOptimizerRequestT = Model::UpdateTableStorageOptimizerRequest>
1732 return SubmitAsync(&LakeFormationClient::UpdateTableStorageOptimizer, request, handler, context);
1743 std::shared_ptr<LakeFormationEndpointProviderBase> m_endpointProvider;
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String