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 { CreateAnomalyMonitorCommandInput , CreateAnomalyMonitorCommandOutput , } from "./commands/CreateAnomalyMonitorCommand" ; import { CreateAnomalySubscriptionCommandInput , CreateAnomalySubscriptionCommandOutput , } from "./commands/CreateAnomalySubscriptionCommand" ; import { CreateCostCategoryDefinitionCommandInput , CreateCostCategoryDefinitionCommandOutput , } from "./commands/CreateCostCategoryDefinitionCommand" ; import { DeleteAnomalyMonitorCommandInput , DeleteAnomalyMonitorCommandOutput , } from "./commands/DeleteAnomalyMonitorCommand" ; import { DeleteAnomalySubscriptionCommandInput , DeleteAnomalySubscriptionCommandOutput , } from "./commands/DeleteAnomalySubscriptionCommand" ; import { DeleteCostCategoryDefinitionCommandInput , DeleteCostCategoryDefinitionCommandOutput , } from "./commands/DeleteCostCategoryDefinitionCommand" ; import { DescribeCostCategoryDefinitionCommandInput , DescribeCostCategoryDefinitionCommandOutput , } from "./commands/DescribeCostCategoryDefinitionCommand" ; import { GetAnomaliesCommandInput , GetAnomaliesCommandOutput } from "./commands/GetAnomaliesCommand" ; import { GetAnomalyMonitorsCommandInput , GetAnomalyMonitorsCommandOutput } from "./commands/GetAnomalyMonitorsCommand" ; import { GetAnomalySubscriptionsCommandInput , GetAnomalySubscriptionsCommandOutput , } from "./commands/GetAnomalySubscriptionsCommand" ; import { GetCostAndUsageCommandInput , GetCostAndUsageCommandOutput } from "./commands/GetCostAndUsageCommand" ; import { GetCostAndUsageWithResourcesCommandInput , GetCostAndUsageWithResourcesCommandOutput , } from "./commands/GetCostAndUsageWithResourcesCommand" ; import { GetCostCategoriesCommandInput , GetCostCategoriesCommandOutput } from "./commands/GetCostCategoriesCommand" ; import { GetCostForecastCommandInput , GetCostForecastCommandOutput } from "./commands/GetCostForecastCommand" ; import { GetDimensionValuesCommandInput , GetDimensionValuesCommandOutput } from "./commands/GetDimensionValuesCommand" ; import { GetReservationCoverageCommandInput , GetReservationCoverageCommandOutput , } from "./commands/GetReservationCoverageCommand" ; import { GetReservationPurchaseRecommendationCommandInput , GetReservationPurchaseRecommendationCommandOutput , } from "./commands/GetReservationPurchaseRecommendationCommand" ; import { GetReservationUtilizationCommandInput , GetReservationUtilizationCommandOutput , } from "./commands/GetReservationUtilizationCommand" ; import { GetRightsizingRecommendationCommandInput , GetRightsizingRecommendationCommandOutput , } from "./commands/GetRightsizingRecommendationCommand" ; import { GetSavingsPlansCoverageCommandInput , GetSavingsPlansCoverageCommandOutput , } from "./commands/GetSavingsPlansCoverageCommand" ; import { GetSavingsPlansPurchaseRecommendationCommandInput , GetSavingsPlansPurchaseRecommendationCommandOutput , } from "./commands/GetSavingsPlansPurchaseRecommendationCommand" ; import { GetSavingsPlansUtilizationCommandInput , GetSavingsPlansUtilizationCommandOutput , } from "./commands/GetSavingsPlansUtilizationCommand" ; import { GetSavingsPlansUtilizationDetailsCommandInput , GetSavingsPlansUtilizationDetailsCommandOutput , } from "./commands/GetSavingsPlansUtilizationDetailsCommand" ; import { GetTagsCommandInput , GetTagsCommandOutput } from "./commands/GetTagsCommand" ; import { GetUsageForecastCommandInput , GetUsageForecastCommandOutput } from "./commands/GetUsageForecastCommand" ; import { ListCostCategoryDefinitionsCommandInput , ListCostCategoryDefinitionsCommandOutput , } from "./commands/ListCostCategoryDefinitionsCommand" ; import { ProvideAnomalyFeedbackCommandInput , ProvideAnomalyFeedbackCommandOutput , } from "./commands/ProvideAnomalyFeedbackCommand" ; import { UpdateAnomalyMonitorCommandInput , UpdateAnomalyMonitorCommandOutput , } from "./commands/UpdateAnomalyMonitorCommand" ; import { UpdateAnomalySubscriptionCommandInput , UpdateAnomalySubscriptionCommandOutput , } from "./commands/UpdateAnomalySubscriptionCommand" ; import { UpdateCostCategoryDefinitionCommandInput , UpdateCostCategoryDefinitionCommandOutput , } from "./commands/UpdateCostCategoryDefinitionCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = CreateAnomalyMonitorCommandInput | CreateAnomalySubscriptionCommandInput | CreateCostCategoryDefinitionCommandInput | DeleteAnomalyMonitorCommandInput | DeleteAnomalySubscriptionCommandInput | DeleteCostCategoryDefinitionCommandInput | DescribeCostCategoryDefinitionCommandInput | GetAnomaliesCommandInput | GetAnomalyMonitorsCommandInput | GetAnomalySubscriptionsCommandInput | GetCostAndUsageCommandInput | GetCostAndUsageWithResourcesCommandInput | GetCostCategoriesCommandInput | GetCostForecastCommandInput | GetDimensionValuesCommandInput | GetReservationCoverageCommandInput | GetReservationPurchaseRecommendationCommandInput | GetReservationUtilizationCommandInput | GetRightsizingRecommendationCommandInput | GetSavingsPlansCoverageCommandInput | GetSavingsPlansPurchaseRecommendationCommandInput | GetSavingsPlansUtilizationCommandInput | GetSavingsPlansUtilizationDetailsCommandInput | GetTagsCommandInput | GetUsageForecastCommandInput | ListCostCategoryDefinitionsCommandInput | ProvideAnomalyFeedbackCommandInput | UpdateAnomalyMonitorCommandInput | UpdateAnomalySubscriptionCommandInput | UpdateCostCategoryDefinitionCommandInput ; export type ServiceOutputTypes = CreateAnomalyMonitorCommandOutput | CreateAnomalySubscriptionCommandOutput | CreateCostCategoryDefinitionCommandOutput | DeleteAnomalyMonitorCommandOutput | DeleteAnomalySubscriptionCommandOutput | DeleteCostCategoryDefinitionCommandOutput | DescribeCostCategoryDefinitionCommandOutput | GetAnomaliesCommandOutput | GetAnomalyMonitorsCommandOutput | GetAnomalySubscriptionsCommandOutput | GetCostAndUsageCommandOutput | GetCostAndUsageWithResourcesCommandOutput | GetCostCategoriesCommandOutput | GetCostForecastCommandOutput | GetDimensionValuesCommandOutput | GetReservationCoverageCommandOutput | GetReservationPurchaseRecommendationCommandOutput | GetReservationUtilizationCommandOutput | GetRightsizingRecommendationCommandOutput | GetSavingsPlansCoverageCommandOutput | GetSavingsPlansPurchaseRecommendationCommandOutput | GetSavingsPlansUtilizationCommandOutput | GetSavingsPlansUtilizationDetailsCommandOutput | GetTagsCommandOutput | GetUsageForecastCommandOutput | ListCostCategoryDefinitionsCommandOutput | ProvideAnomalyFeedbackCommandOutput | UpdateAnomalyMonitorCommandOutput | UpdateAnomalySubscriptionCommandOutput | UpdateCostCategoryDefinitionCommandOutput ; 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 CostExplorerClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of CostExplorerClient class constructor that set the region, credentials and other options.
 */ export interface CostExplorerClientConfig extends CostExplorerClientConfigType { } type CostExplorerClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of CostExplorerClient class. This is resolved and normalized from the  CostExplorerClientConfig .
  export interface CostExplorerClientResolvedConfig extends CostExplorerClientResolvedConfigType { } /**
 * <p>You can use the Cost Explorer API to programmatically query your cost and usage data. You
 *       can query for aggregated data such as total monthly costs or total daily usage. You can also
 *       query for granular data. This might include the number of daily write operations for Amazon
 *       DynamoDB database tables in your production environment. </p>
 * 		       <p>Service Endpoint</p>
 * 		       <p>The Cost Explorer API provides the following endpoint:</p>
 * 		       <ul>
 *             <li>
 * 				           <p>
 *                   <code>https://ce.us-east-1.amazonaws.com</code>
 *                </p>
 * 			         </li>
 *          </ul>
 * 		       <p>For information about the costs that are associated with the Cost Explorer API, see
 *         <a href="http://aws.amazon.com/aws-cost-management/pricing/">Amazon Web Services Cost
 *         Management Pricing</a>.</p>
 */ export class CostExplorerClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , CostExplorerClientResolvedConfig > { /**
     * The resolved configuration of CostExplorerClient class. This is resolved and normalized from the  CostExplorerClientConfig .
      readonly config : CostExplorerClientResolvedConfig ; 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 ( ) ; } }