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
feat: add network_mode pass-through variable for ECS Service module (#179)
* feat: add network_mode pass-through variable for ECS Service module
* Auto Format
* feat: pass-through variables for ECS circuit breaker
* Auto Format
* feat: pass-through variables for ECS circuit breaker
* Auto Format
* feat: enable_all_egress_rule pass-through var
* Auto Format
Co-authored-by: cloudpossebot <11232728+cloudpossebot@users.noreply.github.com>
| <aname="input_build_timeout"></a> [build\_timeout](#input\_build\_timeout)| How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed |`number`|`60`| no |
259
259
| <aname="input_buildspec"></a> [buildspec](#input\_buildspec)| Declaration to use for building the project. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html)|`string`|`""`| no |
260
260
| <aname="input_capacity_provider_strategies"></a> [capacity\_provider\_strategies](#input\_capacity\_provider\_strategies)| The capacity provider strategies to use for the service. See `capacity_provider_strategy` configuration block: https://www.terraform.io/docs/providers/aws/r/ecs_service.html#capacity_provider_strategy| <pre>list(object({<br> capacity_provider = string<br> weight = number<br> base = number<br> }))</pre> |`[]`| no |
261
+
| <aname="input_circuit_breaker_deployment_enabled"></a> [circuit\_breaker\_deployment\_enabled](#input\_circuit\_breaker\_deployment\_enabled)| If `true`, enable the deployment circuit breaker logic for the service |`bool`|`false`| no |
262
+
| <aname="input_circuit_breaker_rollback_enabled"></a> [circuit\_breaker\_rollback\_enabled](#input\_circuit\_breaker\_rollback\_enabled)| If `true`, Amazon ECS will roll back the service if a service deployment fails |`bool`|`false`| no |
261
263
| <aname="input_cloudwatch_log_group_enabled"></a> [cloudwatch\_log\_group\_enabled](#input\_cloudwatch\_log\_group\_enabled)| A boolean to disable cloudwatch log group creation |`bool`|`true`| no |
262
264
| <aname="input_codepipeline_build_cache_bucket_suffix_enabled"></a> [codepipeline\_build\_cache\_bucket\_suffix\_enabled](#input\_codepipeline\_build\_cache\_bucket\_suffix\_enabled)| The codebuild cache bucket generates a random 13 character string to generate a unique bucket name. If set to false it uses terraform-null-label's id value. It only works when cache\_type is 'S3' |`bool`|`true`| no |
263
265
| <aname="input_codepipeline_build_compute_type"></a> [codepipeline\_build\_compute\_type](#input\_codepipeline\_build\_compute\_type)|`CodeBuild` instance size. Possible values are: `BUILD_GENERAL1_SMALL``BUILD_GENERAL1_MEDIUM``BUILD_GENERAL1_LARGE`|`string`|`"BUILD_GENERAL1_SMALL"`| no |
@@ -307,8 +309,9 @@ Available targets:
307
309
| <aname="input_ecs_alarms_memory_utilization_low_threshold"></a> [ecs\_alarms\_memory\_utilization\_low\_threshold](#input\_ecs\_alarms\_memory\_utilization\_low\_threshold)| The minimum percentage of Memory utilization average |`number`|`20`| no |
308
310
| <aname="input_ecs_cluster_arn"></a> [ecs\_cluster\_arn](#input\_ecs\_cluster\_arn)| The ECS Cluster ARN where ECS Service will be provisioned |`string`| n/a | yes |
309
311
| <aname="input_ecs_cluster_name"></a> [ecs\_cluster\_name](#input\_ecs\_cluster\_name)| The ECS Cluster Name to use in ECS Code Pipeline Deployment step |`string`|`null`| no |
310
-
| <aname="input_ecs_private_subnet_ids"></a> [ecs\_private\_subnet\_ids](#input\_ecs\_private\_subnet\_ids)| List of Private Subnet IDs to provision ECS Service onto |`list(string)`| n/a | yes |
311
-
| <aname="input_ecs_security_group_ids"></a> [ecs\_security\_group\_ids](#input\_ecs\_security\_group\_ids)| Additional Security Group IDs to allow into ECS Service |`list(string)`|`[]`| no |
312
+
| <aname="input_ecs_private_subnet_ids"></a> [ecs\_private\_subnet\_ids](#input\_ecs\_private\_subnet\_ids)| List of Private Subnet IDs to provision ECS Service onto if `var.network_mode = "awsvpc"`|`list(string)`| n/a | yes |
313
+
| <aname="input_ecs_security_group_ids"></a> [ecs\_security\_group\_ids](#input\_ecs\_security\_group\_ids)| Additional Security Group IDs to allow into ECS Service if `var.network_mode = "awsvpc"`|`list(string)`|`[]`| no |
314
+
| <aname="input_enable_all_egress_rule"></a> [enable\_all\_egress\_rule](#input\_enable\_all\_egress\_rule)| A flag to enable/disable adding the all ports egress rule to the ECS security group |`bool`|`true`| no |
312
315
| <aname="input_enable_ecs_managed_tags"></a> [enable\_ecs\_managed\_tags](#input\_enable\_ecs\_managed\_tags)| Specifies whether to enable Amazon ECS managed tags for the tasks within the service |`bool`|`false`| no |
313
316
| <aname="input_enabled"></a> [enabled](#input\_enabled)| Set to false to prevent the module from creating any resources |`bool`|`null`| no |
314
317
| <aname="input_entrypoint"></a> [entrypoint](#input\_entrypoint)| The entry point that is passed to the container |`list(string)`|`null`| no |
@@ -334,6 +337,7 @@ Available targets:
334
337
| <aname="input_mount_points"></a> [mount\_points](#input\_mount\_points)| Container mount points. This is a list of maps, where each map should contain a `containerPath` and `sourceVolume`| <pre>list(object({<br> containerPath = string<br> sourceVolume = string<br> readOnly = bool<br> }))</pre> |`[]`| no |
335
338
| <aname="input_name"></a> [name](#input\_name)| ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'.<br>This is the only ID element not also included as a `tag`.<br>The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. |`string`|`null`| no |
336
339
| <aname="input_namespace"></a> [namespace](#input\_namespace)| ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique |`string`|`null`| no |
340
+
| <aname="input_network_mode"></a> [network\_mode](#input\_network\_mode)| The network mode to use for the task. This is required to be `awsvpc` for `FARGATE``launch_type` or `null` for `EC2``launch_type`|`string`|`"awsvpc"`| no |
337
341
| <aname="input_nlb_cidr_blocks"></a> [nlb\_cidr\_blocks](#input\_nlb\_cidr\_blocks)| A list of CIDR blocks to add to the ingress rule for the NLB container port |`list(string)`|`[]`| no |
338
342
| <aname="input_nlb_container_name"></a> [nlb\_container\_name](#input\_nlb\_container\_name)| The name of the container to associate with the NLB. If not provided, the generated container will be used |`string`|`null`| no |
339
343
| <aname="input_nlb_container_port"></a> [nlb\_container\_port](#input\_nlb\_container\_port)| The port number on the container bound to assigned NLB host\_port |`number`|`80`| no |
@@ -536,7 +540,7 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.
| <aname="input_build_timeout"></a> [build\_timeout](#input\_build\_timeout)| How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed |`number`|`60`| no |
104
104
| <aname="input_buildspec"></a> [buildspec](#input\_buildspec)| Declaration to use for building the project. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html)|`string`|`""`| no |
105
105
| <aname="input_capacity_provider_strategies"></a> [capacity\_provider\_strategies](#input\_capacity\_provider\_strategies)| The capacity provider strategies to use for the service. See `capacity_provider_strategy` configuration block: https://www.terraform.io/docs/providers/aws/r/ecs_service.html#capacity_provider_strategy| <pre>list(object({<br> capacity_provider = string<br> weight = number<br> base = number<br> }))</pre> |`[]`| no |
106
+
| <aname="input_circuit_breaker_deployment_enabled"></a> [circuit\_breaker\_deployment\_enabled](#input\_circuit\_breaker\_deployment\_enabled)| If `true`, enable the deployment circuit breaker logic for the service |`bool`|`false`| no |
107
+
| <aname="input_circuit_breaker_rollback_enabled"></a> [circuit\_breaker\_rollback\_enabled](#input\_circuit\_breaker\_rollback\_enabled)| If `true`, Amazon ECS will roll back the service if a service deployment fails |`bool`|`false`| no |
106
108
| <aname="input_cloudwatch_log_group_enabled"></a> [cloudwatch\_log\_group\_enabled](#input\_cloudwatch\_log\_group\_enabled)| A boolean to disable cloudwatch log group creation |`bool`|`true`| no |
107
109
| <aname="input_codepipeline_build_cache_bucket_suffix_enabled"></a> [codepipeline\_build\_cache\_bucket\_suffix\_enabled](#input\_codepipeline\_build\_cache\_bucket\_suffix\_enabled)| The codebuild cache bucket generates a random 13 character string to generate a unique bucket name. If set to false it uses terraform-null-label's id value. It only works when cache\_type is 'S3' |`bool`|`true`| no |
108
110
| <aname="input_codepipeline_build_compute_type"></a> [codepipeline\_build\_compute\_type](#input\_codepipeline\_build\_compute\_type)|`CodeBuild` instance size. Possible values are: `BUILD_GENERAL1_SMALL``BUILD_GENERAL1_MEDIUM``BUILD_GENERAL1_LARGE`|`string`|`"BUILD_GENERAL1_SMALL"`| no |
@@ -152,8 +154,9 @@
152
154
| <aname="input_ecs_alarms_memory_utilization_low_threshold"></a> [ecs\_alarms\_memory\_utilization\_low\_threshold](#input\_ecs\_alarms\_memory\_utilization\_low\_threshold)| The minimum percentage of Memory utilization average |`number`|`20`| no |
153
155
| <aname="input_ecs_cluster_arn"></a> [ecs\_cluster\_arn](#input\_ecs\_cluster\_arn)| The ECS Cluster ARN where ECS Service will be provisioned |`string`| n/a | yes |
154
156
| <aname="input_ecs_cluster_name"></a> [ecs\_cluster\_name](#input\_ecs\_cluster\_name)| The ECS Cluster Name to use in ECS Code Pipeline Deployment step |`string`|`null`| no |
155
-
| <aname="input_ecs_private_subnet_ids"></a> [ecs\_private\_subnet\_ids](#input\_ecs\_private\_subnet\_ids)| List of Private Subnet IDs to provision ECS Service onto |`list(string)`| n/a | yes |
156
-
| <aname="input_ecs_security_group_ids"></a> [ecs\_security\_group\_ids](#input\_ecs\_security\_group\_ids)| Additional Security Group IDs to allow into ECS Service |`list(string)`|`[]`| no |
157
+
| <aname="input_ecs_private_subnet_ids"></a> [ecs\_private\_subnet\_ids](#input\_ecs\_private\_subnet\_ids)| List of Private Subnet IDs to provision ECS Service onto if `var.network_mode = "awsvpc"`|`list(string)`| n/a | yes |
158
+
| <aname="input_ecs_security_group_ids"></a> [ecs\_security\_group\_ids](#input\_ecs\_security\_group\_ids)| Additional Security Group IDs to allow into ECS Service if `var.network_mode = "awsvpc"`|`list(string)`|`[]`| no |
159
+
| <aname="input_enable_all_egress_rule"></a> [enable\_all\_egress\_rule](#input\_enable\_all\_egress\_rule)| A flag to enable/disable adding the all ports egress rule to the ECS security group |`bool`|`true`| no |
157
160
| <aname="input_enable_ecs_managed_tags"></a> [enable\_ecs\_managed\_tags](#input\_enable\_ecs\_managed\_tags)| Specifies whether to enable Amazon ECS managed tags for the tasks within the service |`bool`|`false`| no |
158
161
| <aname="input_enabled"></a> [enabled](#input\_enabled)| Set to false to prevent the module from creating any resources |`bool`|`null`| no |
159
162
| <aname="input_entrypoint"></a> [entrypoint](#input\_entrypoint)| The entry point that is passed to the container |`list(string)`|`null`| no |
@@ -179,6 +182,7 @@
179
182
| <aname="input_mount_points"></a> [mount\_points](#input\_mount\_points)| Container mount points. This is a list of maps, where each map should contain a `containerPath` and `sourceVolume`| <pre>list(object({<br> containerPath = string<br> sourceVolume = string<br> readOnly = bool<br> }))</pre> |`[]`| no |
180
183
| <aname="input_name"></a> [name](#input\_name)| ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'.<br>This is the only ID element not also included as a `tag`.<br>The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. |`string`|`null`| no |
181
184
| <aname="input_namespace"></a> [namespace](#input\_namespace)| ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique |`string`|`null`| no |
185
+
| <aname="input_network_mode"></a> [network\_mode](#input\_network\_mode)| The network mode to use for the task. This is required to be `awsvpc` for `FARGATE``launch_type` or `null` for `EC2``launch_type`|`string`|`"awsvpc"`| no |
182
186
| <aname="input_nlb_cidr_blocks"></a> [nlb\_cidr\_blocks](#input\_nlb\_cidr\_blocks)| A list of CIDR blocks to add to the ingress rule for the NLB container port |`list(string)`|`[]`| no |
183
187
| <aname="input_nlb_container_name"></a> [nlb\_container\_name](#input\_nlb\_container\_name)| The name of the container to associate with the NLB. If not provided, the generated container will be used |`string`|`null`| no |
184
188
| <aname="input_nlb_container_port"></a> [nlb\_container\_port](#input\_nlb\_container\_port)| The port number on the container bound to assigned NLB host\_port |`number`|`80`| no |
0 commit comments