Skip to content

Commit 550987c

Browse files
author
awstools
committed
feat(client-compute-optimizer): Compute Optimizer now identifies idle NAT Gateway resources for cost optimization based on traffic patterns and backup configuration analysis. Access recommendations via the GetIdleRecommendations API.
1 parent ea851b9 commit 550987c

10 files changed

+226
-163
lines changed

clients/client-compute-optimizer/src/commands/ExportAutoScalingGroupRecommendationsCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ export interface ExportAutoScalingGroupRecommendationsCommandOutput
3333
__MetadataBearer {}
3434

3535
/**
36-
* <p>Exports optimization recommendations for Auto Scaling groups.</p>
36+
* <p>Exports optimization recommendations for Amazon EC2 Auto Scaling groups.</p>
3737
* <p>Recommendations are exported in a comma-separated values (.csv) file, and its metadata
3838
* in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html">Exporting
3939
* Recommendations</a> in the <i>Compute Optimizer User
4040
* Guide</i>.</p>
41-
* <p>You can have only one Auto Scaling group export job in progress per Amazon Web Services Region.</p>
41+
* <p>You can have only one Amazon EC2 Auto Scaling group export job in progress per Amazon Web Services Region.</p>
4242
* @example
4343
* Use a bare-bones client and the command you need to make an API call.
4444
* ```javascript

clients/client-compute-optimizer/src/commands/ExportIdleRecommendationsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export interface ExportIdleRecommendationsCommandOutput extends ExportIdleRecomm
5656
* },
5757
* ],
5858
* fieldsToExport: [ // ExportableIdleFields
59-
* "AccountId" || "ResourceArn" || "ResourceId" || "ResourceType" || "LastRefreshTimestamp" || "LookbackPeriodInDays" || "SavingsOpportunity" || "SavingsOpportunityAfterDiscount" || "UtilizationMetricsCpuMaximum" || "UtilizationMetricsMemoryMaximum" || "UtilizationMetricsNetworkOutBytesPerSecondMaximum" || "UtilizationMetricsNetworkInBytesPerSecondMaximum" || "UtilizationMetricsDatabaseConnectionsMaximum" || "UtilizationMetricsEBSVolumeReadIOPSMaximum" || "UtilizationMetricsEBSVolumeWriteIOPSMaximum" || "UtilizationMetricsVolumeReadOpsPerSecondMaximum" || "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" || "Finding" || "FindingDescription" || "Tags",
59+
* "AccountId" || "ResourceArn" || "ResourceId" || "ResourceType" || "LastRefreshTimestamp" || "LookbackPeriodInDays" || "SavingsOpportunity" || "SavingsOpportunityAfterDiscount" || "UtilizationMetricsCpuMaximum" || "UtilizationMetricsMemoryMaximum" || "UtilizationMetricsNetworkOutBytesPerSecondMaximum" || "UtilizationMetricsNetworkInBytesPerSecondMaximum" || "UtilizationMetricsDatabaseConnectionsMaximum" || "UtilizationMetricsEBSVolumeReadIOPSMaximum" || "UtilizationMetricsEBSVolumeWriteIOPSMaximum" || "UtilizationMetricsVolumeReadOpsPerSecondMaximum" || "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" || "UtilizationMetricsActiveConnectionCountMaximum" || "UtilizationMetricsPacketsInFromSourceMaximum" || "UtilizationMetricsPacketsInFromDestinationMaximum" || "Finding" || "FindingDescription" || "Tags",
6060
* ],
6161
* s3DestinationConfig: { // S3DestinationConfig
6262
* bucket: "STRING_VALUE",

clients/client-compute-optimizer/src/commands/GetAutoScalingGroupRecommendationsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface GetAutoScalingGroupRecommendationsCommandOutput
3232
__MetadataBearer {}
3333

3434
/**
35-
* <p>Returns Auto Scaling group recommendations.</p>
35+
* <p>Returns Amazon EC2 Auto Scaling group recommendations.</p>
3636
* <p>Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that
3737
* meet a specific set of requirements. For more information, see the <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html">Supported
3838
* resources and requirements</a> in the <i>Compute Optimizer User

clients/client-compute-optimizer/src/commands/GetEC2InstanceRecommendationsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export interface GetEC2InstanceRecommendationsCommandOutput
130130
* // recommendationSources: [ // RecommendationSources
131131
* // { // RecommendationSource
132132
* // recommendationSourceArn: "STRING_VALUE",
133-
* // recommendationSourceType: "Ec2Instance" || "AutoScalingGroup" || "EbsVolume" || "LambdaFunction" || "EcsService" || "License" || "RdsDBInstance" || "RdsDBInstanceStorage" || "AuroraDBClusterStorage",
133+
* // recommendationSourceType: "Ec2Instance" || "AutoScalingGroup" || "EbsVolume" || "LambdaFunction" || "EcsService" || "License" || "RdsDBInstance" || "RdsDBInstanceStorage" || "AuroraDBClusterStorage" || "NatGateway",
134134
* // },
135135
* // ],
136136
* // lastRefreshTimestamp: new Date("TIMESTAMP"),

clients/client-compute-optimizer/src/commands/GetIdleRecommendationsCommand.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ export interface GetIdleRecommendationsCommandOutput extends GetIdleRecommendati
7070
* // { // IdleRecommendation
7171
* // resourceArn: "STRING_VALUE",
7272
* // resourceId: "STRING_VALUE",
73-
* // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance",
73+
* // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance" || "NatGateway",
7474
* // accountId: "STRING_VALUE",
75-
* // finding: "Idle" || "Unattached",
75+
* // finding: "Idle" || "Unattached" || "Unused",
7676
* // findingDescription: "STRING_VALUE",
7777
* // savingsOpportunity: { // IdleSavingsOpportunity
7878
* // savingsOpportunityPercentage: Number("double"),
@@ -90,7 +90,7 @@ export interface GetIdleRecommendationsCommandOutput extends GetIdleRecommendati
9090
* // },
9191
* // utilizationMetrics: [ // IdleUtilizationMetrics
9292
* // { // IdleUtilizationMetric
93-
* // name: "CPU" || "Memory" || "NetworkOutBytesPerSecond" || "NetworkInBytesPerSecond" || "DatabaseConnections" || "EBSVolumeReadIOPS" || "EBSVolumeWriteIOPS" || "VolumeReadOpsPerSecond" || "VolumeWriteOpsPerSecond",
93+
* // name: "CPU" || "Memory" || "NetworkOutBytesPerSecond" || "NetworkInBytesPerSecond" || "DatabaseConnections" || "EBSVolumeReadIOPS" || "EBSVolumeWriteIOPS" || "VolumeReadOpsPerSecond" || "VolumeWriteOpsPerSecond" || "ActiveConnectionCount" || "PacketsInFromSource" || "PacketsInFromDestination",
9494
* // statistic: "Maximum" || "Average",
9595
* // value: Number("double"),
9696
* // },
@@ -110,7 +110,7 @@ export interface GetIdleRecommendationsCommandOutput extends GetIdleRecommendati
110110
* // identifier: "STRING_VALUE",
111111
* // code: "STRING_VALUE",
112112
* // message: "STRING_VALUE",
113-
* // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance",
113+
* // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance" || "NatGateway",
114114
* // },
115115
* // ],
116116
* // };

clients/client-compute-optimizer/src/commands/GetRecommendationPreferencesCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface GetRecommendationPreferencesCommandOutput
3333
* metrics.</p>
3434
* <p>Use the <code>scope</code> parameter to specify which preferences to return. You can
3535
* specify to return preferences for an organization, a specific account ID, or a specific
36-
* EC2 instance or Auto Scaling group Amazon Resource Name (ARN).</p>
36+
* EC2 instance or Amazon EC2 Auto Scaling group Amazon Resource Name (ARN).</p>
3737
* <p>For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating
3838
* enhanced infrastructure metrics</a> in the <i>Compute Optimizer User
3939
* Guide</i>.</p>

clients/client-compute-optimizer/src/commands/GetRecommendationSummariesCommand.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export interface GetRecommendationSummariesCommandOutput extends GetRecommendati
3636
* <code>Optimized</code>.</p>
3737
* </li>
3838
* <li>
39-
* <p>EC2Auto Scaling groups in an account that are <code>NotOptimized</code>, or
39+
* <p>EC2Amazon EC2 Auto Scaling groups in an account that are <code>NotOptimized</code>, or
4040
* <code>Optimized</code>.</p>
4141
* </li>
4242
* <li>
@@ -95,11 +95,11 @@ export interface GetRecommendationSummariesCommandOutput extends GetRecommendati
9595
* // ],
9696
* // idleSummaries: [ // IdleSummaries
9797
* // { // IdleSummary
98-
* // name: "Idle" || "Unattached",
98+
* // name: "Idle" || "Unattached" || "Unused",
9999
* // value: Number("double"),
100100
* // },
101101
* // ],
102-
* // recommendationResourceType: "Ec2Instance" || "AutoScalingGroup" || "EbsVolume" || "LambdaFunction" || "EcsService" || "License" || "RdsDBInstance" || "RdsDBInstanceStorage" || "AuroraDBClusterStorage",
102+
* // recommendationResourceType: "Ec2Instance" || "AutoScalingGroup" || "EbsVolume" || "LambdaFunction" || "EcsService" || "License" || "RdsDBInstance" || "RdsDBInstanceStorage" || "AuroraDBClusterStorage" || "NatGateway",
103103
* // accountId: "STRING_VALUE",
104104
* // savingsOpportunity: { // SavingsOpportunity
105105
* // savingsOpportunityPercentage: Number("double"),

clients/client-compute-optimizer/src/models/enums.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -754,13 +754,16 @@ export const ExportableIdleField = {
754754
SAVINGS_OPPORTUNITY: "SavingsOpportunity",
755755
SAVINGS_OPPORTUNITY_AFTER_DISCOUNT: "SavingsOpportunityAfterDiscount",
756756
TAGS: "Tags",
757+
UTILIZATION_METRICS_ACTIVE_CONNECTION_COUNT_MAXIMUM: "UtilizationMetricsActiveConnectionCountMaximum",
757758
UTILIZATION_METRICS_CPU_MAXIMUM: "UtilizationMetricsCpuMaximum",
758759
UTILIZATION_METRICS_DATABASE_CONNECTIONS_MAXIMUM: "UtilizationMetricsDatabaseConnectionsMaximum",
759760
UTILIZATION_METRICS_EBS_VOLUME_READ_IOPS_MAXIMUM: "UtilizationMetricsEBSVolumeReadIOPSMaximum",
760761
UTILIZATION_METRICS_EBS_VOLUME_WRITE_IOPS_MAXIMUM: "UtilizationMetricsEBSVolumeWriteIOPSMaximum",
761762
UTILIZATION_METRICS_MEMORY_MAXIMUM: "UtilizationMetricsMemoryMaximum",
762763
UTILIZATION_METRICS_NETWORK_IN_BYTES_PER_SECOND_MAXIMUM: "UtilizationMetricsNetworkInBytesPerSecondMaximum",
763764
UTILIZATION_METRICS_NETWORK_OUT_BYTES_PER_SECOND_MAXIMUM: "UtilizationMetricsNetworkOutBytesPerSecondMaximum",
765+
UTILIZATION_METRICS_PACKETS_IN_FROM_DESTINATION_MAXIMUM: "UtilizationMetricsPacketsInFromDestinationMaximum",
766+
UTILIZATION_METRICS_PACKETS_IN_FROM_SOURCE_MAXIMUM: "UtilizationMetricsPacketsInFromSourceMaximum",
764767
UTILIZATION_METRICS_VOLUME_READ_OPS_PER_SECOND_MAXIMUM: "UtilizationMetricsVolumeReadOpsPerSecondMaximum",
765768
UTILIZATION_METRICS_VOLUME_WRITE_OPS_PER_SECOND_MAXIMUM: "UtilizationMetricsVolumeWriteOpsPerSecondMaximum",
766769
} as const;
@@ -1189,6 +1192,7 @@ export const RecommendationSourceType = {
11891192
ECS_SERVICE: "EcsService",
11901193
LAMBDA_FUNCTION: "LambdaFunction",
11911194
LICENSE: "License",
1195+
NAT_GATEWAY: "NatGateway",
11921196
RDS_DB_INSTANCE: "RdsDBInstance",
11931197
RDS_DB_INSTANCE_STORAGE: "RdsDBInstanceStorage",
11941198
} as const;
@@ -1329,6 +1333,7 @@ export const IdleRecommendationResourceType = {
13291333
EBS_VOLUME: "EBSVolume",
13301334
EC2_INSTANCE: "EC2Instance",
13311335
ECS_SERVICE: "ECSService",
1336+
NAT_GATEWAY: "NatGateway",
13321337
RDS_DB_INSTANCE: "RDSDBInstance",
13331338
} as const;
13341339
/**
@@ -1344,6 +1349,7 @@ export type IdleRecommendationResourceType =
13441349
export const IdleFinding = {
13451350
IDLE: "Idle",
13461351
UNATTACHED: "Unattached",
1352+
UNUSED: "Unused",
13471353
} as const;
13481354
/**
13491355
* @public
@@ -1355,13 +1361,16 @@ export type IdleFinding = (typeof IdleFinding)[keyof typeof IdleFinding];
13551361
* @enum
13561362
*/
13571363
export const IdleMetricName = {
1364+
ACTIVE_CONNECTION_COUNT: "ActiveConnectionCount",
13581365
CPU: "CPU",
13591366
DATABASE_CONNECTIONS: "DatabaseConnections",
13601367
EBS_VOLUME_READ_IOPS: "EBSVolumeReadIOPS",
13611368
EBS_VOLUME_WRITE_IOPS: "EBSVolumeWriteIOPS",
13621369
MEMORY: "Memory",
13631370
NETWORK_IN_BYTES_PER_SECOND: "NetworkInBytesPerSecond",
13641371
NETWORK_OUT_BYTES_PER_SECOND: "NetworkOutBytesPerSecond",
1372+
PACKETS_IN_FROM_DESTINATION: "PacketsInFromDestination",
1373+
PACKETS_IN_FROM_SOURCE: "PacketsInFromSource",
13651374
VOLUME_READ_OPS_PER_SECOND: "VolumeReadOpsPerSecond",
13661375
VOLUME_WRITE_OPS_PER_SECOND: "VolumeWriteOpsPerSecond",
13671376
} as const;

0 commit comments

Comments
 (0)