@aws-sdk/client-compute-optimizer 3.46.0 → 3.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { __assign } from "tslib";
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
2
  import packageInfo from "../package.json";
3
3
  import { Sha256 } from "@aws-crypto/sha256-browser";
4
4
  import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
5
- import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
5
+ import { FetchHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
6
6
  import { invalidProvider } from "@aws-sdk/invalid-dependency";
7
7
  import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
8
8
  import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
@@ -10,8 +10,17 @@ import { calculateBodyLength } from "@aws-sdk/util-body-length-browser";
10
10
  import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
11
11
  import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
12
12
  import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
13
+ import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
14
+ import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-browser";
13
15
  export var getRuntimeConfig = function (config) {
14
16
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
17
+ var defaultsMode = resolveDefaultsModeConfig(config);
18
+ var defaultConfigProvider = function () { return defaultsMode().then(loadConfigsForDefaultMode); };
15
19
  var clientSharedValues = getSharedRuntimeConfig(config);
16
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "browser", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error("Credential is missing")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider("Region is missing"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new FetchHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return Promise.resolve(DEFAULT_RETRY_MODE); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : (function () { return Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT); }), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : (function () { return Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT); }), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
20
+ return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "browser", defaultsMode: defaultsMode, base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error("Credential is missing")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider("Region is missing"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new RequestHandler(defaultConfigProvider), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
21
+ switch (_a.label) {
22
+ case 0: return [4, defaultConfigProvider()];
23
+ case 1: return [2, (_a.sent()).retryMode || DEFAULT_RETRY_MODE];
24
+ }
25
+ }); }); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : (function () { return Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT); }), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : (function () { return Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT); }), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
17
26
  };
@@ -1,19 +1,28 @@
1
- import { __assign } from "tslib";
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
2
  import packageInfo from "../package.json";
3
3
  import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts";
4
4
  import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from "@aws-sdk/config-resolver";
5
5
  import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
6
6
  import { Hash } from "@aws-sdk/hash-node";
7
- import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
7
+ import { DEFAULT_RETRY_MODE, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS, } from "@aws-sdk/middleware-retry";
8
8
  import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
9
- import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler";
9
+ import { NodeHttpHandler as RequestHandler, streamCollector } from "@aws-sdk/node-http-handler";
10
10
  import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
11
11
  import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
12
12
  import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
13
13
  import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
14
14
  import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
15
+ import { loadConfigsForDefaultMode } from "@aws-sdk/smithy-client";
16
+ import { resolveDefaultsModeConfig } from "@aws-sdk/util-defaults-mode-node";
15
17
  export var getRuntimeConfig = function (config) {
16
18
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
19
+ var defaultsMode = resolveDefaultsModeConfig(config);
20
+ var defaultConfigProvider = function () { return defaultsMode().then(loadConfigsForDefaultMode); };
17
21
  var clientSharedValues = getSharedRuntimeConfig(config);
18
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "node", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : decorateDefaultCredentialProvider(credentialDefaultProvider), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new NodeHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Hash.bind(null, "sha256"), streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
22
+ return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "node", defaultsMode: defaultsMode, base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : decorateDefaultCredentialProvider(credentialDefaultProvider), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new RequestHandler(defaultConfigProvider), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : loadNodeConfig(__assign(__assign({}, NODE_RETRY_MODE_CONFIG_OPTIONS), { default: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
23
+ switch (_a.label) {
24
+ case 0: return [4, defaultConfigProvider()];
25
+ case 1: return [2, (_a.sent()).retryMode || DEFAULT_RETRY_MODE];
26
+ }
27
+ }); }); } })), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Hash.bind(null, "sha256"), streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
19
28
  };
@@ -4,7 +4,7 @@ import { RetryInputConfig, RetryResolvedConfig } from "@aws-sdk/middleware-retry
4
4
  import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
5
5
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
6
6
  import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
