You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ee549ff
Browse filesBrowse the repository at this point in the historyBrowse files
feat(billing-cost-management-mcp-server): add cpu_vendor_architectures to Compute Optimizer EC2, ASG, and RDS recommendations (#4742)
Add an optional cpu_vendor_architectures parameter to
get_ec2_instance_recommendations, get_auto_scaling_group_recommendations,
and get_rds_recommendations to request Graviton recommendations. Values
(CURRENT, AWS_ARM64) are matched case- and underscore-insensitively and sent
as recommendationPreferences.cpuVendorArchitectures; the response echoes them
as applied_recommendation_preferences. Other operations and invalid values
are rejected with a structured validation_error.
Copy file name to clipboardExpand all lines: src/billing-cost-management-mcp-server/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## Unreleased
9
9
### Added
10
+
- Added an optional `cpu_vendor_architectures` parameter to the AWS Compute Optimizer `get_ec2_instance_recommendations`, `get_auto_scaling_group_recommendations`, and `get_rds_recommendations` operations to request Graviton recommendations. It takes a JSON array (or a single value) of `CURRENT` and/or `AWS_ARM64`, matched case- and underscore-insensitively, and is sent as `recommendationPreferences.cpuVendorArchitectures`; without it the API ranks options within the current CPU architecture. The response echoes the preference as `applied_recommendation_preferences`. Other operations reject the parameter with a structured `validation_error`, as do values outside `CURRENT`/`AWS_ARM64`.
10
11
- Added an optional `resource_arns` parameter to the `compute-optimizer` tool to look up recommendations for specific resources. It is sent as each operation's ARN filter (`instanceArns`, `autoScalingGroupArns`, `volumeArns`, `functionArns`, `serviceArns`, or `resourceArns` for RDS and idle), so a single resource no longer requires paging the full recommendation list. A single bare ARN is accepted as well as a JSON array. The region is taken from the ARNs when `region` is omitted; ARNs spanning multiple regions, or in a different region than `region`, are rejected.
11
12
- Added an optional `order_by` parameter to the AWS Compute Optimizer `get_idle_recommendations` operation (`{"dimension": "SavingsValue"|"SavingsValueAfterDiscount", "order": "Asc"|"Desc"}`, matched case-insensitively). Idle results now default to `SavingsValueAfterDiscount` descending, so the first page holds the largest savings. Other operations reject `order_by` rather than ignore it.
12
13
- Added more fields to the AWS Compute Optimizer recommendation responses, including finding reason codes, current performance risk, inferred workload types, migration effort, GPU info, savings after discounts, utilization metrics, lookback period, and effective recommendation preferences, plus Auto Scaling group capacity, EBS volume configuration, and RDS cluster and storage details. The EC2, Auto Scaling group, EBS, RDS, and ECS responses now also carry the API's response-level `errors` list (Lambda's API has none).
Copy file name to clipboardExpand all lines: src/billing-cost-management-mcp-server/awslabs/billing_cost_management_mcp_server/tools/compute_optimizer_tools.py
+157-9Lines changed: 157 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,19 @@
119
119
default. To change it, pass `order_by` as a JSON object, e.g.
120
120
'{"dimension": "SavingsValue", "order": "Asc"}' (dimension: SavingsValue or
121
121
SavingsValueAfterDiscount; order: Asc or Desc). Only get_idle_recommendations accepts
122
-
`order_by`.""",
122
+
`order_by`.
123
+
124
+
EC2, Auto Scaling group, and RDS recommendations rank options within the current CPU
125
+
architecture by default (cpuVendorArchitectures CURRENT). To get Graviton options, pass
126
+
`cpu_vendor_architectures` as a JSON array, e.g. '["AWS_ARM64"]' (Graviton only). Values:
127
+
CURRENT, AWS_ARM64. '["CURRENT", "AWS_ARM64"]' ranks both architectures in one pool and
128
+
still returns only the top options (usually all Graviton); to compare x86 with Graviton,
129
+
make one call without the parameter and one with '["AWS_ARM64"]'. This is a per-request
130
+
preference, not an account setting; the result echoes it as
131
+
`applied_recommendation_preferences`, and each recommendation's
132
+
`effective_recommendation_preferences.cpuVendorArchitectures` reflects it. Only
133
+
get_ec2_instance_recommendations, get_auto_scaling_group_recommendations, and
0 commit comments