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 { AddTagsToResourceCommandInput , AddTagsToResourceCommandOutput } from "./commands/AddTagsToResourceCommand" ; import { ApplyPendingMaintenanceActionCommandInput , ApplyPendingMaintenanceActionCommandOutput , } from "./commands/ApplyPendingMaintenanceActionCommand" ; import { CancelReplicationTaskAssessmentRunCommandInput , CancelReplicationTaskAssessmentRunCommandOutput , } from "./commands/CancelReplicationTaskAssessmentRunCommand" ; import { CreateEndpointCommandInput , CreateEndpointCommandOutput } from "./commands/CreateEndpointCommand" ; import { CreateEventSubscriptionCommandInput , CreateEventSubscriptionCommandOutput , } from "./commands/CreateEventSubscriptionCommand" ; import { CreateReplicationInstanceCommandInput , CreateReplicationInstanceCommandOutput , } from "./commands/CreateReplicationInstanceCommand" ; import { CreateReplicationSubnetGroupCommandInput , CreateReplicationSubnetGroupCommandOutput , } from "./commands/CreateReplicationSubnetGroupCommand" ; import { CreateReplicationTaskCommandInput , CreateReplicationTaskCommandOutput , } from "./commands/CreateReplicationTaskCommand" ; import { DeleteCertificateCommandInput , DeleteCertificateCommandOutput } from "./commands/DeleteCertificateCommand" ; import { DeleteConnectionCommandInput , DeleteConnectionCommandOutput } from "./commands/DeleteConnectionCommand" ; import { DeleteEndpointCommandInput , DeleteEndpointCommandOutput } from "./commands/DeleteEndpointCommand" ; import { DeleteEventSubscriptionCommandInput , DeleteEventSubscriptionCommandOutput , } from "./commands/DeleteEventSubscriptionCommand" ; import { DeleteReplicationInstanceCommandInput , DeleteReplicationInstanceCommandOutput , } from "./commands/DeleteReplicationInstanceCommand" ; import { DeleteReplicationSubnetGroupCommandInput , DeleteReplicationSubnetGroupCommandOutput , } from "./commands/DeleteReplicationSubnetGroupCommand" ; import { DeleteReplicationTaskAssessmentRunCommandInput , DeleteReplicationTaskAssessmentRunCommandOutput , } from "./commands/DeleteReplicationTaskAssessmentRunCommand" ; import { DeleteReplicationTaskCommandInput , DeleteReplicationTaskCommandOutput , } from "./commands/DeleteReplicationTaskCommand" ; import { DescribeAccountAttributesCommandInput , DescribeAccountAttributesCommandOutput , } from "./commands/DescribeAccountAttributesCommand" ; import { DescribeApplicableIndividualAssessmentsCommandInput , DescribeApplicableIndividualAssessmentsCommandOutput , } from "./commands/DescribeApplicableIndividualAssessmentsCommand" ; import { DescribeCertificatesCommandInput , DescribeCertificatesCommandOutput , } from "./commands/DescribeCertificatesCommand" ; import { DescribeConnectionsCommandInput , DescribeConnectionsCommandOutput , } from "./commands/DescribeConnectionsCommand" ; import { DescribeEndpointsCommandInput , DescribeEndpointsCommandOutput } from "./commands/DescribeEndpointsCommand" ; import { DescribeEndpointSettingsCommandInput , DescribeEndpointSettingsCommandOutput , } from "./commands/DescribeEndpointSettingsCommand" ; import { DescribeEndpointTypesCommandInput , DescribeEndpointTypesCommandOutput , } from "./commands/DescribeEndpointTypesCommand" ; import { DescribeEventCategoriesCommandInput , DescribeEventCategoriesCommandOutput , } from "./commands/DescribeEventCategoriesCommand" ; import { DescribeEventsCommandInput , DescribeEventsCommandOutput } from "./commands/DescribeEventsCommand" ; import { DescribeEventSubscriptionsCommandInput , DescribeEventSubscriptionsCommandOutput , } from "./commands/DescribeEventSubscriptionsCommand" ; import { DescribeOrderableReplicationInstancesCommandInput , DescribeOrderableReplicationInstancesCommandOutput , } from "./commands/DescribeOrderableReplicationInstancesCommand" ; import { DescribePendingMaintenanceActionsCommandInput , DescribePendingMaintenanceActionsCommandOutput , } from "./commands/DescribePendingMaintenanceActionsCommand" ; import { DescribeRefreshSchemasStatusCommandInput , DescribeRefreshSchemasStatusCommandOutput , } from "./commands/DescribeRefreshSchemasStatusCommand" ; import { DescribeReplicationInstancesCommandInput , DescribeReplicationInstancesCommandOutput , } from "./commands/DescribeReplicationInstancesCommand" ; import { DescribeReplicationInstanceTaskLogsCommandInput , DescribeReplicationInstanceTaskLogsCommandOutput , } from "./commands/DescribeReplicationInstanceTaskLogsCommand" ; import { DescribeReplicationSubnetGroupsCommandInput , DescribeReplicationSubnetGroupsCommandOutput , } from "./commands/DescribeReplicationSubnetGroupsCommand" ; import { DescribeReplicationTaskAssessmentResultsCommandInput , DescribeReplicationTaskAssessmentResultsCommandOutput , } from "./commands/DescribeReplicationTaskAssessmentResultsCommand" ; import { DescribeReplicationTaskAssessmentRunsCommandInput , DescribeReplicationTaskAssessmentRunsCommandOutput , } from "./commands/DescribeReplicationTaskAssessmentRunsCommand" ; import { DescribeReplicationTaskIndividualAssessmentsCommandInput , DescribeReplicationTaskIndividualAssessmentsCommandOutput , } from "./commands/DescribeReplicationTaskIndividualAssessmentsCommand" ; import { DescribeReplicationTasksCommandInput , DescribeReplicationTasksCommandOutput , } from "./commands/DescribeReplicationTasksCommand" ; import { DescribeSchemasCommandInput , DescribeSchemasCommandOutput } from "./commands/DescribeSchemasCommand" ; import { DescribeTableStatisticsCommandInput , DescribeTableStatisticsCommandOutput , } from "./commands/DescribeTableStatisticsCommand" ; import { ImportCertificateCommandInput , ImportCertificateCommandOutput } from "./commands/ImportCertificateCommand" ; import { ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ModifyEndpointCommandInput , ModifyEndpointCommandOutput } from "./commands/ModifyEndpointCommand" ; import { ModifyEventSubscriptionCommandInput , ModifyEventSubscriptionCommandOutput , } from "./commands/ModifyEventSubscriptionCommand" ; import { ModifyReplicationInstanceCommandInput , ModifyReplicationInstanceCommandOutput , } from "./commands/ModifyReplicationInstanceCommand" ; import { ModifyReplicationSubnetGroupCommandInput , ModifyReplicationSubnetGroupCommandOutput , } from "./commands/ModifyReplicationSubnetGroupCommand" ; import { ModifyReplicationTaskCommandInput , ModifyReplicationTaskCommandOutput , } from "./commands/ModifyReplicationTaskCommand" ; import { MoveReplicationTaskCommandInput , MoveReplicationTaskCommandOutput , } from "./commands/MoveReplicationTaskCommand" ; import { RebootReplicationInstanceCommandInput , RebootReplicationInstanceCommandOutput , } from "./commands/RebootReplicationInstanceCommand" ; import { RefreshSchemasCommandInput , RefreshSchemasCommandOutput } from "./commands/RefreshSchemasCommand" ; import { ReloadTablesCommandInput , ReloadTablesCommandOutput } from "./commands/ReloadTablesCommand" ; import { RemoveTagsFromResourceCommandInput , RemoveTagsFromResourceCommandOutput , } from "./commands/RemoveTagsFromResourceCommand" ; import { StartReplicationTaskAssessmentCommandInput , StartReplicationTaskAssessmentCommandOutput , } from "./commands/StartReplicationTaskAssessmentCommand" ; import { StartReplicationTaskAssessmentRunCommandInput , StartReplicationTaskAssessmentRunCommandOutput , } from "./commands/StartReplicationTaskAssessmentRunCommand" ; import { StartReplicationTaskCommandInput , StartReplicationTaskCommandOutput , } from "./commands/StartReplicationTaskCommand" ; import { StopReplicationTaskCommandInput , StopReplicationTaskCommandOutput , } from "./commands/StopReplicationTaskCommand" ; import { TestConnectionCommandInput , TestConnectionCommandOutput } from "./commands/TestConnectionCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AddTagsToResourceCommandInput | ApplyPendingMaintenanceActionCommandInput | CancelReplicationTaskAssessmentRunCommandInput | CreateEndpointCommandInput | CreateEventSubscriptionCommandInput | CreateReplicationInstanceCommandInput | CreateReplicationSubnetGroupCommandInput | CreateReplicationTaskCommandInput | DeleteCertificateCommandInput | DeleteConnectionCommandInput | DeleteEndpointCommandInput | DeleteEventSubscriptionCommandInput | DeleteReplicationInstanceCommandInput | DeleteReplicationSubnetGroupCommandInput | DeleteReplicationTaskAssessmentRunCommandInput | DeleteReplicationTaskCommandInput | DescribeAccountAttributesCommandInput | DescribeApplicableIndividualAssessmentsCommandInput | DescribeCertificatesCommandInput | DescribeConnectionsCommandInput | DescribeEndpointSettingsCommandInput | DescribeEndpointTypesCommandInput | DescribeEndpointsCommandInput | DescribeEventCategoriesCommandInput | DescribeEventSubscriptionsCommandInput | DescribeEventsCommandInput | DescribeOrderableReplicationInstancesCommandInput | DescribePendingMaintenanceActionsCommandInput | DescribeRefreshSchemasStatusCommandInput | DescribeReplicationInstanceTaskLogsCommandInput | DescribeReplicationInstancesCommandInput | DescribeReplicationSubnetGroupsCommandInput | DescribeReplicationTaskAssessmentResultsCommandInput | DescribeReplicationTaskAssessmentRunsCommandInput | DescribeReplicationTaskIndividualAssessmentsCommandInput | DescribeReplicationTasksCommandInput | DescribeSchemasCommandInput | DescribeTableStatisticsCommandInput | ImportCertificateCommandInput | ListTagsForResourceCommandInput | ModifyEndpointCommandInput | ModifyEventSubscriptionCommandInput | ModifyReplicationInstanceCommandInput | ModifyReplicationSubnetGroupCommandInput | ModifyReplicationTaskCommandInput | MoveReplicationTaskCommandInput | RebootReplicationInstanceCommandInput | RefreshSchemasCommandInput | ReloadTablesCommandInput | RemoveTagsFromResourceCommandInput | StartReplicationTaskAssessmentCommandInput | StartReplicationTaskAssessmentRunCommandInput | StartReplicationTaskCommandInput | StopReplicationTaskCommandInput | TestConnectionCommandInput ; export type ServiceOutputTypes = AddTagsToResourceCommandOutput | ApplyPendingMaintenanceActionCommandOutput | CancelReplicationTaskAssessmentRunCommandOutput | CreateEndpointCommandOutput | CreateEventSubscriptionCommandOutput | CreateReplicationInstanceCommandOutput | CreateReplicationSubnetGroupCommandOutput | CreateReplicationTaskCommandOutput | DeleteCertificateCommandOutput | DeleteConnectionCommandOutput | DeleteEndpointCommandOutput | DeleteEventSubscriptionCommandOutput | DeleteReplicationInstanceCommandOutput | DeleteReplicationSubnetGroupCommandOutput | DeleteReplicationTaskAssessmentRunCommandOutput | DeleteReplicationTaskCommandOutput | DescribeAccountAttributesCommandOutput | DescribeApplicableIndividualAssessmentsCommandOutput | DescribeCertificatesCommandOutput | DescribeConnectionsCommandOutput | DescribeEndpointSettingsCommandOutput | DescribeEndpointTypesCommandOutput | DescribeEndpointsCommandOutput | DescribeEventCategoriesCommandOutput | DescribeEventSubscriptionsCommandOutput | DescribeEventsCommandOutput | DescribeOrderableReplicationInstancesCommandOutput | DescribePendingMaintenanceActionsCommandOutput | DescribeRefreshSchemasStatusCommandOutput | DescribeReplicationInstanceTaskLogsCommandOutput | DescribeReplicationInstancesCommandOutput | DescribeReplicationSubnetGroupsCommandOutput | DescribeReplicationTaskAssessmentResultsCommandOutput | DescribeReplicationTaskAssessmentRunsCommandOutput | DescribeReplicationTaskIndividualAssessmentsCommandOutput | DescribeReplicationTasksCommandOutput | DescribeSchemasCommandOutput | DescribeTableStatisticsCommandOutput | ImportCertificateCommandOutput | ListTagsForResourceCommandOutput | ModifyEndpointCommandOutput | ModifyEventSubscriptionCommandOutput | ModifyReplicationInstanceCommandOutput | ModifyReplicationSubnetGroupCommandOutput | ModifyReplicationTaskCommandOutput | MoveReplicationTaskCommandOutput | RebootReplicationInstanceCommandOutput | RefreshSchemasCommandOutput | ReloadTablesCommandOutput | RemoveTagsFromResourceCommandOutput | StartReplicationTaskAssessmentCommandOutput | StartReplicationTaskAssessmentRunCommandOutput | StartReplicationTaskCommandOutput | StopReplicationTaskCommandOutput | TestConnectionCommandOutput ; 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 DatabaseMigrationServiceClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of DatabaseMigrationServiceClient class constructor that set the region, credentials and other options.
 */ export interface DatabaseMigrationServiceClientConfig extends DatabaseMigrationServiceClientConfigType { } type DatabaseMigrationServiceClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of DatabaseMigrationServiceClient class. This is resolved and normalized from the  DatabaseMigrationServiceClientConfig .
  export interface DatabaseMigrationServiceClientResolvedConfig extends DatabaseMigrationServiceClientResolvedConfigType { } /**
 * <fullname>Database Migration Service</fullname>
 *          <p>Database Migration Service (DMS) can migrate your data to and from the most
 *          widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL
 *          Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise
 *          (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as
 *          heterogeneous migrations between different database platforms, such as Oracle to MySQL or
 *          SQL Server to PostgreSQL.</p>
 *          <p>For more information about DMS, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html">What Is Database Migration Service?</a>
 *          in the <i>Database Migration Service User Guide.</i>
 *          </p>
 */ export class DatabaseMigrationServiceClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , DatabaseMigrationServiceClientResolvedConfig > { /**
     * The resolved configuration of DatabaseMigrationServiceClient class. This is resolved and normalized from the  DatabaseMigrationServiceClientConfig .
      readonly config : DatabaseMigrationServiceClientResolvedConfig ; 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 ( ) ; } }