7
- import { Client as __Client, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
7
+ import { Client as __Client, DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
8
8
  import { Credentials as __Credentials, Decoder as __Decoder, Encoder as __Encoder, 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";
9
9
  import { DeleteRecommendationPreferencesCommandInput, DeleteRecommendationPreferencesCommandOutput } from "./commands/DeleteRecommendationPreferencesCommand";
10
10
  import { DescribeRecommendationExportJobsCommandInput, DescribeRecommendationExportJobsCommandOutput } from "./commands/DescribeRecommendationExportJobsCommand";
@@ -126,6 +126,10 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
126
126
  * @internal
127
127
  */
128
128
  defaultUserAgentProvider?: Provider<__UserAgent>;
129
+ /**
130
+ * The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
131
+ */
132
+ defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
129
133
  }
130
134
  declare type ComputeOptimizerClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig;
131
135
  /**
@@ -7,12 +7,6 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare
7
7
  $fault: "client";
8
8
  message?: string;
9
9
  }
10
- export declare namespace AccessDeniedException {
11
- /**
12
- * @internal
13
- */
14
- const filterSensitiveLog: (obj: AccessDeniedException) => any;
15
- }
16
10
  export declare enum Status {
17
11
  ACTIVE = "Active",
18
12
  FAILED = "Failed",
@@ -92,6 +86,10 @@ export declare enum EnhancedInfrastructureMetrics {
92
86
  ACTIVE = "Active",
93
87
  INACTIVE = "Inactive"
94
88
  }
89
+ export declare enum InferredWorkloadTypesPreference {
90
+ ACTIVE = "Active",
91
+ INACTIVE = "Inactive"
92
+ }
95
93
  /**
96
94
  * <p>Describes the effective recommendation preferences for a resource.</p>
97
95
  */
@@ -121,9 +119,20 @@ export interface EffectiveRecommendationPreferences {
121
119
  * preference.</p>
122
120
  * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
123
121
  * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
124
- * applied.</p>
122
+ * applied to recommendations.</p>
123
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Enhanced
124
+ * infrastructure metrics</a> in the <i>Compute Optimizer User
125
+ * Guide</i>.</p>
125
126
  */
126
127
  enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
128
+ /**
129
+ * <p>Describes the activation status of the inferred workload types preference.</p>
130
+ *
131
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
132
+ * recommendation refresh. A status of <code>Inactive</code> confirms that it's not yet
133
+ * applied to recommendations.</p>
134
+ */
135
+ inferredWorkloadTypes?: InferredWorkloadTypesPreference | string;
127
136
  }
128
137
  export declare namespace EffectiveRecommendationPreferences {
129
138
  /**
@@ -137,6 +146,21 @@ export declare enum Finding {
137
146
  OVER_PROVISIONED = "Overprovisioned",
138
147
  UNDER_PROVISIONED = "Underprovisioned"
139
148
  }
149
+ export declare enum InferredWorkloadType {
150
+ AMAZON_EMR = "AmazonEmr",
151
+ APACHE_CASSANDRA = "ApacheCassandra",
152
+ APACHE_HADOOP = "ApacheHadoop",
153
+ MEMCACHED = "Memcached",
154
+ NGINX = "Nginx",
155
+ POSTGRE_SQL = "PostgreSql",
156
+ REDIS = "Redis"
157
+ }
158
+ export declare enum MigrationEffort {
159
+ HIGH = "High",
160
+ LOW = "Low",
161
+ MEDIUM = "Medium",
162
+ VERY_LOW = "VeryLow"
163
+ }
140
164
  export declare enum MetricName {
141
165
  CPU = "Cpu",
142
166
  DISK_READ_BYTES_PER_SECOND = "DISK_READ_BYTES_PER_SECOND",
@@ -308,8 +332,8 @@ export declare enum Currency {
308
332
  USD = "USD"
309
333
  }
310
334
  /**
311
- * <p>Describes the estimated monthly savings amount possible for a given resource based on
312
- * On-Demand instance pricing</p>
335
+ * <p>Describes the estimated monthly savings amount possible, based on On-Demand instance
336
+ * pricing, by adopting Compute Optimizer recommendations for a given resource.</p>
313
337
  * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html#ec2-savings-calculation">Estimated monthly savings and savings opportunities</a> in the
314
338
  * <i>Compute Optimizer User Guide</i>.</p>
315
339
  */
@@ -350,12 +374,14 @@ export declare namespace EstimatedMonthlySavings {
350
374
  */
351
375
  export interface SavingsOpportunity {
352
376
  /**
353
- * <p>The estimated monthly savings possible as a percentage of monthly cost.</p>
377
+ * <p>The estimated monthly savings possible as a percentage of monthly cost by adopting
378
+ * Compute Optimizer recommendations for a given resource.</p>
354
379
  */
355
380
  savingsOpportunityPercentage?: number;
356
381
  /**
357
- * <p>An object that describes the estimated monthly savings amount possible based on
358
- * On-Demand instance pricing.</p>
382
+ * <p>An object that describes the estimated monthly savings amount possible, based on
383
+ * On-Demand instance pricing, by adopting Compute Optimizer recommendations for a given
384
+ * resource.</p>
359
385
  */
360
386
  estimatedMonthlySavings?: EstimatedMonthlySavings;
361
387
  }
@@ -413,6 +439,18 @@ export interface AutoScalingGroupRecommendationOption {
413
439
  * and percentage.</p>
414
440
  */
415
441
  savingsOpportunity?: SavingsOpportunity;
442
+ /**
443
+ * <p>The level of effort required to migrate from the current instance type to the
444
+ * recommended instance type.</p>
445
+ *
446
+ * <p>For example, the migration effort is <code>Low</code> if Amazon EMR is the
447
+ * inferred workload type and an Amazon Web Services Graviton instance type is recommended.
448
+ * The migration effort is <code>Medium</code> if a workload type couldn't be inferred but
449
+ * an Amazon Web Services Graviton instance type is recommended. The migration effort is
450
+ * <code>VeryLow</code> if both the current and recommended instance types are of the
451
+ * same CPU architecture.</p>
452
+ */
453
+ migrationEffort?: MigrationEffort | string;
416
454
  }
417
455
  export declare namespace AutoScalingGroupRecommendationOption {
418
456
  /**
@@ -494,6 +532,52 @@ export interface AutoScalingGroupRecommendation {
494
532
  * <p>An object that describes the effective recommendation preferences for the Auto Scaling group.</p>
495
533
  */
496
534
  effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
535
+ /**
536
+ * <p>The applications that might be running on the instances in the Auto Scaling group
537
+ * as inferred by Compute Optimizer.</p>
538
+ *
539
+ * <p>Compute Optimizer can infer if one of the following applications might be running on
540
+ * the instances:</p>
541
+ *
542
+ * <ul>
543
+ * <li>
544
+ * <p>
545
+ * <code>AmazonEmr</code> - Infers that Amazon EMR might be running on
546
+ * the instances.</p>
547
+ * </li>
548
+ * <li>
549
+ * <p>
550
+ * <code>ApacheCassandra</code> - Infers that Apache Cassandra might be running
551
+ * on the instances.</p>
552
+ * </li>
553
+ * <li>
554
+ * <p>
555
+ * <code>ApacheHadoop</code> - Infers that Apache Hadoop might be running on the
556
+ * instances.</p>
557
+ * </li>
558
+ * <li>
559
+ * <p>
560
+ * <code>Memcached</code> - Infers that Memcached might be running on the
561
+ * instances.</p>
562
+ * </li>
563
+ * <li>
564
+ * <p>
565
+ * <code>NGINX</code> - Infers that NGINX might be running on the
566
+ * instances.</p>
567
+ * </li>
568
+ * <li>
569
+ * <p>
570
+ * <code>PostgreSql</code> - Infers that PostgreSQL might be running on the
571
+ * instances.</p>
572
+ * </li>
573
+ * <li>
574
+ * <p>
575
+ * <code>Redis</code> - Infers that Redis might be running on the
576
+ * instances.</p>
577
+ * </li>
578
+ * </ul>
579
+ */
580
+ inferredWorkloadTypes?: (InferredWorkloadType | string)[];
497
581
  }
498
582
  export declare namespace AutoScalingGroupRecommendation {
499
583
  /**
@@ -502,13 +586,15 @@ export declare namespace AutoScalingGroupRecommendation {
502
586
  const filterSensitiveLog: (obj: AutoScalingGroupRecommendation) => any;
503
587
  }
504
588
  export declare enum RecommendationPreferenceName {
505
- ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics"
589
+ ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics",
590
+ INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes"
506
591
  }
507
592
  export declare enum ResourceType {
508
593
  AUTO_SCALING_GROUP = "AutoScalingGroup",
509
594
  EBS_VOLUME = "EbsVolume",
510
595
  EC2_INSTANCE = "Ec2Instance",
511
- LAMBDA_FUNCTION = "LambdaFunction"
596
+ LAMBDA_FUNCTION = "LambdaFunction",
597
+ NOT_APPLICABLE = "NotApplicable"
512
598
  }
513
599
  export declare enum ScopeName {
514
600
  ACCOUNT_ID = "AccountId",
@@ -528,7 +614,9 @@ export declare enum ScopeName {
528
614
  * Auto Scaling groups only at the resource level by specifying a scope name
529
615
  * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
530
616
  * Resource Name (ARN). This will configure the preference for all instances that are
531
- * part of the specified the Auto Scaling group.</p>
617
+ * part of the specified Auto Scaling group. You also cannot create recommendation
618
+ * preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for
619
+ * standalone instances.</p>
532
620
  * </note>
533
621
  */
534
622
  export interface Scope {
@@ -632,12 +720,6 @@ export interface InternalServerException extends __SmithyException, $MetadataBea
632
720
  $fault: "server";
633
721
  message?: string;
634
722
  }
635
- export declare namespace InternalServerException {
636
- /**
637
- * @internal
638
- */
639
- const filterSensitiveLog: (obj: InternalServerException) => any;
640
- }
641
723
  /**
642
724
  * <p>The value supplied for the input parameter is out of range or not valid.</p>
643
725
  */
@@ -646,12 +728,6 @@ export interface InvalidParameterValueException extends __SmithyException, $Meta
646
728
  $fault: "client";
647
729
  message?: string;
648
730
  }
649
- export declare namespace InvalidParameterValueException {
650
- /**
651
- * @internal
652
- */
653
- const filterSensitiveLog: (obj: InvalidParameterValueException) => any;
654
- }
655
731
  /**
656
732
  * <p>The request must contain either a valid (registered) Amazon Web Services access key ID
657
733
  * or X.509 certificate.</p>
@@ -661,12 +737,6 @@ export interface MissingAuthenticationToken extends __SmithyException, $Metadata
661
737
  $fault: "client";
662
738
  message?: string;
663
739
  }
664
- export declare namespace MissingAuthenticationToken {
665
- /**
666
- * @internal
667
- */
668
- const filterSensitiveLog: (obj: MissingAuthenticationToken) => any;
669
- }
670
740
  /**
671
741
  * <p>The account is not opted in to Compute Optimizer.</p>
672
742
  */
@@ -675,12 +745,6 @@ export interface OptInRequiredException extends __SmithyException, $MetadataBear
675
745
  $fault: "client";
676
746
  message?: string;
677
747
  }
678
- export declare namespace OptInRequiredException {
679
- /**
680
- * @internal
681
- */
682
- const filterSensitiveLog: (obj: OptInRequiredException) => any;
683
- }
684
748
  /**
685
749
  * <p>A resource that is required for the action doesn't exist.</p>
686
750
  */
@@ -689,12 +753,6 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB
689
753
  $fault: "client";
690
754
  message?: string;
691
755
  }
692
- export declare namespace ResourceNotFoundException {
693
- /**
694
- * @internal
695
- */
696
- const filterSensitiveLog: (obj: ResourceNotFoundException) => any;
697
- }
698
756
  /**
699
757
  * <p>The request has failed due to a temporary failure of the server.</p>
700
758
  */
@@ -703,12 +761,6 @@ export interface ServiceUnavailableException extends __SmithyException, $Metadat
703
761
  $fault: "server";
704
762
  message?: string;
705
763
  }
706
- export declare namespace ServiceUnavailableException {
707
- /**
708
- * @internal
709
- */
710
- const filterSensitiveLog: (obj: ServiceUnavailableException) => any;
711
- }
712
764
  /**
713
765
  * <p>The request was denied due to request throttling.</p>
714
766
  */
@@ -717,12 +769,6 @@ export interface ThrottlingException extends __SmithyException, $MetadataBearer
717
769
  $fault: "client";
718
770
  message: string | undefined;
719
771
  }
720
- export declare namespace ThrottlingException {
721
- /**
722
- * @internal
723
- */
724
- const filterSensitiveLog: (obj: ThrottlingException) => any;
725
- }
726
772
  export declare enum JobFilterName {
727
773
  JOB_STATUS = "JobStatus",
728
774
  RESOURCE_TYPE = "ResourceType"
@@ -928,7 +974,9 @@ export declare enum ExportableAutoScalingGroupField {
928
974
  CURRENT_VCPUS = "CurrentVCpus",
929
975
  EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
930
976
  EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
977
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes",
931
978
  FINDING = "Finding",
979
+ INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes",
932
980
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
933
981
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
934
982
  RECOMMENDATION_OPTIONS_CONFIGURATION_DESIRED_CAPACITY = "RecommendationOptionsConfigurationDesiredCapacity",
@@ -938,6 +986,7 @@ export declare enum ExportableAutoScalingGroupField {
938
986
  RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
939
987
  RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
940
988
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
989
+ RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort",
941
990
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
942
991
  RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice",
943
992
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
@@ -1317,12 +1366,6 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear
1317
1366
  $fault: "client";
1318
1367
  message?: string;
1319
1368
  }
1320
- export declare namespace LimitExceededException {
1321
- /**
1322
- * @internal
1323
- */
1324
- const filterSensitiveLog: (obj: LimitExceededException) => any;
1325
- }
1326
1369
  export declare enum ExportableVolumeField {
1327
1370
  ACCOUNT_ID = "AccountId",
1328
1371
  CURRENT_CONFIGURATION_VOLUME_BASELINE_IOPS = "CurrentConfigurationVolumeBaselineIOPS",
@@ -1476,8 +1519,10 @@ export declare enum ExportableInstanceField {
1476
1519
  CURRENT_VCPUS = "CurrentVCpus",
1477
1520
  EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
1478
1521
  EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
1522
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes",
1479
1523
  FINDING = "Finding",
1480
1524
  Finding_Reason_Codes = "FindingReasonCodes",
1525
+ INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes",
1481
1526
  INSTANCE_ARN = "InstanceArn",
1482
1527
  INSTANCE_NAME = "InstanceName",
1483
1528
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
@@ -1488,6 +1533,7 @@ export declare enum ExportableInstanceField {
1488
1533
  RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1489
1534
  RECOMMENDATION_OPTIONS_INSTANCE_TYPE = "RecommendationOptionsInstanceType",
1490
1535
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
1536
+ RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort",
1491
1537
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
1492
1538
  RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice",
1493
1539
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
@@ -2348,6 +2394,18 @@ export interface InstanceRecommendationOption {
2348
2394
  * percentage.</p>
2349
2395
  */
2350
2396
  savingsOpportunity?: SavingsOpportunity;
2397
+ /**
2398
+ * <p>The level of effort required to migrate from the current instance type to the
2399
+ * recommended instance type.</p>
2400
+ *
2401
+ * <p>For example, the migration effort is <code>Low</code> if Amazon EMR is the
2402
+ * inferred workload type and an Amazon Web Services Graviton instance type is recommended.
2403
+ * The migration effort is <code>Medium</code> if a workload type couldn't be inferred but
2404
+ * an Amazon Web Services Graviton instance type is recommended. The migration effort is
2405
+ * <code>VeryLow</code> if both the current and recommended instance types are of the
2406
+ * same CPU architecture.</p>
2407
+ */
2408
+ migrationEffort?: MigrationEffort | string;
2351
2409
  }
2352
2410
  export declare namespace InstanceRecommendationOption {
2353
2411
  /**
@@ -2660,8 +2718,8 @@ export interface InstanceRecommendation {
2660
2718
  lastRefreshTimestamp?: Date;
2661
2719
  /**
2662
2720
  * <p>The risk of the current instance not meeting the performance needs of its workloads.
2663
- * The higher the risk, the more likely the current Lambda function requires
2664
- * more memory.</p>
2721
+ * The higher the risk, the more likely the current instance cannot meet the performance
2722
+ * requirements of its workload.</p>
2665
2723
  */
2666
2724
  currentPerformanceRisk?: CurrentPerformanceRisk | string;
2667
2725
  /**
@@ -2669,6 +2727,51 @@ export interface InstanceRecommendation {
2669
2727
  * instance.</p>
2670
2728
  */
2671
2729
  effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
2730
+ /**
2731
+ * <p>The applications that might be running on the instance as inferred by Compute Optimizer.</p>
2732
+ *
2733
+ * <p>Compute Optimizer can infer if one of the following applications might be running on
2734
+ * the instance:</p>
2735
+ *
2736
+ * <ul>
2737
+ * <li>
2738
+ * <p>
2739
+ * <code>AmazonEmr</code> - Infers that Amazon EMR might be running on
2740
+ * the instance.</p>
2741
+ * </li>
2742
+ * <li>
2743
+ * <p>
2744
+ * <code>ApacheCassandra</code> - Infers that Apache Cassandra might be running
2745
+ * on the instance.</p>
2746
+ * </li>
2747
+ * <li>
2748
+ * <p>
2749
+ * <code>ApacheHadoop</code> - Infers that Apache Hadoop might be running on the
2750
+ * instance.</p>
2751
+ * </li>
2752
+ * <li>
2753
+ * <p>
2754
+ * <code>Memcached</code> - Infers that Memcached might be running on the
2755
+ * instance.</p>
2756
+ * </li>
2757
+ * <li>
2758
+ * <p>
2759
+ * <code>NGINX</code> - Infers that NGINX might be running on the
2760
+ * instance.</p>
2761
+ * </li>
2762
+ * <li>
2763
+ * <p>
2764
+ * <code>PostgreSql</code> - Infers that PostgreSQL might be running on the
2765
+ * instance.</p>
2766
+ * </li>
2767
+ * <li>
2768
+ * <p>
2769
+ * <code>Redis</code> - Infers that Redis might be running on the
2770
+ * instance.</p>
2771
+ * </li>
2772
+ * </ul>
2773
+ */
2774
+ inferredWorkloadTypes?: (InferredWorkloadType | string)[];
2672
2775
  }
2673
2776
  export declare namespace InstanceRecommendation {
2674
2777
  /**
@@ -2862,10 +2965,13 @@ export interface GetEffectiveRecommendationPreferencesResponse {
2862
2965
  * organization level.</p>
2863
2966
  * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
2864
2967
  * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
2865
- * applied.</p>
2968
+ * applied to recommendations.</p>
2866
2969
  * <p>To validate whether the preference is applied to your last generated set of
2867
2970
  * recommendations, review the <code>effectiveRecommendationPreferences</code> value in the
2868
2971
  * response of the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
2972
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Enhanced
2973
+ * infrastructure metrics</a> in the <i>Compute Optimizer User
2974
+ * Guide</i>.</p>
2869
2975
  */
2870
2976
  enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
2871
2977
  }
@@ -3301,7 +3407,7 @@ export interface LambdaFunctionRecommendation {
3301
3407
  /**
3302
3408
  * <p>The risk of the current Lambda function not meeting the performance needs
3303
3409
  * of its workloads. The higher the risk, the more likely the current Lambda
3304
- * function configuration is underperforming in its workload.</p>
3410
+ * function requires more memory.</p>
3305
3411
  */
3306
3412
  currentPerformanceRisk?: CurrentPerformanceRisk | string;
3307
3413
  }
@@ -3389,9 +3495,20 @@ export interface RecommendationPreferencesDetail {
3389
3495
  * <p>The status of the enhanced infrastructure metrics recommendation preference.</p>
3390
3496
  * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3391
3497
  * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3392
- * applied.</p>
3498
+ * applied to recommendations.</p>
3499
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Enhanced
3500
+ * infrastructure metrics</a> in the <i>Compute Optimizer User
3501
+ * Guide</i>.</p>
3393
3502
  */
3394
3503
  enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3504
+ /**
3505
+ * <p>The status of the inferred workload types recommendation preference.</p>
3506
+ *
3507
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3508
+ * recommendation refresh. A status of <code>Inactive</code> confirms that it's not yet
3509
+ * applied to recommendations.</p>
3510
+ */
3511
+ inferredWorkloadTypes?: InferredWorkloadTypesPreference | string;
3395
3512
  }
3396
3513
  export declare namespace RecommendationPreferencesDetail {
3397
3514
  /**
@@ -3592,18 +3709,38 @@ export interface PutRecommendationPreferencesRequest {
3592
3709
  * Auto Scaling groups only at the resource level by specifying a scope name
3593
3710
  * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
3594
3711
  * Resource Name (ARN). This will configure the preference for all instances that are
3595
- * part of the specified the Auto Scaling group.</p>
3712
+ * part of the specified Auto Scaling group. You also cannot create recommendation
3713
+ * preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for
3714
+ * standalone instances.</p>
3596
3715
  * </note>
3597
3716
  */
3598
3717
  scope?: Scope;
3599
3718
  /**
3600
3719
  * <p>The status of the enhanced infrastructure metrics recommendation preference to create
3601
3720
  * or update.</p>
3602
- * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3603
- * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3604
- * applied.</p>
3721
+ * <p>Specify the <code>Active</code> status to activate the preference, or specify
3722
+ * <code>Inactive</code> to deactivate the preference.</p>
3723
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Enhanced
3724
+ * infrastructure metrics</a> in the <i>Compute Optimizer User
3725
+ * Guide</i>.</p>
3605
3726
  */
3606
3727
  enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3728
+ /**
3729
+ * <p>The status of the inferred workload types recommendation preference to create or
3730
+ * update.</p>
3731
+ *
3732
+ * <note>
3733
+ * <p>The inferred workload type feature is active by default. To deactivate it, create
3734
+ * a recommendation preference.</p>
3735
+ * </note>
3736
+ *
3737
+ * <p>Specify the <code>Inactive</code> status to deactivate the feature, or specify
3738
+ * <code>Active</code> to activate it.</p>
3739
+ *
3740
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-types.html">Inferred workload
3741
+ * types</a> in the <i>Compute Optimizer User Guide</i>.</p>
3742
+ */
3743
+ inferredWorkloadTypes?: InferredWorkloadTypesPreference | string;
3607
3744
  }
3608
3745
  export declare namespace PutRecommendationPreferencesRequest {
3609
3746
  /**
@@ -1,10 +1,11 @@
1
- import { FetchHttpHandler } from "@aws-sdk/fetch-http-handler";
1
+ import { FetchHttpHandler as RequestHandler } from "@aws-sdk/fetch-http-handler";
2
2
  import { ComputeOptimizerClientConfig } from "./ComputeOptimizerClient";
3
3
  /**
4
4
  * @internal
5
5
  */
6
6
  export declare const getRuntimeConfig: (config: ComputeOptimizerClientConfig) => {
7
7
  runtime: string;
8
+ defaultsMode: import("@aws-sdk/types").Provider<import("@aws-sdk/smithy-client").ResolvedDefaultsMode>;
8
9
  base64Decoder: import("@aws-sdk/types").Decoder;
9
10
  base64Encoder: import("@aws-sdk/types").Encoder;
10
11
  bodyLengthChecker: (body: any) => number | undefined;
@@ -12,7 +13,7 @@ export declare const getRuntimeConfig: (config: ComputeOptimizerClientConfig) =>
12
13
  defaultUserAgentProvider: import("@aws-sdk/types").Provider<import("@aws-sdk/types").UserAgent>;
13
14
  maxAttempts: number | import("@aws-sdk/types").Provider<number>;
14
15
  region: string | import("@aws-sdk/types").Provider<any>;
15
- requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | FetchHttpHandler;
16
+ requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | RequestHandler;
16
17
  retryMode: string | import("@aws-sdk/types").Provider<string>;
17
18
  sha256: import("@aws-sdk/types").HashConstructor;
18
19
  streamCollector: import("@aws-sdk/types").StreamCollector;