@aws-sdk/client-compute-optimizer 3.43.0 → 3.47.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.
Files changed (63) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +7 -10
  3. package/dist-cjs/ComputeOptimizer.js +60 -0
  4. package/dist-cjs/commands/DeleteRecommendationPreferencesCommand.js +36 -0
  5. package/dist-cjs/commands/GetEffectiveRecommendationPreferencesCommand.js +36 -0
  6. package/dist-cjs/commands/GetRecommendationPreferencesCommand.js +36 -0
  7. package/dist-cjs/commands/PutRecommendationPreferencesCommand.js +36 -0
  8. package/dist-cjs/commands/index.js +4 -0
  9. package/dist-cjs/endpoints.js +1 -0
  10. package/dist-cjs/models/models_0.js +146 -68
  11. package/dist-cjs/protocols/Aws_json1_0.js +617 -1
  12. package/dist-cjs/runtimeConfig.browser.js +7 -2
  13. package/dist-cjs/runtimeConfig.js +9 -3
  14. package/dist-es/ComputeOptimizer.js +60 -0
  15. package/dist-es/commands/DeleteRecommendationPreferencesCommand.js +39 -0
  16. package/dist-es/commands/GetEffectiveRecommendationPreferencesCommand.js +39 -0
  17. package/dist-es/commands/GetRecommendationPreferencesCommand.js +39 -0
  18. package/dist-es/commands/PutRecommendationPreferencesCommand.js +39 -0
  19. package/dist-es/commands/index.js +4 -0
  20. package/dist-es/endpoints.js +1 -0
  21. package/dist-es/models/models_0.js +115 -48
  22. package/dist-es/protocols/Aws_json1_0.js +646 -8
  23. package/dist-es/runtimeConfig.browser.js +12 -3
  24. package/dist-es/runtimeConfig.js +13 -6
  25. package/dist-types/ComputeOptimizer.d.ts +50 -27
  26. package/dist-types/ComputeOptimizerClient.d.ts +11 -3
  27. package/dist-types/commands/DeleteRecommendationPreferencesCommand.d.ts +38 -0
  28. package/dist-types/commands/DescribeRecommendationExportJobsCommand.d.ts +0 -1
  29. package/dist-types/commands/ExportAutoScalingGroupRecommendationsCommand.d.ts +0 -2
  30. package/dist-types/commands/ExportEBSVolumeRecommendationsCommand.d.ts +1 -4
  31. package/dist-types/commands/ExportEC2InstanceRecommendationsCommand.d.ts +1 -4
  32. package/dist-types/commands/ExportLambdaFunctionRecommendationsCommand.d.ts +1 -4
  33. package/dist-types/commands/GetAutoScalingGroupRecommendationsCommand.d.ts +0 -1
  34. package/dist-types/commands/GetEBSVolumeRecommendationsCommand.d.ts +0 -1
  35. package/dist-types/commands/GetEC2InstanceRecommendationsCommand.d.ts +0 -1
  36. package/dist-types/commands/GetEC2RecommendationProjectedMetricsCommand.d.ts +0 -1
  37. package/dist-types/commands/GetEffectiveRecommendationPreferencesCommand.d.ts +40 -0
  38. package/dist-types/commands/GetEnrollmentStatusCommand.d.ts +0 -1
  39. package/dist-types/commands/GetEnrollmentStatusesForOrganizationCommand.d.ts +0 -1
  40. package/dist-types/commands/GetLambdaFunctionRecommendationsCommand.d.ts +0 -1
  41. package/dist-types/commands/GetRecommendationPreferencesCommand.d.ts +42 -0
  42. package/dist-types/commands/GetRecommendationSummariesCommand.d.ts +0 -2
  43. package/dist-types/commands/PutRecommendationPreferencesCommand.d.ts +39 -0
  44. package/dist-types/commands/UpdateEnrollmentStatusCommand.d.ts +0 -3
  45. package/dist-types/commands/index.d.ts +4 -0
  46. package/dist-types/models/models_0.d.ts +603 -293
  47. package/dist-types/protocols/Aws_json1_0.d.ts +12 -0
  48. package/dist-types/runtimeConfig.browser.d.ts +3 -2
  49. package/dist-types/runtimeConfig.d.ts +4 -3
  50. package/dist-types/runtimeConfig.native.d.ts +1 -0
  51. package/dist-types/ts3.4/ComputeOptimizer.d.ts +20 -0
  52. package/dist-types/ts3.4/ComputeOptimizerClient.d.ts +9 -3
  53. package/dist-types/ts3.4/commands/DeleteRecommendationPreferencesCommand.d.ts +17 -0
  54. package/dist-types/ts3.4/commands/GetEffectiveRecommendationPreferencesCommand.d.ts +17 -0
  55. package/dist-types/ts3.4/commands/GetRecommendationPreferencesCommand.d.ts +17 -0
  56. package/dist-types/ts3.4/commands/PutRecommendationPreferencesCommand.d.ts +17 -0
  57. package/dist-types/ts3.4/commands/index.d.ts +4 -0
  58. package/dist-types/ts3.4/models/models_0.d.ts +266 -88
  59. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +12 -0
  60. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -2
  61. package/dist-types/ts3.4/runtimeConfig.d.ts +4 -3
  62. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -0
  63. package/package.json +38 -45
@@ -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",
@@ -33,7 +27,6 @@ export interface AccountEnrollmentStatus {
33
27
  status?: Status | string;
34
28
  /**
35
29
  * <p>The reason for the account enrollment status.</p>
36
- *
37
30
  * <p>For example, an account might show a status of <code>Pending</code> because member
38
31
  * accounts of an organization require more time to be enrolled in the service.</p>
39
32
  */
@@ -79,6 +72,59 @@ export declare namespace AutoScalingGroupConfiguration {
79
72
  */
80
73
  const filterSensitiveLog: (obj: AutoScalingGroupConfiguration) => any;
81
74
  }
75
+ export declare enum CurrentPerformanceRisk {
76
+ HIGH = "High",
77
+ LOW = "Low",
78
+ MEDIUM = "Medium",
79
+ VERY_LOW = "VeryLow"
80
+ }
81
+ export declare enum CpuVendorArchitecture {
82
+ AWS_ARM64 = "AWS_ARM64",
83
+ CURRENT = "CURRENT"
84
+ }
85
+ export declare enum EnhancedInfrastructureMetrics {
86
+ ACTIVE = "Active",
87
+ INACTIVE = "Inactive"
88
+ }
89
+ /**
90
+ * <p>Describes the effective recommendation preferences for a resource.</p>
91
+ */
92
+ export interface EffectiveRecommendationPreferences {
93
+ /**
94
+ * <p>Describes the CPU vendor and architecture for an instance or Auto Scaling group
95
+ * recommendations.</p>
96
+ * <p>For example, when you specify <code>AWS_ARM64</code> with:</p>
97
+ * <ul>
98
+ * <li>
99
+ * <p>A <a>GetEC2InstanceRecommendations</a> or <a>GetAutoScalingGroupRecommendations</a> request, Compute Optimizer
100
+ * returns recommendations that consist of Graviton2 instance types only.</p>
101
+ * </li>
102
+ * <li>
103
+ * <p>A <a>GetEC2RecommendationProjectedMetrics</a> request, Compute Optimizer returns projected utilization metrics for Graviton2 instance type
104
+ * recommendations only.</p>
105
+ * </li>
106
+ * <li>
107
+ * <p>A <a>ExportEC2InstanceRecommendations</a> or <a>ExportAutoScalingGroupRecommendations</a> request, Compute Optimizer
108
+ * exports recommendations that consist of Graviton2 instance types only.</p>
109
+ * </li>
110
+ * </ul>
111
+ */
112
+ cpuVendorArchitectures?: (CpuVendorArchitecture | string)[];
113
+ /**
114
+ * <p>Describes the activation status of the enhanced infrastructure metrics
115
+ * preference.</p>
116
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
117
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
118
+ * applied.</p>
119
+ */
120
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
121
+ }
122
+ export declare namespace EffectiveRecommendationPreferences {
123
+ /**
124
+ * @internal
125
+ */
126
+ const filterSensitiveLog: (obj: EffectiveRecommendationPreferences) => any;
127
+ }
82
128
  export declare enum Finding {
83
129
  NOT_OPTIMIZED = "NotOptimized",
84
130
  OPTIMIZED = "Optimized",
@@ -108,7 +154,6 @@ export declare enum MetricStatistic {
108
154
  /**
109
155
  * <p>Describes a utilization metric of a resource, such as an Amazon EC2
110
156
  * instance.</p>
111
- *
112
157
  * <p>Compare the utilization metric data of your resource against its projected utilization
113
158
  * metric data to determine the performance difference between your current resource and
114
159
  * the recommended option.</p>
@@ -116,7 +161,6 @@ export declare enum MetricStatistic {
116
161
  export interface UtilizationMetric {
117
162
  /**
118
163
  * <p>The name of the utilization metric.</p>
119
- *
120
164
  * <p>The following utilization metrics are available:</p>
121
165
  * <ul>
122
166
  * <li>
@@ -229,12 +273,9 @@ export interface UtilizationMetric {
229
273
  name?: MetricName | string;
230
274
  /**
231
275
  * <p>The statistic of the utilization metric.</p>
232
- *
233
276
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
234
277
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
235
278
  * highest value observed during the specified period.</p>
236
- *
237
- *
238
279
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
239
280
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
240
281
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -256,6 +297,68 @@ export declare namespace UtilizationMetric {
256
297
  */
257
298
  const filterSensitiveLog: (obj: UtilizationMetric) => any;
258
299
  }
300
+ export declare enum Currency {
301
+ CNY = "CNY",
302
+ USD = "USD"
303
+ }
304
+ /**
305
+ * <p>Describes the estimated monthly savings amount possible for a given resource based on
306
+ * On-Demand instance pricing</p>
307
+ * <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
308
+ * <i>Compute Optimizer User Guide</i>.</p>
309
+ */
310
+ export interface EstimatedMonthlySavings {
311
+ /**
312
+ * <p>The currency of the estimated monthly
313
+ * savings.</p>
314
+ */
315
+ currency?: Currency | string;
316
+ /**
317
+ * <p>The value of the estimated monthly savings.</p>
318
+ */
319
+ value?: number;
320
+ }
321
+ export declare namespace EstimatedMonthlySavings {
322
+ /**
323
+ * @internal
324
+ */
325
+ const filterSensitiveLog: (obj: EstimatedMonthlySavings) => any;
326
+ }
327
+ /**
328
+ * <p>Describes the savings opportunity for recommendations of a given resource type or for
329
+ * the recommendation option of an individual resource.</p>
330
+ * <p>Savings opportunity represents the estimated monthly savings you can achieve by
331
+ * implementing a given Compute Optimizer recommendation.</p>
332
+ * <important>
333
+ * <p>Savings opportunity data requires that you opt in to Cost Explorer, as well as
334
+ * activate <b>Receive Amazon EC2 resource
335
+ * recommendations</b> in the Cost Explorer preferences page. That
336
+ * creates a connection between Cost Explorer and Compute Optimizer. With this
337
+ * connection, Cost Explorer generates savings estimates considering the price of
338
+ * existing resources, the price of recommended resources, and historical usage data.
339
+ * Estimated monthly savings reflects the projected dollar savings associated with each
340
+ * of the recommendations generated. For more information, see <a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html">Enabling Cost Explorer</a> and <a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html">Optimizing your cost
341
+ * with Rightsizing Recommendations</a> in the <i>Cost Management User
342
+ * Guide</i>.</p>
343
+ * </important>
344
+ */
345
+ export interface SavingsOpportunity {
346
+ /**
347
+ * <p>The estimated monthly savings possible as a percentage of monthly cost.</p>
348
+ */
349
+ savingsOpportunityPercentage?: number;
350
+ /**
351
+ * <p>An object that describes the estimated monthly savings amount possible based on
352
+ * On-Demand instance pricing.</p>
353
+ */
354
+ estimatedMonthlySavings?: EstimatedMonthlySavings;
355
+ }
356
+ export declare namespace SavingsOpportunity {
357
+ /**
358
+ * @internal
359
+ */
360
+ const filterSensitiveLog: (obj: SavingsOpportunity) => any;
361
+ }
259
362
  /**
260
363
  * <p>Describes a recommendation option for an Auto Scaling group.</p>
261
364
  */
@@ -266,7 +369,6 @@ export interface AutoScalingGroupRecommendationOption {
266
369
  configuration?: AutoScalingGroupConfiguration;
267
370
  /**
268
371
  * <p>An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.</p>
269
- *
270
372
  * <note>
271
373
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
272
374
  * utilization metrics returned. Additionally, the <code>Memory</code> metric is
@@ -279,7 +381,6 @@ export interface AutoScalingGroupRecommendationOption {
279
381
  /**
280
382
  * <p>The performance risk of the Auto Scaling group configuration
281
383
  * recommendation.</p>
282
- *
283
384
  * <p>Performance risk indicates the likelihood of the recommended instance type not meeting
284
385
  * the resource needs of your workload. Compute Optimizer calculates an individual
285
386
  * performance risk score for each specification of the recommended instance, including
@@ -288,7 +389,6 @@ export interface AutoScalingGroupRecommendationOption {
288
389
  * The performance
289
390
  * risk of the recommended instance is calculated as the maximum performance risk score
290
391
  * across the analyzed resource specifications.</p>
291
- *
292
392
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
293
393
  * that the recommended resource is predicted to always provide enough hardware capability.
294
394
  * The higher the performance risk is, the more likely you should validate whether the
@@ -298,10 +398,15 @@ export interface AutoScalingGroupRecommendationOption {
298
398
  performanceRisk?: number;
299
399
  /**
300
400
  * <p>The rank of the Auto Scaling group recommendation option.</p>
301
- *
302
401
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
303
402
  */
304
403
  rank?: number;
404
+ /**
405
+ * <p>An object that describes the savings opportunity for the Auto Scaling group
406
+ * recommendation option. Savings opportunity includes the estimated monthly savings amount
407
+ * and percentage.</p>
408
+ */
409
+ savingsOpportunity?: SavingsOpportunity;
305
410
  }
306
411
  export declare namespace AutoScalingGroupRecommendationOption {
307
412
  /**
@@ -327,9 +432,7 @@ export interface AutoScalingGroupRecommendation {
327
432
  autoScalingGroupName?: string;
328
433
  /**
329
434
  * <p>The finding classification of the Auto Scaling group.</p>
330
- *
331
435
  * <p>Findings for Auto Scaling groups include:</p>
332
- *
333
436
  * <ul>
334
437
  * <li>
335
438
  * <p>
@@ -371,10 +474,20 @@ export interface AutoScalingGroupRecommendation {
371
474
  */
372
475
  recommendationOptions?: AutoScalingGroupRecommendationOption[];
373
476
  /**
374
- * <p>The timestamp of when the Auto Scaling group recommendation was last
375
- * refreshed.</p>
477
+ * <p>The timestamp of when the Auto Scaling group recommendation was last
478
+ * generated.</p>
376
479
  */
377
480
  lastRefreshTimestamp?: Date;
481
+ /**
482
+ * <p>The risk of the current Auto Scaling group not meeting the performance needs of
483
+ * its workloads. The higher the risk, the more likely the current Auto Scaling group
484
+ * configuration has insufficient capacity and cannot meet workload requirements.</p>
485
+ */
486
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
487
+ /**
488
+ * <p>An object that describes the effective recommendation preferences for the Auto Scaling group.</p>
489
+ */
490
+ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
378
491
  }
379
492
  export declare namespace AutoScalingGroupRecommendation {
380
493
  /**
@@ -382,6 +495,186 @@ export declare namespace AutoScalingGroupRecommendation {
382
495
  */
383
496
  const filterSensitiveLog: (obj: AutoScalingGroupRecommendation) => any;
384
497
  }
498
+ export declare enum RecommendationPreferenceName {
499
+ ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics"
500
+ }
501
+ export declare enum ResourceType {
502
+ AUTO_SCALING_GROUP = "AutoScalingGroup",
503
+ EBS_VOLUME = "EbsVolume",
504
+ EC2_INSTANCE = "Ec2Instance",
505
+ LAMBDA_FUNCTION = "LambdaFunction"
506
+ }
507
+ export declare enum ScopeName {
508
+ ACCOUNT_ID = "AccountId",
509
+ ORGANIZATION = "Organization",
510
+ RESOURCE_ARN = "ResourceArn"
511
+ }
512
+ /**
513
+ * <p>Describes the scope of a recommendation preference.</p>
514
+ * <p>Recommendation preferences can be created at the organization level (for management
515
+ * accounts of an organization only), account level, and resource level. For more
516
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
517
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
518
+ * Guide</i>.</p>
519
+ * <note>
520
+ * <p>You cannot create recommendation preferences for Auto Scaling groups at the
521
+ * organization and account levels. You can create recommendation preferences for
522
+ * Auto Scaling groups only at the resource level by specifying a scope name
523
+ * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
524
+ * Resource Name (ARN). This will configure the preference for all instances that are
525
+ * part of the specified the Auto Scaling group.</p>
526
+ * </note>
527
+ */
528
+ export interface Scope {
529
+ /**
530
+ * <p>The name of the scope.</p>
531
+ * <p>The following scopes are possible:</p>
532
+ * <ul>
533
+ * <li>
534
+ * <p>
535
+ * <code>Organization</code> - Specifies that the recommendation preference
536
+ * applies at the organization level, for all member accounts of an
537
+ * organization.</p>
538
+ * </li>
539
+ * <li>
540
+ * <p>
541
+ * <code>AccountId</code> - Specifies that the recommendation preference applies
542
+ * at the account level, for all resources of a given resource type in an
543
+ * account.</p>
544
+ * </li>
545
+ * <li>
546
+ * <p>
547
+ * <code>ResourceArn</code> - Specifies that the recommendation preference
548
+ * applies at the individual resource level.</p>
549
+ * </li>
550
+ * </ul>
551
+ */
552
+ name?: ScopeName | string;
553
+ /**
554
+ * <p>The value of the scope.</p>
555
+ * <p>If you specified the <code>name</code> of the scope as:</p>
556
+ * <ul>
557
+ * <li>
558
+ * <p>
559
+ * <code>Organization</code> - The <code>value</code> must be
560
+ * <code>ALL_ACCOUNTS</code>.</p>
561
+ * </li>
562
+ * <li>
563
+ * <p>
564
+ * <code>AccountId</code> - The <code>value</code> must be a 12-digit Amazon Web Services account ID.</p>
565
+ * </li>
566
+ * <li>
567
+ * <p>
568
+ * <code>ResourceArn</code> - The <code>value</code> must be the Amazon Resource
569
+ * Name (ARN) of an EC2 instance or an Auto Scaling group.</p>
570
+ * </li>
571
+ * </ul>
572
+ * <p>Only EC2 instance and Auto Scaling group ARNs are currently supported.</p>
573
+ */
574
+ value?: string;
575
+ }
576
+ export declare namespace Scope {
577
+ /**
578
+ * @internal
579
+ */
580
+ const filterSensitiveLog: (obj: Scope) => any;
581
+ }
582
+ export interface DeleteRecommendationPreferencesRequest {
583
+ /**
584
+ * <p>The target resource type of the recommendation preference to delete.</p>
585
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
586
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
587
+ * encompasses only instances that are part of an Auto Scaling group.</p>
588
+ */
589
+ resourceType: ResourceType | string | undefined;
590
+ /**
591
+ * <p>An object that describes the scope of the recommendation preference to delete.</p>
592
+ * <p>You can delete recommendation preferences that are created at the organization level
593
+ * (for management accounts of an organization only), account level, and resource level.
594
+ * For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
595
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
596
+ * Guide</i>.</p>
597
+ */
598
+ scope?: Scope;
599
+ /**
600
+ * <p>The name of the recommendation preference to delete.</p>
601
+ * <p>Enhanced infrastructure metrics (<code>EnhancedInfrastructureMetrics</code>) is the
602
+ * only feature that can be activated through preferences. Therefore, it is also the only
603
+ * recommendation preference that can be deleted.</p>
604
+ */
605
+ recommendationPreferenceNames: (RecommendationPreferenceName | string)[] | undefined;
606
+ }
607
+ export declare namespace DeleteRecommendationPreferencesRequest {
608
+ /**
609
+ * @internal
610
+ */
611
+ const filterSensitiveLog: (obj: DeleteRecommendationPreferencesRequest) => any;
612
+ }
613
+ export interface DeleteRecommendationPreferencesResponse {
614
+ }
615
+ export declare namespace DeleteRecommendationPreferencesResponse {
616
+ /**
617
+ * @internal
618
+ */
619
+ const filterSensitiveLog: (obj: DeleteRecommendationPreferencesResponse) => any;
620
+ }
621
+ /**
622
+ * <p>An internal error has occurred. Try your call again.</p>
623
+ */
624
+ export interface InternalServerException extends __SmithyException, $MetadataBearer {
625
+ name: "InternalServerException";
626
+ $fault: "server";
627
+ message?: string;
628
+ }
629
+ /**
630
+ * <p>The value supplied for the input parameter is out of range or not valid.</p>
631
+ */
632
+ export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer {
633
+ name: "InvalidParameterValueException";
634
+ $fault: "client";
635
+ message?: string;
636
+ }
637
+ /**
638
+ * <p>The request must contain either a valid (registered) Amazon Web Services access key ID
639
+ * or X.509 certificate.</p>
640
+ */
641
+ export interface MissingAuthenticationToken extends __SmithyException, $MetadataBearer {
642
+ name: "MissingAuthenticationToken";
643
+ $fault: "client";
644
+ message?: string;
645
+ }
646
+ /**
647
+ * <p>The account is not opted in to Compute Optimizer.</p>
648
+ */
649
+ export interface OptInRequiredException extends __SmithyException, $MetadataBearer {
650
+ name: "OptInRequiredException";
651
+ $fault: "client";
652
+ message?: string;
653
+ }
654
+ /**
655
+ * <p>A resource that is required for the action doesn't exist.</p>
656
+ */
657
+ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
658
+ name: "ResourceNotFoundException";
659
+ $fault: "client";
660
+ message?: string;
661
+ }
662
+ /**
663
+ * <p>The request has failed due to a temporary failure of the server.</p>
664
+ */
665
+ export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
666
+ name: "ServiceUnavailableException";
667
+ $fault: "server";
668
+ message?: string;
669
+ }
670
+ /**
671
+ * <p>The request was denied due to request throttling.</p>
672
+ */
673
+ export interface ThrottlingException extends __SmithyException, $MetadataBearer {
674
+ name: "ThrottlingException";
675
+ $fault: "client";
676
+ message: string | undefined;
677
+ }
385
678
  export declare enum JobFilterName {
386
679
  JOB_STATUS = "JobStatus",
387
680
  RESOURCE_TYPE = "ResourceType"
@@ -390,7 +683,6 @@ export declare enum JobFilterName {
390
683
  * <p>Describes a filter that returns a more specific list of recommendation export jobs.
391
684
  * Use this filter with the <a>DescribeRecommendationExportJobs</a>
392
685
  * action.</p>
393
- *
394
686
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action,
395
687
  * <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, and <code>Filter</code> with
396
688
  * the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -398,20 +690,16 @@ export declare enum JobFilterName {
398
690
  export interface JobFilter {
399
691
  /**
400
692
  * <p>The name of the filter.</p>
401
- *
402
693
  * <p>Specify <code>ResourceType</code> to return export jobs of a specific resource type
403
694
  * (for example, <code>Ec2Instance</code>).</p>
404
- *
405
695
  * <p>Specify <code>JobStatus</code> to return export jobs with a specific status (e.g,
406
696
  * <code>Complete</code>).</p>
407
697
  */
408
698
  name?: JobFilterName | string;
409
699
  /**
410
700
  * <p>The value of the filter.</p>
411
- *
412
701
  * <p>The valid values for this parameter are as follows, depending on what you specify for
413
702
  * the <code>name</code> parameter:</p>
414
- *
415
703
  * <ul>
416
704
  * <li>
417
705
  * <p>Specify <code>Ec2Instance</code> or <code>AutoScalingGroup</code> if you
@@ -437,9 +725,7 @@ export declare namespace JobFilter {
437
725
  export interface DescribeRecommendationExportJobsRequest {
438
726
  /**
439
727
  * <p>The identification numbers of the export jobs to return.</p>
440
- *
441
728
  * <p>An export job ID is returned when you create an export using the <a>ExportAutoScalingGroupRecommendations</a> or <a>ExportEC2InstanceRecommendations</a> actions.</p>
442
- *
443
729
  * <p>All export jobs created in the last seven days are returned if this parameter is
444
730
  * omitted.</p>
445
731
  */
@@ -455,7 +741,6 @@ export interface DescribeRecommendationExportJobsRequest {
455
741
  nextToken?: string;
456
742
  /**
457
743
  * <p>The maximum number of export jobs to return with a single request.</p>
458
- *
459
744
  * <p>To retrieve the remaining results, make another request with the returned
460
745
  * <code>nextToken</code> value.</p>
461
746
  */
@@ -479,13 +764,11 @@ export interface S3Destination {
479
764
  bucket?: string;
480
765
  /**
481
766
  * <p>The Amazon S3 bucket key of an export file.</p>
482
- *
483
767
  * <p>The key uniquely identifies the object, or export file, in the S3 bucket.</p>
484
768
  */
485
769
  key?: string;
486
770
  /**
487
771
  * <p>The Amazon S3 bucket key of a metadata file.</p>
488
- *
489
772
  * <p>The key uniquely identifies the object, or metadata file, in the S3 bucket.</p>
490
773
  */
491
774
  metadataKey?: string;
@@ -513,12 +796,6 @@ export declare namespace ExportDestination {
513
796
  */
514
797
  const filterSensitiveLog: (obj: ExportDestination) => any;
515
798
  }
516
- export declare enum ResourceType {
517
- AUTO_SCALING_GROUP = "AutoScalingGroup",
518
- EBS_VOLUME = "EbsVolume",
519
- EC2_INSTANCE = "Ec2Instance",
520
- LAMBDA_FUNCTION = "LambdaFunction"
521
- }
522
799
  export declare enum JobStatus {
523
800
  COMPLETE = "Complete",
524
801
  FAILED = "Failed",
@@ -527,12 +804,8 @@ export declare enum JobStatus {
527
804
  }
528
805
  /**
529
806
  * <p>Describes a recommendation export job.</p>
530
- *
531
- *
532
807
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action to view your
533
808
  * recommendation export jobs.</p>
534
- *
535
- *
536
809
  * <p>Use the <a>ExportAutoScalingGroupRecommendations</a> or <a>ExportEC2InstanceRecommendations</a> actions to request an export of your
537
810
  * recommendations.</p>
538
811
  */
@@ -575,119 +848,19 @@ export declare namespace RecommendationExportJob {
575
848
  export interface DescribeRecommendationExportJobsResponse {
576
849
  /**
577
850
  * <p>An array of objects that describe recommendation export jobs.</p>
578
- */
579
- recommendationExportJobs?: RecommendationExportJob[];
580
- /**
581
- * <p>The token to use to advance to the next page of export jobs.</p>
582
- *
583
- * <p>This value is null when there are no more pages of export jobs to return.</p>
584
- */
585
- nextToken?: string;
586
- }
587
- export declare namespace DescribeRecommendationExportJobsResponse {
588
- /**
589
- * @internal
590
- */
591
- const filterSensitiveLog: (obj: DescribeRecommendationExportJobsResponse) => any;
592
- }
593
- /**
594
- * <p>An internal error has occurred. Try your call again.</p>
595
- */
596
- export interface InternalServerException extends __SmithyException, $MetadataBearer {
597
- name: "InternalServerException";
598
- $fault: "server";
599
- message?: string;
600
- }
601
- export declare namespace InternalServerException {
602
- /**
603
- * @internal
604
- */
605
- const filterSensitiveLog: (obj: InternalServerException) => any;
606
- }
607
- /**
608
- * <p>The value supplied for the input parameter is out of range or not valid.</p>
609
- */
610
- export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer {
611
- name: "InvalidParameterValueException";
612
- $fault: "client";
613
- message?: string;
614
- }
615
- export declare namespace InvalidParameterValueException {
616
- /**
617
- * @internal
618
- */
619
- const filterSensitiveLog: (obj: InvalidParameterValueException) => any;
620
- }
621
- /**
622
- * <p>The request must contain either a valid (registered) Amazon Web Services access key ID
623
- * or X.509 certificate.</p>
624
- */
625
- export interface MissingAuthenticationToken extends __SmithyException, $MetadataBearer {
626
- name: "MissingAuthenticationToken";
627
- $fault: "client";
628
- message?: string;
629
- }
630
- export declare namespace MissingAuthenticationToken {
631
- /**
632
- * @internal
633
- */
634
- const filterSensitiveLog: (obj: MissingAuthenticationToken) => any;
635
- }
636
- /**
637
- * <p>The account is not opted in to Compute Optimizer.</p>
638
- */
639
- export interface OptInRequiredException extends __SmithyException, $MetadataBearer {
640
- name: "OptInRequiredException";
641
- $fault: "client";
642
- message?: string;
643
- }
644
- export declare namespace OptInRequiredException {
645
- /**
646
- * @internal
647
- */
648
- const filterSensitiveLog: (obj: OptInRequiredException) => any;
649
- }
650
- /**
651
- * <p>A resource that is required for the action doesn't exist.</p>
652
- */
653
- export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
654
- name: "ResourceNotFoundException";
655
- $fault: "client";
656
- message?: string;
657
- }
658
- export declare namespace ResourceNotFoundException {
659
- /**
660
- * @internal
661
- */
662
- const filterSensitiveLog: (obj: ResourceNotFoundException) => any;
663
- }
664
- /**
665
- * <p>The request has failed due to a temporary failure of the server.</p>
666
- */
667
- export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
668
- name: "ServiceUnavailableException";
669
- $fault: "server";
670
- message?: string;
671
- }
672
- export declare namespace ServiceUnavailableException {
851
+ */
852
+ recommendationExportJobs?: RecommendationExportJob[];
673
853
  /**
674
- * @internal
854
+ * <p>The token to use to advance to the next page of export jobs.</p>
855
+ * <p>This value is null when there are no more pages of export jobs to return.</p>
675
856
  */
676
- const filterSensitiveLog: (obj: ServiceUnavailableException) => any;
677
- }
678
- /**
679
- * <p>The request was denied due to request throttling.</p>
680
- */
681
- export interface ThrottlingException extends __SmithyException, $MetadataBearer {
682
- name: "ThrottlingException";
683
- $fault: "client";
684
- message: string | undefined;
857
+ nextToken?: string;
685
858
  }
686
- export declare namespace ThrottlingException {
859
+ export declare namespace DescribeRecommendationExportJobsResponse {
687
860
  /**
688
861
  * @internal
689
862
  */
690
- const filterSensitiveLog: (obj: ThrottlingException) => any;
863
+ const filterSensitiveLog: (obj: DescribeRecommendationExportJobsResponse) => any;
691
864
  }
692
865
  export declare enum ExportableAutoScalingGroupField {
693
866
  ACCOUNT_ID = "AccountId",
@@ -700,10 +873,13 @@ export declare enum ExportableAutoScalingGroupField {
700
873
  CURRENT_MEMORY = "CurrentMemory",
701
874
  CURRENT_NETWORK = "CurrentNetwork",
702
875
  CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice",
876
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
703
877
  CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice",
704
878
  CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice",
705
879
  CURRENT_STORAGE = "CurrentStorage",
706
880
  CURRENT_VCPUS = "CurrentVCpus",
881
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
882
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
707
883
  FINDING = "Finding",
708
884
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
709
885
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
@@ -711,12 +887,15 @@ export declare enum ExportableAutoScalingGroupField {
711
887
  RECOMMENDATION_OPTIONS_CONFIGURATION_INSTANCE_TYPE = "RecommendationOptionsConfigurationInstanceType",
712
888
  RECOMMENDATION_OPTIONS_CONFIGURATION_MAX_SIZE = "RecommendationOptionsConfigurationMaxSize",
713
889
  RECOMMENDATION_OPTIONS_CONFIGURATION_MIN_SIZE = "RecommendationOptionsConfigurationMinSize",
890
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
891
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
714
892
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
715
893
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
716
894
  RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice",
717
895
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
718
896
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum",
719
897
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum",
898
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
720
899
  RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice",
721
900
  RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice",
722
901
  RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage",
@@ -747,7 +926,6 @@ export declare enum FilterName {
747
926
  /**
748
927
  * <p>Describes a filter that returns a more specific list of recommendations. Use this
749
928
  * filter with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
750
- *
751
929
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action,
752
930
  * <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, and <code>JobFilter</code> with
753
931
  * the <a>DescribeRecommendationExportJobs</a> action.</p>
@@ -755,24 +933,19 @@ export declare enum FilterName {
755
933
  export interface Filter {
756
934
  /**
757
935
  * <p>The name of the filter.</p>
758
- *
759
936
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
760
937
  * classification (for example, <code>Underprovisioned</code>).</p>
761
- *
762
938
  * <p>Specify <code>RecommendationSourceType</code> to return recommendations of a specific
763
939
  * resource type (for example, <code>Ec2Instance</code>).</p>
764
- *
765
940
  * <p>Specify <code>FindingReasonCodes</code> to return recommendations with a specific
766
941
  * finding reason code (for example, <code>CPUUnderprovisioned</code>).</p>
767
942
  */
768
943
  name?: FilterName | string;
769
944
  /**
770
945
  * <p>The value of the filter.</p>
771
- *
772
946
  * <p>The valid values for this parameter are as follows, depending on what you specify for
773
947
  * the <code>name</code> parameter and the resource type that you wish to filter results
774
948
  * for:</p>
775
- *
776
949
  * <ul>
777
950
  * <li>
778
951
  * <p>Specify <code>Optimized</code> or <code>NotOptimized</code> if you specify the
@@ -793,7 +966,6 @@ export interface Filter {
793
966
  * <li>
794
967
  * <p>Specify one of the following options if you specify the <code>name</code>
795
968
  * parameter as <code>FindingReasonCodes</code>:</p>
796
- *
797
969
  * <ul>
798
970
  * <li>
799
971
  * <p>
@@ -945,19 +1117,13 @@ export declare namespace Filter {
945
1117
  */
946
1118
  const filterSensitiveLog: (obj: Filter) => any;
947
1119
  }
948
- export declare enum CpuVendorArchitecture {
949
- AWS_ARM64 = "AWS_ARM64",
950
- CURRENT = "CURRENT"
951
- }
952
1120
  /**
953
- * <p>Describes preferences for recommendations.</p>
1121
+ * <p>Describes the recommendation preferences to return in the response of a <a>GetAutoScalingGroupRecommendations</a>, <a>GetEC2InstanceRecommendations</a>, and <a>GetEC2RecommendationProjectedMetrics</a> request.</p>
954
1122
  */
955
1123
  export interface RecommendationPreferences {
956
1124
  /**
957
1125
  * <p>Specifies the CPU vendor and architecture for Amazon EC2 instance and Auto Scaling group recommendations.</p>
958
- *
959
1126
  * <p>For example, when you specify <code>AWS_ARM64</code> with:</p>
960
- *
961
1127
  * <ul>
962
1128
  * <li>
963
1129
  * <p>A <a>GetEC2InstanceRecommendations</a> or <a>GetAutoScalingGroupRecommendations</a> request, Compute Optimizer
@@ -984,7 +1150,6 @@ export declare namespace RecommendationPreferences {
984
1150
  /**
985
1151
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
986
1152
  * key prefix for a recommendations export job.</p>
987
- *
988
1153
  * <p>You must create the destination Amazon S3 bucket for your recommendations
989
1154
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
990
1155
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1014,16 +1179,12 @@ export interface ExportAutoScalingGroupRecommendationsRequest {
1014
1179
  /**
1015
1180
  * <p>The IDs of the Amazon Web Services accounts for which to export Auto Scaling group
1016
1181
  * recommendations.</p>
1017
- *
1018
1182
  * <p>If your account is the management account of an organization, use this parameter to
1019
1183
  * specify the member account for which you want to export recommendations.</p>
1020
- *
1021
1184
  * <p>This parameter cannot be specified together with the include member accounts
1022
1185
  * parameter. The parameters are mutually exclusive.</p>
1023
- *
1024
1186
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1025
1187
  * or the include member accounts parameter, is omitted.</p>
1026
- *
1027
1188
  * <p>You can specify multiple account IDs per request.</p>
1028
1189
  */
1029
1190
  accountIds?: string[];
@@ -1040,37 +1201,31 @@ export interface ExportAutoScalingGroupRecommendationsRequest {
1040
1201
  /**
1041
1202
  * <p>An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket
1042
1203
  * name and key prefix for the export job.</p>
1043
- *
1044
1204
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1045
1205
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1046
1206
  * for you. After you create the S3 bucket, ensure that it has the required permissions
1047
- * policy to allow Compute Optimizer to write the export file to it. If you plan to
1048
- * specify an object prefix when you create the export job, you must include the object
1049
- * prefix in the policy that you add to the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html">Amazon S3 Bucket Policy for Compute Optimizer</a> in the
1207
+ * policy to allow Compute Optimizer to write the export file to it. If you plan to specify
1208
+ * an object prefix when you create the export job, you must include the object prefix in
1209
+ * the policy that you add to the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html">Amazon S3 Bucket Policy for Compute Optimizer</a> in the
1050
1210
  * <i>Compute Optimizer User Guide</i>.</p>
1051
1211
  */
1052
1212
  s3DestinationConfig: S3DestinationConfig | undefined;
1053
1213
  /**
1054
1214
  * <p>The format of the export file.</p>
1055
- *
1056
1215
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1057
1216
  */
1058
1217
  fileFormat?: FileFormat | string;
1059
1218
  /**
1060
1219
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1061
1220
  * the organization if your account is the management account of an organization.</p>
1062
- *
1063
1221
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1064
1222
  * Compute Optimizer must be enabled in the organization account. For more information,
1065
1223
  * see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access">Compute Optimizer and Amazon Web Services Organizations trusted access</a> in the
1066
1224
  * <i>Compute Optimizer User Guide</i>.</p>
1067
- *
1068
1225
  * <p>Recommendations for member accounts of the organization are not included in the export
1069
1226
  * file if this parameter is omitted.</p>
1070
- *
1071
1227
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1072
1228
  * parameters are mutually exclusive.</p>
1073
- *
1074
1229
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1075
1230
  * or the account IDs parameter, is omitted.</p>
1076
1231
  */
@@ -1090,7 +1245,6 @@ export declare namespace ExportAutoScalingGroupRecommendationsRequest {
1090
1245
  export interface ExportAutoScalingGroupRecommendationsResponse {
1091
1246
  /**
1092
1247
  * <p>The identification number of the export job.</p>
1093
- *
1094
1248
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1095
1249
  * ID to view the status of an export job.</p>
1096
1250
  */
@@ -1115,12 +1269,6 @@ export interface LimitExceededException extends __SmithyException, $MetadataBear
1115
1269
  $fault: "client";
1116
1270
  message?: string;
1117
1271
  }
1118
- export declare namespace LimitExceededException {
1119
- /**
1120
- * @internal
1121
- */
1122
- const filterSensitiveLog: (obj: LimitExceededException) => any;
1123
- }
1124
1272
  export declare enum ExportableVolumeField {
1125
1273
  ACCOUNT_ID = "AccountId",
1126
1274
  CURRENT_CONFIGURATION_VOLUME_BASELINE_IOPS = "CurrentConfigurationVolumeBaselineIOPS",
@@ -1130,6 +1278,7 @@ export declare enum ExportableVolumeField {
1130
1278
  CURRENT_CONFIGURATION_VOLUME_SIZE = "CurrentConfigurationVolumeSize",
1131
1279
  CURRENT_CONFIGURATION_VOLUME_TYPE = "CurrentConfigurationVolumeType",
1132
1280
  CURRENT_MONTHLY_PRICE = "CurrentMonthlyPrice",
1281
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1133
1282
  FINDING = "Finding",
1134
1283
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
1135
1284
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
@@ -1139,8 +1288,11 @@ export declare enum ExportableVolumeField {
1139
1288
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BURST_THROUGHPUT = "RecommendationOptionsConfigurationVolumeBurstThroughput",
1140
1289
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_SIZE = "RecommendationOptionsConfigurationVolumeSize",
1141
1290
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_TYPE = "RecommendationOptionsConfigurationVolumeType",
1291
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1292
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1142
1293
  RECOMMENDATION_OPTIONS_MONTHLY_PRICE = "RecommendationOptionsMonthlyPrice",
1143
1294
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
1295
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1144
1296
  UTILIZATION_METRICS_VOLUME_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadBytesPerSecondMaximum",
1145
1297
  UTILIZATION_METRICS_VOLUME_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
1146
1298
  UTILIZATION_METRICS_VOLUME_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeWriteBytesPerSecondMaximum",
@@ -1153,7 +1305,6 @@ export declare enum EBSFilterName {
1153
1305
  /**
1154
1306
  * <p>Describes a filter that returns a more specific list of Amazon Elastic Block Store
1155
1307
  * (Amazon EBS) volume recommendations. Use this filter with the <a>GetEBSVolumeRecommendations</a> action.</p>
1156
- *
1157
1308
  * <p>You can use <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, <code>JobFilter</code> with the
1158
1309
  * <a>DescribeRecommendationExportJobs</a> action, and <code>Filter</code>
1159
1310
  * with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -1161,14 +1312,12 @@ export declare enum EBSFilterName {
1161
1312
  export interface EBSFilter {
1162
1313
  /**
1163
1314
  * <p>The name of the filter.</p>
1164
- *
1165
1315
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
1166
1316
  * classification (for example, <code>NotOptimized</code>).</p>
1167
1317
  */
1168
1318
  name?: EBSFilterName | string;
1169
1319
  /**
1170
1320
  * <p>The value of the filter.</p>
1171
- *
1172
1321
  * <p>The valid values are <code>Optimized</code>, or <code>NotOptimized</code>.</p>
1173
1322
  */
1174
1323
  values?: string[];
@@ -1183,16 +1332,12 @@ export interface ExportEBSVolumeRecommendationsRequest {
1183
1332
  /**
1184
1333
  * <p>The IDs of the Amazon Web Services accounts for which to export Amazon EBS
1185
1334
  * volume recommendations.</p>
1186
- *
1187
1335
  * <p>If your account is the management account of an organization, use this parameter to
1188
1336
  * specify the member account for which you want to export recommendations.</p>
1189
- *
1190
1337
  * <p>This parameter cannot be specified together with the include member accounts
1191
1338
  * parameter. The parameters are mutually exclusive.</p>
1192
- *
1193
1339
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1194
1340
  * or the include member accounts parameter, is omitted.</p>
1195
- *
1196
1341
  * <p>You can specify multiple account IDs per request.</p>
1197
1342
  */
1198
1343
  accountIds?: string[];
@@ -1209,7 +1354,6 @@ export interface ExportEBSVolumeRecommendationsRequest {
1209
1354
  /**
1210
1355
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
1211
1356
  * key prefix for a recommendations export job.</p>
1212
- *
1213
1357
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1214
1358
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1215
1359
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1221,25 +1365,20 @@ export interface ExportEBSVolumeRecommendationsRequest {
1221
1365
  s3DestinationConfig: S3DestinationConfig | undefined;
1222
1366
  /**
1223
1367
  * <p>The format of the export file.</p>
1224
- *
1225
1368
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1226
1369
  */
1227
1370
  fileFormat?: FileFormat | string;
1228
1371
  /**
1229
1372
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1230
1373
  * the organization if your account is the management account of an organization.</p>
1231
- *
1232
1374
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1233
1375
  * Compute Optimizer must be enabled in the organization account. For more information,
1234
1376
  * see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access">Compute Optimizer and Amazon Web Services Organizations trusted access</a> in the
1235
1377
  * <i>Compute Optimizer User Guide</i>.</p>
1236
- *
1237
1378
  * <p>Recommendations for member accounts of the organization are not included in the export
1238
1379
  * file if this parameter is omitted.</p>
1239
- *
1240
1380
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1241
1381
  * parameters are mutually exclusive.</p>
1242
- *
1243
1382
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1244
1383
  * or the account IDs parameter, is omitted.</p>
1245
1384
  */
@@ -1254,7 +1393,6 @@ export declare namespace ExportEBSVolumeRecommendationsRequest {
1254
1393
  export interface ExportEBSVolumeRecommendationsResponse {
1255
1394
  /**
1256
1395
  * <p>The identification number of the export job.</p>
1257
- *
1258
1396
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1259
1397
  * ID to view the status of an export job.</p>
1260
1398
  */
@@ -1277,10 +1415,13 @@ export declare enum ExportableInstanceField {
1277
1415
  CURRENT_MEMORY = "CurrentMemory",
1278
1416
  CURRENT_NETWORK = "CurrentNetwork",
1279
1417
  CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice",
1418
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1280
1419
  CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice",
1281
1420
  CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice",
1282
1421
  CURRENT_STORAGE = "CurrentStorage",
1283
1422
  CURRENT_VCPUS = "CurrentVCpus",
1423
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
1424
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
1284
1425
  FINDING = "Finding",
1285
1426
  Finding_Reason_Codes = "FindingReasonCodes",
1286
1427
  INSTANCE_ARN = "InstanceArn",
@@ -1289,6 +1430,8 @@ export declare enum ExportableInstanceField {
1289
1430
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
1290
1431
  RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_ARN = "RecommendationsSourcesRecommendationSourceArn",
1291
1432
  RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_TYPE = "RecommendationsSourcesRecommendationSourceType",
1433
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1434
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1292
1435
  RECOMMENDATION_OPTIONS_INSTANCE_TYPE = "RecommendationOptionsInstanceType",
1293
1436
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
1294
1437
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
@@ -1297,6 +1440,7 @@ export declare enum ExportableInstanceField {
1297
1440
  RECOMMENDATION_OPTIONS_PLATFORM_DIFFERENCES = "RecommendationOptionsPlatformDifferences",
1298
1441
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum",
1299
1442
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum",
1443
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1300
1444
  RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice",
1301
1445
  RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice",
1302
1446
  RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage",
@@ -1320,16 +1464,12 @@ export interface ExportEC2InstanceRecommendationsRequest {
1320
1464
  /**
1321
1465
  * <p>The IDs of the Amazon Web Services accounts for which to export instance
1322
1466
  * recommendations.</p>
1323
- *
1324
1467
  * <p>If your account is the management account of an organization, use this parameter to
1325
1468
  * specify the member account for which you want to export recommendations.</p>
1326
- *
1327
1469
  * <p>This parameter cannot be specified together with the include member accounts
1328
1470
  * parameter. The parameters are mutually exclusive.</p>
1329
- *
1330
1471
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1331
1472
  * or the include member accounts parameter, is omitted.</p>
1332
- *
1333
1473
  * <p>You can specify multiple account IDs per request.</p>
1334
1474
  */
1335
1475
  accountIds?: string[];
@@ -1347,34 +1487,30 @@ export interface ExportEC2InstanceRecommendationsRequest {
1347
1487
  /**
1348
1488
  * <p>An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket
1349
1489
  * name and key prefix for the export job.</p>
1350
- *
1351
1490
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1352
1491
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1353
1492
  * for you. After you create the S3 bucket, ensure that it has the required permissions
1354
- * policy policy to allow Compute Optimizer to write the export file to it. If you plan to
1493
+ * policy to allow Compute Optimizer to write the export file to it.
1494
+ * If you plan to
1355
1495
  * specify an object prefix when you create the export job, you must include the object
1356
- * prefix in the that you add to the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html">Amazon S3 Bucket Policy for Compute Optimizer</a> in the
1496
+ * prefix in the policy that you add to the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html">Amazon S3 Bucket Policy for Compute Optimizer</a> in the
1357
1497
  * <i>Compute Optimizer User Guide</i>.</p>
1358
1498
  */
1359
1499
  s3DestinationConfig: S3DestinationConfig | undefined;
1360
1500
  /**
1361
1501
  * <p>The format of the export file.</p>
1362
- *
1363
1502
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1364
1503
  */
1365
1504
  fileFormat?: FileFormat | string;
1366
1505
  /**
1367
1506
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1368
1507
  * the organization if your account is the management account of an organization.</p>
1369
- *
1370
1508
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1371
1509
  * Compute Optimizer must be enabled in the organization account. For more information,
1372
1510
  * see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access">Compute Optimizer and Amazon Web Services Organizations trusted access</a> in the
1373
1511
  * <i>Compute Optimizer User Guide</i>.</p>
1374
- *
1375
1512
  * <p>Recommendations for member accounts of the organization are not included in the export
1376
1513
  * file if this parameter is omitted.</p>
1377
- *
1378
1514
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1379
1515
  * or the account IDs parameter, is omitted.</p>
1380
1516
  */
@@ -1394,7 +1530,6 @@ export declare namespace ExportEC2InstanceRecommendationsRequest {
1394
1530
  export interface ExportEC2InstanceRecommendationsResponse {
1395
1531
  /**
1396
1532
  * <p>The identification number of the export job.</p>
1397
- *
1398
1533
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1399
1534
  * ID to view the status of an export job.</p>
1400
1535
  */
@@ -1417,6 +1552,7 @@ export declare enum ExportableLambdaFunctionField {
1417
1552
  CURRENT_CONFIGURATION_TIMEOUT = "CurrentConfigurationTimeout",
1418
1553
  CURRENT_COST_AVERAGE = "CurrentCostAverage",
1419
1554
  CURRENT_COST_TOTAL = "CurrentCostTotal",
1555
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1420
1556
  FINDING = "Finding",
1421
1557
  FINDING_REASON_CODES = "FindingReasonCodes",
1422
1558
  FUNCTION_ARN = "FunctionArn",
@@ -1427,9 +1563,12 @@ export declare enum ExportableLambdaFunctionField {
1427
1563
  RECOMMENDATION_OPTIONS_CONFIGURATION_MEMORY_SIZE = "RecommendationOptionsConfigurationMemorySize",
1428
1564
  RECOMMENDATION_OPTIONS_COST_HIGH = "RecommendationOptionsCostHigh",
1429
1565
  RECOMMENDATION_OPTIONS_COST_LOW = "RecommendationOptionsCostLow",
1566
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1567
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1430
1568
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_EXPECTED = "RecommendationOptionsProjectedUtilizationMetricsDurationExpected",
1431
1569
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_LOWER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound",
1432
1570
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_UPPER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound",
1571
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1433
1572
  UTILIZATION_METRICS_DURATION_AVERAGE = "UtilizationMetricsDurationAverage",
1434
1573
  UTILIZATION_METRICS_DURATION_MAXIMUM = "UtilizationMetricsDurationMaximum",
1435
1574
  UTILIZATION_METRICS_MEMORY_AVERAGE = "UtilizationMetricsMemoryAverage",
@@ -1442,7 +1581,6 @@ export declare enum LambdaFunctionRecommendationFilterName {
1442
1581
  /**
1443
1582
  * <p>Describes a filter that returns a more specific list of Lambda
1444
1583
  * function recommendations. Use this filter with the <a>GetLambdaFunctionRecommendations</a> action.</p>
1445
- *
1446
1584
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action, <code>JobFilter</code> with the
1447
1585
  * <a>DescribeRecommendationExportJobs</a> action, and <code>Filter</code>
1448
1586
  * with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -1450,20 +1588,16 @@ export declare enum LambdaFunctionRecommendationFilterName {
1450
1588
  export interface LambdaFunctionRecommendationFilter {
1451
1589
  /**
1452
1590
  * <p>The name of the filter.</p>
1453
- *
1454
1591
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
1455
1592
  * classification (for example, <code>NotOptimized</code>).</p>
1456
- *
1457
1593
  * <p>Specify <code>FindingReasonCode</code> to return recommendations with a specific
1458
1594
  * finding reason code (for example, <code>MemoryUnderprovisioned</code>).</p>
1459
1595
  */
1460
1596
  name?: LambdaFunctionRecommendationFilterName | string;
1461
1597
  /**
1462
1598
  * <p>The value of the filter.</p>
1463
- *
1464
1599
  * <p>The valid values for this parameter are as follows, depending on what you specify for
1465
1600
  * the <code>name</code> parameter:</p>
1466
- *
1467
1601
  * <ul>
1468
1602
  * <li>
1469
1603
  * <p>Specify <code>Optimized</code>, <code>NotOptimized</code>, or
@@ -1490,16 +1624,12 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1490
1624
  /**
1491
1625
  * <p>The IDs of the Amazon Web Services accounts for which to export Lambda
1492
1626
  * function recommendations.</p>
1493
- *
1494
1627
  * <p>If your account is the management account of an organization, use this parameter to
1495
1628
  * specify the member account for which you want to export recommendations.</p>
1496
- *
1497
1629
  * <p>This parameter cannot be specified together with the include member accounts
1498
1630
  * parameter. The parameters are mutually exclusive.</p>
1499
- *
1500
1631
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1501
1632
  * or the include member accounts parameter, is omitted.</p>
1502
- *
1503
1633
  * <p>You can specify multiple account IDs per request.</p>
1504
1634
  */
1505
1635
  accountIds?: string[];
@@ -1516,7 +1646,6 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1516
1646
  /**
1517
1647
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
1518
1648
  * key prefix for a recommendations export job.</p>
1519
- *
1520
1649
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1521
1650
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1522
1651
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1528,25 +1657,20 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1528
1657
  s3DestinationConfig: S3DestinationConfig | undefined;
1529
1658
  /**
1530
1659
  * <p>The format of the export file.</p>
1531
- *
1532
1660
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1533
1661
  */
1534
1662
  fileFormat?: FileFormat | string;
1535
1663
  /**
1536
1664
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1537
1665
  * the organization if your account is the management account of an organization.</p>
1538
- *
1539
1666
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1540
1667
  * Compute Optimizer must be enabled in the organization account. For more information,
1541
1668
  * see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access">Compute Optimizer and Amazon Web Services Organizations trusted access</a> in the
1542
1669
  * <i>Compute Optimizer User Guide</i>.</p>
1543
- *
1544
1670
  * <p>Recommendations for member accounts of the organization are not included in the export
1545
1671
  * file if this parameter is omitted.</p>
1546
- *
1547
1672
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1548
1673
  * parameters are mutually exclusive.</p>
1549
- *
1550
1674
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1551
1675
  * or the account IDs parameter, is omitted.</p>
1552
1676
  */
@@ -1561,7 +1685,6 @@ export declare namespace ExportLambdaFunctionRecommendationsRequest {
1561
1685
  export interface ExportLambdaFunctionRecommendationsResponse {
1562
1686
  /**
1563
1687
  * <p>The identification number of the export job.</p>
1564
- *
1565
1688
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1566
1689
  * ID to view the status of an export job.</p>
1567
1690
  */
@@ -1582,11 +1705,9 @@ export interface GetAutoScalingGroupRecommendationsRequest {
1582
1705
  /**
1583
1706
  * <p>The ID of the Amazon Web Services account for which to return Auto Scaling group
1584
1707
  * recommendations.</p>
1585
- *
1586
1708
  * <p>If your account is the management account of an organization, use this parameter to
1587
1709
  * specify the member account for which you want to return Auto Scaling group
1588
1710
  * recommendations.</p>
1589
- *
1590
1711
  * <p>Only one account ID can be specified per request.</p>
1591
1712
  */
1592
1713
  accountIds?: string[];
@@ -1603,7 +1724,6 @@ export interface GetAutoScalingGroupRecommendationsRequest {
1603
1724
  /**
1604
1725
  * <p>The maximum number of Auto Scaling group recommendations to return with a single
1605
1726
  * request.</p>
1606
- *
1607
1727
  * <p>To retrieve the remaining results, make another request with the returned
1608
1728
  * <code>nextToken</code> value.</p>
1609
1729
  */
@@ -1626,7 +1746,6 @@ export declare namespace GetAutoScalingGroupRecommendationsRequest {
1626
1746
  }
1627
1747
  /**
1628
1748
  * <p>Describes an error experienced when getting recommendations.</p>
1629
- *
1630
1749
  * <p>For example, an error is returned if you request recommendations for an unsupported
1631
1750
  * Auto Scaling group, or if you request recommendations for an instance of an
1632
1751
  * unsupported instance family.</p>
@@ -1655,7 +1774,6 @@ export interface GetAutoScalingGroupRecommendationsResponse {
1655
1774
  /**
1656
1775
  * <p>The token to use to advance to the next page of Auto Scaling group
1657
1776
  * recommendations.</p>
1658
- *
1659
1777
  * <p>This value is null when there are no more pages of Auto Scaling group
1660
1778
  * recommendations to return.</p>
1661
1779
  */
@@ -1666,7 +1784,6 @@ export interface GetAutoScalingGroupRecommendationsResponse {
1666
1784
  autoScalingGroupRecommendations?: AutoScalingGroupRecommendation[];
1667
1785
  /**
1668
1786
  * <p>An array of objects that describe errors of the request.</p>
1669
- *
1670
1787
  * <p>For example, an error is returned if you request recommendations for an unsupported
1671
1788
  * Auto Scaling group.</p>
1672
1789
  */
@@ -1690,7 +1807,6 @@ export interface GetEBSVolumeRecommendationsRequest {
1690
1807
  nextToken?: string;
1691
1808
  /**
1692
1809
  * <p>The maximum number of volume recommendations to return with a single request.</p>
1693
- *
1694
1810
  * <p>To retrieve the remaining results, make another request with the returned
1695
1811
  * <code>nextToken</code> value.</p>
1696
1812
  */
@@ -1703,10 +1819,8 @@ export interface GetEBSVolumeRecommendationsRequest {
1703
1819
  /**
1704
1820
  * <p>The ID of the Amazon Web Services account for which to return volume
1705
1821
  * recommendations.</p>
1706
- *
1707
1822
  * <p>If your account is the management account of an organization, use this parameter to
1708
1823
  * specify the member account for which you want to return volume recommendations.</p>
1709
- *
1710
1824
  * <p>Only one account ID can be specified per request.</p>
1711
1825
  */
1712
1826
  accountIds?: string[];
@@ -1724,7 +1838,6 @@ export declare namespace GetEBSVolumeRecommendationsRequest {
1724
1838
  export interface VolumeConfiguration {
1725
1839
  /**
1726
1840
  * <p>The volume type.</p>
1727
- *
1728
1841
  * <p>This can be <code>gp2</code> for General Purpose SSD, <code>io1</code> or
1729
1842
  * <code>io2</code> for Provisioned IOPS SSD, <code>st1</code> for Throughput Optimized
1730
1843
  * HDD, <code>sc1</code> for Cold HDD, or <code>standard</code> for Magnetic
@@ -1771,7 +1884,6 @@ export declare enum EBSMetricName {
1771
1884
  /**
1772
1885
  * <p>Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS)
1773
1886
  * volume.</p>
1774
- *
1775
1887
  * <p>Compare the utilization metric data of your resource against its projected utilization
1776
1888
  * metric data to determine the performance difference between your current resource and
1777
1889
  * the recommended option.</p>
@@ -1779,7 +1891,6 @@ export declare enum EBSMetricName {
1779
1891
  export interface EBSUtilizationMetric {
1780
1892
  /**
1781
1893
  * <p>The name of the utilization metric.</p>
1782
- *
1783
1894
  * <p>The following utilization metrics are available:</p>
1784
1895
  * <ul>
1785
1896
  * <li>
@@ -1811,11 +1922,9 @@ export interface EBSUtilizationMetric {
1811
1922
  name?: EBSMetricName | string;
1812
1923
  /**
1813
1924
  * <p>The statistic of the utilization metric.</p>
1814
- *
1815
1925
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
1816
1926
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
1817
1927
  * highest value observed during the specified period.</p>
1818
- *
1819
1928
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
1820
1929
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
1821
1930
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -1848,10 +1957,8 @@ export interface VolumeRecommendationOption {
1848
1957
  configuration?: VolumeConfiguration;
1849
1958
  /**
1850
1959
  * <p>The performance risk of the volume recommendation option.</p>
1851
- *
1852
1960
  * <p>Performance risk is the likelihood of the recommended volume type meeting the
1853
1961
  * performance requirement of your workload.</p>
1854
- *
1855
1962
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
1856
1963
  * that the recommended resource is predicted to always provide enough hardware capability.
1857
1964
  * The higher the performance risk is, the more likely you should validate whether the
@@ -1861,10 +1968,15 @@ export interface VolumeRecommendationOption {
1861
1968
  performanceRisk?: number;
1862
1969
  /**
1863
1970
  * <p>The rank of the volume recommendation option.</p>
1864
- *
1865
1971
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
1866
1972
  */
1867
1973
  rank?: number;
1974
+ /**
1975
+ * <p>An object that describes the savings opportunity for the EBS volume recommendation
1976
+ * option. Savings opportunity includes the estimated monthly savings amount and
1977
+ * percentage.</p>
1978
+ */
1979
+ savingsOpportunity?: SavingsOpportunity;
1868
1980
  }
1869
1981
  export declare namespace VolumeRecommendationOption {
1870
1982
  /**
@@ -1890,7 +2002,6 @@ export interface VolumeRecommendation {
1890
2002
  currentConfiguration?: VolumeConfiguration;
1891
2003
  /**
1892
2004
  * <p>The finding classification of the volume.</p>
1893
- *
1894
2005
  * <p>Findings for volumes include:</p>
1895
2006
  * <ul>
1896
2007
  * <li>
@@ -1929,9 +2040,15 @@ export interface VolumeRecommendation {
1929
2040
  */
1930
2041
  volumeRecommendationOptions?: VolumeRecommendationOption[];
1931
2042
  /**
1932
- * <p>The timestamp of when the volume recommendation was last refreshed.</p>
2043
+ * <p>The timestamp of when the volume recommendation was last generated.</p>
1933
2044
  */
1934
2045
  lastRefreshTimestamp?: Date;
2046
+ /**
2047
+ * <p>The risk of the current EBS volume not meeting the performance needs of its workloads.
2048
+ * The higher the risk, the more likely the current EBS volume doesn't have sufficient
2049
+ * capacity.</p>
2050
+ */
2051
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
1935
2052
  }
1936
2053
  export declare namespace VolumeRecommendation {
1937
2054
  /**
@@ -1942,7 +2059,6 @@ export declare namespace VolumeRecommendation {
1942
2059
  export interface GetEBSVolumeRecommendationsResponse {
1943
2060
  /**
1944
2061
  * <p>The token to use to advance to the next page of volume recommendations.</p>
1945
- *
1946
2062
  * <p>This value is null when there are no more pages of volume recommendations to
1947
2063
  * return.</p>
1948
2064
  */
@@ -1953,7 +2069,6 @@ export interface GetEBSVolumeRecommendationsResponse {
1953
2069
  volumeRecommendations?: VolumeRecommendation[];
1954
2070
  /**
1955
2071
  * <p>An array of objects that describe errors of the request.</p>
1956
- *
1957
2072
  * <p>For example, an error is returned if you request recommendations for an unsupported
1958
2073
  * volume.</p>
1959
2074
  */
@@ -1977,7 +2092,6 @@ export interface GetEC2InstanceRecommendationsRequest {
1977
2092
  nextToken?: string;
1978
2093
  /**
1979
2094
  * <p>The maximum number of instance recommendations to return with a single request.</p>
1980
- *
1981
2095
  * <p>To retrieve the remaining results, make another request with the returned
1982
2096
  * <code>nextToken</code> value.</p>
1983
2097
  */
@@ -1990,10 +2104,8 @@ export interface GetEC2InstanceRecommendationsRequest {
1990
2104
  /**
1991
2105
  * <p>The ID of the Amazon Web Services account for which to return instance
1992
2106
  * recommendations.</p>
1993
- *
1994
2107
  * <p>If your account is the management account of an organization, use this parameter to
1995
2108
  * specify the member account for which you want to return instance recommendations.</p>
1996
- *
1997
2109
  * <p>Only one account ID can be specified per request.</p>
1998
2110
  */
1999
2111
  accountIds?: string[];
@@ -2046,7 +2158,6 @@ export interface InstanceRecommendationOption {
2046
2158
  /**
2047
2159
  * <p>An array of objects that describe the projected utilization metrics of the instance
2048
2160
  * recommendation option.</p>
2049
- *
2050
2161
  * <note>
2051
2162
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2052
2163
  * utilization metrics returned. Additionally, the <code>Memory</code> metric is
@@ -2063,9 +2174,7 @@ export interface InstanceRecommendationOption {
2063
2174
  * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html">Change the instance type guide for Linux</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-resize.html">Change the instance type
2064
2175
  * guide for Windows</a> provide general guidance for getting started with an
2065
2176
  * instance migration.</p>
2066
- *
2067
2177
  * <p>Platform differences include:</p>
2068
- *
2069
2178
  * <ul>
2070
2179
  * <li>
2071
2180
  * <p>
@@ -2159,7 +2268,6 @@ export interface InstanceRecommendationOption {
2159
2268
  platformDifferences?: (PlatformDifference | string)[];
2160
2269
  /**
2161
2270
  * <p>The performance risk of the instance recommendation option.</p>
2162
- *
2163
2271
  * <p>Performance risk indicates the likelihood of the recommended instance type not meeting
2164
2272
  * the resource needs of your workload. Compute Optimizer calculates an individual
2165
2273
  * performance risk score for each specification of the recommended instance, including
@@ -2168,7 +2276,6 @@ export interface InstanceRecommendationOption {
2168
2276
  * The performance
2169
2277
  * risk of the recommended instance is calculated as the maximum performance risk score
2170
2278
  * across the analyzed resource specifications.</p>
2171
- *
2172
2279
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
2173
2280
  * that the recommended resource is predicted to always provide enough hardware capability.
2174
2281
  * The higher the performance risk is, the more likely you should validate whether the
@@ -2178,10 +2285,15 @@ export interface InstanceRecommendationOption {
2178
2285
  performanceRisk?: number;
2179
2286
  /**
2180
2287
  * <p>The rank of the instance recommendation option.</p>
2181
- *
2182
2288
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2183
2289
  */
2184
2290
  rank?: number;
2291
+ /**
2292
+ * <p>An object that describes the savings opportunity for the instance recommendation
2293
+ * option. Savings opportunity includes the estimated monthly savings amount and
2294
+ * percentage.</p>
2295
+ */
2296
+ savingsOpportunity?: SavingsOpportunity;
2185
2297
  }
2186
2298
  export declare namespace InstanceRecommendationOption {
2187
2299
  /**
@@ -2237,9 +2349,7 @@ export interface InstanceRecommendation {
2237
2349
  currentInstanceType?: string;
2238
2350
  /**
2239
2351
  * <p>The finding classification of the instance.</p>
2240
- *
2241
2352
  * <p>Findings for instances include:</p>
2242
- *
2243
2353
  * <ul>
2244
2354
  * <li>
2245
2355
  * <p>
@@ -2277,9 +2387,7 @@ export interface InstanceRecommendation {
2277
2387
  finding?: Finding | string;
2278
2388
  /**
2279
2389
  * <p>The reason for the finding classification of the instance.</p>
2280
- *
2281
2390
  * <p>Finding reason codes for instances include:</p>
2282
- *
2283
2391
  * <ul>
2284
2392
  * <li>
2285
2393
  * <p>
@@ -2320,7 +2428,6 @@ export interface InstanceRecommendation {
2320
2428
  * your workload and there is an alternative instance type that provides better
2321
2429
  * memory performance. This is identified by analyzing the memory utilization
2322
2430
  * metric of the current instance during the look-back period.</p>
2323
- *
2324
2431
  * <note>
2325
2432
  * <p>Memory utilization is analyzed only for resources that have the unified
2326
2433
  * CloudWatch agent installed on them. For more information, see
@@ -2466,7 +2573,6 @@ export interface InstanceRecommendation {
2466
2573
  * current instance during the look-back period.</p>
2467
2574
  * </li>
2468
2575
  * </ul>
2469
- *
2470
2576
  * <note>
2471
2577
  * <p>For more information about instance metrics, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html">List the
2472
2578
  * available CloudWatch metrics for your instances</a> in the
@@ -2495,9 +2601,20 @@ export interface InstanceRecommendation {
2495
2601
  */
2496
2602
  recommendationSources?: RecommendationSource[];
2497
2603
  /**
2498
- * <p>The timestamp of when the instance recommendation was last refreshed.</p>
2604
+ * <p>The timestamp of when the instance recommendation was last generated.</p>
2499
2605
  */
2500
2606
  lastRefreshTimestamp?: Date;
2607
+ /**
2608
+ * <p>The risk of the current instance not meeting the performance needs of its workloads.
2609
+ * The higher the risk, the more likely the current Lambda function requires
2610
+ * more memory.</p>
2611
+ */
2612
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
2613
+ /**
2614
+ * <p>An object that describes the effective recommendation preferences for the
2615
+ * instance.</p>
2616
+ */
2617
+ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
2501
2618
  }
2502
2619
  export declare namespace InstanceRecommendation {
2503
2620
  /**
@@ -2508,7 +2625,6 @@ export declare namespace InstanceRecommendation {
2508
2625
  export interface GetEC2InstanceRecommendationsResponse {
2509
2626
  /**
2510
2627
  * <p>The token to use to advance to the next page of instance recommendations.</p>
2511
- *
2512
2628
  * <p>This value is null when there are no more pages of instance recommendations to
2513
2629
  * return.</p>
2514
2630
  */
@@ -2519,7 +2635,6 @@ export interface GetEC2InstanceRecommendationsResponse {
2519
2635
  instanceRecommendations?: InstanceRecommendation[];
2520
2636
  /**
2521
2637
  * <p>An array of objects that describe errors of the request.</p>
2522
- *
2523
2638
  * <p>For example, an error is returned if you request recommendations for an instance of an
2524
2639
  * unsupported instance family.</p>
2525
2640
  */
@@ -2569,11 +2684,9 @@ export declare namespace GetEC2RecommendationProjectedMetricsRequest {
2569
2684
  * <p>Describes a projected utilization metric of a recommendation option, such as an
2570
2685
  * Amazon EC2 instance. This represents the projected utilization of a
2571
2686
  * recommendation option had you used that resource during the analyzed period.</p>
2572
- *
2573
2687
  * <p>Compare the utilization metric data of your resource against its projected utilization
2574
2688
  * metric data to determine the performance difference between your current resource and
2575
2689
  * the recommended option.</p>
2576
- *
2577
2690
  * <note>
2578
2691
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2579
2692
  * utilization metrics returned when you run the <a>GetEC2RecommendationProjectedMetrics</a> action. Additionally, the
@@ -2584,7 +2697,6 @@ export declare namespace GetEC2RecommendationProjectedMetricsRequest {
2584
2697
  export interface ProjectedMetric {
2585
2698
  /**
2586
2699
  * <p>The name of the projected utilization metric.</p>
2587
- *
2588
2700
  * <p>The following projected utilization metrics are returned:</p>
2589
2701
  * <ul>
2590
2702
  * <li>
@@ -2632,7 +2744,6 @@ export declare namespace ProjectedMetric {
2632
2744
  }
2633
2745
  /**
2634
2746
  * <p>Describes a projected utilization metric of a recommendation option.</p>
2635
- *
2636
2747
  * <note>
2637
2748
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2638
2749
  * utilization metrics returned when you run the <a>GetEC2RecommendationProjectedMetrics</a> action. Additionally, the
@@ -2647,9 +2758,7 @@ export interface RecommendedOptionProjectedMetric {
2647
2758
  recommendedInstanceType?: string;
2648
2759
  /**
2649
2760
  * <p>The rank of the recommendation option projected metric.</p>
2650
- *
2651
2761
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2652
- *
2653
2762
  * <p>The projected metric rank correlates to the recommendation option rank. For example,
2654
2763
  * the projected metric ranked as <code>1</code> is related to the recommendation option
2655
2764
  * that is also ranked as <code>1</code> in the same response.</p>
@@ -2678,6 +2787,40 @@ export declare namespace GetEC2RecommendationProjectedMetricsResponse {
2678
2787
  */
2679
2788
  const filterSensitiveLog: (obj: GetEC2RecommendationProjectedMetricsResponse) => any;
2680
2789
  }
2790
+ export interface GetEffectiveRecommendationPreferencesRequest {
2791
+ /**
2792
+ * <p>The Amazon Resource Name (ARN) of the resource for which to confirm effective
2793
+ * recommendation preferences. Only EC2 instance and Auto Scaling group ARNs are
2794
+ * currently supported.</p>
2795
+ */
2796
+ resourceArn: string | undefined;
2797
+ }
2798
+ export declare namespace GetEffectiveRecommendationPreferencesRequest {
2799
+ /**
2800
+ * @internal
2801
+ */
2802
+ const filterSensitiveLog: (obj: GetEffectiveRecommendationPreferencesRequest) => any;
2803
+ }
2804
+ export interface GetEffectiveRecommendationPreferencesResponse {
2805
+ /**
2806
+ * <p>The status of the enhanced infrastructure metrics recommendation preference. Considers
2807
+ * all applicable preferences that you might have set at the resource, account, and
2808
+ * organization level.</p>
2809
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
2810
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
2811
+ * applied.</p>
2812
+ * <p>To validate whether the preference is applied to your last generated set of
2813
+ * recommendations, review the <code>effectiveRecommendationPreferences</code> value in the
2814
+ * response of the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
2815
+ */
2816
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
2817
+ }
2818
+ export declare namespace GetEffectiveRecommendationPreferencesResponse {
2819
+ /**
2820
+ * @internal
2821
+ */
2822
+ const filterSensitiveLog: (obj: GetEffectiveRecommendationPreferencesResponse) => any;
2823
+ }
2681
2824
  export interface GetEnrollmentStatusRequest {
2682
2825
  }
2683
2826
  export declare namespace GetEnrollmentStatusRequest {
@@ -2693,7 +2836,6 @@ export interface GetEnrollmentStatusResponse {
2693
2836
  status?: Status | string;
2694
2837
  /**
2695
2838
  * <p>The reason for the enrollment status of the account.</p>
2696
- *
2697
2839
  * <p>For example, an account might show a status of <code>Pending</code> because member
2698
2840
  * accounts of an organization require more time to be enrolled in the service.</p>
2699
2841
  */
@@ -2731,14 +2873,12 @@ export declare enum EnrollmentFilterName {
2731
2873
  export interface EnrollmentFilter {
2732
2874
  /**
2733
2875
  * <p>The name of the filter.</p>
2734
- *
2735
2876
  * <p>Specify <code>Status</code> to return accounts with a specific enrollment status (for
2736
2877
  * example, <code>Active</code>).</p>
2737
2878
  */
2738
2879
  name?: EnrollmentFilterName | string;
2739
2880
  /**
2740
2881
  * <p>The value of the filter.</p>
2741
- *
2742
2882
  * <p>The valid values are <code>Active</code>, <code>Inactive</code>, <code>Pending</code>,
2743
2883
  * and <code>Failed</code>.</p>
2744
2884
  */
@@ -2763,7 +2903,6 @@ export interface GetEnrollmentStatusesForOrganizationRequest {
2763
2903
  /**
2764
2904
  * <p>The maximum number of account enrollment statuses to return with a single request. You
2765
2905
  * can specify up to 100 statuses to return with each request.</p>
2766
- *
2767
2906
  * <p>To retrieve the remaining results, make another request with the returned
2768
2907
  * <code>nextToken</code> value.</p>
2769
2908
  */
@@ -2783,7 +2922,6 @@ export interface GetEnrollmentStatusesForOrganizationResponse {
2783
2922
  accountEnrollmentStatuses?: AccountEnrollmentStatus[];
2784
2923
  /**
2785
2924
  * <p>The token to use to advance to the next page of account enrollment statuses.</p>
2786
- *
2787
2925
  * <p>This value is null when there are no more pages of account enrollment statuses to
2788
2926
  * return.</p>
2789
2927
  */
@@ -2799,7 +2937,6 @@ export interface GetLambdaFunctionRecommendationsRequest {
2799
2937
  /**
2800
2938
  * <p>The Amazon Resource Name (ARN) of the functions for which to return
2801
2939
  * recommendations.</p>
2802
- *
2803
2940
  * <p>You can specify a qualified or unqualified ARN. If you specify an unqualified ARN
2804
2941
  * without a function version suffix, Compute Optimizer will return recommendations for the
2805
2942
  * latest (<code>$LATEST</code>) version of the function. If you specify a qualified ARN
@@ -2812,10 +2949,8 @@ export interface GetLambdaFunctionRecommendationsRequest {
2812
2949
  /**
2813
2950
  * <p>The ID of the Amazon Web Services account for which to return function
2814
2951
  * recommendations.</p>
2815
- *
2816
2952
  * <p>If your account is the management account of an organization, use this parameter to
2817
2953
  * specify the member account for which you want to return function recommendations.</p>
2818
- *
2819
2954
  * <p>Only one account ID can be specified per request.</p>
2820
2955
  */
2821
2956
  accountIds?: string[];
@@ -2830,7 +2965,6 @@ export interface GetLambdaFunctionRecommendationsRequest {
2830
2965
  nextToken?: string;
2831
2966
  /**
2832
2967
  * <p>The maximum number of function recommendations to return with a single request.</p>
2833
- *
2834
2968
  * <p>To retrieve the remaining results, make another request with the returned
2835
2969
  * <code>nextToken</code> value.</p>
2836
2970
  */
@@ -2891,7 +3025,6 @@ export declare namespace LambdaFunctionMemoryProjectedMetric {
2891
3025
  export interface LambdaFunctionMemoryRecommendationOption {
2892
3026
  /**
2893
3027
  * <p>The rank of the function recommendation option.</p>
2894
- *
2895
3028
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2896
3029
  */
2897
3030
  rank?: number;
@@ -2904,6 +3037,12 @@ export interface LambdaFunctionMemoryRecommendationOption {
2904
3037
  * recommendation option.</p>
2905
3038
  */
2906
3039
  projectedUtilizationMetrics?: LambdaFunctionMemoryProjectedMetric[];
3040
+ /**
3041
+ * <p>An object that describes the savings opportunity for the Lambda function
3042
+ * recommendation option. Savings opportunity includes the estimated monthly savings amount
3043
+ * and percentage.</p>
3044
+ */
3045
+ savingsOpportunity?: SavingsOpportunity;
2907
3046
  }
2908
3047
  export declare namespace LambdaFunctionMemoryRecommendationOption {
2909
3048
  /**
@@ -2925,7 +3064,6 @@ export declare enum LambdaFunctionMetricStatistic {
2925
3064
  export interface LambdaFunctionUtilizationMetric {
2926
3065
  /**
2927
3066
  * <p>The name of the utilization metric.</p>
2928
- *
2929
3067
  * <p>The following utilization metrics are available:</p>
2930
3068
  * <ul>
2931
3069
  * <li>
@@ -2942,11 +3080,9 @@ export interface LambdaFunctionUtilizationMetric {
2942
3080
  name?: LambdaFunctionMetricName | string;
2943
3081
  /**
2944
3082
  * <p>The statistic of the utilization metric.</p>
2945
- *
2946
3083
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
2947
3084
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
2948
3085
  * highest value observed during the specified period.</p>
2949
- *
2950
3086
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
2951
3087
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
2952
3088
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -3002,12 +3138,11 @@ export interface LambdaFunctionRecommendation {
3002
3138
  */
3003
3139
  lookbackPeriodInDays?: number;
3004
3140
  /**
3005
- * <p>The timestamp of when the function recommendation was last refreshed.</p>
3141
+ * <p>The timestamp of when the function recommendation was last generated.</p>
3006
3142
  */
3007
3143
  lastRefreshTimestamp?: Date;
3008
3144
  /**
3009
3145
  * <p>The finding classification of the function.</p>
3010
- *
3011
3146
  * <p>Findings for functions include:</p>
3012
3147
  * <ul>
3013
3148
  * <li>
@@ -3109,6 +3244,12 @@ export interface LambdaFunctionRecommendation {
3109
3244
  * the function.</p>
3110
3245
  */
3111
3246
  memorySizeRecommendationOptions?: LambdaFunctionMemoryRecommendationOption[];
3247
+ /**
3248
+ * <p>The risk of the current Lambda function not meeting the performance needs
3249
+ * of its workloads. The higher the risk, the more likely the current Lambda
3250
+ * function configuration is underperforming in its workload.</p>
3251
+ */
3252
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
3112
3253
  }
3113
3254
  export declare namespace LambdaFunctionRecommendation {
3114
3255
  /**
@@ -3119,7 +3260,6 @@ export declare namespace LambdaFunctionRecommendation {
3119
3260
  export interface GetLambdaFunctionRecommendationsResponse {
3120
3261
  /**
3121
3262
  * <p>The token to use to advance to the next page of function recommendations.</p>
3122
- *
3123
3263
  * <p>This value is null when there are no more pages of function recommendations to
3124
3264
  * return.</p>
3125
3265
  */
@@ -3135,14 +3275,100 @@ export declare namespace GetLambdaFunctionRecommendationsResponse {
3135
3275
  */
3136
3276
  const filterSensitiveLog: (obj: GetLambdaFunctionRecommendationsResponse) => any;
3137
3277
  }
3278
+ export interface GetRecommendationPreferencesRequest {
3279
+ /**
3280
+ * <p>The target resource type of the recommendation preference for which to return
3281
+ * preferences.</p>
3282
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3283
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3284
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3285
+ */
3286
+ resourceType: ResourceType | string | undefined;
3287
+ /**
3288
+ * <p>An object that describes the scope of the recommendation preference to return.</p>
3289
+ * <p>You can return recommendation preferences that are created at the organization level
3290
+ * (for management accounts of an organization only), account level, and resource level.
3291
+ * For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3292
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3293
+ * Guide</i>.</p>
3294
+ */
3295
+ scope?: Scope;
3296
+ /**
3297
+ * <p>The token to advance to the next page of recommendation preferences.</p>
3298
+ */
3299
+ nextToken?: string;
3300
+ /**
3301
+ * <p>The maximum number of recommendation preferences to return with a single
3302
+ * request.</p>
3303
+ * <p>To retrieve the remaining results, make another request with the returned
3304
+ * <code>nextToken</code> value.</p>
3305
+ */
3306
+ maxResults?: number;
3307
+ }
3308
+ export declare namespace GetRecommendationPreferencesRequest {
3309
+ /**
3310
+ * @internal
3311
+ */
3312
+ const filterSensitiveLog: (obj: GetRecommendationPreferencesRequest) => any;
3313
+ }
3314
+ /**
3315
+ * <p>Describes a recommendation preference.</p>
3316
+ */
3317
+ export interface RecommendationPreferencesDetail {
3318
+ /**
3319
+ * <p>An object that describes the scope of the recommendation preference.</p>
3320
+ * <p>Recommendation preferences can be created at the organization level (for management
3321
+ * accounts of an organization only), account level, and resource level. For more
3322
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3323
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3324
+ * Guide</i>.</p>
3325
+ */
3326
+ scope?: Scope;
3327
+ /**
3328
+ * <p>The target resource type of the recommendation preference to create.</p>
3329
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3330
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3331
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3332
+ */
3333
+ resourceType?: ResourceType | string;
3334
+ /**
3335
+ * <p>The status of the enhanced infrastructure metrics recommendation preference.</p>
3336
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3337
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3338
+ * applied.</p>
3339
+ */
3340
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3341
+ }
3342
+ export declare namespace RecommendationPreferencesDetail {
3343
+ /**
3344
+ * @internal
3345
+ */
3346
+ const filterSensitiveLog: (obj: RecommendationPreferencesDetail) => any;
3347
+ }
3348
+ export interface GetRecommendationPreferencesResponse {
3349
+ /**
3350
+ * <p>The token to use to advance to the next page of recommendation preferences.</p>
3351
+ * <p>This value is null when there are no more pages of recommendation preferences to
3352
+ * return.</p>
3353
+ */
3354
+ nextToken?: string;
3355
+ /**
3356
+ * <p>An array of objects that describe recommendation preferences.</p>
3357
+ */
3358
+ recommendationPreferencesDetails?: RecommendationPreferencesDetail[];
3359
+ }
3360
+ export declare namespace GetRecommendationPreferencesResponse {
3361
+ /**
3362
+ * @internal
3363
+ */
3364
+ const filterSensitiveLog: (obj: GetRecommendationPreferencesResponse) => any;
3365
+ }
3138
3366
  export interface GetRecommendationSummariesRequest {
3139
3367
  /**
3140
3368
  * <p>The ID of the Amazon Web Services account for which to return recommendation
3141
3369
  * summaries.</p>
3142
- *
3143
3370
  * <p>If your account is the management account of an organization, use this parameter to
3144
3371
  * specify the member account for which you want to return recommendation summaries.</p>
3145
- *
3146
3372
  * <p>Only one account ID can be specified per request.</p>
3147
3373
  */
3148
3374
  accountIds?: string[];
@@ -3152,7 +3378,6 @@ export interface GetRecommendationSummariesRequest {
3152
3378
  nextToken?: string;
3153
3379
  /**
3154
3380
  * <p>The maximum number of recommendation summaries to return with a single request.</p>
3155
- *
3156
3381
  * <p>To retrieve the remaining results, make another request with the returned
3157
3382
  * <code>nextToken</code> value.</p>
3158
3383
  */
@@ -3164,6 +3389,37 @@ export declare namespace GetRecommendationSummariesRequest {
3164
3389
  */
3165
3390
  const filterSensitiveLog: (obj: GetRecommendationSummariesRequest) => any;
3166
3391
  }
3392
+ /**
3393
+ * <p>Describes the performance risk ratings for a given resource type.</p>
3394
+ * <p>Resources with a <code>high</code> or <code>medium</code> rating are at risk of not
3395
+ * meeting the performance needs of their workloads, while resources with a
3396
+ * <code>low</code> rating are performing well in their workloads.</p>
3397
+ */
3398
+ export interface CurrentPerformanceRiskRatings {
3399
+ /**
3400
+ * <p>A count of the applicable resource types with a high performance risk rating.</p>
3401
+ */
3402
+ high?: number;
3403
+ /**
3404
+ * <p>A count of the applicable resource types with a medium performance risk rating.</p>
3405
+ */
3406
+ medium?: number;
3407
+ /**
3408
+ * <p>A count of the applicable resource types with a low performance risk rating.</p>
3409
+ */
3410
+ low?: number;
3411
+ /**
3412
+ * <p>A count of the applicable resource types with a very low performance risk
3413
+ * rating.</p>
3414
+ */
3415
+ veryLow?: number;
3416
+ }
3417
+ export declare namespace CurrentPerformanceRiskRatings {
3418
+ /**
3419
+ * @internal
3420
+ */
3421
+ const filterSensitiveLog: (obj: CurrentPerformanceRiskRatings) => any;
3422
+ }
3167
3423
  export declare enum FindingReasonCode {
3168
3424
  MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned",
3169
3425
  MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned"
@@ -3219,13 +3475,23 @@ export interface RecommendationSummary {
3219
3475
  */
3220
3476
  summaries?: Summary[];
3221
3477
  /**
3222
- * <p>The resource type of the recommendation.</p>
3478
+ * <p>The resource type that the recommendation summary applies to.</p>
3223
3479
  */
3224
3480
  recommendationResourceType?: RecommendationSourceType | string;
3225
3481
  /**
3226
3482
  * <p>The Amazon Web Services account ID of the recommendation summary.</p>
3227
3483
  */
3228
3484
  accountId?: string;
3485
+ /**
3486
+ * <p>An object that describes the savings opportunity for a given resource type. Savings
3487
+ * opportunity includes the estimated monthly savings amount and percentage.</p>
3488
+ */
3489
+ savingsOpportunity?: SavingsOpportunity;
3490
+ /**
3491
+ * <p>An object that describes the performance risk ratings for a given resource
3492
+ * type.</p>
3493
+ */
3494
+ currentPerformanceRiskRatings?: CurrentPerformanceRiskRatings;
3229
3495
  }
3230
3496
  export declare namespace RecommendationSummary {
3231
3497
  /**
@@ -3236,7 +3502,6 @@ export declare namespace RecommendationSummary {
3236
3502
  export interface GetRecommendationSummariesResponse {
3237
3503
  /**
3238
3504
  * <p>The token to use to advance to the next page of recommendation summaries.</p>
3239
- *
3240
3505
  * <p>This value is null when there are no more pages of recommendation summaries to
3241
3506
  * return.</p>
3242
3507
  */
@@ -3252,12 +3517,58 @@ export declare namespace GetRecommendationSummariesResponse {
3252
3517
  */
3253
3518
  const filterSensitiveLog: (obj: GetRecommendationSummariesResponse) => any;
3254
3519
  }
3520
+ export interface PutRecommendationPreferencesRequest {
3521
+ /**
3522
+ * <p>The target resource type of the recommendation preference to create.</p>
3523
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3524
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3525
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3526
+ */
3527
+ resourceType: ResourceType | string | undefined;
3528
+ /**
3529
+ * <p>An object that describes the scope of the recommendation preference to create.</p>
3530
+ * <p>You can create recommendation preferences at the organization level (for management
3531
+ * accounts of an organization only), account level, and resource level. For more
3532
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3533
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3534
+ * Guide</i>.</p>
3535
+ * <note>
3536
+ * <p>You cannot create recommendation preferences for Auto Scaling groups at the
3537
+ * organization and account levels. You can create recommendation preferences for
3538
+ * Auto Scaling groups only at the resource level by specifying a scope name
3539
+ * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
3540
+ * Resource Name (ARN). This will configure the preference for all instances that are
3541
+ * part of the specified the Auto Scaling group.</p>
3542
+ * </note>
3543
+ */
3544
+ scope?: Scope;
3545
+ /**
3546
+ * <p>The status of the enhanced infrastructure metrics recommendation preference to create
3547
+ * or update.</p>
3548
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3549
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3550
+ * applied.</p>
3551
+ */
3552
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3553
+ }
3554
+ export declare namespace PutRecommendationPreferencesRequest {
3555
+ /**
3556
+ * @internal
3557
+ */
3558
+ const filterSensitiveLog: (obj: PutRecommendationPreferencesRequest) => any;
3559
+ }
3560
+ export interface PutRecommendationPreferencesResponse {
3561
+ }
3562
+ export declare namespace PutRecommendationPreferencesResponse {
3563
+ /**
3564
+ * @internal
3565
+ */
3566
+ const filterSensitiveLog: (obj: PutRecommendationPreferencesResponse) => any;
3567
+ }
3255
3568
  export interface UpdateEnrollmentStatusRequest {
3256
3569
  /**
3257
3570
  * <p>The new enrollment status of the account.</p>
3258
- *
3259
3571
  * <p>The following status options are available:</p>
3260
- *
3261
3572
  * <ul>
3262
3573
  * <li>
3263
3574
  * <p>
@@ -3273,7 +3584,6 @@ export interface UpdateEnrollmentStatusRequest {
3273
3584
  * from Compute Optimizer after you opt out.</p>
3274
3585
  * </li>
3275
3586
  * </ul>
3276
- *
3277
3587
  * <note>
3278
3588
  * <p>The <code>Pending</code> and <code>Failed</code> options cannot be used to update
3279
3589
  * the enrollment status of an account. They are returned in the response of a request