import { EndpointsInputConfig , EndpointsResolvedConfig , RegionInputConfig , RegionResolvedConfig , resolveEndpointsConfig , resolveRegionConfig , } from "@aws-sdk/config-resolver" ; import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length" ; import { getHostHeaderPlugin , HostHeaderInputConfig , HostHeaderResolvedConfig , resolveHostHeaderConfig , } from "@aws-sdk/middleware-host-header" ; import { getLoggerPlugin } from "@aws-sdk/middleware-logger" ; import { getRetryPlugin , resolveRetryConfig , RetryInputConfig , RetryResolvedConfig } from "@aws-sdk/middleware-retry" ; import { AwsAuthInputConfig , AwsAuthResolvedConfig , getAwsAuthPlugin , resolveAwsAuthConfig , } from "@aws-sdk/middleware-signing" ; import { getUserAgentPlugin , resolveUserAgentConfig , UserAgentInputConfig , UserAgentResolvedConfig , } from "@aws-sdk/middleware-user-agent" ; import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http" ; import { Client as __Client , DefaultsMode , SmithyConfiguration as __SmithyConfiguration , SmithyResolvedConfiguration as __SmithyResolvedConfiguration , } from "@aws-sdk/smithy-client" ; import { Credentials as __Credentials , Decoder as __Decoder , Encoder as __Encoder , Hash as __Hash , HashConstructor as __HashConstructor , HttpHandlerOptions as __HttpHandlerOptions , Logger as __Logger , Provider as __Provider , Provider , RegionInfoProvider , StreamCollector as __StreamCollector , UrlParser as __UrlParser , UserAgent as __UserAgent , } from "@aws-sdk/types" ; import { AddLFTagsToResourceCommandInput , AddLFTagsToResourceCommandOutput , } from "./commands/AddLFTagsToResourceCommand" ; import { BatchGrantPermissionsCommandInput , BatchGrantPermissionsCommandOutput , } from "./commands/BatchGrantPermissionsCommand" ; import { BatchRevokePermissionsCommandInput , BatchRevokePermissionsCommandOutput , } from "./commands/BatchRevokePermissionsCommand" ; import { CancelTransactionCommandInput , CancelTransactionCommandOutput } from "./commands/CancelTransactionCommand" ; import { CommitTransactionCommandInput , CommitTransactionCommandOutput } from "./commands/CommitTransactionCommand" ; import { CreateDataCellsFilterCommandInput , CreateDataCellsFilterCommandOutput , } from "./commands/CreateDataCellsFilterCommand" ; import { CreateLFTagCommandInput , CreateLFTagCommandOutput } from "./commands/CreateLFTagCommand" ; import { DeleteDataCellsFilterCommandInput , DeleteDataCellsFilterCommandOutput , } from "./commands/DeleteDataCellsFilterCommand" ; import { DeleteLFTagCommandInput , DeleteLFTagCommandOutput } from "./commands/DeleteLFTagCommand" ; import { DeleteObjectsOnCancelCommandInput , DeleteObjectsOnCancelCommandOutput , } from "./commands/DeleteObjectsOnCancelCommand" ; import { DeregisterResourceCommandInput , DeregisterResourceCommandOutput } from "./commands/DeregisterResourceCommand" ; import { DescribeResourceCommandInput , DescribeResourceCommandOutput } from "./commands/DescribeResourceCommand" ; import { DescribeTransactionCommandInput , DescribeTransactionCommandOutput , } from "./commands/DescribeTransactionCommand" ; import { ExtendTransactionCommandInput , ExtendTransactionCommandOutput } from "./commands/ExtendTransactionCommand" ; import { GetDataLakeSettingsCommandInput , GetDataLakeSettingsCommandOutput , } from "./commands/GetDataLakeSettingsCommand" ; import { GetEffectivePermissionsForPathCommandInput , GetEffectivePermissionsForPathCommandOutput , } from "./commands/GetEffectivePermissionsForPathCommand" ; import { GetLFTagCommandInput , GetLFTagCommandOutput } from "./commands/GetLFTagCommand" ; import { GetQueryStateCommandInput , GetQueryStateCommandOutput } from "./commands/GetQueryStateCommand" ; import { GetQueryStatisticsCommandInput , GetQueryStatisticsCommandOutput } from "./commands/GetQueryStatisticsCommand" ; import { GetResourceLFTagsCommandInput , GetResourceLFTagsCommandOutput } from "./commands/GetResourceLFTagsCommand" ; import { GetTableObjectsCommandInput , GetTableObjectsCommandOutput } from "./commands/GetTableObjectsCommand" ; import { GetTemporaryGluePartitionCredentialsCommandInput , GetTemporaryGluePartitionCredentialsCommandOutput , } from "./commands/GetTemporaryGluePartitionCredentialsCommand" ; import { GetTemporaryGlueTableCredentialsCommandInput , GetTemporaryGlueTableCredentialsCommandOutput , } from "./commands/GetTemporaryGlueTableCredentialsCommand" ; import { GetWorkUnitResultsCommandInput , GetWorkUnitResultsCommandOutput } from "./commands/GetWorkUnitResultsCommand" ; import { GetWorkUnitsCommandInput , GetWorkUnitsCommandOutput } from "./commands/GetWorkUnitsCommand" ; import { GrantPermissionsCommandInput , GrantPermissionsCommandOutput } from "./commands/GrantPermissionsCommand" ; import { ListDataCellsFilterCommandInput , ListDataCellsFilterCommandOutput , } from "./commands/ListDataCellsFilterCommand" ; import { ListLFTagsCommandInput , ListLFTagsCommandOutput } from "./commands/ListLFTagsCommand" ; import { ListPermissionsCommandInput , ListPermissionsCommandOutput } from "./commands/ListPermissionsCommand" ; import { ListResourcesCommandInput , ListResourcesCommandOutput } from "./commands/ListResourcesCommand" ; import { ListTableStorageOptimizersCommandInput , ListTableStorageOptimizersCommandOutput , } from "./commands/ListTableStorageOptimizersCommand" ; import { ListTransactionsCommandInput , ListTransactionsCommandOutput } from "./commands/ListTransactionsCommand" ; import { PutDataLakeSettingsCommandInput , PutDataLakeSettingsCommandOutput , } from "./commands/PutDataLakeSettingsCommand" ; import { RegisterResourceCommandInput , RegisterResourceCommandOutput } from "./commands/RegisterResourceCommand" ; import { RemoveLFTagsFromResourceCommandInput , RemoveLFTagsFromResourceCommandOutput , } from "./commands/RemoveLFTagsFromResourceCommand" ; import { RevokePermissionsCommandInput , RevokePermissionsCommandOutput } from "./commands/RevokePermissionsCommand" ; import { SearchDatabasesByLFTagsCommandInput , SearchDatabasesByLFTagsCommandOutput , } from "./commands/SearchDatabasesByLFTagsCommand" ; import { SearchTablesByLFTagsCommandInput , SearchTablesByLFTagsCommandOutput , } from "./commands/SearchTablesByLFTagsCommand" ; import { StartQueryPlanningCommandInput , StartQueryPlanningCommandOutput } from "./commands/StartQueryPlanningCommand" ; import { StartTransactionCommandInput , StartTransactionCommandOutput } from "./commands/StartTransactionCommand" ; import { UpdateLFTagCommandInput , UpdateLFTagCommandOutput } from "./commands/UpdateLFTagCommand" ; import { UpdateResourceCommandInput , UpdateResourceCommandOutput } from "./commands/UpdateResourceCommand" ; import { UpdateTableObjectsCommandInput , UpdateTableObjectsCommandOutput } from "./commands/UpdateTableObjectsCommand" ; import { UpdateTableStorageOptimizerCommandInput , UpdateTableStorageOptimizerCommandOutput , } from "./commands/UpdateTableStorageOptimizerCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AddLFTagsToResourceCommandInput | BatchGrantPermissionsCommandInput | BatchRevokePermissionsCommandInput | CancelTransactionCommandInput | CommitTransactionCommandInput | CreateDataCellsFilterCommandInput | CreateLFTagCommandInput | DeleteDataCellsFilterCommandInput | DeleteLFTagCommandInput | DeleteObjectsOnCancelCommandInput | DeregisterResourceCommandInput | DescribeResourceCommandInput | DescribeTransactionCommandInput | ExtendTransactionCommandInput | GetDataLakeSettingsCommandInput | GetEffectivePermissionsForPathCommandInput | GetLFTagCommandInput | GetQueryStateCommandInput | GetQueryStatisticsCommandInput | GetResourceLFTagsCommandInput | GetTableObjectsCommandInput | GetTemporaryGluePartitionCredentialsCommandInput | GetTemporaryGlueTableCredentialsCommandInput | GetWorkUnitResultsCommandInput | GetWorkUnitsCommandInput | GrantPermissionsCommandInput | ListDataCellsFilterCommandInput | ListLFTagsCommandInput | ListPermissionsCommandInput | ListResourcesCommandInput | ListTableStorageOptimizersCommandInput | ListTransactionsCommandInput | PutDataLakeSettingsCommandInput | RegisterResourceCommandInput | RemoveLFTagsFromResourceCommandInput | RevokePermissionsCommandInput | SearchDatabasesByLFTagsCommandInput | SearchTablesByLFTagsCommandInput | StartQueryPlanningCommandInput | StartTransactionCommandInput | UpdateLFTagCommandInput | UpdateResourceCommandInput | UpdateTableObjectsCommandInput | UpdateTableStorageOptimizerCommandInput ; export type ServiceOutputTypes = AddLFTagsToResourceCommandOutput | BatchGrantPermissionsCommandOutput | BatchRevokePermissionsCommandOutput | CancelTransactionCommandOutput | CommitTransactionCommandOutput | CreateDataCellsFilterCommandOutput | CreateLFTagCommandOutput | DeleteDataCellsFilterCommandOutput | DeleteLFTagCommandOutput | DeleteObjectsOnCancelCommandOutput | DeregisterResourceCommandOutput | DescribeResourceCommandOutput | DescribeTransactionCommandOutput | ExtendTransactionCommandOutput | GetDataLakeSettingsCommandOutput | GetEffectivePermissionsForPathCommandOutput | GetLFTagCommandOutput | GetQueryStateCommandOutput | GetQueryStatisticsCommandOutput | GetResourceLFTagsCommandOutput | GetTableObjectsCommandOutput | GetTemporaryGluePartitionCredentialsCommandOutput | GetTemporaryGlueTableCredentialsCommandOutput | GetWorkUnitResultsCommandOutput | GetWorkUnitsCommandOutput | GrantPermissionsCommandOutput | ListDataCellsFilterCommandOutput | ListLFTagsCommandOutput | ListPermissionsCommandOutput | ListResourcesCommandOutput | ListTableStorageOptimizersCommandOutput | ListTransactionsCommandOutput | PutDataLakeSettingsCommandOutput | RegisterResourceCommandOutput | RemoveLFTagsFromResourceCommandOutput | RevokePermissionsCommandOutput | SearchDatabasesByLFTagsCommandOutput | SearchTablesByLFTagsCommandOutput | StartQueryPlanningCommandOutput | StartTransactionCommandOutput | UpdateLFTagCommandOutput | UpdateResourceCommandOutput | UpdateTableObjectsCommandOutput | UpdateTableStorageOptimizerCommandOutput ; export interface ClientDefaults extends Partial < __SmithyResolvedConfiguration < __HttpHandlerOptions > > { /**
     * The HTTP handler to use. Fetch in browser and Https in Nodejs.
     */ requestHandler ? : __HttpHandler ; /**
     * A constructor for a class implementing the  __Hash interface
     * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
     *  internal sha256 ? : __HashConstructor ; internal urlParser ? : __UrlParser ; internal bodyLengthChecker ? : ( body : any ) => number | undefined ; internal streamCollector ? : __StreamCollector ; internal base64Decoder ? : __Decoder ; internal base64Encoder ? : __Encoder ; internal utf8Decoder ? : __Decoder ; internal utf8Encoder ? : __Encoder ; internal runtime ? : string ; /**
     * Disable dyanamically changing the endpoint of the client based on the hostPrefix
     * trait of an operation.
     */ disableHostPrefix ? : boolean ; /**
     * Value for how many times a request will be made at most in case of retry.
     */ maxAttempts ? : number | __Provider < number > ; /**
     * Specifies which retry algorithm to use.
     */ retryMode ? : string | __Provider < string > ; /**
     * Optional logger for logging debug/info/warn/error.
     */ logger ? : __Logger ; /**
     * Enables IPv6/IPv4 dualstack endpoint.
     */ useDualstackEndpoint ? : boolean | __Provider < boolean > ; /**
     * Enables FIPS compatible endpoints.
     */ useFipsEndpoint ? : boolean | __Provider < boolean > ; internal serviceId ? : string ; /**
     * The AWS region to which this client will send requests
     */ region ? : string | __Provider < string > ; internal credentialDefaultProvider ? : ( input : any ) => __Provider < __Credentials > ; internal regionInfoProvider ? : RegionInfoProvider ; internal defaultUserAgentProvider ? : Provider < __UserAgent > ; /**
     * The  DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
      defaultsMode ? : DefaultsMode | Provider < DefaultsMode > ; } type LakeFormationClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of LakeFormationClient class constructor that set the region, credentials and other options.
 */ export interface LakeFormationClientConfig extends LakeFormationClientConfigType { } type LakeFormationClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of LakeFormationClient class. This is resolved and normalized from the  LakeFormationClientConfig .
  export interface LakeFormationClientResolvedConfig extends LakeFormationClientResolvedConfigType { } /**
 * <fullname>Lake Formation</fullname>
 *          <p>Defines the public endpoint for the Lake Formation service.</p>
 */ export class LakeFormationClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , LakeFormationClientResolvedConfig > { /**
     * The resolved configuration of LakeFormationClient class. This is resolved and normalized from the  LakeFormationClientConfig .
      readonly config : LakeFormationClientResolvedConfig ; constructor ( configuration ) { const _config_0 = __getRuntimeConfig ( configuration ) ; const _config_1 = resolveRegionConfig ( _config_0 ) ; const _config_2 = resolveEndpointsConfig ( _config_1 ) ; const _config_3 = resolveRetryConfig ( _config_2 ) ; const _config_4 = resolveHostHeaderConfig ( _config_3 ) ; const _config_5 = resolveAwsAuthConfig ( _config_4 ) ; const _config_6 = resolveUserAgentConfig ( _config_5 ) ; super ( _config_6 ) ; this . config = _config_6 ; this . middlewareStack . use ( getRetryPlugin ( this . config ) ) ; this . middlewareStack . use ( getContentLengthPlugin ( this . config ) ) ; this . middlewareStack . use ( getHostHeaderPlugin ( this . config ) ) ; this . middlewareStack . use ( getLoggerPlugin ( this . config ) ) ; this . middlewareStack . use ( getAwsAuthPlugin ( this . config ) ) ; this . middlewareStack . use ( getUserAgentPlugin ( this . config ) ) ; } /**
     * Destroy underlying resources, like sockets. It's usually not necessary to do this.
     * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
     * Otherwise, sockets might stay open for quite a long time before the server terminates them.
     */ destroy ( ) { super . destroy ( ) ; } }