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 { AssociateEncryptionConfigCommandInput , AssociateEncryptionConfigCommandOutput , } from "./commands/AssociateEncryptionConfigCommand" ; import { AssociateIdentityProviderConfigCommandInput , AssociateIdentityProviderConfigCommandOutput , } from "./commands/AssociateIdentityProviderConfigCommand" ; import { CreateAddonCommandInput , CreateAddonCommandOutput } from "./commands/CreateAddonCommand" ; import { CreateClusterCommandInput , CreateClusterCommandOutput } from "./commands/CreateClusterCommand" ; import { CreateFargateProfileCommandInput , CreateFargateProfileCommandOutput , } from "./commands/CreateFargateProfileCommand" ; import { CreateNodegroupCommandInput , CreateNodegroupCommandOutput } from "./commands/CreateNodegroupCommand" ; import { DeleteAddonCommandInput , DeleteAddonCommandOutput } from "./commands/DeleteAddonCommand" ; import { DeleteClusterCommandInput , DeleteClusterCommandOutput } from "./commands/DeleteClusterCommand" ; import { DeleteFargateProfileCommandInput , DeleteFargateProfileCommandOutput , } from "./commands/DeleteFargateProfileCommand" ; import { DeleteNodegroupCommandInput , DeleteNodegroupCommandOutput } from "./commands/DeleteNodegroupCommand" ; import { DeregisterClusterCommandInput , DeregisterClusterCommandOutput } from "./commands/DeregisterClusterCommand" ; import { DescribeAddonCommandInput , DescribeAddonCommandOutput } from "./commands/DescribeAddonCommand" ; import { DescribeAddonVersionsCommandInput , DescribeAddonVersionsCommandOutput , } from "./commands/DescribeAddonVersionsCommand" ; import { DescribeClusterCommandInput , DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand" ; import { DescribeFargateProfileCommandInput , DescribeFargateProfileCommandOutput , } from "./commands/DescribeFargateProfileCommand" ; import { DescribeIdentityProviderConfigCommandInput , DescribeIdentityProviderConfigCommandOutput , } from "./commands/DescribeIdentityProviderConfigCommand" ; import { DescribeNodegroupCommandInput , DescribeNodegroupCommandOutput } from "./commands/DescribeNodegroupCommand" ; import { DescribeUpdateCommandInput , DescribeUpdateCommandOutput } from "./commands/DescribeUpdateCommand" ; import { DisassociateIdentityProviderConfigCommandInput , DisassociateIdentityProviderConfigCommandOutput , } from "./commands/DisassociateIdentityProviderConfigCommand" ; import { ListAddonsCommandInput , ListAddonsCommandOutput } from "./commands/ListAddonsCommand" ; import { ListClustersCommandInput , ListClustersCommandOutput } from "./commands/ListClustersCommand" ; import { ListFargateProfilesCommandInput , ListFargateProfilesCommandOutput , } from "./commands/ListFargateProfilesCommand" ; import { ListIdentityProviderConfigsCommandInput , ListIdentityProviderConfigsCommandOutput , } from "./commands/ListIdentityProviderConfigsCommand" ; import { ListNodegroupsCommandInput , ListNodegroupsCommandOutput } from "./commands/ListNodegroupsCommand" ; import { ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ListUpdatesCommandInput , ListUpdatesCommandOutput } from "./commands/ListUpdatesCommand" ; import { RegisterClusterCommandInput , RegisterClusterCommandOutput } from "./commands/RegisterClusterCommand" ; import { TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommandInput , UntagResourceCommandOutput } from "./commands/UntagResourceCommand" ; import { UpdateAddonCommandInput , UpdateAddonCommandOutput } from "./commands/UpdateAddonCommand" ; import { UpdateClusterConfigCommandInput , UpdateClusterConfigCommandOutput , } from "./commands/UpdateClusterConfigCommand" ; import { UpdateClusterVersionCommandInput , UpdateClusterVersionCommandOutput , } from "./commands/UpdateClusterVersionCommand" ; import { UpdateNodegroupConfigCommandInput , UpdateNodegroupConfigCommandOutput , } from "./commands/UpdateNodegroupConfigCommand" ; import { UpdateNodegroupVersionCommandInput , UpdateNodegroupVersionCommandOutput , } from "./commands/UpdateNodegroupVersionCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AssociateEncryptionConfigCommandInput | AssociateIdentityProviderConfigCommandInput | CreateAddonCommandInput | CreateClusterCommandInput | CreateFargateProfileCommandInput | CreateNodegroupCommandInput | DeleteAddonCommandInput | DeleteClusterCommandInput | DeleteFargateProfileCommandInput | DeleteNodegroupCommandInput | DeregisterClusterCommandInput | DescribeAddonCommandInput | DescribeAddonVersionsCommandInput | DescribeClusterCommandInput | DescribeFargateProfileCommandInput | DescribeIdentityProviderConfigCommandInput | DescribeNodegroupCommandInput | DescribeUpdateCommandInput | DisassociateIdentityProviderConfigCommandInput | ListAddonsCommandInput | ListClustersCommandInput | ListFargateProfilesCommandInput | ListIdentityProviderConfigsCommandInput | ListNodegroupsCommandInput | ListTagsForResourceCommandInput | ListUpdatesCommandInput | RegisterClusterCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAddonCommandInput | UpdateClusterConfigCommandInput | UpdateClusterVersionCommandInput | UpdateNodegroupConfigCommandInput | UpdateNodegroupVersionCommandInput ; export type ServiceOutputTypes = AssociateEncryptionConfigCommandOutput | AssociateIdentityProviderConfigCommandOutput | CreateAddonCommandOutput | CreateClusterCommandOutput | CreateFargateProfileCommandOutput | CreateNodegroupCommandOutput | DeleteAddonCommandOutput | DeleteClusterCommandOutput | DeleteFargateProfileCommandOutput | DeleteNodegroupCommandOutput | DeregisterClusterCommandOutput | DescribeAddonCommandOutput | DescribeAddonVersionsCommandOutput | DescribeClusterCommandOutput | DescribeFargateProfileCommandOutput | DescribeIdentityProviderConfigCommandOutput | DescribeNodegroupCommandOutput | DescribeUpdateCommandOutput | DisassociateIdentityProviderConfigCommandOutput | ListAddonsCommandOutput | ListClustersCommandOutput | ListFargateProfilesCommandOutput | ListIdentityProviderConfigsCommandOutput | ListNodegroupsCommandOutput | ListTagsForResourceCommandOutput | ListUpdatesCommandOutput | RegisterClusterCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAddonCommandOutput | UpdateClusterConfigCommandOutput | UpdateClusterVersionCommandOutput | UpdateNodegroupConfigCommandOutput | UpdateNodegroupVersionCommandOutput ; 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 EKSClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of EKSClient class constructor that set the region, credentials and other options.
 */ export interface EKSClientConfig extends EKSClientConfigType { } type EKSClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of EKSClient class. This is resolved and normalized from the  EKSClientConfig .
  export interface EKSClientResolvedConfig extends EKSClientResolvedConfigType { } /**
 * <p>Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy
 *             for you to run Kubernetes on Amazon Web Services without needing to stand up or maintain
 *             your own Kubernetes control plane. Kubernetes is an open-source system for automating
 *             the deployment, scaling, and management of containerized applications. </p>
 *         <p>Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so
 *             you can use all the existing plugins and tooling from the Kubernetes community.
 *             Applications running on Amazon EKS are fully compatible with applications
 *             running on any standard Kubernetes environment, whether running in on-premises data
 *             centers or public clouds. This means that you can easily migrate any standard Kubernetes
 *             application to Amazon EKS without any code modification required.</p>
 */ export class EKSClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , EKSClientResolvedConfig > { /**
     * The resolved configuration of EKSClient class. This is resolved and normalized from the  EKSClientConfig .
      readonly config : EKSClientResolvedConfig ; 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 ( ) ; } }