Skip to content

Conversation

@kevincormier-toast
Copy link

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
  • Feature Pull Request
COMPONENT NAME

community.aws.ecs_taskdefinition

ADDITIONAL INFORMATION

devinai-toast and others added 3 commits September 18, 2025 19:15
- 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
@github-actions
Copy link

github-actions bot commented Oct 8, 2025

Docs Build 📝

Thank you for contribution!✨

The docsite for this PR is available for download as an artifact from this run:
https://github.com/ansible-collections/community.aws/actions/runs/18350243738

You can compare to the docs for the main branch here:
https://ansible-collections.github.io/community.aws/branch/main

File changes:

  • M collections/community/aws/ecs_taskdefinition_module.html
Click to see the diff comparison.

NOTE: only file modifications are shown here. New and deleted files are excluded.
See the file list and check the published docs to see those files.

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>

@softwarefactory-project-zuul
Copy link
Contributor

Build succeeded.
https://ansible.softwarefactory-project.io/zuul/buildset/d37c81d1759a4118aae460ce672469dd

ansible-galaxy-importer FAILURE in 3m 45s (non-voting)
✔️ build-ansible-collection SUCCESS in 11m 38s
✔️ ansible-test-splitter SUCCESS in 4m 24s
✔️ integration-community.aws-1 SUCCESS in 13m 43s
Skipped 21 jobs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant