Skip to content

Commit

Permalink
Added custom name to capacity provider (#51)
Browse files Browse the repository at this point in the history
* Added capacity provider name customization using value 'name', default is property key

* Added missing variable 'name' with default value as null

* Added missing variable 'name' with default value as null

* Fixed evaluating name property

* Updated readme with the newest name parameter

* Updated readme after breaking layout adding new property name

* Enhancement: used coalesce instead of ternary operator while evaluating name property

Co-authored-by: Veronika Gnilitska <30597968+gberenice@users.noreply.github.com>

* Updated readme using the provided commands

* Add missing description for region and availability_zones

* Fix format

---------

Co-authored-by: Carlo Lucadei <clucadei@kseniasecurity.com>
Co-authored-by: Veronika Gnilitska <30597968+gberenice@users.noreply.github.com>
  • Loading branch information
3 people authored Sep 12, 2024
1 parent cdd8830 commit f790f45
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ Available targets:
|------|-------------|------|---------|:--------:|
| <a name="input_additional_tag_map"></a> [additional\_tag\_map](#input\_additional\_tag\_map) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not added to `tags` or `id`.<br>This is for some rare cases where resources want additional configuration of tags<br>and therefore take a list of maps with tag key, value, and additional configuration. | `map(string)` | `{}` | no |
| <a name="input_attributes"></a> [attributes](#input\_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,<br>in the order they appear in the list. New attributes are appended to the<br>end of the list. The elements of the list are joined by the `delimiter`<br>and treated as a single ID element. | `list(string)` | `[]` | no |
| <a name="input_capacity_providers_ec2"></a> [capacity\_providers\_ec2](#input\_capacity\_providers\_ec2) | EC2 autoscale groups capacity providers | <pre>map(object({<br> instance_type = string<br> max_size = number<br> min_size = number<br> subnet_ids = list(string)<br> security_group_ids = list(string)<br><br> image_id = optional(string, null)<br> instance_initiated_shutdown_behavior = optional(string, "terminate")<br> key_name = optional(string, "")<br> user_data = optional(string, "")<br> enable_monitoring = optional(bool, true)<br> instance_warmup_period = optional(number, 300)<br> maximum_scaling_step_size = optional(number, 1)<br> minimum_scaling_step_size = optional(number, 1)<br> target_capacity_utilization = optional(number, 100)<br> ebs_optimized = optional(bool, false)<br> associate_public_ip_address = optional(bool, false)<br> block_device_mappings = optional(list(object({<br> device_name = string<br> no_device = bool<br> virtual_name = string<br> ebs = object({<br> delete_on_termination = bool<br> encrypted = bool<br> iops = number<br> throughput = number<br> kms_key_id = string<br> snapshot_id = string<br> volume_size = number<br> volume_type = string<br> })<br> })), [])<br> instance_market_options = optional(object({<br> market_type = string<br> spot_options = object({<br> block_duration_minutes = number<br> instance_interruption_behavior = string<br> max_price = number<br> spot_instance_type = string<br> valid_until = string<br> })<br> }))<br> instance_refresh = optional(object({<br> strategy = string<br> preferences = object({<br> instance_warmup = number<br> min_healthy_percentage = number<br> })<br> triggers = list(string)<br> }))<br> mixed_instances_policy = optional(object({<br> instances_distribution = object({<br> on_demand_allocation_strategy = string<br> on_demand_base_capacity = number<br> on_demand_percentage_above_base_capacity = number<br> spot_allocation_strategy = string<br> spot_instance_pools = number<br> spot_max_price = string<br> })<br> }))<br> placement = optional(object({<br> affinity = string<br> availability_zone = string<br> group_name = string<br> host_id = string<br> tenancy = string<br> }))<br> credit_specification = optional(object({<br> cpu_credits = string<br> }))<br> elastic_gpu_specifications = optional(object({<br> type = string<br> }))<br> disable_api_termination = optional(bool, false)<br> default_cooldown = optional(number, 300)<br> health_check_grace_period = optional(number, 300)<br> force_delete = optional(bool, false)<br> termination_policies = optional(list(string), ["Default"])<br> suspended_processes = optional(list(string), [])<br> placement_group = optional(string, "")<br> metrics_granularity = optional(string, "1Minute")<br> enabled_metrics = optional(list(string), [<br> "GroupMinSize",<br> "GroupMaxSize",<br> "GroupDesiredCapacity",<br> "GroupInServiceInstances",<br> "GroupPendingInstances",<br> "GroupStandbyInstances",<br> "GroupTerminatingInstances",<br> "GroupTotalInstances",<br> "GroupInServiceCapacity",<br> "GroupPendingCapacity",<br> "GroupStandbyCapacity",<br> "GroupTerminatingCapacity",<br> "GroupTotalCapacity",<br> "WarmPoolDesiredCapacity",<br> "WarmPoolWarmedCapacity",<br> "WarmPoolPendingCapacity",<br> "WarmPoolTerminatingCapacity",<br> "WarmPoolTotalCapacity",<br> "GroupAndWarmPoolDesiredCapacity",<br> "GroupAndWarmPoolTotalCapacity",<br> ])<br> wait_for_capacity_timeout = optional(string, "10m")<br> service_linked_role_arn = optional(string, "")<br> metadata_http_endpoint_enabled = optional(bool, true)<br> metadata_http_put_response_hop_limit = optional(number, 2)<br> metadata_http_tokens_required = optional(bool, true)<br> metadata_http_protocol_ipv6_enabled = optional(bool, false)<br> tag_specifications_resource_types = optional(set(string), ["instance", "volume"])<br> max_instance_lifetime = optional(number, null)<br> capacity_rebalance = optional(bool, false)<br> update_default_version = optional(bool, false)<br> warm_pool = optional(object({<br> pool_state = string<br> min_size = number<br> max_group_prepared_capacity = number<br> }))<br> }))</pre> | `{}` | no |
| <a name="input_capacity_providers_ec2"></a> [capacity\_providers\_ec2](#input\_capacity\_providers\_ec2) | EC2 autoscale groups capacity providers | <pre>map(object({<br> name = optional(string, null)<br> instance_type = string<br> max_size = number<br> min_size = number<br> subnet_ids = list(string)<br> security_group_ids = list(string)<br><br> image_id = optional(string, null)<br> instance_initiated_shutdown_behavior = optional(string, "terminate")<br> key_name = optional(string, "")<br> user_data = optional(string, "")<br> enable_monitoring = optional(bool, true)<br> instance_warmup_period = optional(number, 300)<br> maximum_scaling_step_size = optional(number, 1)<br> minimum_scaling_step_size = optional(number, 1)<br> target_capacity_utilization = optional(number, 100)<br> ebs_optimized = optional(bool, false)<br> associate_public_ip_address = optional(bool, false)<br> block_device_mappings = optional(list(object({<br> device_name = string<br> no_device = bool<br> virtual_name = string<br> ebs = object({<br> delete_on_termination = bool<br> encrypted = bool<br> iops = number<br> throughput = number<br> kms_key_id = string<br> snapshot_id = string<br> volume_size = number<br> volume_type = string<br> })<br> })), [])<br> instance_market_options = optional(object({<br> market_type = string<br> spot_options = object({<br> block_duration_minutes = number<br> instance_interruption_behavior = string<br> max_price = number<br> spot_instance_type = string<br> valid_until = string<br> })<br> }))<br> instance_refresh = optional(object({<br> strategy = string<br> preferences = object({<br> instance_warmup = number<br> min_healthy_percentage = number<br> })<br> triggers = list(string)<br> }))<br> mixed_instances_policy = optional(object({<br> instances_distribution = object({<br> on_demand_allocation_strategy = string<br> on_demand_base_capacity = number<br> on_demand_percentage_above_base_capacity = number<br> spot_allocation_strategy = string<br> spot_instance_pools = number<br> spot_max_price = string<br> })<br> }))<br> placement = optional(object({<br> affinity = string<br> availability_zone = string<br> group_name = string<br> host_id = string<br> tenancy = string<br> }))<br> credit_specification = optional(object({<br> cpu_credits = string<br> }))<br> elastic_gpu_specifications = optional(object({<br> type = string<br> }))<br> disable_api_termination = optional(bool, false)<br> default_cooldown = optional(number, 300)<br> health_check_grace_period = optional(number, 300)<br> force_delete = optional(bool, false)<br> termination_policies = optional(list(string), ["Default"])<br> suspended_processes = optional(list(string), [])<br> placement_group = optional(string, "")<br> metrics_granularity = optional(string, "1Minute")<br> enabled_metrics = optional(list(string), [<br> "GroupMinSize",<br> "GroupMaxSize",<br> "GroupDesiredCapacity",<br> "GroupInServiceInstances",<br> "GroupPendingInstances",<br> "GroupStandbyInstances",<br> "GroupTerminatingInstances",<br> "GroupTotalInstances",<br> "GroupInServiceCapacity",<br> "GroupPendingCapacity",<br> "GroupStandbyCapacity",<br> "GroupTerminatingCapacity",<br> "GroupTotalCapacity",<br> "WarmPoolDesiredCapacity",<br> "WarmPoolWarmedCapacity",<br> "WarmPoolPendingCapacity",<br> "WarmPoolTerminatingCapacity",<br> "WarmPoolTotalCapacity",<br> "GroupAndWarmPoolDesiredCapacity",<br> "GroupAndWarmPoolTotalCapacity",<br> ])<br> wait_for_capacity_timeout = optional(string, "10m")<br> service_linked_role_arn = optional(string, "")<br> metadata_http_endpoint_enabled = optional(bool, true)<br> metadata_http_put_response_hop_limit = optional(number, 2)<br> metadata_http_tokens_required = optional(bool, true)<br> metadata_http_protocol_ipv6_enabled = optional(bool, false)<br> tag_specifications_resource_types = optional(set(string), ["instance", "volume"])<br> max_instance_lifetime = optional(number, null)<br> capacity_rebalance = optional(bool, false)<br> update_default_version = optional(bool, false)<br> warm_pool = optional(object({<br> pool_state = string<br> min_size = number<br> max_group_prepared_capacity = number<br> }))<br> }))</pre> | `{}` | no |
| <a name="input_capacity_providers_fargate"></a> [capacity\_providers\_fargate](#input\_capacity\_providers\_fargate) | Use FARGATE capacity provider | `bool` | `true` | no |
| <a name="input_capacity_providers_fargate_spot"></a> [capacity\_providers\_fargate\_spot](#input\_capacity\_providers\_fargate\_spot) | Use FARGATE\_SPOT capacity provider | `bool` | `false` | no |
| <a name="input_container_insights_enabled"></a> [container\_insights\_enabled](#input\_container\_insights\_enabled) | Whether or not to enable container insights | `bool` | `true` | no |
Expand Down
Loading

0 comments on commit f790f45

Please sign in to comment.