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
* Updates to providing ARN resources that conditionally create other resources
* Prevent entryPoint and linuxParam wipe on unsupported CWS containers
* Input handling
* Test updates
Copy file name to clipboardExpand all lines: modules/ecs_fargate/README.md
+24-10Lines changed: 24 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,11 @@ module "ecs_fargate_task" {
64
64
65
65
This module exposes the same arguments available in the [aws_ecs_task_definition](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition) resource. However, because this module wraps that resource, it cannot support the exact same interface for configuration blocks defined by AWS. Instead, those blocks are represented as variables with nested attributes.
66
66
67
-
As a result, configuration blocks must now be assigned using an equals sign. For example, `runtime_platform { ... }` becomes `runtime_platform = { ... }`. Additionally, blocks that support multiple instances (such as volumes) should now be provided as a list of objects. Refer to the examples below for more details.
67
+
As a result, configuration blocks must now be assigned using an equals sign. For example, `runtime_platform { ... }` becomes `runtime_platform = { ... }`. Additionally, blocks that support multiple instances (such as volumes) should now be provided as a list of objects.
68
+
69
+
One other minor difference is related to the way the `task_role_arn` and the `execution_role_arn` are provided. Instead of directly providing the value like `task_role_arn = "xxxxxx"`, you must provide the value wrapped in an object like `task_role = { arn = "xxxxxx" }`.
| <aname="input_container_definitions"></a> [container\_definitions](#input\_container\_definitions)| A list of valid [container definitions](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html). Please note that you should only provide values that are part of the container definition document |`any`| n/a | yes |
212
-
| <aname="input_cpu"></a> [cpu](#input\_cpu)| Number of cpu units used by the task. If the `requires_compatibilities` is `FARGATE` this field is required |`number`|`512`| no |
224
+
| <aname="input_cpu"></a> [cpu](#input\_cpu)| Number of cpu units used by the task. If the `requires_compatibilities` is `FARGATE` this field is required |`number`|`256`| no |
213
225
| <aname="input_dd_api_key"></a> [dd\_api\_key](#input\_dd\_api\_key)| Datadog API Key |`string`|`null`| no |
214
-
| <aname="input_dd_api_key_secret_arn"></a> [dd\_api\_key\_secret\_arn](#input\_dd\_api\_key\_secret\_arn)| Datadog API Key Secret ARN |`string`|`null`| no |
226
+
| <aname="input_dd_api_key_secret"></a> [dd\_api\_key\_secret](#input\_dd\_api\_key\_secret)| Datadog API Key Secret ARN |<pre>object({<br/> arn = string<br/> })</pre>|`null`| no |
| <aname="input_dd_env"></a> [dd\_env](#input\_dd\_env)| The task environment name. Used for tagging (UST) |`string`|`null`| no |
221
-
| <aname="input_dd_environment"></a> [dd\_environment](#input\_dd\_environment)| Datadog Agent container environment variables. Highest precedence and overwrites other environment variables defined by the module |`list(map(string))`| <pre>[<br/> {}<br/>]</pre> | no |
234
+
| <aname="input_dd_environment"></a> [dd\_environment](#input\_dd\_environment)| Datadog Agent container environment variables. Highest precedence and overwrites other environment variables defined by the module. For example, `dd_environment = [ { name = 'DD_VAR', value = 'DD_VAL' } ]`|`list(map(string))`| <pre>[<br/> {}<br/>]</pre> | no |
222
235
| <aname="input_dd_essential"></a> [dd\_essential](#input\_dd\_essential)| Whether the Datadog Agent container is essential |`bool`|`false`| no |
| <aname="input_dd_image_version"></a> [dd\_image\_version](#input\_dd\_image\_version)| Datadog Agent image version |`string`|`"latest"`| no |
225
238
| <aname="input_dd_is_datadog_dependency_enabled"></a> [dd\_is\_datadog\_dependency\_enabled](#input\_dd\_is\_datadog\_dependency\_enabled)| Whether the Datadog Agent container is a dependency for other containers |`bool`|`false`| no |
| <aname="input_dd_memory_limit_mib"></a> [dd\_memory\_limit\_mib](#input\_dd\_memory\_limit\_mib)| Datadog Agent container memory limit in MiB |`number`|`null`| no |
227
241
| <aname="input_dd_registry"></a> [dd\_registry](#input\_dd\_registry)| Datadog Agent image registry |`string`|`"public.ecr.aws/datadog/agent"`| no |
228
242
| <aname="input_dd_service"></a> [dd\_service](#input\_dd\_service)| The task service name. Used for tagging (UST) |`string`|`null`| no |
229
243
| <aname="input_dd_site"></a> [dd\_site](#input\_dd\_site)| Datadog Site |`string`|`"datadoghq.com"`| no |
230
244
| <aname="input_dd_tags"></a> [dd\_tags](#input\_dd\_tags)| Datadog Agent global tags (eg. `key1:value1, key2:value2`) |`string`|`null`| no |
231
245
| <aname="input_dd_version"></a> [dd\_version](#input\_dd\_version)| The task version name. Used for tagging (UST) |`string`|`null`| no |
232
246
| <aname="input_enable_fault_injection"></a> [enable\_fault\_injection](#input\_enable\_fault\_injection)| Enables fault injection and allows for fault injection requests to be accepted from the task's containers |`bool`|`false`| no |
233
247
| <aname="input_ephemeral_storage"></a> [ephemeral\_storage](#input\_ephemeral\_storage)| The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate | <pre>object({<br/> size_in_gib = number<br/> })</pre> |`null`| no |
234
-
| <aname="input_execution_role_arn"></a> [execution\_role\_arn](#input\_execution\_role\_arn)| ARN of the task execution role that the Amazon ECS container agent and the Docker daemon can assume |`string`|`null`| no |
248
+
| <aname="input_execution_role"></a> [execution\_role](#input\_execution\_role)| ARN of the task execution role that the Amazon ECS container agent and the Docker daemon can assume |<pre>object({<br/> arn = string<br/> })</pre>|`null`| no |
235
249
| <aname="input_family"></a> [family](#input\_family)| A unique name for your task definition |`string`| n/a | yes |
236
250
| <aname="input_inference_accelerator"></a> [inference\_accelerator](#input\_inference\_accelerator)| Configuration list with Inference Accelerators settings | <pre>list(object({<br/> device_name = string<br/> device_type = string<br/> }))</pre> |`[]`| no |
237
251
| <aname="input_ipc_mode"></a> [ipc\_mode](#input\_ipc\_mode)| IPC resource namespace to be used for the containers in the task The valid values are `host`, `task`, and `none`|`string`|`null`| no |
238
-
| <aname="input_memory"></a> [memory](#input\_memory)| Amount (in MiB) of memory used by the task. If the `requires_compatibilities` is `FARGATE` this field is required |`number`|`1024`| no |
252
+
| <aname="input_memory"></a> [memory](#input\_memory)| Amount (in MiB) of memory used by the task. If the `requires_compatibilities` is `FARGATE` this field is required |`number`|`512`| no |
239
253
| <aname="input_network_mode"></a> [network\_mode](#input\_network\_mode)| Docker networking mode to use for the containers in the task. Valid values are `none`, `bridge`, `awsvpc`, and `host`|`string`|`"awsvpc"`| no |
240
254
| <aname="input_pid_mode"></a> [pid\_mode](#input\_pid\_mode)| Process namespace to use for the containers in the task. The valid values are `host` and `task`|`string`|`"task"`| no |
241
255
| <aname="input_placement_constraints"></a> [placement\_constraints](#input\_placement\_constraints)| Configuration list for rules that are taken into consideration during task placement (up to max of 10) | <pre>list(object({<br/> type = string<br/> expression = string<br/> }))</pre> |`[]`| no |
@@ -244,7 +258,7 @@ No modules.
244
258
| <aname="input_runtime_platform"></a> [runtime\_platform](#input\_runtime\_platform)| Configuration for `runtime_platform` that containers in your task may use | <pre>object({<br/> cpu_architecture = optional(string, "LINUX")<br/> operating_system_family = optional(string, "X86_64")<br/> })</pre> | <pre>{<br/> "cpu_architecture": "X86_64",<br/> "operating_system_family": "LINUX"<br/>}</pre> | no |
245
259
| <aname="input_skip_destroy"></a> [skip\_destroy](#input\_skip\_destroy)| Whether to retain the old revision when the resource is destroyed or replacement is necessary |`bool`|`false`| no |
246
260
| <aname="input_tags"></a> [tags](#input\_tags)| A map of additional tags to add to the task definition/set created |`map(string)`|`null`| no |
247
-
| <aname="input_task_role_arn"></a> [task\_role\_arn](#input\_task\_role\_arn)| The ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services |`string`|`null`| no |
261
+
| <aname="input_task_role"></a> [task\_role](#input\_task\_role)| The ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services |<pre>object({<br/> arn = string<br/> })</pre>|`null`| no |
248
262
| <aname="input_track_latest"></a> [track\_latest](#input\_track\_latest)| Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state |`bool`|`false`| no |
249
263
| <a name="input_volumes"></a> [volumes](#input\_volumes) | A list of volume definitions that containers in your task may use | <pre>list(object({<br/> name = string<br/> host_path = optional(string)<br/> configure_at_launch = optional(bool)<br/><br/> docker_volume_configuration = optional(object({<br/> autoprovision = optional(bool)<br/> driver = optional(string)<br/> driver_opts = optional(map(any))<br/> labels = optional(map(any))<br/> scope = optional(string)<br/> }))<br/><br/> efs_volume_configuration = optional(object({<br/> file_system_id = string<br/> root_directory = optional(string)<br/> transit_encryption = optional(string)<br/> transit_encryption_port = optional(number)<br/> authorization_config = optional(object({<br/> access_point_id = optional(string)<br/> iam = optional(string)<br/> }))<br/> }))<br/><br/> fsx_windows_file_server_volume_configuration = optional(object({<br/> file_system_id = string<br/> root_directory = optional(string)<br/> authorization_config = optional(object({<br/> credentials_parameter = string<br/> domain = string<br/> }))<br/> }))<br/> }))</pre> | `[]` | no |
0 commit comments