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 { AssociateWebACLCommandInput , AssociateWebACLCommandOutput } from "./commands/AssociateWebACLCommand" ; import { CreateByteMatchSetCommandInput , CreateByteMatchSetCommandOutput } from "./commands/CreateByteMatchSetCommand" ; import { CreateGeoMatchSetCommandInput , CreateGeoMatchSetCommandOutput } from "./commands/CreateGeoMatchSetCommand" ; import { CreateIPSetCommandInput , CreateIPSetCommandOutput } from "./commands/CreateIPSetCommand" ; import { CreateRateBasedRuleCommandInput , CreateRateBasedRuleCommandOutput , } from "./commands/CreateRateBasedRuleCommand" ; import { CreateRegexMatchSetCommandInput , CreateRegexMatchSetCommandOutput , } from "./commands/CreateRegexMatchSetCommand" ; import { CreateRegexPatternSetCommandInput , CreateRegexPatternSetCommandOutput , } from "./commands/CreateRegexPatternSetCommand" ; import { CreateRuleCommandInput , CreateRuleCommandOutput } from "./commands/CreateRuleCommand" ; import { CreateRuleGroupCommandInput , CreateRuleGroupCommandOutput } from "./commands/CreateRuleGroupCommand" ; import { CreateSizeConstraintSetCommandInput , CreateSizeConstraintSetCommandOutput , } from "./commands/CreateSizeConstraintSetCommand" ; import { CreateSqlInjectionMatchSetCommandInput , CreateSqlInjectionMatchSetCommandOutput , } from "./commands/CreateSqlInjectionMatchSetCommand" ; import { CreateWebACLCommandInput , CreateWebACLCommandOutput } from "./commands/CreateWebACLCommand" ; import { CreateWebACLMigrationStackCommandInput , CreateWebACLMigrationStackCommandOutput , } from "./commands/CreateWebACLMigrationStackCommand" ; import { CreateXssMatchSetCommandInput , CreateXssMatchSetCommandOutput } from "./commands/CreateXssMatchSetCommand" ; import { DeleteByteMatchSetCommandInput , DeleteByteMatchSetCommandOutput } from "./commands/DeleteByteMatchSetCommand" ; import { DeleteGeoMatchSetCommandInput , DeleteGeoMatchSetCommandOutput } from "./commands/DeleteGeoMatchSetCommand" ; import { DeleteIPSetCommandInput , DeleteIPSetCommandOutput } from "./commands/DeleteIPSetCommand" ; import { DeleteLoggingConfigurationCommandInput , DeleteLoggingConfigurationCommandOutput , } from "./commands/DeleteLoggingConfigurationCommand" ; import { DeletePermissionPolicyCommandInput , DeletePermissionPolicyCommandOutput , } from "./commands/DeletePermissionPolicyCommand" ; import { DeleteRateBasedRuleCommandInput , DeleteRateBasedRuleCommandOutput , } from "./commands/DeleteRateBasedRuleCommand" ; import { DeleteRegexMatchSetCommandInput , DeleteRegexMatchSetCommandOutput , } from "./commands/DeleteRegexMatchSetCommand" ; import { DeleteRegexPatternSetCommandInput , DeleteRegexPatternSetCommandOutput , } from "./commands/DeleteRegexPatternSetCommand" ; import { DeleteRuleCommandInput , DeleteRuleCommandOutput } from "./commands/DeleteRuleCommand" ; import { DeleteRuleGroupCommandInput , DeleteRuleGroupCommandOutput } from "./commands/DeleteRuleGroupCommand" ; import { DeleteSizeConstraintSetCommandInput , DeleteSizeConstraintSetCommandOutput , } from "./commands/DeleteSizeConstraintSetCommand" ; import { DeleteSqlInjectionMatchSetCommandInput , DeleteSqlInjectionMatchSetCommandOutput , } from "./commands/DeleteSqlInjectionMatchSetCommand" ; import { DeleteWebACLCommandInput , DeleteWebACLCommandOutput } from "./commands/DeleteWebACLCommand" ; import { DeleteXssMatchSetCommandInput , DeleteXssMatchSetCommandOutput } from "./commands/DeleteXssMatchSetCommand" ; import { DisassociateWebACLCommandInput , DisassociateWebACLCommandOutput } from "./commands/DisassociateWebACLCommand" ; import { GetByteMatchSetCommandInput , GetByteMatchSetCommandOutput } from "./commands/GetByteMatchSetCommand" ; import { GetChangeTokenCommandInput , GetChangeTokenCommandOutput } from "./commands/GetChangeTokenCommand" ; import { GetChangeTokenStatusCommandInput , GetChangeTokenStatusCommandOutput , } from "./commands/GetChangeTokenStatusCommand" ; import { GetGeoMatchSetCommandInput , GetGeoMatchSetCommandOutput } from "./commands/GetGeoMatchSetCommand" ; import { GetIPSetCommandInput , GetIPSetCommandOutput } from "./commands/GetIPSetCommand" ; import { GetLoggingConfigurationCommandInput , GetLoggingConfigurationCommandOutput , } from "./commands/GetLoggingConfigurationCommand" ; import { GetPermissionPolicyCommandInput , GetPermissionPolicyCommandOutput , } from "./commands/GetPermissionPolicyCommand" ; import { GetRateBasedRuleCommandInput , GetRateBasedRuleCommandOutput } from "./commands/GetRateBasedRuleCommand" ; import { GetRateBasedRuleManagedKeysCommandInput , GetRateBasedRuleManagedKeysCommandOutput , } from "./commands/GetRateBasedRuleManagedKeysCommand" ; import { GetRegexMatchSetCommandInput , GetRegexMatchSetCommandOutput } from "./commands/GetRegexMatchSetCommand" ; import { GetRegexPatternSetCommandInput , GetRegexPatternSetCommandOutput } from "./commands/GetRegexPatternSetCommand" ; import { GetRuleCommandInput , GetRuleCommandOutput } from "./commands/GetRuleCommand" ; import { GetRuleGroupCommandInput , GetRuleGroupCommandOutput } from "./commands/GetRuleGroupCommand" ; import { GetSampledRequestsCommandInput , GetSampledRequestsCommandOutput } from "./commands/GetSampledRequestsCommand" ; import { GetSizeConstraintSetCommandInput , GetSizeConstraintSetCommandOutput , } from "./commands/GetSizeConstraintSetCommand" ; import { GetSqlInjectionMatchSetCommandInput , GetSqlInjectionMatchSetCommandOutput , } from "./commands/GetSqlInjectionMatchSetCommand" ; import { GetWebACLCommandInput , GetWebACLCommandOutput } from "./commands/GetWebACLCommand" ; import { GetWebACLForResourceCommandInput , GetWebACLForResourceCommandOutput , } from "./commands/GetWebACLForResourceCommand" ; import { GetXssMatchSetCommandInput , GetXssMatchSetCommandOutput } from "./commands/GetXssMatchSetCommand" ; import { ListActivatedRulesInRuleGroupCommandInput , ListActivatedRulesInRuleGroupCommandOutput , } from "./commands/ListActivatedRulesInRuleGroupCommand" ; import { ListByteMatchSetsCommandInput , ListByteMatchSetsCommandOutput } from "./commands/ListByteMatchSetsCommand" ; import { ListGeoMatchSetsCommandInput , ListGeoMatchSetsCommandOutput } from "./commands/ListGeoMatchSetsCommand" ; import { ListIPSetsCommandInput , ListIPSetsCommandOutput } from "./commands/ListIPSetsCommand" ; import { ListLoggingConfigurationsCommandInput , ListLoggingConfigurationsCommandOutput , } from "./commands/ListLoggingConfigurationsCommand" ; import { ListRateBasedRulesCommandInput , ListRateBasedRulesCommandOutput } from "./commands/ListRateBasedRulesCommand" ; import { ListRegexMatchSetsCommandInput , ListRegexMatchSetsCommandOutput } from "./commands/ListRegexMatchSetsCommand" ; import { ListRegexPatternSetsCommandInput , ListRegexPatternSetsCommandOutput , } from "./commands/ListRegexPatternSetsCommand" ; import { ListResourcesForWebACLCommandInput , ListResourcesForWebACLCommandOutput , } from "./commands/ListResourcesForWebACLCommand" ; import { ListRuleGroupsCommandInput , ListRuleGroupsCommandOutput } from "./commands/ListRuleGroupsCommand" ; import { ListRulesCommandInput , ListRulesCommandOutput } from "./commands/ListRulesCommand" ; import { ListSizeConstraintSetsCommandInput , ListSizeConstraintSetsCommandOutput , } from "./commands/ListSizeConstraintSetsCommand" ; import { ListSqlInjectionMatchSetsCommandInput , ListSqlInjectionMatchSetsCommandOutput , } from "./commands/ListSqlInjectionMatchSetsCommand" ; import { ListSubscribedRuleGroupsCommandInput , ListSubscribedRuleGroupsCommandOutput , } from "./commands/ListSubscribedRuleGroupsCommand" ; import { ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ListWebACLsCommandInput , ListWebACLsCommandOutput } from "./commands/ListWebACLsCommand" ; import { ListXssMatchSetsCommandInput , ListXssMatchSetsCommandOutput } from "./commands/ListXssMatchSetsCommand" ; import { PutLoggingConfigurationCommandInput , PutLoggingConfigurationCommandOutput , } from "./commands/PutLoggingConfigurationCommand" ; import { PutPermissionPolicyCommandInput , PutPermissionPolicyCommandOutput , } from "./commands/PutPermissionPolicyCommand" ; import { TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommandInput , UntagResourceCommandOutput } from "./commands/UntagResourceCommand" ; import { UpdateByteMatchSetCommandInput , UpdateByteMatchSetCommandOutput } from "./commands/UpdateByteMatchSetCommand" ; import { UpdateGeoMatchSetCommandInput , UpdateGeoMatchSetCommandOutput } from "./commands/UpdateGeoMatchSetCommand" ; import { UpdateIPSetCommandInput , UpdateIPSetCommandOutput } from "./commands/UpdateIPSetCommand" ; import { UpdateRateBasedRuleCommandInput , UpdateRateBasedRuleCommandOutput , } from "./commands/UpdateRateBasedRuleCommand" ; import { UpdateRegexMatchSetCommandInput , UpdateRegexMatchSetCommandOutput , } from "./commands/UpdateRegexMatchSetCommand" ; import { UpdateRegexPatternSetCommandInput , UpdateRegexPatternSetCommandOutput , } from "./commands/UpdateRegexPatternSetCommand" ; import { UpdateRuleCommandInput , UpdateRuleCommandOutput } from "./commands/UpdateRuleCommand" ; import { UpdateRuleGroupCommandInput , UpdateRuleGroupCommandOutput } from "./commands/UpdateRuleGroupCommand" ; import { UpdateSizeConstraintSetCommandInput , UpdateSizeConstraintSetCommandOutput , } from "./commands/UpdateSizeConstraintSetCommand" ; import { UpdateSqlInjectionMatchSetCommandInput , UpdateSqlInjectionMatchSetCommandOutput , } from "./commands/UpdateSqlInjectionMatchSetCommand" ; import { UpdateWebACLCommandInput , UpdateWebACLCommandOutput } from "./commands/UpdateWebACLCommand" ; import { UpdateXssMatchSetCommandInput , UpdateXssMatchSetCommandOutput } from "./commands/UpdateXssMatchSetCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AssociateWebACLCommandInput | CreateByteMatchSetCommandInput | CreateGeoMatchSetCommandInput | CreateIPSetCommandInput | CreateRateBasedRuleCommandInput | CreateRegexMatchSetCommandInput | CreateRegexPatternSetCommandInput | CreateRuleCommandInput | CreateRuleGroupCommandInput | CreateSizeConstraintSetCommandInput | CreateSqlInjectionMatchSetCommandInput | CreateWebACLCommandInput | CreateWebACLMigrationStackCommandInput | CreateXssMatchSetCommandInput | DeleteByteMatchSetCommandInput | DeleteGeoMatchSetCommandInput | DeleteIPSetCommandInput | DeleteLoggingConfigurationCommandInput | DeletePermissionPolicyCommandInput | DeleteRateBasedRuleCommandInput | DeleteRegexMatchSetCommandInput | DeleteRegexPatternSetCommandInput | DeleteRuleCommandInput | DeleteRuleGroupCommandInput | DeleteSizeConstraintSetCommandInput | DeleteSqlInjectionMatchSetCommandInput | DeleteWebACLCommandInput | DeleteXssMatchSetCommandInput | DisassociateWebACLCommandInput | GetByteMatchSetCommandInput | GetChangeTokenCommandInput | GetChangeTokenStatusCommandInput | GetGeoMatchSetCommandInput | GetIPSetCommandInput | GetLoggingConfigurationCommandInput | GetPermissionPolicyCommandInput | GetRateBasedRuleCommandInput | GetRateBasedRuleManagedKeysCommandInput | GetRegexMatchSetCommandInput | GetRegexPatternSetCommandInput | GetRuleCommandInput | GetRuleGroupCommandInput | GetSampledRequestsCommandInput | GetSizeConstraintSetCommandInput | GetSqlInjectionMatchSetCommandInput | GetWebACLCommandInput | GetWebACLForResourceCommandInput | GetXssMatchSetCommandInput | ListActivatedRulesInRuleGroupCommandInput | ListByteMatchSetsCommandInput | ListGeoMatchSetsCommandInput | ListIPSetsCommandInput | ListLoggingConfigurationsCommandInput | ListRateBasedRulesCommandInput | ListRegexMatchSetsCommandInput | ListRegexPatternSetsCommandInput | ListResourcesForWebACLCommandInput | ListRuleGroupsCommandInput | ListRulesCommandInput | ListSizeConstraintSetsCommandInput | ListSqlInjectionMatchSetsCommandInput | ListSubscribedRuleGroupsCommandInput | ListTagsForResourceCommandInput | ListWebACLsCommandInput | ListXssMatchSetsCommandInput | PutLoggingConfigurationCommandInput | PutPermissionPolicyCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateByteMatchSetCommandInput | UpdateGeoMatchSetCommandInput | UpdateIPSetCommandInput | UpdateRateBasedRuleCommandInput | UpdateRegexMatchSetCommandInput | UpdateRegexPatternSetCommandInput | UpdateRuleCommandInput | UpdateRuleGroupCommandInput | UpdateSizeConstraintSetCommandInput | UpdateSqlInjectionMatchSetCommandInput | UpdateWebACLCommandInput | UpdateXssMatchSetCommandInput ; export type ServiceOutputTypes = AssociateWebACLCommandOutput | CreateByteMatchSetCommandOutput | CreateGeoMatchSetCommandOutput | CreateIPSetCommandOutput | CreateRateBasedRuleCommandOutput | CreateRegexMatchSetCommandOutput | CreateRegexPatternSetCommandOutput | CreateRuleCommandOutput | CreateRuleGroupCommandOutput | CreateSizeConstraintSetCommandOutput | CreateSqlInjectionMatchSetCommandOutput | CreateWebACLCommandOutput | CreateWebACLMigrationStackCommandOutput | CreateXssMatchSetCommandOutput | DeleteByteMatchSetCommandOutput | DeleteGeoMatchSetCommandOutput | DeleteIPSetCommandOutput | DeleteLoggingConfigurationCommandOutput | DeletePermissionPolicyCommandOutput | DeleteRateBasedRuleCommandOutput | DeleteRegexMatchSetCommandOutput | DeleteRegexPatternSetCommandOutput | DeleteRuleCommandOutput | DeleteRuleGroupCommandOutput | DeleteSizeConstraintSetCommandOutput | DeleteSqlInjectionMatchSetCommandOutput | DeleteWebACLCommandOutput | DeleteXssMatchSetCommandOutput | DisassociateWebACLCommandOutput | GetByteMatchSetCommandOutput | GetChangeTokenCommandOutput | GetChangeTokenStatusCommandOutput | GetGeoMatchSetCommandOutput | GetIPSetCommandOutput | GetLoggingConfigurationCommandOutput | GetPermissionPolicyCommandOutput | GetRateBasedRuleCommandOutput | GetRateBasedRuleManagedKeysCommandOutput | GetRegexMatchSetCommandOutput | GetRegexPatternSetCommandOutput | GetRuleCommandOutput | GetRuleGroupCommandOutput | GetSampledRequestsCommandOutput | GetSizeConstraintSetCommandOutput | GetSqlInjectionMatchSetCommandOutput | GetWebACLCommandOutput | GetWebACLForResourceCommandOutput | GetXssMatchSetCommandOutput | ListActivatedRulesInRuleGroupCommandOutput | ListByteMatchSetsCommandOutput | ListGeoMatchSetsCommandOutput | ListIPSetsCommandOutput | ListLoggingConfigurationsCommandOutput | ListRateBasedRulesCommandOutput | ListRegexMatchSetsCommandOutput | ListRegexPatternSetsCommandOutput | ListResourcesForWebACLCommandOutput | ListRuleGroupsCommandOutput | ListRulesCommandOutput | ListSizeConstraintSetsCommandOutput | ListSqlInjectionMatchSetsCommandOutput | ListSubscribedRuleGroupsCommandOutput | ListTagsForResourceCommandOutput | ListWebACLsCommandOutput | ListXssMatchSetsCommandOutput | PutLoggingConfigurationCommandOutput | PutPermissionPolicyCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateByteMatchSetCommandOutput | UpdateGeoMatchSetCommandOutput | UpdateIPSetCommandOutput | UpdateRateBasedRuleCommandOutput | UpdateRegexMatchSetCommandOutput | UpdateRegexPatternSetCommandOutput | UpdateRuleCommandOutput | UpdateRuleGroupCommandOutput | UpdateSizeConstraintSetCommandOutput | UpdateSqlInjectionMatchSetCommandOutput | UpdateWebACLCommandOutput | UpdateXssMatchSetCommandOutput ; 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 WAFRegionalClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of WAFRegionalClient class constructor that set the region, credentials and other options.
 */ export interface WAFRegionalClientConfig extends WAFRegionalClientConfigType { } type WAFRegionalClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of WAFRegionalClient class. This is resolved and normalized from the  WAFRegionalClientConfig .
  export interface WAFRegionalClientResolvedConfig extends WAFRegionalClientResolvedConfigType { } /**
 * <note>
 *             <p>This is <b>AWS WAF Classic Regional</b> documentation. For
 *       more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html">AWS
 *       WAF Classic</a> in the developer guide.</p>
 *             <p>
 *                <b>For the latest version of AWS
 *       WAF</b>, use the AWS WAFV2 API and see the <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p>
 *          </note>
 *          <p>This is the <i>AWS WAF Regional Classic API Reference</i> for using AWS WAF Classic with the AWS resources, Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. The AWS WAF Classic actions and data types listed in the reference are available for protecting Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. You can use these actions and data types by means of the endpoints listed in <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#waf_region">AWS Regions and Endpoints</a>. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the
 *       <a href="https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html">AWS
 *         WAF Classic</a> in the developer guide.</p>
 */ export class WAFRegionalClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , WAFRegionalClientResolvedConfig > { /**
     * The resolved configuration of WAFRegionalClient class. This is resolved and normalized from the  WAFRegionalClientConfig .
      readonly config : WAFRegionalClientResolvedConfig ; 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 ( ) ; } }