-
Notifications
You must be signed in to change notification settings - Fork 410
Add ephemeral storage support for ECS Fargate task definitions #2343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add ephemeralStorage parameter to ecs_taskdefinition module - Support size configuration in GB for Fargate tasks - Add comprehensive integration tests covering creation, modification, deletion, and idempotency - Follow existing patterns for optional parameter handling - Requires platform version 1.4.0+ (Linux) or 1.0.0+ (Windows) - Maintains backwards compatibility by making parameter optional Co-authored-by: Devin AI <[email protected]> Co-authored-by: [email protected] <[email protected]>
…e-fargate Add ephemeral storage support for ECS Fargate task definitions
Docs Build 📝Thank you for contribution!✨ The docsite for this PR is available for download as an artifact from this run: You can compare to the docs for the File changes:
Click to see the diff comparison.NOTE: only file modifications are shown here. New and deleted files are excluded. diff --git a/home/runner/work/community.aws/community.aws/docsbuild/base/collections/community/aws/ecs_taskdefinition_module.html b/home/runner/work/community.aws/community.aws/docsbuild/head/collections/community/aws/ecs_taskdefinition_module.html
index e025ccb..36e1c57 100644
--- a/home/runner/work/community.aws/community.aws/docsbuild/base/collections/community/aws/ecs_taskdefinition_module.html
+++ b/home/runner/work/community.aws/community.aws/docsbuild/head/collections/community/aws/ecs_taskdefinition_module.html
@@ -1141,6 +1141,22 @@ see <a class="reference internal" href="#ansible-collections-community-aws-ecs-t
</div></td>
</tr>
<tr class="row-even"><td><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-ephemeral_storage"></div><p class="ansible-option-title" id="ansible-collections-community-aws-ecs-taskdefinition-module-parameter-ephemeral-storage"><strong>ephemeral_storage</strong></p>
+<a class="ansibleOptionLink" href="#parameter-ephemeral_storage" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">dictionary</span></p>
+<p><em class="ansible-option-versionadded">added in community.aws 8.2.0</em></p>
+</div></td>
+<td><div class="ansible-option-cell"><p>The amount of ephemeral storage to allocate for the task.</p>
+<p>This parameter is only supported for tasks hosted on Fargate using platform version 1.4.0 or later (Linux) or 1.0.0 or later (Windows).</p>
+</div></td>
+</tr>
+<tr class="row-odd"><td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
+<div class="ansibleOptionAnchor" id="parameter-ephemeral_storage/size"></div><p class="ansible-option-title" id="ansible-collections-community-aws-ecs-taskdefinition-module-parameter-ephemeral-storage-size"><strong>size</strong></p>
+<a class="ansibleOptionLink" href="#parameter-ephemeral_storage/size" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">integer</span> / <span class="ansible-option-required">required</span></p>
+</div></td>
+<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell"><p>The total amount, in GiB, of ephemeral storage to set for the task.</p>
+</div></td>
+</tr>
+<tr class="row-even"><td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-execution_role_arn"></div><p class="ansible-option-title" id="ansible-collections-community-aws-ecs-taskdefinition-module-parameter-execution-role-arn"><strong>execution_role_arn</strong></p>
<a class="ansibleOptionLink" href="#parameter-execution_role_arn" title="Permalink to this option"></a><p class="ansible-option-type-line"><span class="ansible-option-type">string</span></p>
</div></td>
@@ -1454,6 +1470,8 @@ see <a class="reference internal" href="#ansible-collections-community-aws-ecs-t
<span class="w"> </span><span class="nt">memory</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1024</span>
<span class="w"> </span><span class="nt">state</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">present</span>
<span class="w"> </span><span class="nt">network_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">awsvpc</span>
+<span class="w"> </span><span class="nt">ephemeral_storage</span><span class="p">:</span>
+<span class="w"> </span><span class="nt">size</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Create task definition</span>
<span class="w"> </span><span class="nt">community.aws.ecs_taskdefinition</span><span class="p">:</span>
|
|
Build succeeded. ❌ ansible-galaxy-importer FAILURE in 3m 45s (non-voting) |
SUMMARY
Implements the missing ephemeral storage configuration capability for ECS Fargate task definitions in the community.aws.ecs_taskdefinition module. This adds a new optional ephemeral_storage parameter that allows users to specify the amount of ephemeral storage (in GiB) to allocate for Fargate tasks.
Key Changes:
Added ephemeral_storage parameter with size suboption to module argument spec
Updated register_task method to pass ephemeralStorage.sizeInGiB to AWS ECS API
Added comprehensive integration tests covering creation, modification, deletion, and idempotency scenarios
Added module documentation and usage example
Maintains backwards compatibility (parameter is optional)
Requirements: Only supported on Fargate platform version 1.4.0+ (Linux) or 1.0.0+ (Windows) as per AWS documentation.
ISSUE TYPE
COMPONENT NAME
community.aws.ecs_taskdefinition
ADDITIONAL INFORMATION