import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AddLFTagsToResourceCommand , AddLFTagsToResourceCommandInput , AddLFTagsToResourceCommandOutput , } from "./commands/AddLFTagsToResourceCommand" ; import { BatchGrantPermissionsCommand , BatchGrantPermissionsCommandInput , BatchGrantPermissionsCommandOutput , } from "./commands/BatchGrantPermissionsCommand" ; import { BatchRevokePermissionsCommand , BatchRevokePermissionsCommandInput , BatchRevokePermissionsCommandOutput , } from "./commands/BatchRevokePermissionsCommand" ; import { CancelTransactionCommand , CancelTransactionCommandInput , CancelTransactionCommandOutput , } from "./commands/CancelTransactionCommand" ; import { CommitTransactionCommand , CommitTransactionCommandInput , CommitTransactionCommandOutput , } from "./commands/CommitTransactionCommand" ; import { CreateDataCellsFilterCommand , CreateDataCellsFilterCommandInput , CreateDataCellsFilterCommandOutput , } from "./commands/CreateDataCellsFilterCommand" ; import { CreateLFTagCommand , CreateLFTagCommandInput , CreateLFTagCommandOutput } from "./commands/CreateLFTagCommand" ; import { DeleteDataCellsFilterCommand , DeleteDataCellsFilterCommandInput , DeleteDataCellsFilterCommandOutput , } from "./commands/DeleteDataCellsFilterCommand" ; import { DeleteLFTagCommand , DeleteLFTagCommandInput , DeleteLFTagCommandOutput } from "./commands/DeleteLFTagCommand" ; import { DeleteObjectsOnCancelCommand , DeleteObjectsOnCancelCommandInput , DeleteObjectsOnCancelCommandOutput , } from "./commands/DeleteObjectsOnCancelCommand" ; import { DeregisterResourceCommand , DeregisterResourceCommandInput , DeregisterResourceCommandOutput , } from "./commands/DeregisterResourceCommand" ; import { DescribeResourceCommand , DescribeResourceCommandInput , DescribeResourceCommandOutput , } from "./commands/DescribeResourceCommand" ; import { DescribeTransactionCommand , DescribeTransactionCommandInput , DescribeTransactionCommandOutput , } from "./commands/DescribeTransactionCommand" ; import { ExtendTransactionCommand , ExtendTransactionCommandInput , ExtendTransactionCommandOutput , } from "./commands/ExtendTransactionCommand" ; import { GetDataLakeSettingsCommand , GetDataLakeSettingsCommandInput , GetDataLakeSettingsCommandOutput , } from "./commands/GetDataLakeSettingsCommand" ; import { GetEffectivePermissionsForPathCommand , GetEffectivePermissionsForPathCommandInput , GetEffectivePermissionsForPathCommandOutput , } from "./commands/GetEffectivePermissionsForPathCommand" ; import { GetLFTagCommand , GetLFTagCommandInput , GetLFTagCommandOutput } from "./commands/GetLFTagCommand" ; import { GetQueryStateCommand , GetQueryStateCommandInput , GetQueryStateCommandOutput , } from "./commands/GetQueryStateCommand" ; import { GetQueryStatisticsCommand , GetQueryStatisticsCommandInput , GetQueryStatisticsCommandOutput , } from "./commands/GetQueryStatisticsCommand" ; import { GetResourceLFTagsCommand , GetResourceLFTagsCommandInput , GetResourceLFTagsCommandOutput , } from "./commands/GetResourceLFTagsCommand" ; import { GetTableObjectsCommand , GetTableObjectsCommandInput , GetTableObjectsCommandOutput , } from "./commands/GetTableObjectsCommand" ; import { GetTemporaryGluePartitionCredentialsCommand , GetTemporaryGluePartitionCredentialsCommandInput , GetTemporaryGluePartitionCredentialsCommandOutput , } from "./commands/GetTemporaryGluePartitionCredentialsCommand" ; import { GetTemporaryGlueTableCredentialsCommand , GetTemporaryGlueTableCredentialsCommandInput , GetTemporaryGlueTableCredentialsCommandOutput , } from "./commands/GetTemporaryGlueTableCredentialsCommand" ; import { GetWorkUnitResultsCommand , GetWorkUnitResultsCommandInput , GetWorkUnitResultsCommandOutput , } from "./commands/GetWorkUnitResultsCommand" ; import { GetWorkUnitsCommand , GetWorkUnitsCommandInput , GetWorkUnitsCommandOutput , } from "./commands/GetWorkUnitsCommand" ; import { GrantPermissionsCommand , GrantPermissionsCommandInput , GrantPermissionsCommandOutput , } from "./commands/GrantPermissionsCommand" ; import { ListDataCellsFilterCommand , ListDataCellsFilterCommandInput , ListDataCellsFilterCommandOutput , } from "./commands/ListDataCellsFilterCommand" ; import { ListLFTagsCommand , ListLFTagsCommandInput , ListLFTagsCommandOutput } from "./commands/ListLFTagsCommand" ; import { ListPermissionsCommand , ListPermissionsCommandInput , ListPermissionsCommandOutput , } from "./commands/ListPermissionsCommand" ; import { ListResourcesCommand , ListResourcesCommandInput , ListResourcesCommandOutput , } from "./commands/ListResourcesCommand" ; import { ListTableStorageOptimizersCommand , ListTableStorageOptimizersCommandInput , ListTableStorageOptimizersCommandOutput , } from "./commands/ListTableStorageOptimizersCommand" ; import { ListTransactionsCommand , ListTransactionsCommandInput , ListTransactionsCommandOutput , } from "./commands/ListTransactionsCommand" ; import { PutDataLakeSettingsCommand , PutDataLakeSettingsCommandInput , PutDataLakeSettingsCommandOutput , } from "./commands/PutDataLakeSettingsCommand" ; import { RegisterResourceCommand , RegisterResourceCommandInput , RegisterResourceCommandOutput , } from "./commands/RegisterResourceCommand" ; import { RemoveLFTagsFromResourceCommand , RemoveLFTagsFromResourceCommandInput , RemoveLFTagsFromResourceCommandOutput , } from "./commands/RemoveLFTagsFromResourceCommand" ; import { RevokePermissionsCommand , RevokePermissionsCommandInput , RevokePermissionsCommandOutput , } from "./commands/RevokePermissionsCommand" ; import { SearchDatabasesByLFTagsCommand , SearchDatabasesByLFTagsCommandInput , SearchDatabasesByLFTagsCommandOutput , } from "./commands/SearchDatabasesByLFTagsCommand" ; import { SearchTablesByLFTagsCommand , SearchTablesByLFTagsCommandInput , SearchTablesByLFTagsCommandOutput , } from "./commands/SearchTablesByLFTagsCommand" ; import { StartQueryPlanningCommand , StartQueryPlanningCommandInput , StartQueryPlanningCommandOutput , } from "./commands/StartQueryPlanningCommand" ; import { StartTransactionCommand , StartTransactionCommandInput , StartTransactionCommandOutput , } from "./commands/StartTransactionCommand" ; import { UpdateLFTagCommand , UpdateLFTagCommandInput , UpdateLFTagCommandOutput } from "./commands/UpdateLFTagCommand" ; import { UpdateResourceCommand , UpdateResourceCommandInput , UpdateResourceCommandOutput , } from "./commands/UpdateResourceCommand" ; import { UpdateTableObjectsCommand , UpdateTableObjectsCommandInput , UpdateTableObjectsCommandOutput , } from "./commands/UpdateTableObjectsCommand" ; import { UpdateTableStorageOptimizerCommand , UpdateTableStorageOptimizerCommandInput , UpdateTableStorageOptimizerCommandOutput , } from "./commands/UpdateTableStorageOptimizerCommand" ; import { LakeFormationClient } from "./LakeFormationClient" ; /**
 * <fullname>Lake Formation</fullname>
 *          <p>Defines the public endpoint for the Lake Formation service.</p>
 */ export class LakeFormation extends LakeFormationClient { /**
     * <p>Attaches one or more LF-tags to an existing resource.</p>
     */ public addLFTagsToResource ( args , options ? ) ; public addLFTagsToResource ( args , cb ) ; public addLFTagsToResource ( args , options , cb ) ; public addLFTagsToResource ( args , optionsOrCb ? , cb ? ) { const command = new AddLFTagsToResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Batch operation to grant permissions to the principal.</p>
     */ public batchGrantPermissions ( args , options ? ) ; public batchGrantPermissions ( args , cb ) ; public batchGrantPermissions ( args , options , cb ) ; public batchGrantPermissions ( args , optionsOrCb ? , cb ? ) { const command = new BatchGrantPermissionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Batch operation to revoke permissions from the principal.</p>
     */ public batchRevokePermissions ( args , options ? ) ; public batchRevokePermissions ( args , cb ) ; public batchRevokePermissions ( args , options , cb ) ; public batchRevokePermissions ( args , optionsOrCb ? , cb ? ) { const command = new BatchRevokePermissionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Attempts to cancel the specified transaction. Returns an exception if the transaction was previously committed.</p>
     */ public cancelTransaction ( args , options ? ) ; public cancelTransaction ( args , cb ) ; public cancelTransaction ( args , options , cb ) ; public cancelTransaction ( args , optionsOrCb ? , cb ? ) { const command = new CancelTransactionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     */ public commitTransaction ( args , options ? ) ; public commitTransaction ( args , cb ) ; public commitTransaction ( args , options , cb ) ; public commitTransaction ( args , optionsOrCb ? , cb ? ) { const command = new CommitTransactionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a data cell filter to allow one to grant access to certain columns on certain rows.</p>
     */ public createDataCellsFilter ( args , options ? ) ; public createDataCellsFilter ( args , cb ) ; public createDataCellsFilter ( args , options , cb ) ; public createDataCellsFilter ( args , optionsOrCb ? , cb ? ) { const command = new CreateDataCellsFilterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates an LF-tag with the specified name and values.</p>
     */ public createLFTag ( args , options ? ) ; public createLFTag ( args , cb ) ; public createLFTag ( args , options , cb ) ; public createLFTag ( args , optionsOrCb ? , cb ? ) { const command = new CreateLFTagCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a data cell filter.</p>
     */ public deleteDataCellsFilter ( args , options ? ) ; public deleteDataCellsFilter ( args , cb ) ; public deleteDataCellsFilter ( args , options , cb ) ; public deleteDataCellsFilter ( args , optionsOrCb ? , cb ? ) { const command = new DeleteDataCellsFilterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the specified LF-tag key name. If the attribute key does not exist or the LF-tag does not exist, then the operation will not do anything. If the attribute key exists, then the operation checks if any resources are tagged with this attribute key, if yes, the API throws a 400 Exception with the message "Delete not allowed" as the LF-tag key is still attached with resources. You can consider untagging resources with this LF-tag key.</p>
     */ public deleteLFTag ( args , options ? ) ; public deleteLFTag ( args , cb ) ; public deleteLFTag ( args , options , cb ) ; public deleteLFTag ( args , optionsOrCb ? , cb ? ) { const command = new DeleteLFTagCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.
     *     </p>
     *          <p>
     *       The Glue ETL library function <code>write_dynamic_frame.from_catalog()</code> includes an option to automatically
     *       call <code>DeleteObjectsOnCancel</code> before writes. For more information, see
     *       <a href="https://docs.aws.amazon.com/lake-formation/latest/dg/transactions-data-operations.html#rolling-back-writes">Rolling Back Amazon S3 Writes</a>.
     *     </p>
     */ public deleteObjectsOnCancel ( args , options ? ) ; public deleteObjectsOnCancel ( args , cb ) ; public deleteObjectsOnCancel ( args , options , cb ) ; public deleteObjectsOnCancel ( args , optionsOrCb ? , cb ? ) { const command = new DeleteObjectsOnCancelCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deregisters the resource as managed by the Data Catalog.</p>
     *
     *          <p>When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role.</p>
     */ public deregisterResource ( args , options ? ) ; public deregisterResource ( args , cb ) ; public deregisterResource ( args , options , cb ) ; public deregisterResource ( args , optionsOrCb ? , cb ? ) { const command = new DeregisterResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves the current data access role for the given resource registered in Lake Formation.</p>
     */ public describeResource ( args , options ? ) ; public describeResource ( args , cb ) ; public describeResource ( args , options , cb ) ; public describeResource ( args , optionsOrCb ? , cb ? ) { const command = new DescribeResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the details of a single transaction.</p>
     */ public describeTransaction ( args , options ? ) ; public describeTransaction ( args , cb ) ; public describeTransaction ( args , options , cb ) ; public describeTransaction ( args , optionsOrCb ? , cb ? ) { const command = new DescribeTransactionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Indicates to the service that the specified transaction is still active and should not be treated as idle and aborted.</p>
     *
     * 	        <p>Write transactions that remain idle for a long period are automatically aborted unless explicitly extended.</p>
     */ public extendTransaction ( args , options ? ) ; public extendTransaction ( args , cb ) ; public extendTransaction ( args , options , cb ) ; public extendTransaction ( args , optionsOrCb ? , cb ? ) { const command = new ExtendTransactionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves the list of the data lake administrators of a Lake Formation-managed data lake. </p>
     */ public getDataLakeSettings ( args , options ? ) ; public getDataLakeSettings ( args , cb ) ; public getDataLakeSettings ( args , options , cb ) ; public getDataLakeSettings ( args , optionsOrCb ? , cb ? ) { const command = new GetDataLakeSettingsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the Lake Formation permissions for a specified table or database resource located
     *       at a path in Amazon S3. <code>GetEffectivePermissionsForPath</code> will not return databases and tables if the catalog is encrypted.</p>
     */ public getEffectivePermissionsForPath ( args , options ? ) ; public getEffectivePermissionsForPath ( args , cb ) ; public getEffectivePermissionsForPath ( args , options , cb ) ; public getEffectivePermissionsForPath ( args , optionsOrCb ? , cb ? ) { const command = new GetEffectivePermissionsForPathCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns an LF-tag definition.</p>
     */ public getLFTag ( args , options ? ) ; public getLFTag ( args , cb ) ; public getLFTag ( args , options , cb ) ; public getLFTag ( args , optionsOrCb ? , cb ? ) { const command = new GetLFTagCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the state of a query previously submitted. Clients are expected to poll <code>GetQueryState</code> 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 <code>StartQueryPlanning</code>.</p>
     */ public getQueryState ( args , options ? ) ; public getQueryState ( args , cb ) ; public getQueryState ( args , options , cb ) ; public getQueryState ( args , optionsOrCb ? , cb ? ) { const command = new GetQueryStateCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves statistics on the planning and execution of a query.</p>
     */ public getQueryStatistics ( args , options ? ) ; public getQueryStatistics ( args , cb ) ; public getQueryStatistics ( args , options , cb ) ; public getQueryStatistics ( args , optionsOrCb ? , cb ? ) { const command = new GetQueryStatisticsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the LF-tags applied to a resource.</p>
     */ public getResourceLFTags ( args , options ? ) ; public getResourceLFTags ( args , cb ) ; public getResourceLFTags ( args , options , cb ) ; public getResourceLFTags ( args , optionsOrCb ? , cb ? ) { const command = new GetResourceLFTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     */ public getTableObjects ( args , options ? ) ; public getTableObjects ( args , cb ) ; public getTableObjects ( args , options , cb ) ; public getTableObjects ( args , optionsOrCb ? , cb ? ) { const command = new GetTableObjectsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>This API is identical to <code>GetTemporaryTableCredentials</code> 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.</p>
     */ public getTemporaryGluePartitionCredentials ( args , options ? ) ; public getTemporaryGluePartitionCredentials ( args , cb ) ; public getTemporaryGluePartitionCredentials ( args , options , cb ) ; public getTemporaryGluePartitionCredentials ( args , optionsOrCb ? , cb ? ) { const command = new GetTemporaryGluePartitionCredentialsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     */ public getTemporaryGlueTableCredentials ( args , options ? ) ; public getTemporaryGlueTableCredentials ( args , cb ) ; public getTemporaryGlueTableCredentials ( args , options , cb ) ; public getTemporaryGlueTableCredentials ( args , optionsOrCb ? , cb ? ) { const command = new GetTemporaryGlueTableCredentialsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the work units resulting from the query. Work units can be executed in any order and in parallel. </p>
     */ public getWorkUnitResults ( args , options ? ) ; public getWorkUnitResults ( args , cb ) ; public getWorkUnitResults ( args , options , cb ) ; public getWorkUnitResults ( args , optionsOrCb ? , cb ? ) { const command = new GetWorkUnitResultsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves the work units generated by the <code>StartQueryPlanning</code> operation.</p>
     */ public getWorkUnits ( args , options ? ) ; public getWorkUnits ( args , cb ) ; public getWorkUnits ( args , options , cb ) ; public getWorkUnits ( args , optionsOrCb ? , cb ? ) { const command = new GetWorkUnitsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.</p>
     * 	        <p>For information about permissions, see <a href="https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html">Security and Access Control to Metadata and Data</a>.</p>
     */ public grantPermissions ( args , options ? ) ; public grantPermissions ( args , cb ) ; public grantPermissions ( args , options , cb ) ; public grantPermissions ( args , optionsOrCb ? , cb ? ) { const command = new GrantPermissionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all the data cell filters on a table.</p>
     */ public listDataCellsFilter ( args , options ? ) ; public listDataCellsFilter ( args , cb ) ; public listDataCellsFilter ( args , options , cb ) ; public listDataCellsFilter ( args , optionsOrCb ? , cb ? ) { const command = new ListDataCellsFilterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists LF-tags that the requester has permission to view. </p>
     */ public listLFTags ( args , options ? ) ; public listLFTags ( args , cb ) ; public listLFTags ( args , options , cb ) ; public listLFTags ( args , optionsOrCb ? , cb ? ) { const command = new ListLFTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     * 	        <p>This operation returns only those permissions that have been explicitly granted.</p>
     * 	        <p>For information about permissions, see <a href="https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html">Security and Access Control to Metadata and Data</a>.</p>
     */ public listPermissions ( args , options ? ) ; public listPermissions ( args , cb ) ; public listPermissions ( args , options , cb ) ; public listPermissions ( args , optionsOrCb ? , cb ? ) { const command = new ListPermissionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the resources registered to be managed by the Data Catalog.</p>
     */ public listResources ( args , options ? ) ; public listResources ( args , cb ) ; public listResources ( args , options , cb ) ; public listResources ( args , optionsOrCb ? , cb ? ) { const command = new ListResourcesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the configuration of all storage optimizers associated with a specified table.</p>
     */ public listTableStorageOptimizers ( args , options ? ) ; public listTableStorageOptimizers ( args , cb ) ; public listTableStorageOptimizers ( args , options , cb ) ; public listTableStorageOptimizers ( args , optionsOrCb ? , cb ? ) { const command = new ListTableStorageOptimizersCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     * 	        <p>This operation can help you identify uncommitted transactions or to get information about transactions.</p>
     */ public listTransactions ( args , options ? ) ; public listTransactions ( args , cb ) ; public listTransactions ( args , options , cb ) ; public listTransactions ( args , optionsOrCb ? , cb ? ) { const command = new ListTransactionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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 <a href="https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html">Granting Lake Formation Permissions</a>.</p>
     *
     * 	        <p>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.</p>
     */ public putDataLakeSettings ( args , options ? ) ; public putDataLakeSettings ( args , cb ) ; public putDataLakeSettings ( args , options , cb ) ; public putDataLakeSettings ( args , optionsOrCb ? , cb ? ) { const command = new PutDataLakeSettingsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Registers the resource as managed by the Data Catalog.</p>
     *
     *          <p>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.</p>
     *
     *          <p>The following request registers a new location and gives Lake Formation permission to use the service-linked role to access that location.</p>
     *
     *          <p>
     *             <code>ResourceArn = arn:aws:s3:::my-bucket
     * UseServiceLinkedRole = true</code>
     *          </p>
     *
     * 	        <p>If <code>UseServiceLinkedRole</code> is not set to true, you must provide or set the <code>RoleArn</code>:</p>
     *
     *          <p>
     *             <code>arn:aws:iam::12345:role/my-data-access-role</code>
     *          </p>
     */ public registerResource ( args , options ? ) ; public registerResource ( args , cb ) ; public registerResource ( args , options , cb ) ; public registerResource ( args , optionsOrCb ? , cb ? ) { const command = new RegisterResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes an LF-tag from the resource. Only database, table, or tableWithColumns resource are allowed. To tag columns, use the column inclusion list in <code>tableWithColumns</code> to specify column input.</p>
     */ public removeLFTagsFromResource ( args , options ? ) ; public removeLFTagsFromResource ( args , cb ) ; public removeLFTagsFromResource ( args , options , cb ) ; public removeLFTagsFromResource ( args , optionsOrCb ? , cb ? ) { const command = new RemoveLFTagsFromResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Revokes permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.</p>
     */ public revokePermissions ( args , options ? ) ; public revokePermissions ( args , cb ) ; public revokePermissions ( args , options , cb ) ; public revokePermissions ( args , optionsOrCb ? , cb ? ) { const command = new RevokePermissionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>This operation allows a search on <code>DATABASE</code> resources by <code>TagCondition</code>. This operation is used by admins who want to grant user permissions on certain <code>TagConditions</code>. Before making a grant, the admin can use <code>SearchDatabasesByTags</code> to find all resources where the given <code>TagConditions</code> are valid to verify whether the returned resources can be shared.</p>
     */ public searchDatabasesByLFTags ( args , options ? ) ; public searchDatabasesByLFTags ( args , cb ) ; public searchDatabasesByLFTags ( args , options , cb ) ; public searchDatabasesByLFTags ( args , optionsOrCb ? , cb ? ) { const command = new SearchDatabasesByLFTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>This operation allows a search on <code>TABLE</code> resources by <code>LFTag</code>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 <code>SearchTablesByLFTags</code> to find all resources where the given <code>LFTag</code>s are valid to verify whether the returned resources can be shared.</p>
     */ public searchTablesByLFTags ( args , options ? ) ; public searchTablesByLFTags ( args , cb ) ; public searchTablesByLFTags ( args , options , cb ) ; public searchTablesByLFTags ( args , optionsOrCb ? , cb ? ) { const command = new SearchTablesByLFTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Submits a request to process a query statement.</p>
     *
     * 	        <p>This operation generates work units that can be retrieved with the <code>GetWorkUnits</code> operation as soon as the query state is WORKUNITS_AVAILABLE or FINISHED.</p>
     */ public startQueryPlanning ( args , options ? ) ; public startQueryPlanning ( args , cb ) ; public startQueryPlanning ( args , options , cb ) ; public startQueryPlanning ( args , optionsOrCb ? , cb ? ) { const command = new StartQueryPlanningCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Starts a new transaction and returns its transaction ID. Transaction IDs are opaque objects that you can use to identify a transaction.</p>
     */ public startTransaction ( args , options ? ) ; public startTransaction ( args , cb ) ; public startTransaction ( args , options , cb ) ; public startTransaction ( args , optionsOrCb ? , cb ? ) { const command = new StartTransactionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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. </p>
     */ public updateLFTag ( args , options ? ) ; public updateLFTag ( args , cb ) ; public updateLFTag ( args , options , cb ) ; public updateLFTag ( args , optionsOrCb ? , cb ? ) { const command = new UpdateLFTagCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the data access role used for vending access to the given (registered) resource in Lake Formation. </p>
     */ public updateResource ( args , options ? ) ; public updateResource ( args , cb ) ; public updateResource ( args , options , cb ) ; public updateResource ( args , optionsOrCb ? , cb ? ) { const command = new UpdateResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the manifest of Amazon S3 objects that make up the specified governed table.</p>
     */ public updateTableObjects ( args , options ? ) ; public updateTableObjects ( args , cb ) ; public updateTableObjects ( args , options , cb ) ; public updateTableObjects ( args , optionsOrCb ? , cb ? ) { const command = new UpdateTableObjectsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the configuration of the storage optimizers for a table.</p>
     */ public updateTableStorageOptimizer ( args , options ? ) ; public updateTableStorageOptimizer ( args , cb ) ; public updateTableStorageOptimizer ( args , options , cb ) ; public updateTableStorageOptimizer ( args , optionsOrCb ? , cb ? ) { const command = new UpdateTableStorageOptimizerCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }