@aws-sdk/client-compute-optimizer 3.43.0 → 3.44.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 (51) hide show
  1. package/CHANGELOG.md +11 -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/models/models_0.js +183 -51
  10. package/dist-cjs/protocols/Aws_json1_0.js +617 -1
  11. package/dist-es/ComputeOptimizer.js +60 -0
  12. package/dist-es/commands/DeleteRecommendationPreferencesCommand.js +39 -0
  13. package/dist-es/commands/GetEffectiveRecommendationPreferencesCommand.js +39 -0
  14. package/dist-es/commands/GetRecommendationPreferencesCommand.js +39 -0
  15. package/dist-es/commands/PutRecommendationPreferencesCommand.js +39 -0
  16. package/dist-es/commands/index.js +4 -0
  17. package/dist-es/models/models_0.js +143 -40
  18. package/dist-es/protocols/Aws_json1_0.js +646 -8
  19. package/dist-types/ComputeOptimizer.d.ts +50 -27
  20. package/dist-types/ComputeOptimizerClient.d.ts +6 -2
  21. package/dist-types/commands/DeleteRecommendationPreferencesCommand.d.ts +38 -0
  22. package/dist-types/commands/DescribeRecommendationExportJobsCommand.d.ts +0 -1
  23. package/dist-types/commands/ExportAutoScalingGroupRecommendationsCommand.d.ts +0 -2
  24. package/dist-types/commands/ExportEBSVolumeRecommendationsCommand.d.ts +1 -4
  25. package/dist-types/commands/ExportEC2InstanceRecommendationsCommand.d.ts +1 -4
  26. package/dist-types/commands/ExportLambdaFunctionRecommendationsCommand.d.ts +1 -4
  27. package/dist-types/commands/GetAutoScalingGroupRecommendationsCommand.d.ts +0 -1
  28. package/dist-types/commands/GetEBSVolumeRecommendationsCommand.d.ts +0 -1
  29. package/dist-types/commands/GetEC2InstanceRecommendationsCommand.d.ts +0 -1
  30. package/dist-types/commands/GetEC2RecommendationProjectedMetricsCommand.d.ts +0 -1
  31. package/dist-types/commands/GetEffectiveRecommendationPreferencesCommand.d.ts +40 -0
  32. package/dist-types/commands/GetEnrollmentStatusCommand.d.ts +0 -1
  33. package/dist-types/commands/GetEnrollmentStatusesForOrganizationCommand.d.ts +0 -1
  34. package/dist-types/commands/GetLambdaFunctionRecommendationsCommand.d.ts +0 -1
  35. package/dist-types/commands/GetRecommendationPreferencesCommand.d.ts +42 -0
  36. package/dist-types/commands/GetRecommendationSummariesCommand.d.ts +0 -2
  37. package/dist-types/commands/PutRecommendationPreferencesCommand.d.ts +39 -0
  38. package/dist-types/commands/UpdateEnrollmentStatusCommand.d.ts +0 -3
  39. package/dist-types/commands/index.d.ts +4 -0
  40. package/dist-types/models/models_0.d.ts +646 -282
  41. package/dist-types/protocols/Aws_json1_0.d.ts +12 -0
  42. package/dist-types/ts3.4/ComputeOptimizer.d.ts +20 -0
  43. package/dist-types/ts3.4/ComputeOptimizerClient.d.ts +6 -2
  44. package/dist-types/ts3.4/commands/DeleteRecommendationPreferencesCommand.d.ts +17 -0
  45. package/dist-types/ts3.4/commands/GetEffectiveRecommendationPreferencesCommand.d.ts +17 -0
  46. package/dist-types/ts3.4/commands/GetRecommendationPreferencesCommand.d.ts +17 -0
  47. package/dist-types/ts3.4/commands/PutRecommendationPreferencesCommand.d.ts +17 -0
  48. package/dist-types/ts3.4/commands/index.d.ts +4 -0
  49. package/dist-types/ts3.4/models/models_0.d.ts +291 -77
  50. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +12 -0
  51. package/package.json +1 -1
@@ -33,7 +33,6 @@ export interface AccountEnrollmentStatus {
33
33
  status?: Status | string;
34
34
  /**
35
35
  * <p>The reason for the account enrollment status.</p>
36
- *
37
36
  * <p>For example, an account might show a status of <code>Pending</code> because member
38
37
  * accounts of an organization require more time to be enrolled in the service.</p>
39
38
  */
@@ -79,6 +78,59 @@ export declare namespace AutoScalingGroupConfiguration {
79
78
  */
80
79
  const filterSensitiveLog: (obj: AutoScalingGroupConfiguration) => any;
81
80
  }
81
+ export declare enum CurrentPerformanceRisk {
82
+ HIGH = "High",
83
+ LOW = "Low",
84
+ MEDIUM = "Medium",
85
+ VERY_LOW = "VeryLow"
86
+ }
87
+ export declare enum CpuVendorArchitecture {
88
+ AWS_ARM64 = "AWS_ARM64",
89
+ CURRENT = "CURRENT"
90
+ }
91
+ export declare enum EnhancedInfrastructureMetrics {
92
+ ACTIVE = "Active",
93
+ INACTIVE = "Inactive"
94
+ }
95
+ /**
96
+ * <p>Describes the effective recommendation preferences for a resource.</p>
97
+ */
98
+ export interface EffectiveRecommendationPreferences {
99
+ /**
100
+ * <p>Describes the CPU vendor and architecture for an instance or Auto Scaling group
101
+ * recommendations.</p>
102
+ * <p>For example, when you specify <code>AWS_ARM64</code> with:</p>
103
+ * <ul>
104
+ * <li>
105
+ * <p>A <a>GetEC2InstanceRecommendations</a> or <a>GetAutoScalingGroupRecommendations</a> request, Compute Optimizer
106
+ * returns recommendations that consist of Graviton2 instance types only.</p>
107
+ * </li>
108
+ * <li>
109
+ * <p>A <a>GetEC2RecommendationProjectedMetrics</a> request, Compute Optimizer returns projected utilization metrics for Graviton2 instance type
110
+ * recommendations only.</p>
111
+ * </li>
112
+ * <li>
113
+ * <p>A <a>ExportEC2InstanceRecommendations</a> or <a>ExportAutoScalingGroupRecommendations</a> request, Compute Optimizer
114
+ * exports recommendations that consist of Graviton2 instance types only.</p>
115
+ * </li>
116
+ * </ul>
117
+ */
118
+ cpuVendorArchitectures?: (CpuVendorArchitecture | string)[];
119
+ /**
120
+ * <p>Describes the activation status of the enhanced infrastructure metrics
121
+ * preference.</p>
122
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
123
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
124
+ * applied.</p>
125
+ */
126
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
127
+ }
128
+ export declare namespace EffectiveRecommendationPreferences {
129
+ /**
130
+ * @internal
131
+ */
132
+ const filterSensitiveLog: (obj: EffectiveRecommendationPreferences) => any;
133
+ }
82
134
  export declare enum Finding {
83
135
  NOT_OPTIMIZED = "NotOptimized",
84
136
  OPTIMIZED = "Optimized",
@@ -108,7 +160,6 @@ export declare enum MetricStatistic {
108
160
  /**
109
161
  * <p>Describes a utilization metric of a resource, such as an Amazon EC2
110
162
  * instance.</p>
111
- *
112
163
  * <p>Compare the utilization metric data of your resource against its projected utilization
113
164
  * metric data to determine the performance difference between your current resource and
114
165
  * the recommended option.</p>
@@ -116,7 +167,6 @@ export declare enum MetricStatistic {
116
167
  export interface UtilizationMetric {
117
168
  /**
118
169
  * <p>The name of the utilization metric.</p>
119
- *
120
170
  * <p>The following utilization metrics are available:</p>
121
171
  * <ul>
122
172
  * <li>
@@ -229,12 +279,9 @@ export interface UtilizationMetric {
229
279
  name?: MetricName | string;
230
280
  /**
231
281
  * <p>The statistic of the utilization metric.</p>
232
- *
233
282
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
234
283
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
235
284
  * highest value observed during the specified period.</p>
236
- *
237
- *
238
285
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
239
286
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
240
287
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -256,6 +303,68 @@ export declare namespace UtilizationMetric {
256
303
  */
257
304
  const filterSensitiveLog: (obj: UtilizationMetric) => any;
258
305
  }
306
+ export declare enum Currency {
307
+ CNY = "CNY",
308
+ USD = "USD"
309
+ }
310
+ /**
311
+ * <p>Describes the estimated monthly savings amount possible for a given resource based on
312
+ * On-Demand instance pricing</p>
313
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html#ec2-savings-calculation">Estimated monthly savings and savings opportunities</a> in the
314
+ * <i>Compute Optimizer User Guide</i>.</p>
315
+ */
316
+ export interface EstimatedMonthlySavings {
317
+ /**
318
+ * <p>The currency of the estimated monthly
319
+ * savings.</p>
320
+ */
321
+ currency?: Currency | string;
322
+ /**
323
+ * <p>The value of the estimated monthly savings.</p>
324
+ */
325
+ value?: number;
326
+ }
327
+ export declare namespace EstimatedMonthlySavings {
328
+ /**
329
+ * @internal
330
+ */
331
+ const filterSensitiveLog: (obj: EstimatedMonthlySavings) => any;
332
+ }
333
+ /**
334
+ * <p>Describes the savings opportunity for recommendations of a given resource type or for
335
+ * the recommendation option of an individual resource.</p>
336
+ * <p>Savings opportunity represents the estimated monthly savings you can achieve by
337
+ * implementing a given Compute Optimizer recommendation.</p>
338
+ * <important>
339
+ * <p>Savings opportunity data requires that you opt in to Cost Explorer, as well as
340
+ * activate <b>Receive Amazon EC2 resource
341
+ * recommendations</b> in the Cost Explorer preferences page. That
342
+ * creates a connection between Cost Explorer and Compute Optimizer. With this
343
+ * connection, Cost Explorer generates savings estimates considering the price of
344
+ * existing resources, the price of recommended resources, and historical usage data.
345
+ * Estimated monthly savings reflects the projected dollar savings associated with each
346
+ * 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
347
+ * with Rightsizing Recommendations</a> in the <i>Cost Management User
348
+ * Guide</i>.</p>
349
+ * </important>
350
+ */
351
+ export interface SavingsOpportunity {
352
+ /**
353
+ * <p>The estimated monthly savings possible as a percentage of monthly cost.</p>
354
+ */
355
+ savingsOpportunityPercentage?: number;
356
+ /**
357
+ * <p>An object that describes the estimated monthly savings amount possible based on
358
+ * On-Demand instance pricing.</p>
359
+ */
360
+ estimatedMonthlySavings?: EstimatedMonthlySavings;
361
+ }
362
+ export declare namespace SavingsOpportunity {
363
+ /**
364
+ * @internal
365
+ */
366
+ const filterSensitiveLog: (obj: SavingsOpportunity) => any;
367
+ }
259
368
  /**
260
369
  * <p>Describes a recommendation option for an Auto Scaling group.</p>
261
370
  */
@@ -266,7 +375,6 @@ export interface AutoScalingGroupRecommendationOption {
266
375
  configuration?: AutoScalingGroupConfiguration;
267
376
  /**
268
377
  * <p>An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.</p>
269
- *
270
378
  * <note>
271
379
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
272
380
  * utilization metrics returned. Additionally, the <code>Memory</code> metric is
@@ -279,7 +387,6 @@ export interface AutoScalingGroupRecommendationOption {
279
387
  /**
280
388
  * <p>The performance risk of the Auto Scaling group configuration
281
389
  * recommendation.</p>
282
- *
283
390
  * <p>Performance risk indicates the likelihood of the recommended instance type not meeting
284
391
  * the resource needs of your workload. Compute Optimizer calculates an individual
285
392
  * performance risk score for each specification of the recommended instance, including
@@ -288,7 +395,6 @@ export interface AutoScalingGroupRecommendationOption {
288
395
  * The performance
289
396
  * risk of the recommended instance is calculated as the maximum performance risk score
290
397
  * across the analyzed resource specifications.</p>
291
- *
292
398
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
293
399
  * that the recommended resource is predicted to always provide enough hardware capability.
294
400
  * The higher the performance risk is, the more likely you should validate whether the
@@ -298,10 +404,15 @@ export interface AutoScalingGroupRecommendationOption {
298
404
  performanceRisk?: number;
299
405
  /**
300
406
  * <p>The rank of the Auto Scaling group recommendation option.</p>
301
- *
302
407
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
303
408
  */
304
409
  rank?: number;
410
+ /**
411
+ * <p>An object that describes the savings opportunity for the Auto Scaling group
412
+ * recommendation option. Savings opportunity includes the estimated monthly savings amount
413
+ * and percentage.</p>
414
+ */
415
+ savingsOpportunity?: SavingsOpportunity;
305
416
  }
306
417
  export declare namespace AutoScalingGroupRecommendationOption {
307
418
  /**
@@ -327,9 +438,7 @@ export interface AutoScalingGroupRecommendation {
327
438
  autoScalingGroupName?: string;
328
439
  /**
329
440
  * <p>The finding classification of the Auto Scaling group.</p>
330
- *
331
441
  * <p>Findings for Auto Scaling groups include:</p>
332
- *
333
442
  * <ul>
334
443
  * <li>
335
444
  * <p>
@@ -371,10 +480,20 @@ export interface AutoScalingGroupRecommendation {
371
480
  */
372
481
  recommendationOptions?: AutoScalingGroupRecommendationOption[];
373
482
  /**
374
- * <p>The timestamp of when the Auto Scaling group recommendation was last
375
- * refreshed.</p>
483
+ * <p>The timestamp of when the Auto Scaling group recommendation was last
484
+ * generated.</p>
376
485
  */
377
486
  lastRefreshTimestamp?: Date;
487
+ /**
488
+ * <p>The risk of the current Auto Scaling group not meeting the performance needs of
489
+ * its workloads. The higher the risk, the more likely the current Auto Scaling group
490
+ * configuration has insufficient capacity and cannot meet workload requirements.</p>
491
+ */
492
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
493
+ /**
494
+ * <p>An object that describes the effective recommendation preferences for the Auto Scaling group.</p>
495
+ */
496
+ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
378
497
  }
379
498
  export declare namespace AutoScalingGroupRecommendation {
380
499
  /**
@@ -382,6 +501,228 @@ export declare namespace AutoScalingGroupRecommendation {
382
501
  */
383
502
  const filterSensitiveLog: (obj: AutoScalingGroupRecommendation) => any;
384
503
  }
504
+ export declare enum RecommendationPreferenceName {
505
+ ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics"
506
+ }
507
+ export declare enum ResourceType {
508
+ AUTO_SCALING_GROUP = "AutoScalingGroup",
509
+ EBS_VOLUME = "EbsVolume",
510
+ EC2_INSTANCE = "Ec2Instance",
511
+ LAMBDA_FUNCTION = "LambdaFunction"
512
+ }
513
+ export declare enum ScopeName {
514
+ ACCOUNT_ID = "AccountId",
515
+ ORGANIZATION = "Organization",
516
+ RESOURCE_ARN = "ResourceArn"
517
+ }
518
+ /**
519
+ * <p>Describes the scope of a recommendation preference.</p>
520
+ * <p>Recommendation preferences can be created at the organization level (for management
521
+ * accounts of an organization only), account level, and resource level. For more
522
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
523
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
524
+ * Guide</i>.</p>
525
+ * <note>
526
+ * <p>You cannot create recommendation preferences for Auto Scaling groups at the
527
+ * organization and account levels. You can create recommendation preferences for
528
+ * Auto Scaling groups only at the resource level by specifying a scope name
529
+ * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
530
+ * Resource Name (ARN). This will configure the preference for all instances that are
531
+ * part of the specified the Auto Scaling group.</p>
532
+ * </note>
533
+ */
534
+ export interface Scope {
535
+ /**
536
+ * <p>The name of the scope.</p>
537
+ * <p>The following scopes are possible:</p>
538
+ * <ul>
539
+ * <li>
540
+ * <p>
541
+ * <code>Organization</code> - Specifies that the recommendation preference
542
+ * applies at the organization level, for all member accounts of an
543
+ * organization.</p>
544
+ * </li>
545
+ * <li>
546
+ * <p>
547
+ * <code>AccountId</code> - Specifies that the recommendation preference applies
548
+ * at the account level, for all resources of a given resource type in an
549
+ * account.</p>
550
+ * </li>
551
+ * <li>
552
+ * <p>
553
+ * <code>ResourceArn</code> - Specifies that the recommendation preference
554
+ * applies at the individual resource level.</p>
555
+ * </li>
556
+ * </ul>
557
+ */
558
+ name?: ScopeName | string;
559
+ /**
560
+ * <p>The value of the scope.</p>
561
+ * <p>If you specified the <code>name</code> of the scope as:</p>
562
+ * <ul>
563
+ * <li>
564
+ * <p>
565
+ * <code>Organization</code> - The <code>value</code> must be
566
+ * <code>ALL_ACCOUNTS</code>.</p>
567
+ * </li>
568
+ * <li>
569
+ * <p>
570
+ * <code>AccountId</code> - The <code>value</code> must be a 12-digit Amazon Web Services account ID.</p>
571
+ * </li>
572
+ * <li>
573
+ * <p>
574
+ * <code>ResourceArn</code> - The <code>value</code> must be the Amazon Resource
575
+ * Name (ARN) of an EC2 instance or an Auto Scaling group.</p>
576
+ * </li>
577
+ * </ul>
578
+ * <p>Only EC2 instance and Auto Scaling group ARNs are currently supported.</p>
579
+ */
580
+ value?: string;
581
+ }
582
+ export declare namespace Scope {
583
+ /**
584
+ * @internal
585
+ */
586
+ const filterSensitiveLog: (obj: Scope) => any;
587
+ }
588
+ export interface DeleteRecommendationPreferencesRequest {
589
+ /**
590
+ * <p>The target resource type of the recommendation preference to delete.</p>
591
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
592
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
593
+ * encompasses only instances that are part of an Auto Scaling group.</p>
594
+ */
595
+ resourceType: ResourceType | string | undefined;
596
+ /**
597
+ * <p>An object that describes the scope of the recommendation preference to delete.</p>
598
+ * <p>You can delete recommendation preferences that are created at the organization level
599
+ * (for management accounts of an organization only), account level, and resource level.
600
+ * For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
601
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
602
+ * Guide</i>.</p>
603
+ */
604
+ scope?: Scope;
605
+ /**
606
+ * <p>The name of the recommendation preference to delete.</p>
607
+ * <p>Enhanced infrastructure metrics (<code>EnhancedInfrastructureMetrics</code>) is the
608
+ * only feature that can be activated through preferences. Therefore, it is also the only
609
+ * recommendation preference that can be deleted.</p>
610
+ */
611
+ recommendationPreferenceNames: (RecommendationPreferenceName | string)[] | undefined;
612
+ }
613
+ export declare namespace DeleteRecommendationPreferencesRequest {
614
+ /**
615
+ * @internal
616
+ */
617
+ const filterSensitiveLog: (obj: DeleteRecommendationPreferencesRequest) => any;
618
+ }
619
+ export interface DeleteRecommendationPreferencesResponse {
620
+ }
621
+ export declare namespace DeleteRecommendationPreferencesResponse {
622
+ /**
623
+ * @internal
624
+ */
625
+ const filterSensitiveLog: (obj: DeleteRecommendationPreferencesResponse) => any;
626
+ }
627
+ /**
628
+ * <p>An internal error has occurred. Try your call again.</p>
629
+ */
630
+ export interface InternalServerException extends __SmithyException, $MetadataBearer {
631
+ name: "InternalServerException";
632
+ $fault: "server";
633
+ message?: string;
634
+ }
635
+ export declare namespace InternalServerException {
636
+ /**
637
+ * @internal
638
+ */
639
+ const filterSensitiveLog: (obj: InternalServerException) => any;
640
+ }
641
+ /**
642
+ * <p>The value supplied for the input parameter is out of range or not valid.</p>
643
+ */
644
+ export interface InvalidParameterValueException extends __SmithyException, $MetadataBearer {
645
+ name: "InvalidParameterValueException";
646
+ $fault: "client";
647
+ message?: string;
648
+ }
649
+ export declare namespace InvalidParameterValueException {
650
+ /**
651
+ * @internal
652
+ */
653
+ const filterSensitiveLog: (obj: InvalidParameterValueException) => any;
654
+ }
655
+ /**
656
+ * <p>The request must contain either a valid (registered) Amazon Web Services access key ID
657
+ * or X.509 certificate.</p>
658
+ */
659
+ export interface MissingAuthenticationToken extends __SmithyException, $MetadataBearer {
660
+ name: "MissingAuthenticationToken";
661
+ $fault: "client";
662
+ message?: string;
663
+ }
664
+ export declare namespace MissingAuthenticationToken {
665
+ /**
666
+ * @internal
667
+ */
668
+ const filterSensitiveLog: (obj: MissingAuthenticationToken) => any;
669
+ }
670
+ /**
671
+ * <p>The account is not opted in to Compute Optimizer.</p>
672
+ */
673
+ export interface OptInRequiredException extends __SmithyException, $MetadataBearer {
674
+ name: "OptInRequiredException";
675
+ $fault: "client";
676
+ message?: string;
677
+ }
678
+ export declare namespace OptInRequiredException {
679
+ /**
680
+ * @internal
681
+ */
682
+ const filterSensitiveLog: (obj: OptInRequiredException) => any;
683
+ }
684
+ /**
685
+ * <p>A resource that is required for the action doesn't exist.</p>
686
+ */
687
+ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
688
+ name: "ResourceNotFoundException";
689
+ $fault: "client";
690
+ message?: string;
691
+ }
692
+ export declare namespace ResourceNotFoundException {
693
+ /**
694
+ * @internal
695
+ */
696
+ const filterSensitiveLog: (obj: ResourceNotFoundException) => any;
697
+ }
698
+ /**
699
+ * <p>The request has failed due to a temporary failure of the server.</p>
700
+ */
701
+ export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
702
+ name: "ServiceUnavailableException";
703
+ $fault: "server";
704
+ message?: string;
705
+ }
706
+ export declare namespace ServiceUnavailableException {
707
+ /**
708
+ * @internal
709
+ */
710
+ const filterSensitiveLog: (obj: ServiceUnavailableException) => any;
711
+ }
712
+ /**
713
+ * <p>The request was denied due to request throttling.</p>
714
+ */
715
+ export interface ThrottlingException extends __SmithyException, $MetadataBearer {
716
+ name: "ThrottlingException";
717
+ $fault: "client";
718
+ message: string | undefined;
719
+ }
720
+ export declare namespace ThrottlingException {
721
+ /**
722
+ * @internal
723
+ */
724
+ const filterSensitiveLog: (obj: ThrottlingException) => any;
725
+ }
385
726
  export declare enum JobFilterName {
386
727
  JOB_STATUS = "JobStatus",
387
728
  RESOURCE_TYPE = "ResourceType"
@@ -390,7 +731,6 @@ export declare enum JobFilterName {
390
731
  * <p>Describes a filter that returns a more specific list of recommendation export jobs.
391
732
  * Use this filter with the <a>DescribeRecommendationExportJobs</a>
392
733
  * action.</p>
393
- *
394
734
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action,
395
735
  * <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, and <code>Filter</code> with
396
736
  * the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -398,20 +738,16 @@ export declare enum JobFilterName {
398
738
  export interface JobFilter {
399
739
  /**
400
740
  * <p>The name of the filter.</p>
401
- *
402
741
  * <p>Specify <code>ResourceType</code> to return export jobs of a specific resource type
403
742
  * (for example, <code>Ec2Instance</code>).</p>
404
- *
405
743
  * <p>Specify <code>JobStatus</code> to return export jobs with a specific status (e.g,
406
744
  * <code>Complete</code>).</p>
407
745
  */
408
746
  name?: JobFilterName | string;
409
747
  /**
410
748
  * <p>The value of the filter.</p>
411
- *
412
749
  * <p>The valid values for this parameter are as follows, depending on what you specify for
413
750
  * the <code>name</code> parameter:</p>
414
- *
415
751
  * <ul>
416
752
  * <li>
417
753
  * <p>Specify <code>Ec2Instance</code> or <code>AutoScalingGroup</code> if you
@@ -437,9 +773,7 @@ export declare namespace JobFilter {
437
773
  export interface DescribeRecommendationExportJobsRequest {
438
774
  /**
439
775
  * <p>The identification numbers of the export jobs to return.</p>
440
- *
441
776
  * <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
777
  * <p>All export jobs created in the last seven days are returned if this parameter is
444
778
  * omitted.</p>
445
779
  */
@@ -455,7 +789,6 @@ export interface DescribeRecommendationExportJobsRequest {
455
789
  nextToken?: string;
456
790
  /**
457
791
  * <p>The maximum number of export jobs to return with a single request.</p>
458
- *
459
792
  * <p>To retrieve the remaining results, make another request with the returned
460
793
  * <code>nextToken</code> value.</p>
461
794
  */
@@ -479,13 +812,11 @@ export interface S3Destination {
479
812
  bucket?: string;
480
813
  /**
481
814
  * <p>The Amazon S3 bucket key of an export file.</p>
482
- *
483
815
  * <p>The key uniquely identifies the object, or export file, in the S3 bucket.</p>
484
816
  */
485
817
  key?: string;
486
818
  /**
487
819
  * <p>The Amazon S3 bucket key of a metadata file.</p>
488
- *
489
820
  * <p>The key uniquely identifies the object, or metadata file, in the S3 bucket.</p>
490
821
  */
491
822
  metadataKey?: string;
@@ -513,12 +844,6 @@ export declare namespace ExportDestination {
513
844
  */
514
845
  const filterSensitiveLog: (obj: ExportDestination) => any;
515
846
  }
516
- export declare enum ResourceType {
517
- AUTO_SCALING_GROUP = "AutoScalingGroup",
518
- EBS_VOLUME = "EbsVolume",
519
- EC2_INSTANCE = "Ec2Instance",
520
- LAMBDA_FUNCTION = "LambdaFunction"
521
- }
522
847
  export declare enum JobStatus {
523
848
  COMPLETE = "Complete",
524
849
  FAILED = "Failed",
@@ -527,12 +852,8 @@ export declare enum JobStatus {
527
852
  }
528
853
  /**
529
854
  * <p>Describes a recommendation export job.</p>
530
- *
531
- *
532
855
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action to view your
533
856
  * recommendation export jobs.</p>
534
- *
535
- *
536
857
  * <p>Use the <a>ExportAutoScalingGroupRecommendations</a> or <a>ExportEC2InstanceRecommendations</a> actions to request an export of your
537
858
  * recommendations.</p>
538
859
  */
@@ -574,120 +895,20 @@ export declare namespace RecommendationExportJob {
574
895
  }
575
896
  export interface DescribeRecommendationExportJobsResponse {
576
897
  /**
577
- * <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 {
898
+ * <p>An array of objects that describe recommendation export jobs.</p>
899
+ */
900
+ recommendationExportJobs?: RecommendationExportJob[];
673
901
  /**
674
- * @internal
902
+ * <p>The token to use to advance to the next page of export jobs.</p>
903
+ * <p>This value is null when there are no more pages of export jobs to return.</p>
675
904
  */
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;
905
+ nextToken?: string;
685
906
  }
686
- export declare namespace ThrottlingException {
907
+ export declare namespace DescribeRecommendationExportJobsResponse {
687
908
  /**
688
909
  * @internal
689
910
  */
690
- const filterSensitiveLog: (obj: ThrottlingException) => any;
911
+ const filterSensitiveLog: (obj: DescribeRecommendationExportJobsResponse) => any;
691
912
  }
692
913
  export declare enum ExportableAutoScalingGroupField {
693
914
  ACCOUNT_ID = "AccountId",
@@ -700,10 +921,13 @@ export declare enum ExportableAutoScalingGroupField {
700
921
  CURRENT_MEMORY = "CurrentMemory",
701
922
  CURRENT_NETWORK = "CurrentNetwork",
702
923
  CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice",
924
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
703
925
  CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice",
704
926
  CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice",
705
927
  CURRENT_STORAGE = "CurrentStorage",
706
928
  CURRENT_VCPUS = "CurrentVCpus",
929
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
930
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
707
931
  FINDING = "Finding",
708
932
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
709
933
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
@@ -711,12 +935,15 @@ export declare enum ExportableAutoScalingGroupField {
711
935
  RECOMMENDATION_OPTIONS_CONFIGURATION_INSTANCE_TYPE = "RecommendationOptionsConfigurationInstanceType",
712
936
  RECOMMENDATION_OPTIONS_CONFIGURATION_MAX_SIZE = "RecommendationOptionsConfigurationMaxSize",
713
937
  RECOMMENDATION_OPTIONS_CONFIGURATION_MIN_SIZE = "RecommendationOptionsConfigurationMinSize",
938
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
939
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
714
940
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
715
941
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
716
942
  RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice",
717
943
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
718
944
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum",
719
945
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum",
946
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
720
947
  RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice",
721
948
  RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice",
722
949
  RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage",
@@ -747,7 +974,6 @@ export declare enum FilterName {
747
974
  /**
748
975
  * <p>Describes a filter that returns a more specific list of recommendations. Use this
749
976
  * filter with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
750
- *
751
977
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action,
752
978
  * <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, and <code>JobFilter</code> with
753
979
  * the <a>DescribeRecommendationExportJobs</a> action.</p>
@@ -755,24 +981,19 @@ export declare enum FilterName {
755
981
  export interface Filter {
756
982
  /**
757
983
  * <p>The name of the filter.</p>
758
- *
759
984
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
760
985
  * classification (for example, <code>Underprovisioned</code>).</p>
761
- *
762
986
  * <p>Specify <code>RecommendationSourceType</code> to return recommendations of a specific
763
987
  * resource type (for example, <code>Ec2Instance</code>).</p>
764
- *
765
988
  * <p>Specify <code>FindingReasonCodes</code> to return recommendations with a specific
766
989
  * finding reason code (for example, <code>CPUUnderprovisioned</code>).</p>
767
990
  */
768
991
  name?: FilterName | string;
769
992
  /**
770
993
  * <p>The value of the filter.</p>
771
- *
772
994
  * <p>The valid values for this parameter are as follows, depending on what you specify for
773
995
  * the <code>name</code> parameter and the resource type that you wish to filter results
774
996
  * for:</p>
775
- *
776
997
  * <ul>
777
998
  * <li>
778
999
  * <p>Specify <code>Optimized</code> or <code>NotOptimized</code> if you specify the
@@ -793,7 +1014,6 @@ export interface Filter {
793
1014
  * <li>
794
1015
  * <p>Specify one of the following options if you specify the <code>name</code>
795
1016
  * parameter as <code>FindingReasonCodes</code>:</p>
796
- *
797
1017
  * <ul>
798
1018
  * <li>
799
1019
  * <p>
@@ -945,19 +1165,13 @@ export declare namespace Filter {
945
1165
  */
946
1166
  const filterSensitiveLog: (obj: Filter) => any;
947
1167
  }
948
- export declare enum CpuVendorArchitecture {
949
- AWS_ARM64 = "AWS_ARM64",
950
- CURRENT = "CURRENT"
951
- }
952
1168
  /**
953
- * <p>Describes preferences for recommendations.</p>
1169
+ * <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
1170
  */
955
1171
  export interface RecommendationPreferences {
956
1172
  /**
957
1173
  * <p>Specifies the CPU vendor and architecture for Amazon EC2 instance and Auto Scaling group recommendations.</p>
958
- *
959
1174
  * <p>For example, when you specify <code>AWS_ARM64</code> with:</p>
960
- *
961
1175
  * <ul>
962
1176
  * <li>
963
1177
  * <p>A <a>GetEC2InstanceRecommendations</a> or <a>GetAutoScalingGroupRecommendations</a> request, Compute Optimizer
@@ -984,7 +1198,6 @@ export declare namespace RecommendationPreferences {
984
1198
  /**
985
1199
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
986
1200
  * key prefix for a recommendations export job.</p>
987
- *
988
1201
  * <p>You must create the destination Amazon S3 bucket for your recommendations
989
1202
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
990
1203
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1014,16 +1227,12 @@ export interface ExportAutoScalingGroupRecommendationsRequest {
1014
1227
  /**
1015
1228
  * <p>The IDs of the Amazon Web Services accounts for which to export Auto Scaling group
1016
1229
  * recommendations.</p>
1017
- *
1018
1230
  * <p>If your account is the management account of an organization, use this parameter to
1019
1231
  * specify the member account for which you want to export recommendations.</p>
1020
- *
1021
1232
  * <p>This parameter cannot be specified together with the include member accounts
1022
1233
  * parameter. The parameters are mutually exclusive.</p>
1023
- *
1024
1234
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1025
1235
  * or the include member accounts parameter, is omitted.</p>
1026
- *
1027
1236
  * <p>You can specify multiple account IDs per request.</p>
1028
1237
  */
1029
1238
  accountIds?: string[];
@@ -1040,37 +1249,31 @@ export interface ExportAutoScalingGroupRecommendationsRequest {
1040
1249
  /**
1041
1250
  * <p>An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket
1042
1251
  * name and key prefix for the export job.</p>
1043
- *
1044
1252
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1045
1253
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1046
1254
  * 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
1255
+ * policy to allow Compute Optimizer to write the export file to it. If you plan to specify
1256
+ * an object prefix when you create the export job, you must include the object prefix in
1257
+ * 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
1258
  * <i>Compute Optimizer User Guide</i>.</p>
1051
1259
  */
1052
1260
  s3DestinationConfig: S3DestinationConfig | undefined;
1053
1261
  /**
1054
1262
  * <p>The format of the export file.</p>
1055
- *
1056
1263
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1057
1264
  */
1058
1265
  fileFormat?: FileFormat | string;
1059
1266
  /**
1060
1267
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1061
1268
  * the organization if your account is the management account of an organization.</p>
1062
- *
1063
1269
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1064
1270
  * Compute Optimizer must be enabled in the organization account. For more information,
1065
1271
  * 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
1272
  * <i>Compute Optimizer User Guide</i>.</p>
1067
- *
1068
1273
  * <p>Recommendations for member accounts of the organization are not included in the export
1069
1274
  * file if this parameter is omitted.</p>
1070
- *
1071
1275
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1072
1276
  * parameters are mutually exclusive.</p>
1073
- *
1074
1277
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1075
1278
  * or the account IDs parameter, is omitted.</p>
1076
1279
  */
@@ -1090,7 +1293,6 @@ export declare namespace ExportAutoScalingGroupRecommendationsRequest {
1090
1293
  export interface ExportAutoScalingGroupRecommendationsResponse {
1091
1294
  /**
1092
1295
  * <p>The identification number of the export job.</p>
1093
- *
1094
1296
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1095
1297
  * ID to view the status of an export job.</p>
1096
1298
  */
@@ -1130,6 +1332,7 @@ export declare enum ExportableVolumeField {
1130
1332
  CURRENT_CONFIGURATION_VOLUME_SIZE = "CurrentConfigurationVolumeSize",
1131
1333
  CURRENT_CONFIGURATION_VOLUME_TYPE = "CurrentConfigurationVolumeType",
1132
1334
  CURRENT_MONTHLY_PRICE = "CurrentMonthlyPrice",
1335
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1133
1336
  FINDING = "Finding",
1134
1337
  LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp",
1135
1338
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
@@ -1139,8 +1342,11 @@ export declare enum ExportableVolumeField {
1139
1342
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_BURST_THROUGHPUT = "RecommendationOptionsConfigurationVolumeBurstThroughput",
1140
1343
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_SIZE = "RecommendationOptionsConfigurationVolumeSize",
1141
1344
  RECOMMENDATION_OPTIONS_CONFIGURATION_VOLUME_TYPE = "RecommendationOptionsConfigurationVolumeType",
1345
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1346
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1142
1347
  RECOMMENDATION_OPTIONS_MONTHLY_PRICE = "RecommendationOptionsMonthlyPrice",
1143
1348
  RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk",
1349
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1144
1350
  UTILIZATION_METRICS_VOLUME_READ_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadBytesPerSecondMaximum",
1145
1351
  UTILIZATION_METRICS_VOLUME_READ_OPS_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
1146
1352
  UTILIZATION_METRICS_VOLUME_WRITE_BYTES_PER_SECOND_MAXIMUM = "UtilizationMetricsVolumeWriteBytesPerSecondMaximum",
@@ -1153,7 +1359,6 @@ export declare enum EBSFilterName {
1153
1359
  /**
1154
1360
  * <p>Describes a filter that returns a more specific list of Amazon Elastic Block Store
1155
1361
  * (Amazon EBS) volume recommendations. Use this filter with the <a>GetEBSVolumeRecommendations</a> action.</p>
1156
- *
1157
1362
  * <p>You can use <code>LambdaFunctionRecommendationFilter</code> with the <a>GetLambdaFunctionRecommendations</a> action, <code>JobFilter</code> with the
1158
1363
  * <a>DescribeRecommendationExportJobs</a> action, and <code>Filter</code>
1159
1364
  * with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -1161,14 +1366,12 @@ export declare enum EBSFilterName {
1161
1366
  export interface EBSFilter {
1162
1367
  /**
1163
1368
  * <p>The name of the filter.</p>
1164
- *
1165
1369
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
1166
1370
  * classification (for example, <code>NotOptimized</code>).</p>
1167
1371
  */
1168
1372
  name?: EBSFilterName | string;
1169
1373
  /**
1170
1374
  * <p>The value of the filter.</p>
1171
- *
1172
1375
  * <p>The valid values are <code>Optimized</code>, or <code>NotOptimized</code>.</p>
1173
1376
  */
1174
1377
  values?: string[];
@@ -1183,16 +1386,12 @@ export interface ExportEBSVolumeRecommendationsRequest {
1183
1386
  /**
1184
1387
  * <p>The IDs of the Amazon Web Services accounts for which to export Amazon EBS
1185
1388
  * volume recommendations.</p>
1186
- *
1187
1389
  * <p>If your account is the management account of an organization, use this parameter to
1188
1390
  * specify the member account for which you want to export recommendations.</p>
1189
- *
1190
1391
  * <p>This parameter cannot be specified together with the include member accounts
1191
1392
  * parameter. The parameters are mutually exclusive.</p>
1192
- *
1193
1393
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1194
1394
  * or the include member accounts parameter, is omitted.</p>
1195
- *
1196
1395
  * <p>You can specify multiple account IDs per request.</p>
1197
1396
  */
1198
1397
  accountIds?: string[];
@@ -1209,7 +1408,6 @@ export interface ExportEBSVolumeRecommendationsRequest {
1209
1408
  /**
1210
1409
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
1211
1410
  * key prefix for a recommendations export job.</p>
1212
- *
1213
1411
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1214
1412
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1215
1413
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1221,25 +1419,20 @@ export interface ExportEBSVolumeRecommendationsRequest {
1221
1419
  s3DestinationConfig: S3DestinationConfig | undefined;
1222
1420
  /**
1223
1421
  * <p>The format of the export file.</p>
1224
- *
1225
1422
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1226
1423
  */
1227
1424
  fileFormat?: FileFormat | string;
1228
1425
  /**
1229
1426
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1230
1427
  * the organization if your account is the management account of an organization.</p>
1231
- *
1232
1428
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1233
1429
  * Compute Optimizer must be enabled in the organization account. For more information,
1234
1430
  * 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
1431
  * <i>Compute Optimizer User Guide</i>.</p>
1236
- *
1237
1432
  * <p>Recommendations for member accounts of the organization are not included in the export
1238
1433
  * file if this parameter is omitted.</p>
1239
- *
1240
1434
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1241
1435
  * parameters are mutually exclusive.</p>
1242
- *
1243
1436
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1244
1437
  * or the account IDs parameter, is omitted.</p>
1245
1438
  */
@@ -1254,7 +1447,6 @@ export declare namespace ExportEBSVolumeRecommendationsRequest {
1254
1447
  export interface ExportEBSVolumeRecommendationsResponse {
1255
1448
  /**
1256
1449
  * <p>The identification number of the export job.</p>
1257
- *
1258
1450
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1259
1451
  * ID to view the status of an export job.</p>
1260
1452
  */
@@ -1277,10 +1469,13 @@ export declare enum ExportableInstanceField {
1277
1469
  CURRENT_MEMORY = "CurrentMemory",
1278
1470
  CURRENT_NETWORK = "CurrentNetwork",
1279
1471
  CURRENT_ON_DEMAND_PRICE = "CurrentOnDemandPrice",
1472
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1280
1473
  CURRENT_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardOneYearNoUpfrontReservedPrice",
1281
1474
  CURRENT_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "CurrentStandardThreeYearNoUpfrontReservedPrice",
1282
1475
  CURRENT_STORAGE = "CurrentStorage",
1283
1476
  CURRENT_VCPUS = "CurrentVCpus",
1477
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures",
1478
+ EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics",
1284
1479
  FINDING = "Finding",
1285
1480
  Finding_Reason_Codes = "FindingReasonCodes",
1286
1481
  INSTANCE_ARN = "InstanceArn",
@@ -1289,6 +1484,8 @@ export declare enum ExportableInstanceField {
1289
1484
  LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays",
1290
1485
  RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_ARN = "RecommendationsSourcesRecommendationSourceArn",
1291
1486
  RECOMMENDATIONS_SOURCES_RECOMMENDATION_SOURCE_TYPE = "RecommendationsSourcesRecommendationSourceType",
1487
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1488
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1292
1489
  RECOMMENDATION_OPTIONS_INSTANCE_TYPE = "RecommendationOptionsInstanceType",
1293
1490
  RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory",
1294
1491
  RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork",
@@ -1297,6 +1494,7 @@ export declare enum ExportableInstanceField {
1297
1494
  RECOMMENDATION_OPTIONS_PLATFORM_DIFFERENCES = "RecommendationOptionsPlatformDifferences",
1298
1495
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_CPU_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum",
1299
1496
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_MEMORY_MAXIMUM = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum",
1497
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1300
1498
  RECOMMENDATION_OPTIONS_STANDARD_ONE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice",
1301
1499
  RECOMMENDATION_OPTIONS_STANDARD_THREE_YEAR_NO_UPFRONT_RESERVED_PRICE = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice",
1302
1500
  RECOMMENDATION_OPTIONS_STORAGE = "RecommendationOptionsStorage",
@@ -1320,16 +1518,12 @@ export interface ExportEC2InstanceRecommendationsRequest {
1320
1518
  /**
1321
1519
  * <p>The IDs of the Amazon Web Services accounts for which to export instance
1322
1520
  * recommendations.</p>
1323
- *
1324
1521
  * <p>If your account is the management account of an organization, use this parameter to
1325
1522
  * specify the member account for which you want to export recommendations.</p>
1326
- *
1327
1523
  * <p>This parameter cannot be specified together with the include member accounts
1328
1524
  * parameter. The parameters are mutually exclusive.</p>
1329
- *
1330
1525
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1331
1526
  * or the include member accounts parameter, is omitted.</p>
1332
- *
1333
1527
  * <p>You can specify multiple account IDs per request.</p>
1334
1528
  */
1335
1529
  accountIds?: string[];
@@ -1347,34 +1541,30 @@ export interface ExportEC2InstanceRecommendationsRequest {
1347
1541
  /**
1348
1542
  * <p>An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket
1349
1543
  * name and key prefix for the export job.</p>
1350
- *
1351
1544
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1352
1545
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1353
1546
  * 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
1547
+ * policy to allow Compute Optimizer to write the export file to it.
1548
+ * If you plan to
1355
1549
  * 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
1550
+ * 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
1551
  * <i>Compute Optimizer User Guide</i>.</p>
1358
1552
  */
1359
1553
  s3DestinationConfig: S3DestinationConfig | undefined;
1360
1554
  /**
1361
1555
  * <p>The format of the export file.</p>
1362
- *
1363
1556
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1364
1557
  */
1365
1558
  fileFormat?: FileFormat | string;
1366
1559
  /**
1367
1560
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1368
1561
  * the organization if your account is the management account of an organization.</p>
1369
- *
1370
1562
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1371
1563
  * Compute Optimizer must be enabled in the organization account. For more information,
1372
1564
  * 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
1565
  * <i>Compute Optimizer User Guide</i>.</p>
1374
- *
1375
1566
  * <p>Recommendations for member accounts of the organization are not included in the export
1376
1567
  * file if this parameter is omitted.</p>
1377
- *
1378
1568
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1379
1569
  * or the account IDs parameter, is omitted.</p>
1380
1570
  */
@@ -1394,7 +1584,6 @@ export declare namespace ExportEC2InstanceRecommendationsRequest {
1394
1584
  export interface ExportEC2InstanceRecommendationsResponse {
1395
1585
  /**
1396
1586
  * <p>The identification number of the export job.</p>
1397
- *
1398
1587
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1399
1588
  * ID to view the status of an export job.</p>
1400
1589
  */
@@ -1417,6 +1606,7 @@ export declare enum ExportableLambdaFunctionField {
1417
1606
  CURRENT_CONFIGURATION_TIMEOUT = "CurrentConfigurationTimeout",
1418
1607
  CURRENT_COST_AVERAGE = "CurrentCostAverage",
1419
1608
  CURRENT_COST_TOTAL = "CurrentCostTotal",
1609
+ CURRENT_PERFORMANCE_RISK = "CurrentPerformanceRisk",
1420
1610
  FINDING = "Finding",
1421
1611
  FINDING_REASON_CODES = "FindingReasonCodes",
1422
1612
  FUNCTION_ARN = "FunctionArn",
@@ -1427,9 +1617,12 @@ export declare enum ExportableLambdaFunctionField {
1427
1617
  RECOMMENDATION_OPTIONS_CONFIGURATION_MEMORY_SIZE = "RecommendationOptionsConfigurationMemorySize",
1428
1618
  RECOMMENDATION_OPTIONS_COST_HIGH = "RecommendationOptionsCostHigh",
1429
1619
  RECOMMENDATION_OPTIONS_COST_LOW = "RecommendationOptionsCostLow",
1620
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency",
1621
+ RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue",
1430
1622
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_EXPECTED = "RecommendationOptionsProjectedUtilizationMetricsDurationExpected",
1431
1623
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_LOWER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound",
1432
1624
  RECOMMENDATION_OPTIONS_PROJECTED_UTILIZATION_METRICS_DURATION_UPPER_BOUND = "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound",
1625
+ RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE = "RecommendationOptionsSavingsOpportunityPercentage",
1433
1626
  UTILIZATION_METRICS_DURATION_AVERAGE = "UtilizationMetricsDurationAverage",
1434
1627
  UTILIZATION_METRICS_DURATION_MAXIMUM = "UtilizationMetricsDurationMaximum",
1435
1628
  UTILIZATION_METRICS_MEMORY_AVERAGE = "UtilizationMetricsMemoryAverage",
@@ -1442,7 +1635,6 @@ export declare enum LambdaFunctionRecommendationFilterName {
1442
1635
  /**
1443
1636
  * <p>Describes a filter that returns a more specific list of Lambda
1444
1637
  * function recommendations. Use this filter with the <a>GetLambdaFunctionRecommendations</a> action.</p>
1445
- *
1446
1638
  * <p>You can use <code>EBSFilter</code> with the <a>GetEBSVolumeRecommendations</a> action, <code>JobFilter</code> with the
1447
1639
  * <a>DescribeRecommendationExportJobs</a> action, and <code>Filter</code>
1448
1640
  * with the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
@@ -1450,20 +1642,16 @@ export declare enum LambdaFunctionRecommendationFilterName {
1450
1642
  export interface LambdaFunctionRecommendationFilter {
1451
1643
  /**
1452
1644
  * <p>The name of the filter.</p>
1453
- *
1454
1645
  * <p>Specify <code>Finding</code> to return recommendations with a specific finding
1455
1646
  * classification (for example, <code>NotOptimized</code>).</p>
1456
- *
1457
1647
  * <p>Specify <code>FindingReasonCode</code> to return recommendations with a specific
1458
1648
  * finding reason code (for example, <code>MemoryUnderprovisioned</code>).</p>
1459
1649
  */
1460
1650
  name?: LambdaFunctionRecommendationFilterName | string;
1461
1651
  /**
1462
1652
  * <p>The value of the filter.</p>
1463
- *
1464
1653
  * <p>The valid values for this parameter are as follows, depending on what you specify for
1465
1654
  * the <code>name</code> parameter:</p>
1466
- *
1467
1655
  * <ul>
1468
1656
  * <li>
1469
1657
  * <p>Specify <code>Optimized</code>, <code>NotOptimized</code>, or
@@ -1490,16 +1678,12 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1490
1678
  /**
1491
1679
  * <p>The IDs of the Amazon Web Services accounts for which to export Lambda
1492
1680
  * function recommendations.</p>
1493
- *
1494
1681
  * <p>If your account is the management account of an organization, use this parameter to
1495
1682
  * specify the member account for which you want to export recommendations.</p>
1496
- *
1497
1683
  * <p>This parameter cannot be specified together with the include member accounts
1498
1684
  * parameter. The parameters are mutually exclusive.</p>
1499
- *
1500
1685
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1501
1686
  * or the include member accounts parameter, is omitted.</p>
1502
- *
1503
1687
  * <p>You can specify multiple account IDs per request.</p>
1504
1688
  */
1505
1689
  accountIds?: string[];
@@ -1516,7 +1700,6 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1516
1700
  /**
1517
1701
  * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
1518
1702
  * key prefix for a recommendations export job.</p>
1519
- *
1520
1703
  * <p>You must create the destination Amazon S3 bucket for your recommendations
1521
1704
  * export before you create the export job. Compute Optimizer does not create the S3 bucket
1522
1705
  * for you. After you create the S3 bucket, ensure that it has the required permission
@@ -1528,25 +1711,20 @@ export interface ExportLambdaFunctionRecommendationsRequest {
1528
1711
  s3DestinationConfig: S3DestinationConfig | undefined;
1529
1712
  /**
1530
1713
  * <p>The format of the export file.</p>
1531
- *
1532
1714
  * <p>The only export file format currently supported is <code>Csv</code>.</p>
1533
1715
  */
1534
1716
  fileFormat?: FileFormat | string;
1535
1717
  /**
1536
1718
  * <p>Indicates whether to include recommendations for resources in all member accounts of
1537
1719
  * the organization if your account is the management account of an organization.</p>
1538
- *
1539
1720
  * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
1540
1721
  * Compute Optimizer must be enabled in the organization account. For more information,
1541
1722
  * 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
1723
  * <i>Compute Optimizer User Guide</i>.</p>
1543
- *
1544
1724
  * <p>Recommendations for member accounts of the organization are not included in the export
1545
1725
  * file if this parameter is omitted.</p>
1546
- *
1547
1726
  * <p>This parameter cannot be specified together with the account IDs parameter. The
1548
1727
  * parameters are mutually exclusive.</p>
1549
- *
1550
1728
  * <p>Recommendations for member accounts are not included in the export if this parameter,
1551
1729
  * or the account IDs parameter, is omitted.</p>
1552
1730
  */
@@ -1561,7 +1739,6 @@ export declare namespace ExportLambdaFunctionRecommendationsRequest {
1561
1739
  export interface ExportLambdaFunctionRecommendationsResponse {
1562
1740
  /**
1563
1741
  * <p>The identification number of the export job.</p>
1564
- *
1565
1742
  * <p>Use the <a>DescribeRecommendationExportJobs</a> action, and specify the job
1566
1743
  * ID to view the status of an export job.</p>
1567
1744
  */
@@ -1582,11 +1759,9 @@ export interface GetAutoScalingGroupRecommendationsRequest {
1582
1759
  /**
1583
1760
  * <p>The ID of the Amazon Web Services account for which to return Auto Scaling group
1584
1761
  * recommendations.</p>
1585
- *
1586
1762
  * <p>If your account is the management account of an organization, use this parameter to
1587
1763
  * specify the member account for which you want to return Auto Scaling group
1588
1764
  * recommendations.</p>
1589
- *
1590
1765
  * <p>Only one account ID can be specified per request.</p>
1591
1766
  */
1592
1767
  accountIds?: string[];
@@ -1603,7 +1778,6 @@ export interface GetAutoScalingGroupRecommendationsRequest {
1603
1778
  /**
1604
1779
  * <p>The maximum number of Auto Scaling group recommendations to return with a single
1605
1780
  * request.</p>
1606
- *
1607
1781
  * <p>To retrieve the remaining results, make another request with the returned
1608
1782
  * <code>nextToken</code> value.</p>
1609
1783
  */
@@ -1626,7 +1800,6 @@ export declare namespace GetAutoScalingGroupRecommendationsRequest {
1626
1800
  }
1627
1801
  /**
1628
1802
  * <p>Describes an error experienced when getting recommendations.</p>
1629
- *
1630
1803
  * <p>For example, an error is returned if you request recommendations for an unsupported
1631
1804
  * Auto Scaling group, or if you request recommendations for an instance of an
1632
1805
  * unsupported instance family.</p>
@@ -1655,7 +1828,6 @@ export interface GetAutoScalingGroupRecommendationsResponse {
1655
1828
  /**
1656
1829
  * <p>The token to use to advance to the next page of Auto Scaling group
1657
1830
  * recommendations.</p>
1658
- *
1659
1831
  * <p>This value is null when there are no more pages of Auto Scaling group
1660
1832
  * recommendations to return.</p>
1661
1833
  */
@@ -1666,7 +1838,6 @@ export interface GetAutoScalingGroupRecommendationsResponse {
1666
1838
  autoScalingGroupRecommendations?: AutoScalingGroupRecommendation[];
1667
1839
  /**
1668
1840
  * <p>An array of objects that describe errors of the request.</p>
1669
- *
1670
1841
  * <p>For example, an error is returned if you request recommendations for an unsupported
1671
1842
  * Auto Scaling group.</p>
1672
1843
  */
@@ -1690,7 +1861,6 @@ export interface GetEBSVolumeRecommendationsRequest {
1690
1861
  nextToken?: string;
1691
1862
  /**
1692
1863
  * <p>The maximum number of volume recommendations to return with a single request.</p>
1693
- *
1694
1864
  * <p>To retrieve the remaining results, make another request with the returned
1695
1865
  * <code>nextToken</code> value.</p>
1696
1866
  */
@@ -1703,10 +1873,8 @@ export interface GetEBSVolumeRecommendationsRequest {
1703
1873
  /**
1704
1874
  * <p>The ID of the Amazon Web Services account for which to return volume
1705
1875
  * recommendations.</p>
1706
- *
1707
1876
  * <p>If your account is the management account of an organization, use this parameter to
1708
1877
  * specify the member account for which you want to return volume recommendations.</p>
1709
- *
1710
1878
  * <p>Only one account ID can be specified per request.</p>
1711
1879
  */
1712
1880
  accountIds?: string[];
@@ -1724,7 +1892,6 @@ export declare namespace GetEBSVolumeRecommendationsRequest {
1724
1892
  export interface VolumeConfiguration {
1725
1893
  /**
1726
1894
  * <p>The volume type.</p>
1727
- *
1728
1895
  * <p>This can be <code>gp2</code> for General Purpose SSD, <code>io1</code> or
1729
1896
  * <code>io2</code> for Provisioned IOPS SSD, <code>st1</code> for Throughput Optimized
1730
1897
  * HDD, <code>sc1</code> for Cold HDD, or <code>standard</code> for Magnetic
@@ -1771,7 +1938,6 @@ export declare enum EBSMetricName {
1771
1938
  /**
1772
1939
  * <p>Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS)
1773
1940
  * volume.</p>
1774
- *
1775
1941
  * <p>Compare the utilization metric data of your resource against its projected utilization
1776
1942
  * metric data to determine the performance difference between your current resource and
1777
1943
  * the recommended option.</p>
@@ -1779,7 +1945,6 @@ export declare enum EBSMetricName {
1779
1945
  export interface EBSUtilizationMetric {
1780
1946
  /**
1781
1947
  * <p>The name of the utilization metric.</p>
1782
- *
1783
1948
  * <p>The following utilization metrics are available:</p>
1784
1949
  * <ul>
1785
1950
  * <li>
@@ -1811,11 +1976,9 @@ export interface EBSUtilizationMetric {
1811
1976
  name?: EBSMetricName | string;
1812
1977
  /**
1813
1978
  * <p>The statistic of the utilization metric.</p>
1814
- *
1815
1979
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
1816
1980
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
1817
1981
  * highest value observed during the specified period.</p>
1818
- *
1819
1982
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
1820
1983
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
1821
1984
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -1848,10 +2011,8 @@ export interface VolumeRecommendationOption {
1848
2011
  configuration?: VolumeConfiguration;
1849
2012
  /**
1850
2013
  * <p>The performance risk of the volume recommendation option.</p>
1851
- *
1852
2014
  * <p>Performance risk is the likelihood of the recommended volume type meeting the
1853
2015
  * performance requirement of your workload.</p>
1854
- *
1855
2016
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
1856
2017
  * that the recommended resource is predicted to always provide enough hardware capability.
1857
2018
  * The higher the performance risk is, the more likely you should validate whether the
@@ -1861,10 +2022,15 @@ export interface VolumeRecommendationOption {
1861
2022
  performanceRisk?: number;
1862
2023
  /**
1863
2024
  * <p>The rank of the volume recommendation option.</p>
1864
- *
1865
2025
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
1866
2026
  */
1867
2027
  rank?: number;
2028
+ /**
2029
+ * <p>An object that describes the savings opportunity for the EBS volume recommendation
2030
+ * option. Savings opportunity includes the estimated monthly savings amount and
2031
+ * percentage.</p>
2032
+ */
2033
+ savingsOpportunity?: SavingsOpportunity;
1868
2034
  }
1869
2035
  export declare namespace VolumeRecommendationOption {
1870
2036
  /**
@@ -1890,7 +2056,6 @@ export interface VolumeRecommendation {
1890
2056
  currentConfiguration?: VolumeConfiguration;
1891
2057
  /**
1892
2058
  * <p>The finding classification of the volume.</p>
1893
- *
1894
2059
  * <p>Findings for volumes include:</p>
1895
2060
  * <ul>
1896
2061
  * <li>
@@ -1929,9 +2094,15 @@ export interface VolumeRecommendation {
1929
2094
  */
1930
2095
  volumeRecommendationOptions?: VolumeRecommendationOption[];
1931
2096
  /**
1932
- * <p>The timestamp of when the volume recommendation was last refreshed.</p>
2097
+ * <p>The timestamp of when the volume recommendation was last generated.</p>
1933
2098
  */
1934
2099
  lastRefreshTimestamp?: Date;
2100
+ /**
2101
+ * <p>The risk of the current EBS volume not meeting the performance needs of its workloads.
2102
+ * The higher the risk, the more likely the current EBS volume doesn't have sufficient
2103
+ * capacity.</p>
2104
+ */
2105
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
1935
2106
  }
1936
2107
  export declare namespace VolumeRecommendation {
1937
2108
  /**
@@ -1942,7 +2113,6 @@ export declare namespace VolumeRecommendation {
1942
2113
  export interface GetEBSVolumeRecommendationsResponse {
1943
2114
  /**
1944
2115
  * <p>The token to use to advance to the next page of volume recommendations.</p>
1945
- *
1946
2116
  * <p>This value is null when there are no more pages of volume recommendations to
1947
2117
  * return.</p>
1948
2118
  */
@@ -1953,7 +2123,6 @@ export interface GetEBSVolumeRecommendationsResponse {
1953
2123
  volumeRecommendations?: VolumeRecommendation[];
1954
2124
  /**
1955
2125
  * <p>An array of objects that describe errors of the request.</p>
1956
- *
1957
2126
  * <p>For example, an error is returned if you request recommendations for an unsupported
1958
2127
  * volume.</p>
1959
2128
  */
@@ -1977,7 +2146,6 @@ export interface GetEC2InstanceRecommendationsRequest {
1977
2146
  nextToken?: string;
1978
2147
  /**
1979
2148
  * <p>The maximum number of instance recommendations to return with a single request.</p>
1980
- *
1981
2149
  * <p>To retrieve the remaining results, make another request with the returned
1982
2150
  * <code>nextToken</code> value.</p>
1983
2151
  */
@@ -1990,10 +2158,8 @@ export interface GetEC2InstanceRecommendationsRequest {
1990
2158
  /**
1991
2159
  * <p>The ID of the Amazon Web Services account for which to return instance
1992
2160
  * recommendations.</p>
1993
- *
1994
2161
  * <p>If your account is the management account of an organization, use this parameter to
1995
2162
  * specify the member account for which you want to return instance recommendations.</p>
1996
- *
1997
2163
  * <p>Only one account ID can be specified per request.</p>
1998
2164
  */
1999
2165
  accountIds?: string[];
@@ -2046,7 +2212,6 @@ export interface InstanceRecommendationOption {
2046
2212
  /**
2047
2213
  * <p>An array of objects that describe the projected utilization metrics of the instance
2048
2214
  * recommendation option.</p>
2049
- *
2050
2215
  * <note>
2051
2216
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2052
2217
  * utilization metrics returned. Additionally, the <code>Memory</code> metric is
@@ -2063,9 +2228,7 @@ export interface InstanceRecommendationOption {
2063
2228
  * <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
2229
  * guide for Windows</a> provide general guidance for getting started with an
2065
2230
  * instance migration.</p>
2066
- *
2067
2231
  * <p>Platform differences include:</p>
2068
- *
2069
2232
  * <ul>
2070
2233
  * <li>
2071
2234
  * <p>
@@ -2159,7 +2322,6 @@ export interface InstanceRecommendationOption {
2159
2322
  platformDifferences?: (PlatformDifference | string)[];
2160
2323
  /**
2161
2324
  * <p>The performance risk of the instance recommendation option.</p>
2162
- *
2163
2325
  * <p>Performance risk indicates the likelihood of the recommended instance type not meeting
2164
2326
  * the resource needs of your workload. Compute Optimizer calculates an individual
2165
2327
  * performance risk score for each specification of the recommended instance, including
@@ -2168,7 +2330,6 @@ export interface InstanceRecommendationOption {
2168
2330
  * The performance
2169
2331
  * risk of the recommended instance is calculated as the maximum performance risk score
2170
2332
  * across the analyzed resource specifications.</p>
2171
- *
2172
2333
  * <p>The value ranges from <code>0</code> - <code>4</code>, with <code>0</code> meaning
2173
2334
  * that the recommended resource is predicted to always provide enough hardware capability.
2174
2335
  * The higher the performance risk is, the more likely you should validate whether the
@@ -2178,10 +2339,15 @@ export interface InstanceRecommendationOption {
2178
2339
  performanceRisk?: number;
2179
2340
  /**
2180
2341
  * <p>The rank of the instance recommendation option.</p>
2181
- *
2182
2342
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2183
2343
  */
2184
2344
  rank?: number;
2345
+ /**
2346
+ * <p>An object that describes the savings opportunity for the instance recommendation
2347
+ * option. Savings opportunity includes the estimated monthly savings amount and
2348
+ * percentage.</p>
2349
+ */
2350
+ savingsOpportunity?: SavingsOpportunity;
2185
2351
  }
2186
2352
  export declare namespace InstanceRecommendationOption {
2187
2353
  /**
@@ -2237,9 +2403,7 @@ export interface InstanceRecommendation {
2237
2403
  currentInstanceType?: string;
2238
2404
  /**
2239
2405
  * <p>The finding classification of the instance.</p>
2240
- *
2241
2406
  * <p>Findings for instances include:</p>
2242
- *
2243
2407
  * <ul>
2244
2408
  * <li>
2245
2409
  * <p>
@@ -2277,9 +2441,7 @@ export interface InstanceRecommendation {
2277
2441
  finding?: Finding | string;
2278
2442
  /**
2279
2443
  * <p>The reason for the finding classification of the instance.</p>
2280
- *
2281
2444
  * <p>Finding reason codes for instances include:</p>
2282
- *
2283
2445
  * <ul>
2284
2446
  * <li>
2285
2447
  * <p>
@@ -2320,7 +2482,6 @@ export interface InstanceRecommendation {
2320
2482
  * your workload and there is an alternative instance type that provides better
2321
2483
  * memory performance. This is identified by analyzing the memory utilization
2322
2484
  * metric of the current instance during the look-back period.</p>
2323
- *
2324
2485
  * <note>
2325
2486
  * <p>Memory utilization is analyzed only for resources that have the unified
2326
2487
  * CloudWatch agent installed on them. For more information, see
@@ -2466,7 +2627,6 @@ export interface InstanceRecommendation {
2466
2627
  * current instance during the look-back period.</p>
2467
2628
  * </li>
2468
2629
  * </ul>
2469
- *
2470
2630
  * <note>
2471
2631
  * <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
2632
  * available CloudWatch metrics for your instances</a> in the
@@ -2495,9 +2655,20 @@ export interface InstanceRecommendation {
2495
2655
  */
2496
2656
  recommendationSources?: RecommendationSource[];
2497
2657
  /**
2498
- * <p>The timestamp of when the instance recommendation was last refreshed.</p>
2658
+ * <p>The timestamp of when the instance recommendation was last generated.</p>
2499
2659
  */
2500
2660
  lastRefreshTimestamp?: Date;
2661
+ /**
2662
+ * <p>The risk of the current instance not meeting the performance needs of its workloads.
2663
+ * The higher the risk, the more likely the current Lambda function requires
2664
+ * more memory.</p>
2665
+ */
2666
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
2667
+ /**
2668
+ * <p>An object that describes the effective recommendation preferences for the
2669
+ * instance.</p>
2670
+ */
2671
+ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences;
2501
2672
  }
2502
2673
  export declare namespace InstanceRecommendation {
2503
2674
  /**
@@ -2508,7 +2679,6 @@ export declare namespace InstanceRecommendation {
2508
2679
  export interface GetEC2InstanceRecommendationsResponse {
2509
2680
  /**
2510
2681
  * <p>The token to use to advance to the next page of instance recommendations.</p>
2511
- *
2512
2682
  * <p>This value is null when there are no more pages of instance recommendations to
2513
2683
  * return.</p>
2514
2684
  */
@@ -2519,7 +2689,6 @@ export interface GetEC2InstanceRecommendationsResponse {
2519
2689
  instanceRecommendations?: InstanceRecommendation[];
2520
2690
  /**
2521
2691
  * <p>An array of objects that describe errors of the request.</p>
2522
- *
2523
2692
  * <p>For example, an error is returned if you request recommendations for an instance of an
2524
2693
  * unsupported instance family.</p>
2525
2694
  */
@@ -2569,11 +2738,9 @@ export declare namespace GetEC2RecommendationProjectedMetricsRequest {
2569
2738
  * <p>Describes a projected utilization metric of a recommendation option, such as an
2570
2739
  * Amazon EC2 instance. This represents the projected utilization of a
2571
2740
  * recommendation option had you used that resource during the analyzed period.</p>
2572
- *
2573
2741
  * <p>Compare the utilization metric data of your resource against its projected utilization
2574
2742
  * metric data to determine the performance difference between your current resource and
2575
2743
  * the recommended option.</p>
2576
- *
2577
2744
  * <note>
2578
2745
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2579
2746
  * utilization metrics returned when you run the <a>GetEC2RecommendationProjectedMetrics</a> action. Additionally, the
@@ -2584,7 +2751,6 @@ export declare namespace GetEC2RecommendationProjectedMetricsRequest {
2584
2751
  export interface ProjectedMetric {
2585
2752
  /**
2586
2753
  * <p>The name of the projected utilization metric.</p>
2587
- *
2588
2754
  * <p>The following projected utilization metrics are returned:</p>
2589
2755
  * <ul>
2590
2756
  * <li>
@@ -2632,7 +2798,6 @@ export declare namespace ProjectedMetric {
2632
2798
  }
2633
2799
  /**
2634
2800
  * <p>Describes a projected utilization metric of a recommendation option.</p>
2635
- *
2636
2801
  * <note>
2637
2802
  * <p>The <code>Cpu</code> and <code>Memory</code> metrics are the only projected
2638
2803
  * utilization metrics returned when you run the <a>GetEC2RecommendationProjectedMetrics</a> action. Additionally, the
@@ -2647,9 +2812,7 @@ export interface RecommendedOptionProjectedMetric {
2647
2812
  recommendedInstanceType?: string;
2648
2813
  /**
2649
2814
  * <p>The rank of the recommendation option projected metric.</p>
2650
- *
2651
2815
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2652
- *
2653
2816
  * <p>The projected metric rank correlates to the recommendation option rank. For example,
2654
2817
  * the projected metric ranked as <code>1</code> is related to the recommendation option
2655
2818
  * that is also ranked as <code>1</code> in the same response.</p>
@@ -2678,6 +2841,40 @@ export declare namespace GetEC2RecommendationProjectedMetricsResponse {
2678
2841
  */
2679
2842
  const filterSensitiveLog: (obj: GetEC2RecommendationProjectedMetricsResponse) => any;
2680
2843
  }
2844
+ export interface GetEffectiveRecommendationPreferencesRequest {
2845
+ /**
2846
+ * <p>The Amazon Resource Name (ARN) of the resource for which to confirm effective
2847
+ * recommendation preferences. Only EC2 instance and Auto Scaling group ARNs are
2848
+ * currently supported.</p>
2849
+ */
2850
+ resourceArn: string | undefined;
2851
+ }
2852
+ export declare namespace GetEffectiveRecommendationPreferencesRequest {
2853
+ /**
2854
+ * @internal
2855
+ */
2856
+ const filterSensitiveLog: (obj: GetEffectiveRecommendationPreferencesRequest) => any;
2857
+ }
2858
+ export interface GetEffectiveRecommendationPreferencesResponse {
2859
+ /**
2860
+ * <p>The status of the enhanced infrastructure metrics recommendation preference. Considers
2861
+ * all applicable preferences that you might have set at the resource, account, and
2862
+ * organization level.</p>
2863
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
2864
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
2865
+ * applied.</p>
2866
+ * <p>To validate whether the preference is applied to your last generated set of
2867
+ * recommendations, review the <code>effectiveRecommendationPreferences</code> value in the
2868
+ * response of the <a>GetAutoScalingGroupRecommendations</a> and <a>GetEC2InstanceRecommendations</a> actions.</p>
2869
+ */
2870
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
2871
+ }
2872
+ export declare namespace GetEffectiveRecommendationPreferencesResponse {
2873
+ /**
2874
+ * @internal
2875
+ */
2876
+ const filterSensitiveLog: (obj: GetEffectiveRecommendationPreferencesResponse) => any;
2877
+ }
2681
2878
  export interface GetEnrollmentStatusRequest {
2682
2879
  }
2683
2880
  export declare namespace GetEnrollmentStatusRequest {
@@ -2693,7 +2890,6 @@ export interface GetEnrollmentStatusResponse {
2693
2890
  status?: Status | string;
2694
2891
  /**
2695
2892
  * <p>The reason for the enrollment status of the account.</p>
2696
- *
2697
2893
  * <p>For example, an account might show a status of <code>Pending</code> because member
2698
2894
  * accounts of an organization require more time to be enrolled in the service.</p>
2699
2895
  */
@@ -2731,14 +2927,12 @@ export declare enum EnrollmentFilterName {
2731
2927
  export interface EnrollmentFilter {
2732
2928
  /**
2733
2929
  * <p>The name of the filter.</p>
2734
- *
2735
2930
  * <p>Specify <code>Status</code> to return accounts with a specific enrollment status (for
2736
2931
  * example, <code>Active</code>).</p>
2737
2932
  */
2738
2933
  name?: EnrollmentFilterName | string;
2739
2934
  /**
2740
2935
  * <p>The value of the filter.</p>
2741
- *
2742
2936
  * <p>The valid values are <code>Active</code>, <code>Inactive</code>, <code>Pending</code>,
2743
2937
  * and <code>Failed</code>.</p>
2744
2938
  */
@@ -2763,7 +2957,6 @@ export interface GetEnrollmentStatusesForOrganizationRequest {
2763
2957
  /**
2764
2958
  * <p>The maximum number of account enrollment statuses to return with a single request. You
2765
2959
  * can specify up to 100 statuses to return with each request.</p>
2766
- *
2767
2960
  * <p>To retrieve the remaining results, make another request with the returned
2768
2961
  * <code>nextToken</code> value.</p>
2769
2962
  */
@@ -2783,7 +2976,6 @@ export interface GetEnrollmentStatusesForOrganizationResponse {
2783
2976
  accountEnrollmentStatuses?: AccountEnrollmentStatus[];
2784
2977
  /**
2785
2978
  * <p>The token to use to advance to the next page of account enrollment statuses.</p>
2786
- *
2787
2979
  * <p>This value is null when there are no more pages of account enrollment statuses to
2788
2980
  * return.</p>
2789
2981
  */
@@ -2799,7 +2991,6 @@ export interface GetLambdaFunctionRecommendationsRequest {
2799
2991
  /**
2800
2992
  * <p>The Amazon Resource Name (ARN) of the functions for which to return
2801
2993
  * recommendations.</p>
2802
- *
2803
2994
  * <p>You can specify a qualified or unqualified ARN. If you specify an unqualified ARN
2804
2995
  * without a function version suffix, Compute Optimizer will return recommendations for the
2805
2996
  * latest (<code>$LATEST</code>) version of the function. If you specify a qualified ARN
@@ -2812,10 +3003,8 @@ export interface GetLambdaFunctionRecommendationsRequest {
2812
3003
  /**
2813
3004
  * <p>The ID of the Amazon Web Services account for which to return function
2814
3005
  * recommendations.</p>
2815
- *
2816
3006
  * <p>If your account is the management account of an organization, use this parameter to
2817
3007
  * specify the member account for which you want to return function recommendations.</p>
2818
- *
2819
3008
  * <p>Only one account ID can be specified per request.</p>
2820
3009
  */
2821
3010
  accountIds?: string[];
@@ -2830,7 +3019,6 @@ export interface GetLambdaFunctionRecommendationsRequest {
2830
3019
  nextToken?: string;
2831
3020
  /**
2832
3021
  * <p>The maximum number of function recommendations to return with a single request.</p>
2833
- *
2834
3022
  * <p>To retrieve the remaining results, make another request with the returned
2835
3023
  * <code>nextToken</code> value.</p>
2836
3024
  */
@@ -2891,7 +3079,6 @@ export declare namespace LambdaFunctionMemoryProjectedMetric {
2891
3079
  export interface LambdaFunctionMemoryRecommendationOption {
2892
3080
  /**
2893
3081
  * <p>The rank of the function recommendation option.</p>
2894
- *
2895
3082
  * <p>The top recommendation option is ranked as <code>1</code>.</p>
2896
3083
  */
2897
3084
  rank?: number;
@@ -2904,6 +3091,12 @@ export interface LambdaFunctionMemoryRecommendationOption {
2904
3091
  * recommendation option.</p>
2905
3092
  */
2906
3093
  projectedUtilizationMetrics?: LambdaFunctionMemoryProjectedMetric[];
3094
+ /**
3095
+ * <p>An object that describes the savings opportunity for the Lambda function
3096
+ * recommendation option. Savings opportunity includes the estimated monthly savings amount
3097
+ * and percentage.</p>
3098
+ */
3099
+ savingsOpportunity?: SavingsOpportunity;
2907
3100
  }
2908
3101
  export declare namespace LambdaFunctionMemoryRecommendationOption {
2909
3102
  /**
@@ -2925,7 +3118,6 @@ export declare enum LambdaFunctionMetricStatistic {
2925
3118
  export interface LambdaFunctionUtilizationMetric {
2926
3119
  /**
2927
3120
  * <p>The name of the utilization metric.</p>
2928
- *
2929
3121
  * <p>The following utilization metrics are available:</p>
2930
3122
  * <ul>
2931
3123
  * <li>
@@ -2942,11 +3134,9 @@ export interface LambdaFunctionUtilizationMetric {
2942
3134
  name?: LambdaFunctionMetricName | string;
2943
3135
  /**
2944
3136
  * <p>The statistic of the utilization metric.</p>
2945
- *
2946
3137
  * <p>The Compute Optimizer API, Command Line Interface (CLI), and SDKs
2947
3138
  * return utilization metrics using only the <code>Maximum</code> statistic, which is the
2948
3139
  * highest value observed during the specified period.</p>
2949
- *
2950
3140
  * <p>The Compute Optimizer console displays graphs for some utilization metrics using the
2951
3141
  * <code>Average</code> statistic, which is the value of <code>Sum</code> /
2952
3142
  * <code>SampleCount</code> during the specified period. For more information, see
@@ -3002,12 +3192,11 @@ export interface LambdaFunctionRecommendation {
3002
3192
  */
3003
3193
  lookbackPeriodInDays?: number;
3004
3194
  /**
3005
- * <p>The timestamp of when the function recommendation was last refreshed.</p>
3195
+ * <p>The timestamp of when the function recommendation was last generated.</p>
3006
3196
  */
3007
3197
  lastRefreshTimestamp?: Date;
3008
3198
  /**
3009
3199
  * <p>The finding classification of the function.</p>
3010
- *
3011
3200
  * <p>Findings for functions include:</p>
3012
3201
  * <ul>
3013
3202
  * <li>
@@ -3109,6 +3298,12 @@ export interface LambdaFunctionRecommendation {
3109
3298
  * the function.</p>
3110
3299
  */
3111
3300
  memorySizeRecommendationOptions?: LambdaFunctionMemoryRecommendationOption[];
3301
+ /**
3302
+ * <p>The risk of the current Lambda function not meeting the performance needs
3303
+ * of its workloads. The higher the risk, the more likely the current Lambda
3304
+ * function configuration is underperforming in its workload.</p>
3305
+ */
3306
+ currentPerformanceRisk?: CurrentPerformanceRisk | string;
3112
3307
  }
3113
3308
  export declare namespace LambdaFunctionRecommendation {
3114
3309
  /**
@@ -3119,7 +3314,6 @@ export declare namespace LambdaFunctionRecommendation {
3119
3314
  export interface GetLambdaFunctionRecommendationsResponse {
3120
3315
  /**
3121
3316
  * <p>The token to use to advance to the next page of function recommendations.</p>
3122
- *
3123
3317
  * <p>This value is null when there are no more pages of function recommendations to
3124
3318
  * return.</p>
3125
3319
  */
@@ -3135,14 +3329,100 @@ export declare namespace GetLambdaFunctionRecommendationsResponse {
3135
3329
  */
3136
3330
  const filterSensitiveLog: (obj: GetLambdaFunctionRecommendationsResponse) => any;
3137
3331
  }
3332
+ export interface GetRecommendationPreferencesRequest {
3333
+ /**
3334
+ * <p>The target resource type of the recommendation preference for which to return
3335
+ * preferences.</p>
3336
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3337
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3338
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3339
+ */
3340
+ resourceType: ResourceType | string | undefined;
3341
+ /**
3342
+ * <p>An object that describes the scope of the recommendation preference to return.</p>
3343
+ * <p>You can return recommendation preferences that are created at the organization level
3344
+ * (for management accounts of an organization only), account level, and resource level.
3345
+ * For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3346
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3347
+ * Guide</i>.</p>
3348
+ */
3349
+ scope?: Scope;
3350
+ /**
3351
+ * <p>The token to advance to the next page of recommendation preferences.</p>
3352
+ */
3353
+ nextToken?: string;
3354
+ /**
3355
+ * <p>The maximum number of recommendation preferences to return with a single
3356
+ * request.</p>
3357
+ * <p>To retrieve the remaining results, make another request with the returned
3358
+ * <code>nextToken</code> value.</p>
3359
+ */
3360
+ maxResults?: number;
3361
+ }
3362
+ export declare namespace GetRecommendationPreferencesRequest {
3363
+ /**
3364
+ * @internal
3365
+ */
3366
+ const filterSensitiveLog: (obj: GetRecommendationPreferencesRequest) => any;
3367
+ }
3368
+ /**
3369
+ * <p>Describes a recommendation preference.</p>
3370
+ */
3371
+ export interface RecommendationPreferencesDetail {
3372
+ /**
3373
+ * <p>An object that describes the scope of the recommendation preference.</p>
3374
+ * <p>Recommendation preferences can be created at the organization level (for management
3375
+ * accounts of an organization only), account level, and resource level. For more
3376
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3377
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3378
+ * Guide</i>.</p>
3379
+ */
3380
+ scope?: Scope;
3381
+ /**
3382
+ * <p>The target resource type of the recommendation preference to create.</p>
3383
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3384
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3385
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3386
+ */
3387
+ resourceType?: ResourceType | string;
3388
+ /**
3389
+ * <p>The status of the enhanced infrastructure metrics recommendation preference.</p>
3390
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3391
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3392
+ * applied.</p>
3393
+ */
3394
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3395
+ }
3396
+ export declare namespace RecommendationPreferencesDetail {
3397
+ /**
3398
+ * @internal
3399
+ */
3400
+ const filterSensitiveLog: (obj: RecommendationPreferencesDetail) => any;
3401
+ }
3402
+ export interface GetRecommendationPreferencesResponse {
3403
+ /**
3404
+ * <p>The token to use to advance to the next page of recommendation preferences.</p>
3405
+ * <p>This value is null when there are no more pages of recommendation preferences to
3406
+ * return.</p>
3407
+ */
3408
+ nextToken?: string;
3409
+ /**
3410
+ * <p>An array of objects that describe recommendation preferences.</p>
3411
+ */
3412
+ recommendationPreferencesDetails?: RecommendationPreferencesDetail[];
3413
+ }
3414
+ export declare namespace GetRecommendationPreferencesResponse {
3415
+ /**
3416
+ * @internal
3417
+ */
3418
+ const filterSensitiveLog: (obj: GetRecommendationPreferencesResponse) => any;
3419
+ }
3138
3420
  export interface GetRecommendationSummariesRequest {
3139
3421
  /**
3140
3422
  * <p>The ID of the Amazon Web Services account for which to return recommendation
3141
3423
  * summaries.</p>
3142
- *
3143
3424
  * <p>If your account is the management account of an organization, use this parameter to
3144
3425
  * specify the member account for which you want to return recommendation summaries.</p>
3145
- *
3146
3426
  * <p>Only one account ID can be specified per request.</p>
3147
3427
  */
3148
3428
  accountIds?: string[];
@@ -3152,7 +3432,6 @@ export interface GetRecommendationSummariesRequest {
3152
3432
  nextToken?: string;
3153
3433
  /**
3154
3434
  * <p>The maximum number of recommendation summaries to return with a single request.</p>
3155
- *
3156
3435
  * <p>To retrieve the remaining results, make another request with the returned
3157
3436
  * <code>nextToken</code> value.</p>
3158
3437
  */
@@ -3164,6 +3443,37 @@ export declare namespace GetRecommendationSummariesRequest {
3164
3443
  */
3165
3444
  const filterSensitiveLog: (obj: GetRecommendationSummariesRequest) => any;
3166
3445
  }
3446
+ /**
3447
+ * <p>Describes the performance risk ratings for a given resource type.</p>
3448
+ * <p>Resources with a <code>high</code> or <code>medium</code> rating are at risk of not
3449
+ * meeting the performance needs of their workloads, while resources with a
3450
+ * <code>low</code> rating are performing well in their workloads.</p>
3451
+ */
3452
+ export interface CurrentPerformanceRiskRatings {
3453
+ /**
3454
+ * <p>A count of the applicable resource types with a high performance risk rating.</p>
3455
+ */
3456
+ high?: number;
3457
+ /**
3458
+ * <p>A count of the applicable resource types with a medium performance risk rating.</p>
3459
+ */
3460
+ medium?: number;
3461
+ /**
3462
+ * <p>A count of the applicable resource types with a low performance risk rating.</p>
3463
+ */
3464
+ low?: number;
3465
+ /**
3466
+ * <p>A count of the applicable resource types with a very low performance risk
3467
+ * rating.</p>
3468
+ */
3469
+ veryLow?: number;
3470
+ }
3471
+ export declare namespace CurrentPerformanceRiskRatings {
3472
+ /**
3473
+ * @internal
3474
+ */
3475
+ const filterSensitiveLog: (obj: CurrentPerformanceRiskRatings) => any;
3476
+ }
3167
3477
  export declare enum FindingReasonCode {
3168
3478
  MEMORY_OVER_PROVISIONED = "MemoryOverprovisioned",
3169
3479
  MEMORY_UNDER_PROVISIONED = "MemoryUnderprovisioned"
@@ -3219,13 +3529,23 @@ export interface RecommendationSummary {
3219
3529
  */
3220
3530
  summaries?: Summary[];
3221
3531
  /**
3222
- * <p>The resource type of the recommendation.</p>
3532
+ * <p>The resource type that the recommendation summary applies to.</p>
3223
3533
  */
3224
3534
  recommendationResourceType?: RecommendationSourceType | string;
3225
3535
  /**
3226
3536
  * <p>The Amazon Web Services account ID of the recommendation summary.</p>
3227
3537
  */
3228
3538
  accountId?: string;
3539
+ /**
3540
+ * <p>An object that describes the savings opportunity for a given resource type. Savings
3541
+ * opportunity includes the estimated monthly savings amount and percentage.</p>
3542
+ */
3543
+ savingsOpportunity?: SavingsOpportunity;
3544
+ /**
3545
+ * <p>An object that describes the performance risk ratings for a given resource
3546
+ * type.</p>
3547
+ */
3548
+ currentPerformanceRiskRatings?: CurrentPerformanceRiskRatings;
3229
3549
  }
3230
3550
  export declare namespace RecommendationSummary {
3231
3551
  /**
@@ -3236,7 +3556,6 @@ export declare namespace RecommendationSummary {
3236
3556
  export interface GetRecommendationSummariesResponse {
3237
3557
  /**
3238
3558
  * <p>The token to use to advance to the next page of recommendation summaries.</p>
3239
- *
3240
3559
  * <p>This value is null when there are no more pages of recommendation summaries to
3241
3560
  * return.</p>
3242
3561
  */
@@ -3252,12 +3571,58 @@ export declare namespace GetRecommendationSummariesResponse {
3252
3571
  */
3253
3572
  const filterSensitiveLog: (obj: GetRecommendationSummariesResponse) => any;
3254
3573
  }
3574
+ export interface PutRecommendationPreferencesRequest {
3575
+ /**
3576
+ * <p>The target resource type of the recommendation preference to create.</p>
3577
+ * <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances
3578
+ * that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option
3579
+ * encompasses only instances that are part of an Auto Scaling group.</p>
3580
+ */
3581
+ resourceType: ResourceType | string | undefined;
3582
+ /**
3583
+ * <p>An object that describes the scope of the recommendation preference to create.</p>
3584
+ * <p>You can create recommendation preferences at the organization level (for management
3585
+ * accounts of an organization only), account level, and resource level. For more
3586
+ * information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3587
+ * enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3588
+ * Guide</i>.</p>
3589
+ * <note>
3590
+ * <p>You cannot create recommendation preferences for Auto Scaling groups at the
3591
+ * organization and account levels. You can create recommendation preferences for
3592
+ * Auto Scaling groups only at the resource level by specifying a scope name
3593
+ * of <code>ResourceArn</code> and a scope value of the Auto Scaling group Amazon
3594
+ * Resource Name (ARN). This will configure the preference for all instances that are
3595
+ * part of the specified the Auto Scaling group.</p>
3596
+ * </note>
3597
+ */
3598
+ scope?: Scope;
3599
+ /**
3600
+ * <p>The status of the enhanced infrastructure metrics recommendation preference to create
3601
+ * or update.</p>
3602
+ * <p>A status of <code>Active</code> confirms that the preference is applied in the latest
3603
+ * recommendation refresh, and a status of <code>Inactive</code> confirms that it's not yet
3604
+ * applied.</p>
3605
+ */
3606
+ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string;
3607
+ }
3608
+ export declare namespace PutRecommendationPreferencesRequest {
3609
+ /**
3610
+ * @internal
3611
+ */
3612
+ const filterSensitiveLog: (obj: PutRecommendationPreferencesRequest) => any;
3613
+ }
3614
+ export interface PutRecommendationPreferencesResponse {
3615
+ }
3616
+ export declare namespace PutRecommendationPreferencesResponse {
3617
+ /**
3618
+ * @internal
3619
+ */
3620
+ const filterSensitiveLog: (obj: PutRecommendationPreferencesResponse) => any;
3621
+ }
3255
3622
  export interface UpdateEnrollmentStatusRequest {
3256
3623
  /**
3257
3624
  * <p>The new enrollment status of the account.</p>
3258
- *
3259
3625
  * <p>The following status options are available:</p>
3260
- *
3261
3626
  * <ul>
3262
3627
  * <li>
3263
3628
  * <p>
@@ -3273,7 +3638,6 @@ export interface UpdateEnrollmentStatusRequest {
3273
3638
  * from Compute Optimizer after you opt out.</p>
3274
3639
  * </li>
3275
3640
  * </ul>
3276
- *
3277
3641
  * <note>
3278
3642
  * <p>The <code>Pending</code> and <code>Failed</code> options cannot be used to update
3279
3643
  * the enrollment status of an account. They are returned in the response of a request