Skip to content

Conversation

@djglaser
Copy link
Contributor

@djglaser djglaser commented Nov 24, 2025

Rollback Plan

If a change needs to be reverted, we will publish an updated version of the library.

Changes to Security Controls

Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.

Description

Adds support for new AWS ECS resource: Express Gateway Service. This resource is aimed at providing more accessibility for AWS customers to spin-up web applications with the required dependency resources, putting much of the heavy-lifting and configuration defaulting in the hands of ECS backend.

References

Relations

Closes #45219

Output from Acceptance Testing

End-to-end testing can be performed with the public Go SDK.

% make testacc TESTS=TestAccECSExpressGatewayService PKG=ecs
=== RUN   TestAccECSExpressGatewayService_basic
=== PAUSE TestAccECSExpressGatewayService_basic
=== CONT  TestAccECSExpressGatewayService_basic
--- PASS: TestAccECSExpressGatewayService_basic (160.09s)
=== RUN   TestAccECSExpressGatewayService_update
=== PAUSE TestAccECSExpressGatewayService_update
=== CONT  TestAccECSExpressGatewayService_update
--- PASS: TestAccECSExpressGatewayService_update (63.46s)
=== RUN   TestAccECSExpressGatewayService_disappears
=== PAUSE TestAccECSExpressGatewayService_disappears
=== CONT  TestAccECSExpressGatewayService_disappears
--- PASS: TestAccECSExpressGatewayService_disappears (84.69s)
=== RUN   TestAccECSExpressGatewayService_tags
=== PAUSE TestAccECSExpressGatewayService_tags
=== CONT  TestAccECSExpressGatewayService_tags
--- PASS: TestAccECSExpressGatewayService_tags (46.27s)
=== RUN   TestAccECSExpressGatewayService_networkConfiguration
=== PAUSE TestAccECSExpressGatewayService_networkConfiguration
=== CONT  TestAccECSExpressGatewayService_networkConfiguration
--- PASS: TestAccECSExpressGatewayService_networkConfiguration (151.97s)
=== RUN   TestAccECSExpressGatewayService_waitForSteadyState
=== PAUSE TestAccECSExpressGatewayService_waitForSteadyState
=== CONT  TestAccECSExpressGatewayService_waitForSteadyState
--- PASS: TestAccECSExpressGatewayService_waitForSteadyState (866.88s)
=== RUN   TestAccECSExpressGatewayService_checkIdempotency
=== PAUSE TestAccECSExpressGatewayService_checkIdempotency
=== CONT  TestAccECSExpressGatewayService_checkIdempotency
--- PASS: TestAccECSExpressGatewayService_checkIdempotency (50.68s)
PASS
ok      github.com/hashicorp/terraform-provider-aws/internal/service/ecs      1424.04s

@djglaser djglaser requested a review from a team as a code owner November 24, 2025 15:21
@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

✅ Thank you for correcting the previously detected issues! The maintainers appreciate your efforts to make the review process as smooth as possible.

@github-actions
Copy link
Contributor

Community Guidelines

This comment is added to every new Pull Request to provide quick reference to how the Terraform AWS Provider is maintained. Please review the information below, and thank you for contributing to the community that keeps the provider thriving! 🚀

Voting for Prioritization

  • Please vote on this Pull Request by adding a 👍 reaction to the original post to help the community and maintainers prioritize it.
  • Please see our prioritization guide for additional information on how the maintainers handle prioritization.
  • Please do not leave +1 or other comments that do not add relevant new information or questions; they generate extra noise for others following the Pull Request and do not help prioritize the request.

Pull Request Authors

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added needs-triage Waiting for first response or review from a maintainer. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/ecs Issues and PRs that pertain to the ecs service. generators Relates to code generators. size/XL Managed by automation to categorize the size of a PR. partner Contribution from a partner. labels Nov 24, 2025
@ewbankkit ewbankkit added new-resource Introduces a new resource. and removed needs-triage Waiting for first response or review from a maintainer. labels Nov 24, 2025
@djglaser djglaser mentioned this pull request Nov 24, 2025
@jritsema
Copy link

Is there an outputted attribute for the HTTPS endpoint? Maybe I missed it?

@djglaser
Copy link
Contributor Author

@jritsema HTTPS endpoint is outputted as the endpoint attribute under ingress_paths, which is a sub-attribute of active_configurations.

