Skip to content

Commit 6974a5e

Browse files
feat: Add support for desired_capacity_type (named desired_size_type) on self-managed node group (#3166)
* set desired_capacity_type * fix: Add variable with `null` type and pass through node group --------- Co-authored-by: Bryant Biggs <[email protected]>
1 parent 159db95 commit 6974a5e

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

modules/self-managed-node-group/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ module "self_managed_node_group" {
117117
| <a name="input_default_instance_warmup"></a> [default\_instance\_warmup](#input\_default\_instance\_warmup) | Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data | `number` | `null` | no |
118118
| <a name="input_delete_timeout"></a> [delete\_timeout](#input\_delete\_timeout) | Delete timeout to wait for destroying autoscaling group | `string` | `null` | no |
119119
| <a name="input_desired_size"></a> [desired\_size](#input\_desired\_size) | The number of Amazon EC2 instances that should be running in the autoscaling group | `number` | `1` | no |
120+
| <a name="input_desired_size_type"></a> [desired\_size\_type](#input\_desired\_size\_type) | The unit of measurement for the value specified for `desired_size`. Supported for attribute-based instance type selection only. Valid values: `units`, `vcpu`, `memory-mib` | `string` | `null` | no |
120121
| <a name="input_disable_api_termination"></a> [disable\_api\_termination](#input\_disable\_api\_termination) | If true, enables EC2 instance termination protection | `bool` | `null` | no |
121122
| <a name="input_ebs_optimized"></a> [ebs\_optimized](#input\_ebs\_optimized) | If true, the launched EC2 instance will be EBS-optimized | `bool` | `null` | no |
122123
| <a name="input_elastic_gpu_specifications"></a> [elastic\_gpu\_specifications](#input\_elastic\_gpu\_specifications) | The elastic GPU to attach to the instance | `any` | `{}` | no |

modules/self-managed-node-group/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,7 @@ resource "aws_autoscaling_group" "this" {
502502
default_cooldown = var.default_cooldown
503503
default_instance_warmup = var.default_instance_warmup
504504
desired_capacity = var.desired_size
505+
desired_capacity_type = var.desired_size_type
505506
enabled_metrics = var.enabled_metrics
506507
force_delete = var.force_delete
507508
force_delete_warm_pool = var.force_delete_warm_pool

modules/self-managed-node-group/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,12 @@ variable "desired_size" {
420420
default = 1
421421
}
422422

423+
variable "desired_size_type" {
424+
description = "The unit of measurement for the value specified for `desired_size`. Supported for attribute-based instance type selection only. Valid values: `units`, `vcpu`, `memory-mib`"
425+
type = string
426+
default = null
427+
}
428+
423429
variable "ignore_failed_scaling_activities" {
424430
description = "Whether to ignore failed Auto Scaling scaling activities while waiting for capacity."
425431
type = bool

node_groups.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ module "self_managed_node_group" {
435435
min_size = try(each.value.min_size, var.self_managed_node_group_defaults.min_size, 0)
436436
max_size = try(each.value.max_size, var.self_managed_node_group_defaults.max_size, 3)
437437
desired_size = try(each.value.desired_size, var.self_managed_node_group_defaults.desired_size, 1)
438+
desired_size_type = try(each.value.desired_size_type, var.self_managed_node_group_defaults.desired_size_type, null)
438439
capacity_rebalance = try(each.value.capacity_rebalance, var.self_managed_node_group_defaults.capacity_rebalance, null)
439440
min_elb_capacity = try(each.value.min_elb_capacity, var.self_managed_node_group_defaults.min_elb_capacity, null)
440441
wait_for_elb_capacity = try(each.value.wait_for_elb_capacity, var.self_managed_node_group_defaults.wait_for_elb_capacity, null)

0 commit comments

Comments
 (0)