@ewbankkit ewbankkit self-assigned this Nov 24, 2025
@github-actions github-actions bot added the prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. label Nov 24, 2025
@djglaser djglaser force-pushed the f-ecs-express-gateway-service-release branch from b877634 to cb80e17 Compare November 24, 2025 18:47
@djglaser djglaser force-pushed the f-ecs-express-gateway-service-release branch 2 times, most recently from 5ba9959 to eefb939 Compare November 24, 2025 20:38
@djglaser djglaser force-pushed the f-ecs-express-gateway-service-release branch from 2667a7b to 7d7a15b Compare November 25, 2025 15:34
% make testacc TESTARGS='-run=TestAccECSExpressGatewayService_basic' PKG=ecs
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 20  -run=TestAccECSExpressGatewayService_basic -timeout 360m -vet=off
2025/11/25 14:44:53 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/25 14:44:53 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccECSExpressGatewayService_basic
=== PAUSE TestAccECSExpressGatewayService_basic
=== CONT  TestAccECSExpressGatewayService_basic
--- PASS: TestAccECSExpressGatewayService_basic (32.25s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	37.644s
?   	github.com/hashicorp/terraform-provider-aws/internal/service/ecs/test-fixtures	[no test files]
% make testacc TESTARGS='-run=TestAccECSExpressGatewayService_' PKG=ecs ACCTEST_PARALLELISM=3
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 3  -run=TestAccECSExpressGatewayService_ -timeout 360m -vet=off
2025/11/25 15:08:44 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/25 15:08:45 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccECSExpressGatewayService_basic
=== PAUSE TestAccECSExpressGatewayService_basic
=== RUN   TestAccECSExpressGatewayService_disappears
=== PAUSE TestAccECSExpressGatewayService_disappears
=== RUN   TestAccECSExpressGatewayService_tags
=== PAUSE TestAccECSExpressGatewayService_tags
=== RUN   TestAccECSExpressGatewayService_update
=== PAUSE TestAccECSExpressGatewayService_update
=== RUN   TestAccECSExpressGatewayService_networkConfiguration
=== PAUSE TestAccECSExpressGatewayService_networkConfiguration
=== RUN   TestAccECSExpressGatewayService_checkIdempotency
=== PAUSE TestAccECSExpressGatewayService_checkIdempotency
=== CONT  TestAccECSExpressGatewayService_basic
=== CONT  TestAccECSExpressGatewayService_update
=== CONT  TestAccECSExpressGatewayService_tags
--- PASS: TestAccECSExpressGatewayService_basic (31.17s)
=== CONT  TestAccECSExpressGatewayService_disappears
--- PASS: TestAccECSExpressGatewayService_update (42.13s)
=== CONT  TestAccECSExpressGatewayService_checkIdempotency
--- PASS: TestAccECSExpressGatewayService_tags (56.05s)
=== CONT  TestAccECSExpressGatewayService_networkConfiguration
--- PASS: TestAccECSExpressGatewayService_disappears (28.39s)
--- PASS: TestAccECSExpressGatewayService_checkIdempotency (39.44s)
--- PASS: TestAccECSExpressGatewayService_networkConfiguration (35.26s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	96.606s
?   	github.com/hashicorp/terraform-provider-aws/internal/service/ecs/test-fixtures	[no test files]
@ewbankkit ewbankkit force-pushed the f-ecs-express-gateway-service-release branch from 7d7a15b to 4f6dc98 Compare November 25, 2025 20:54
ewbankkit
ewbankkit previously approved these changes Nov 25, 2025
Copy link
Contributor

@ewbankkit ewbankkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀.

% make testacc TESTARGS='-run=TestAccECSExpressGatewayService_' PKG=ecs ACCTEST_PARALLELISM=3
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 3  -run=TestAccECSExpressGatewayService_ -timeout 360m -vet=off
2025/11/25 15:51:21 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/25 15:51:21 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccECSExpressGatewayService_basic
=== PAUSE TestAccECSExpressGatewayService_basic
=== RUN   TestAccECSExpressGatewayService_disappears
=== PAUSE TestAccECSExpressGatewayService_disappears
=== RUN   TestAccECSExpressGatewayService_tags
=== PAUSE TestAccECSExpressGatewayService_tags
=== RUN   TestAccECSExpressGatewayService_update
=== PAUSE TestAccECSExpressGatewayService_update
=== RUN   TestAccECSExpressGatewayService_waitForSteadyState
    express_gateway_service_test.go:242: Times out when running with full suite
--- SKIP: TestAccECSExpressGatewayService_waitForSteadyState (0.00s)
=== RUN   TestAccECSExpressGatewayService_networkConfiguration
=== PAUSE TestAccECSExpressGatewayService_networkConfiguration
=== RUN   TestAccECSExpressGatewayService_checkIdempotency
=== PAUSE TestAccECSExpressGatewayService_checkIdempotency
=== CONT  TestAccECSExpressGatewayService_basic
=== CONT  TestAccECSExpressGatewayService_update
=== CONT  TestAccECSExpressGatewayService_tags
--- PASS: TestAccECSExpressGatewayService_basic (30.99s)
=== CONT  TestAccECSExpressGatewayService_checkIdempotency
--- PASS: TestAccECSExpressGatewayService_update (41.47s)
=== CONT  TestAccECSExpressGatewayService_networkConfiguration
--- PASS: TestAccECSExpressGatewayService_tags (56.59s)
=== CONT  TestAccECSExpressGatewayService_disappears
--- PASS: TestAccECSExpressGatewayService_checkIdempotency (29.95s)
--- PASS: TestAccECSExpressGatewayService_networkConfiguration (33.55s)
--- PASS: TestAccECSExpressGatewayService_disappears (27.49s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	89.473s
?   	github.com/hashicorp/terraform-provider-aws/internal/service/ecs/test-fixtures	[no test files]
% make testacc TESTARGS='-run=TestAccECSService' PKG=ecs ACCTEST_PARALLELISM=4
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 HEAD 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 4  -run=TestAccECSService -timeout 360m -vet=off
2025/11/25 09:34:12 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/25 09:34:12 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccECSServiceDataSource_basic
=== PAUSE TestAccECSServiceDataSource_basic
=== RUN   TestAccECSServiceDataSource_loadBalancer
=== PAUSE TestAccECSServiceDataSource_loadBalancer
=== RUN   TestAccECSServiceDataSource_deploymentConfiguration
=== PAUSE TestAccECSServiceDataSource_deploymentConfiguration
=== RUN   TestAccECSServiceDataSource_canaryDeployment
=== PAUSE TestAccECSServiceDataSource_canaryDeployment
=== RUN   TestAccECSServiceDataSource_fullConfiguration
=== PAUSE TestAccECSServiceDataSource_fullConfiguration
=== RUN   TestAccECSService_basic
=== PAUSE TestAccECSService_basic
=== RUN   TestAccECSService_Identity_Basic
=== PAUSE TestAccECSService_Identity_Basic
=== RUN   TestAccECSService_Identity_RegionOverride
=== PAUSE TestAccECSService_Identity_RegionOverride
=== RUN   TestAccECSService_disappears
=== PAUSE TestAccECSService_disappears
=== RUN   TestAccECSService_LatticeConfigurations
=== PAUSE TestAccECSService_LatticeConfigurations
=== RUN   TestAccECSService_PlacementStrategy_unnormalized
=== PAUSE TestAccECSService_PlacementStrategy_unnormalized
=== RUN   TestAccECSService_CapacityProviderStrategy_basic
=== PAUSE TestAccECSService_CapacityProviderStrategy_basic
=== RUN   TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== PAUSE TestAccECSService_CapacityProviderStrategy_forceNewDeployment
=== RUN   TestAccECSService_CapacityProviderStrategy_update
=== PAUSE TestAccECSService_CapacityProviderStrategy_update
=== RUN   TestAccECSService_VolumeConfiguration_basic
=== PAUSE TestAccECSService_VolumeConfiguration_basic
=== RUN   TestAccECSService_VolumeConfiguration_volumeInitializationRate
=== PAUSE TestAccECSService_VolumeConfiguration_volumeInitializationRate
=== RUN   TestAccECSService_VolumeConfiguration_tagSpecifications
=== PAUSE TestAccECSService_VolumeConfiguration_tagSpecifications
=== RUN   TestAccECSService_VolumeConfiguration_update
=== PAUSE TestAccECSService_VolumeConfiguration_update
=== RUN   TestAccECSService_VolumeConfiguration_throughputTypeChange
=== PAUSE TestAccECSService_VolumeConfiguration_throughputTypeChange
=== RUN   TestAccECSService_familyAndRevision
=== PAUSE TestAccECSService_familyAndRevision
=== RUN   TestAccECSService_healthCheckGracePeriodSeconds
=== PAUSE TestAccECSService_healthCheckGracePeriodSeconds
=== RUN   TestAccECSService_iamRole
=== PAUSE TestAccECSService_iamRole
=== RUN   TestAccECSService_DeploymentControllerType_codeDeploy
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeploy
=== RUN   TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== PAUSE TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== RUN   TestAccECSService_DeploymentControllerType_external
=== PAUSE TestAccECSService_DeploymentControllerType_external
=== RUN   TestAccECSService_DeploymentControllerMutability_codeDeployToECS
=== PAUSE TestAccECSService_DeploymentControllerMutability_codeDeployToECS
=== RUN   TestAccECSService_alarmsAdd
=== PAUSE TestAccECSService_alarmsAdd
=== RUN   TestAccECSService_alarmsUpdate
=== PAUSE TestAccECSService_alarmsUpdate
=== RUN   TestAccECSService_BlueGreenDeployment_basic
=== PAUSE TestAccECSService_BlueGreenDeployment_basic
=== RUN   TestAccECSService_BlueGreenDeployment_outOfBandRemoval
=== PAUSE TestAccECSService_BlueGreenDeployment_outOfBandRemoval
=== RUN   TestAccECSService_BlueGreenDeployment_sigintRollback
    service_test.go:1129: SIGINT handling can't reliably be tested in CI
--- SKIP: TestAccECSService_BlueGreenDeployment_sigintRollback (0.00s)
=== RUN   TestAccECSService_BlueGreenDeployment_circuitBreakerRollback
=== PAUSE TestAccECSService_BlueGreenDeployment_circuitBreakerRollback
=== RUN   TestAccECSService_BlueGreenDeployment_createFailure
=== PAUSE TestAccECSService_BlueGreenDeployment_createFailure
=== RUN   TestAccECSService_BlueGreenDeployment_changeStrategy
=== PAUSE TestAccECSService_BlueGreenDeployment_changeStrategy
=== RUN   TestAccECSService_BlueGreenDeployment_updateFailure
=== PAUSE TestAccECSService_BlueGreenDeployment_updateFailure
=== RUN   TestAccECSService_BlueGreenDeployment_updateInPlace
=== PAUSE TestAccECSService_BlueGreenDeployment_updateInPlace
=== RUN   TestAccECSService_BlueGreenDeployment_waitServiceActive
=== PAUSE TestAccECSService_BlueGreenDeployment_waitServiceActive
=== RUN   TestAccECSService_BlueGreenDeployment_withoutTestListenerRule
=== PAUSE TestAccECSService_BlueGreenDeployment_withoutTestListenerRule
=== RUN   TestAccECSService_DeploymentConfiguration_strategy
=== PAUSE TestAccECSService_DeploymentConfiguration_strategy
=== RUN   TestAccECSService_DeploymentValues_basic
=== PAUSE TestAccECSService_DeploymentValues_basic
=== RUN   TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== PAUSE TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== RUN   TestAccECSService_deploymentCircuitBreaker
=== PAUSE TestAccECSService_deploymentCircuitBreaker
=== RUN   TestAccECSService_loadBalancerChanges
=== PAUSE TestAccECSService_loadBalancerChanges
=== RUN   TestAccECSService_clusterName
=== PAUSE TestAccECSService_clusterName
=== RUN   TestAccECSService_alb
=== PAUSE TestAccECSService_alb
=== RUN   TestAccECSService_multipleTargetGroups
=== PAUSE TestAccECSService_multipleTargetGroups
=== RUN   TestAccECSService_forceNewDeployment
=== PAUSE TestAccECSService_forceNewDeployment
=== RUN   TestAccECSService_forceNewDeploymentTriggers
=== PAUSE TestAccECSService_forceNewDeploymentTriggers
=== RUN   TestAccECSService_PlacementStrategy_basic
=== PAUSE TestAccECSService_PlacementStrategy_basic
=== RUN   TestAccECSService_PlacementStrategy_missing
=== PAUSE TestAccECSService_PlacementStrategy_missing
=== RUN   TestAccECSService_PlacementConstraints_basic
=== PAUSE TestAccECSService_PlacementConstraints_basic
=== RUN   TestAccECSService_PlacementConstraints_emptyExpression
=== PAUSE TestAccECSService_PlacementConstraints_emptyExpression
=== RUN   TestAccECSService_LaunchTypeFargate_basic
=== PAUSE TestAccECSService_LaunchTypeFargate_basic
=== RUN   TestAccECSService_LaunchTypeFargate_platformVersion
=== PAUSE TestAccECSService_LaunchTypeFargate_platformVersion
=== RUN   TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_waitForSteadyState
=== RUN   TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== PAUSE TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
=== RUN   TestAccECSService_LaunchTypeEC2_network
=== PAUSE TestAccECSService_LaunchTypeEC2_network
=== RUN   TestAccECSService_DaemonSchedulingStrategy_basic
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_basic
=== RUN   TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== PAUSE TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== RUN   TestAccECSService_replicaSchedulingStrategy
=== PAUSE TestAccECSService_replicaSchedulingStrategy
=== RUN   TestAccECSService_ServiceRegistries_basic
=== PAUSE TestAccECSService_ServiceRegistries_basic
=== RUN   TestAccECSService_ServiceRegistries_container
=== PAUSE TestAccECSService_ServiceRegistries_container
=== RUN   TestAccECSService_ServiceRegistries_changes
=== PAUSE TestAccECSService_ServiceRegistries_changes
=== RUN   TestAccECSService_ServiceRegistries_removal
=== PAUSE TestAccECSService_ServiceRegistries_removal
=== RUN   TestAccECSService_ServiceConnect_basic
=== PAUSE TestAccECSService_ServiceConnect_basic
=== RUN   TestAccECSService_ServiceConnect_full
=== PAUSE TestAccECSService_ServiceConnect_full
=== RUN   TestAccECSService_ServiceConnect_tls_with_empty_timeout
=== PAUSE TestAccECSService_ServiceConnect_tls_with_empty_timeout
=== RUN   TestAccECSService_ServiceConnect_ingressPortOverride
=== PAUSE TestAccECSService_ServiceConnect_ingressPortOverride
=== RUN   TestAccECSService_ServiceConnect_remove
=== PAUSE TestAccECSService_ServiceConnect_remove
=== RUN   TestAccECSService_ServiceConnect_outOfBandRemoval
=== PAUSE TestAccECSService_ServiceConnect_outOfBandRemoval
=== RUN   TestAccECSService_Tags_basic
=== PAUSE TestAccECSService_Tags_basic
=== RUN   TestAccECSService_Tags_managed
=== PAUSE TestAccECSService_Tags_managed
=== RUN   TestAccECSService_Tags_UpgradeFromV5_100_0
=== PAUSE TestAccECSService_Tags_UpgradeFromV5_100_0
=== RUN   TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0
=== PAUSE TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0
=== RUN   TestAccECSService_Tags_propagate
=== PAUSE TestAccECSService_Tags_propagate
=== RUN   TestAccECSService_executeCommand
=== PAUSE TestAccECSService_executeCommand
=== RUN   TestAccECSService_AvailabilityZoneRebalancing
=== PAUSE TestAccECSService_AvailabilityZoneRebalancing
=== RUN   TestAccECSService_LinearDeployment_basic
=== PAUSE TestAccECSService_LinearDeployment_basic
=== RUN   TestAccECSService_LinearDeployment_outOfBandRemoval
=== PAUSE TestAccECSService_LinearDeployment_outOfBandRemoval
=== RUN   TestAccECSService_LinearDeployment_createFailure
=== PAUSE TestAccECSService_LinearDeployment_createFailure
=== RUN   TestAccECSService_LinearDeployment_changeStrategy
=== PAUSE TestAccECSService_LinearDeployment_changeStrategy
=== RUN   TestAccECSService_LinearDeployment_updateFailure
=== PAUSE TestAccECSService_LinearDeployment_updateFailure
=== RUN   TestAccECSService_LinearDeployment_updateInPlace
=== PAUSE TestAccECSService_LinearDeployment_updateInPlace
=== RUN   TestAccECSService_LinearDeployment_waitServiceActive
=== PAUSE TestAccECSService_LinearDeployment_waitServiceActive
=== RUN   TestAccECSService_CanaryDeployment_basic
=== PAUSE TestAccECSService_CanaryDeployment_basic
=== RUN   TestAccECSService_CanaryDeployment_outOfBandRemoval
=== PAUSE TestAccECSService_CanaryDeployment_outOfBandRemoval
=== RUN   TestAccECSService_CanaryDeployment_createFailure
=== PAUSE TestAccECSService_CanaryDeployment_createFailure
=== RUN   TestAccECSService_CanaryDeployment_changeStrategy
=== PAUSE TestAccECSService_CanaryDeployment_changeStrategy
=== RUN   TestAccECSService_CanaryDeployment_updateFailure
=== PAUSE TestAccECSService_CanaryDeployment_updateFailure
=== RUN   TestAccECSService_CanaryDeployment_updateInPlace
=== PAUSE TestAccECSService_CanaryDeployment_updateInPlace
=== RUN   TestAccECSService_CanaryDeployment_waitServiceActive
=== PAUSE TestAccECSService_CanaryDeployment_waitServiceActive
=== CONT  TestAccECSServiceDataSource_basic
=== CONT  TestAccECSService_forceNewDeployment
=== CONT  TestAccECSService_ServiceConnect_outOfBandRemoval
=== CONT  TestAccECSService_LinearDeployment_changeStrategy
--- PASS: TestAccECSService_forceNewDeployment (71.16s)
=== CONT  TestAccECSService_executeCommand
--- PASS: TestAccECSServiceDataSource_basic (71.59s)
=== CONT  TestAccECSService_LinearDeployment_createFailure
--- PASS: TestAccECSService_executeCommand (58.85s)
=== CONT  TestAccECSService_LinearDeployment_outOfBandRemoval
--- PASS: TestAccECSService_ServiceConnect_outOfBandRemoval (139.34s)
=== CONT  TestAccECSService_LinearDeployment_basic
--- PASS: TestAccECSService_LinearDeployment_changeStrategy (349.90s)
=== CONT  TestAccECSService_AvailabilityZoneRebalancing
--- PASS: TestAccECSService_AvailabilityZoneRebalancing (77.36s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
--- PASS: TestAccECSService_LinearDeployment_outOfBandRemoval (313.06s)
=== CONT  TestAccECSService_ServiceConnect_remove
--- PASS: TestAccECSService_LinearDeployment_basic (310.27s)
=== CONT  TestAccECSService_ServiceConnect_ingressPortOverride
--- PASS: TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum (40.09s)
=== CONT  TestAccECSService_ServiceConnect_tls_with_empty_timeout
--- PASS: TestAccECSService_ServiceConnect_remove (147.06s)
=== CONT  TestAccECSService_ServiceConnect_full
--- PASS: TestAccECSService_ServiceConnect_ingressPortOverride (166.78s)
=== CONT  TestAccECSService_ServiceConnect_basic
--- PASS: TestAccECSService_ServiceConnect_tls_with_empty_timeout (166.40s)
=== CONT  TestAccECSService_ServiceRegistries_removal
--- PASS: TestAccECSService_ServiceConnect_full (140.39s)
=== CONT  TestAccECSService_ServiceRegistries_changes
--- PASS: TestAccECSService_ServiceConnect_basic (124.95s)
=== CONT  TestAccECSService_ServiceRegistries_container
--- PASS: TestAccECSService_ServiceRegistries_removal (108.63s)
=== CONT  TestAccECSService_ServiceRegistries_basic
--- PASS: TestAccECSService_LinearDeployment_createFailure (715.64s)
=== CONT  TestAccECSService_replicaSchedulingStrategy
--- PASS: TestAccECSService_replicaSchedulingStrategy (59.73s)
=== CONT  TestAccECSService_CanaryDeployment_createFailure
--- PASS: TestAccECSService_ServiceRegistries_container (134.09s)
=== CONT  TestAccECSService_CanaryDeployment_waitServiceActive
--- PASS: TestAccECSService_ServiceRegistries_basic (133.50s)
=== CONT  TestAccECSService_CanaryDeployment_updateInPlace
--- PASS: TestAccECSService_ServiceRegistries_changes (188.04s)
=== CONT  TestAccECSService_CanaryDeployment_updateFailure
--- PASS: TestAccECSService_CanaryDeployment_waitServiceActive (296.83s)
=== CONT  TestAccECSService_CanaryDeployment_changeStrategy
--- PASS: TestAccECSService_CanaryDeployment_updateInPlace (345.26s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
--- PASS: TestAccECSService_CanaryDeployment_changeStrategy (339.47s)
=== CONT  TestAccECSService_multipleTargetGroups
--- PASS: TestAccECSService_CanaryDeployment_createFailure (848.77s)
=== CONT  TestAccECSService_alb
--- PASS: TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod (491.41s)
=== CONT  TestAccECSService_clusterName
--- PASS: TestAccECSService_CanaryDeployment_updateFailure (857.38s)
=== CONT  TestAccECSService_loadBalancerChanges
--- PASS: TestAccECSService_clusterName (71.11s)
=== CONT  TestAccECSService_deploymentCircuitBreaker
--- PASS: TestAccECSService_multipleTargetGroups (283.98s)
=== CONT  TestAccECSService_DeploymentValues_minZeroMaxOneHundred
--- PASS: TestAccECSService_deploymentCircuitBreaker (66.07s)
=== CONT  TestAccECSService_DeploymentValues_basic
--- PASS: TestAccECSService_DeploymentValues_minZeroMaxOneHundred (63.09s)
=== CONT  TestAccECSService_DeploymentConfiguration_strategy
--- PASS: TestAccECSService_DeploymentValues_basic (72.66s)
=== CONT  TestAccECSService_BlueGreenDeployment_withoutTestListenerRule
--- PASS: TestAccECSService_DeploymentConfiguration_strategy (78.46s)
=== CONT  TestAccECSService_BlueGreenDeployment_waitServiceActive
--- PASS: TestAccECSService_alb (269.44s)
=== CONT  TestAccECSService_BlueGreenDeployment_updateInPlace
--- PASS: TestAccECSService_loadBalancerChanges (260.09s)
=== CONT  TestAccECSService_BlueGreenDeployment_updateFailure
--- PASS: TestAccECSService_BlueGreenDeployment_waitServiceActive (323.93s)
=== CONT  TestAccECSService_BlueGreenDeployment_changeStrategy
--- PASS: TestAccECSService_BlueGreenDeployment_updateInPlace (1087.81s)
=== CONT  TestAccECSService_BlueGreenDeployment_createFailure
--- PASS: TestAccECSService_BlueGreenDeployment_updateFailure (1091.16s)
=== CONT  TestAccECSService_BlueGreenDeployment_circuitBreakerRollback
--- PASS: TestAccECSService_BlueGreenDeployment_createFailure (352.33s)
=== CONT  TestAccECSService_BlueGreenDeployment_outOfBandRemoval
--- PASS: TestAccECSService_BlueGreenDeployment_withoutTestListenerRule (1914.32s)
=== CONT  TestAccECSService_BlueGreenDeployment_basic
--- PASS: TestAccECSService_BlueGreenDeployment_changeStrategy (2052.30s)
=== CONT  TestAccECSService_alarmsUpdate
--- PASS: TestAccECSService_alarmsUpdate (68.89s)
=== CONT  TestAccECSService_alarmsAdd
--- PASS: TestAccECSService_BlueGreenDeployment_outOfBandRemoval (978.12s)
=== CONT  TestAccECSService_DeploymentControllerMutability_codeDeployToECS
--- PASS: TestAccECSService_alarmsAdd (80.97s)
=== CONT  TestAccECSService_LaunchTypeFargate_basic
--- PASS: TestAccECSService_LaunchTypeFargate_basic (67.63s)
=== CONT  TestAccECSService_DeploymentControllerType_external
--- PASS: TestAccECSService_DeploymentControllerType_external (28.81s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_basic
--- PASS: TestAccECSService_DaemonSchedulingStrategy_basic (38.77s)
=== CONT  TestAccECSService_CapacityProviderStrategy_forceNewDeployment
--- PASS: TestAccECSService_DeploymentControllerMutability_codeDeployToECS (300.73s)
=== CONT  TestAccECSService_LaunchTypeEC2_network
--- PASS: TestAccECSService_LaunchTypeEC2_network (65.24s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeploy
--- PASS: TestAccECSService_CapacityProviderStrategy_forceNewDeployment (207.60s)
=== CONT  TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
--- PASS: TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState (205.57s)
=== CONT  TestAccECSService_iamRole
--- PASS: TestAccECSService_DeploymentControllerType_codeDeploy (266.65s)
=== CONT  TestAccECSService_LaunchTypeFargate_waitForSteadyState
--- PASS: TestAccECSService_iamRole (37.86s)
=== CONT  TestAccECSService_healthCheckGracePeriodSeconds
--- PASS: TestAccECSService_LaunchTypeFargate_waitForSteadyState (165.76s)
=== CONT  TestAccECSService_LaunchTypeFargate_platformVersion
--- PASS: TestAccECSService_LaunchTypeFargate_platformVersion (88.02s)
=== CONT  TestAccECSService_Tags_UpgradeFromV5_100_0
--- PASS: TestAccECSService_BlueGreenDeployment_basic (1458.73s)
=== CONT  TestAccECSService_Tags_propagate
--- PASS: TestAccECSService_healthCheckGracePeriodSeconds (298.93s)
=== CONT  TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0
--- PASS: TestAccECSService_Tags_propagate (55.63s)
=== CONT  TestAccECSService_PlacementStrategy_missing
--- PASS: TestAccECSService_PlacementStrategy_missing (0.91s)
=== CONT  TestAccECSService_PlacementConstraints_emptyExpression
=== CONT  TestAccECSService_PlacementConstraints_basic
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0 (89.96s)
--- PASS: TestAccECSService_PlacementConstraints_emptyExpression (71.34s)
=== CONT  TestAccECSService_VolumeConfiguration_tagSpecifications
--- PASS: TestAccECSService_PlacementConstraints_basic (80.95s)
=== CONT  TestAccECSService_VolumeConfiguration_throughputTypeChange
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0 (124.92s)
=== CONT  TestAccECSService_VolumeConfiguration_update
=== NAME  TestAccECSService_VolumeConfiguration_throughputTypeChange
    service_test.go:674: Error running post-test destroy, there may be dangling resources: exit status 1
        
        Error: draining ECS Service (arn:aws:ecs:us-west-2:123456789012:service/tf-acc-test-2415130958371304049/tf-acc-test-2415130958371304049): operation error ECS: UpdateService, https response error StatusCode: 400, RequestID: e82dd28b-bb19-40d5-b9e4-311587256d79, InvalidParameterException: ECS managed EBS volume configuration was invalid for volume 'vol1'. Encountered 'VolumeTypeNotAvailableInZone' error from AmazonEC2: "The specified zone does not support gp3 volume type."
        
--- FAIL: TestAccECSService_VolumeConfiguration_throughputTypeChange (53.83s)
=== CONT  TestAccECSService_LinearDeployment_waitServiceActive
--- PASS: TestAccECSService_VolumeConfiguration_tagSpecifications (75.12s)
=== CONT  TestAccECSService_CanaryDeployment_outOfBandRemoval
=== NAME  TestAccECSService_VolumeConfiguration_update
    acctest.go:1653: skipping test for aws/us-west-2: Error running apply: exit status 1
        
        Error: updating ECS Service (arn:aws:ecs:us-west-2:123456789012:service/tf-acc-test-3299610682612637050/tf-acc-test-3299610682612637050): operation error ECS: UpdateService, https response error StatusCode: 400, RequestID: 1561a007-75da-47cb-ba8f-6170957fdc84, InvalidParameterException: ECS managed EBS volume configuration was invalid for volume 'vol1'. Encountered 'VolumeTypeNotAvailableInZone' error from AmazonEC2: "The specified zone does not support gp3 volume type."
        
          with aws_ecs_service.test,
          on terraform_plugin_test.tf line 115, in resource "aws_ecs_service" "test":
         115: resource "aws_ecs_service" "test" {
        
    panic.go:636: Error running post-test destroy, there may be dangling resources: exit status 1
        
        Error: draining ECS Service (arn:aws:ecs:us-west-2:123456789012:service/tf-acc-test-3299610682612637050/tf-acc-test-3299610682612637050): operation error ECS: UpdateService, https response error StatusCode: 400, RequestID: 9f509489-c29b-42ba-a18e-73344b91166e, InvalidParameterException: ECS managed EBS volume configuration was invalid for volume 'vol1'. Encountered 'VolumeTypeNotAvailableInZone' error from AmazonEC2: "The specified zone does not support gp3 volume type."
        
--- FAIL: TestAccECSService_VolumeConfiguration_update (46.68s)
=== CONT  TestAccECSService_CanaryDeployment_basic
--- PASS: TestAccECSService_LinearDeployment_waitServiceActive (285.61s)
=== CONT  TestAccECSService_Identity_Basic
--- PASS: TestAccECSService_CanaryDeployment_outOfBandRemoval (310.91s)
=== CONT  TestAccECSService_CapacityProviderStrategy_basic
--- PASS: TestAccECSService_CanaryDeployment_basic (310.59s)
=== CONT  TestAccECSService_PlacementStrategy_unnormalized
--- PASS: TestAccECSService_Identity_Basic (62.92s)
=== CONT  TestAccECSService_LatticeConfigurations
--- PASS: TestAccECSService_PlacementStrategy_unnormalized (69.84s)
=== CONT  TestAccECSService_disappears
--- PASS: TestAccECSService_CapacityProviderStrategy_basic (220.21s)
=== CONT  TestAccECSService_Identity_RegionOverride
--- PASS: TestAccECSService_Identity_RegionOverride (59.37s)
=== CONT  TestAccECSServiceDataSource_canaryDeployment
--- PASS: TestAccECSService_disappears (202.63s)
=== CONT  TestAccECSService_basic
--- PASS: TestAccECSService_basic (73.49s)
=== CONT  TestAccECSServiceDataSource_fullConfiguration
--- PASS: TestAccECSServiceDataSource_fullConfiguration (64.53s)
=== CONT  TestAccECSService_Tags_managed
--- PASS: TestAccECSService_Tags_managed (59.83s)
=== CONT  TestAccECSService_PlacementStrategy_basic
--- PASS: TestAccECSService_PlacementStrategy_basic (100.85s)
=== CONT  TestAccECSService_VolumeConfiguration_basic
--- PASS: TestAccECSServiceDataSource_canaryDeployment (315.76s)
=== CONT  TestAccECSService_CapacityProviderStrategy_update
--- PASS: TestAccECSService_VolumeConfiguration_basic (74.28s)
=== CONT  TestAccECSService_LinearDeployment_updateInPlace
--- PASS: TestAccECSService_LatticeConfigurations (655.30s)
=== CONT  TestAccECSService_LinearDeployment_updateFailure
--- PASS: TestAccECSService_BlueGreenDeployment_circuitBreakerRollback (3411.30s)
=== CONT  TestAccECSServiceDataSource_deploymentConfiguration
--- PASS: TestAccECSService_LinearDeployment_updateInPlace (334.95s)
=== CONT  TestAccECSService_familyAndRevision
--- PASS: TestAccECSServiceDataSource_deploymentConfiguration (296.16s)
=== CONT  TestAccECSServiceDataSource_loadBalancer
--- PASS: TestAccECSService_familyAndRevision (70.33s)
=== CONT  TestAccECSService_forceNewDeploymentTriggers
--- PASS: TestAccECSService_forceNewDeploymentTriggers (59.56s)
=== CONT  TestAccECSService_Tags_basic
--- PASS: TestAccECSService_Tags_basic (70.21s)
=== CONT  TestAccECSService_VolumeConfiguration_volumeInitializationRate
    acctest.go:1653: skipping test for aws/us-west-2: Error running apply: exit status 1
        
        Error: creating ECS Service (tf-acc-test-4386955885111392269): operation error ECS: CreateService, https response error StatusCode: 400, RequestID: e8000569-910c-499e-adea-e6feb34b5ac3, InvalidParameterException: ECS managed EBS volume configuration was invalid for volume 'vol1'. Encountered 'InvalidRequest' error from AmazonEC2: "The specified zone does not support creating volumes with volume initialization rate."
        
          with aws_ecs_service.test,
          on terraform_plugin_test.tf line 132, in resource "aws_ecs_service" "test":
         132: resource "aws_ecs_service" "test" {
        
--- SKIP: TestAccECSService_VolumeConfiguration_volumeInitializationRate (78.29s)
--- PASS: TestAccECSServiceDataSource_loadBalancer (323.31s)
--- PASS: TestAccECSService_LinearDeployment_updateFailure (847.37s)
=== NAME  TestAccECSService_CapacityProviderStrategy_update
    service_test.go:465: Step 4/4 error: Error running apply: exit status 1
        
        Error: deleting EC2 Subnet (subnet-018ae281e74531a45): operation error EC2: DeleteSubnet, https response error StatusCode: 400, RequestID: 1d3c7cf7-383d-4377-852a-cdaeebf1b509, api error DependencyViolation: The subnet 'subnet-018ae281e74531a45' has dependencies and cannot be deleted.
        
        
        Error: deleting Security Group (sg-0c0c1580ddd743d0f): operation error EC2: DeleteSecurityGroup, https response error StatusCode: 400, RequestID: 3a230080-15b9-4785-8bda-1228ae5ba7c0, api error DependencyViolation: resource sg-0c0c1580ddd743d0f has a dependent object
        
--- FAIL: TestAccECSService_CapacityProviderStrategy_update (1512.90s)
FAIL
FAIL	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	7922.962s
?   	github.com/hashicorp/terraform-provider-aws/internal/service/ecs/test-fixtures	[no test files]
FAIL
make: *** [testacc] Error 1

Copy link
Member

@jar-b jar-b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - just a couple minor documentation nits.

ewbankkit
ewbankkit previously approved these changes Nov 26, 2025
Copy link
Contributor

@ewbankkit ewbankkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀.

@ewbankkit
Copy link
Contributor

Need to fix

website/docs/r/ecs_express_gateway_service.html.markdown:201:28 MD047/single-trailing-newline Files should end with a single newline character

ewbankkit
ewbankkit previously approved these changes Nov 26, 2025
@ewbankkit ewbankkit merged commit 13740f6 into hashicorp:main Nov 26, 2025
43 checks passed
@github-actions
Copy link
Contributor

Warning

This Issue has been closed, meaning that any additional comments are much easier for the maintainers to miss. Please assume that the maintainers will not see them.

Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed.

@github-actions github-actions bot added this to the v6.23.0 milestone Nov 26, 2025
@ewbankkit
Copy link
Contributor

@djglaser Thanks for the contribution 🎉 👏.

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

Labels

documentation Introduces or discusses updates to documentation. generators Relates to code generators. new-resource Introduces a new resource. partner Contribution from a partner. prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. service/ecs Issues and PRs that pertain to the ecs service. size/XL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ECS Express Mode

4 participants