Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@h-g-gervais
Copy link

@h-g-gervais h-g-gervais commented Oct 28, 2025

Description

We add support for new deployment strategies of AWS::ECS::Service. The new strategies are Linear and Canary deployments.

Relations

Closes #44883
Closes #9842

References

Output from Acceptance Testing

The failure below is from a known issue.

dev-dsk-hgervais-1a-79fc5344 % make testacc TESTS=TestAccECSService_ PKG=ecs
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.24.6 test ./internal/service/ecs/... -v -count 1 -parallel 3  -run='TestAccECSService_'  -timeout 360m -vet=off
2025/10/21 18:29:41 Creating Terraform AWS Provider (SDKv2-style)...
2025/10/21 18:29:41 Initializing Terraform AWS Provider (SDKv2-style)...
service_test.go:1085: SIGINT handling can't reliably be tested in CI
--- SKIP: TestAccECSService_BlueGreenDeployment_sigintRollback (0.00s)
--- PASS: TestAccECSService_alarmsUpdate (96.19s)
--- PASS: TestAccECSService_basic (111.66s)
--- PASS: TestAccECSService_CanaryDeployment_changeStrategy (392.50s)
--- PASS: TestAccECSService_CanaryDeployment_updateFailure (701.85s)
--- PASS: TestAccECSService_CanaryDeployment_createFailure (591.64s)
--- PASS: TestAccECSService_CanaryDeployment_outOfBandRemoval (338.96s)
--- PASS: TestAccECSService_LinearDeployment_waitServiceActive (331.54s)
--- PASS: TestAccECSService_CanaryDeployment_basic (337.65s)
--- PASS: TestAccECSService_LinearDeployment_updateInPlace (396.70s)
--- PASS: TestAccECSService_LinearDeployment_changeStrategy (396.63s)
--- PASS: TestAccECSService_LinearDeployment_updateFailure (698.02s)
--- PASS: TestAccECSService_LinearDeployment_outOfBandRemoval (348.86s)
--- PASS: TestAccECSService_LinearDeployment_createFailure (624.20s)
--- PASS: TestAccECSService_LinearDeployment_basic (337.95s)
--- PASS: TestAccECSService_BlueGreenDeployment_waitServiceActive (1014.67s)
--- PASS: TestAccECSService_BlueGreenDeployment_updateInPlace (1079.68s)
--- PASS: TestAccECSService_BlueGreenDeployment_withoutTestListenerRule (1850.44s)
--- PASS: TestAccECSService_BlueGreenDeployment_createFailure (339.41s)
--- PASS: TestAccECSService_BlueGreenDeployment_updateFailure (1125.75s)
--- PASS: TestAccECSService_BlueGreenDeployment_outOfBandRemoval (1000.81s)
--- PASS: TestAccECSService_BlueGreenDeployment_changeStrategy (2231.05s)
--- PASS: TestAccECSService_LaunchTypeEC2_network (113.95s)
--- PASS: TestAccECSService_AvailabilityZoneRebalancing (133.08s)
--- PASS: TestAccECSService_executeCommand (69.94s)
--- PASS: TestAccECSService_Tags_propagate (86.26s)
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0 (129.51s)
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0 (105.96s)
--- PASS: TestAccECSService_Tags_managed (52.41s)
--- PASS: TestAccECSService_Tags_basic (102.79s)
--- PASS: TestAccECSService_ServiceConnect_outOfBandRemoval (218.66s)
--- PASS: TestAccECSService_BlueGreenDeployment_basic (1424.75s)
--- PASS: TestAccECSService_ServiceConnect_ingressPortOverride (196.52s)
--- PASS: TestAccECSService_ServiceConnect_remove (217.22s)
--- PASS: TestAccECSService_ServiceConnect_tls_with_empty_timeout (184.96s)
--- PASS: TestAccECSService_ServiceConnect_full (185.06s)
--- PASS: TestAccECSService_ServiceRegistries_removal (147.65s)
--- PASS: TestAccECSService_ServiceConnect_basic (182.99s)
--- PASS: TestAccECSService_ServiceRegistries_container (164.75s)
--- PASS: TestAccECSService_ServiceRegistries_changes (324.86s)
--- PASS: TestAccECSService_ServiceRegistries_basic (164.41s)
--- PASS: TestAccECSService_replicaSchedulingStrategy (74.13s)
--- PASS: TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum (38.05s)
--- PASS: TestAccECSService_DaemonSchedulingStrategy_basic (39.59s)
--- PASS: TestAccECSService_BlueGreenDeployment_circuitBreakerRollback (3489.49s)
--- PASS: TestAccECSService_forceNewDeployment (125.60s)
--- PASS: TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState (218.45s)
--- PASS: TestAccECSService_LaunchTypeFargate_platformVersion (160.97s)
--- PASS: TestAccECSService_LaunchTypeFargate_waitForSteadyState (170.74s)
--- PASS: TestAccECSService_PlacementConstraints_emptyExpression (74.55s)
--- PASS: TestAccECSService_PlacementStrategy_missing (1.09s)
--- PASS: TestAccECSService_PlacementConstraints_basic (95.39s)
--- PASS: TestAccECSService_LaunchTypeFargate_basic (162.75s)
--- PASS: TestAccECSService_forceNewDeploymentTriggers (83.55s)
--- PASS: TestAccECSService_PlacementStrategy_basic (130.03s)
--- PASS: TestAccECSService_VolumeConfiguration_tagSpecifications (79.77s)
--- PASS: TestAccECSService_DeploymentControllerType_external (57.18s)
--- PASS: TestAccECSService_alarmsAdd (91.97s)
--- PASS: TestAccECSService_DeploymentControllerMutability_codeDeployToECS (322.35s)
--- PASS: TestAccECSService_DeploymentControllerType_codeDeploy (295.08s)
--- PASS: TestAccECSService_iamRole (47.43s)
--- PASS: TestAccECSService_familyAndRevision (92.44s)
    service_test.go:642: Step 1/2 error: Check failed: Check 6/7 error: aws_ecs_service.test: Attribute 'volume_configuration.0.managed_ebs_volume.0.throughput' expected "", got "0"
--- FAIL: TestAccECSService_VolumeConfiguration_throughputTypeChange (87.00s)
--- PASS: TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod (507.27s)
--- PASS: TestAccECSService_VolumeConfiguration_basic (81.16s)
--- PASS: TestAccECSService_VolumeConfiguration_update (134.89s)
--- PASS: TestAccECSService_healthCheckGracePeriodSeconds (341.78s)
--- PASS: TestAccECSService_VolumeConfiguration_volumeInitializationRate (129.07s)
--- PASS: TestAccECSService_CapacityProviderStrategy_forceNewDeployment (148.58s)
--- PASS: TestAccECSService_PlacementStrategy_unnormalized (85.48s)
--- PASS: TestAccECSService_CapacityProviderStrategy_update (283.10s)
--- PASS: TestAccECSService_disappears (206.39s)
--- PASS: TestAccECSService_deploymentCircuitBreaker (85.06s)
--- PASS: TestAccECSService_multipleTargetGroups (291.50s)
--- PASS: TestAccECSService_clusterName (74.80s)
--- PASS: TestAccECSService_alb (310.31s)
--- PASS: TestAccECSService_DeploymentConfiguration_strategy (108.63s)
--- PASS: TestAccECSService_LatticeConfigurations (598.07s)
--- PASS: TestAccECSService_DeploymentValues_minZeroMaxOneHundred (74.24s)
--- PASS: TestAccECSService_DeploymentValues_basic (84.62s)
--- PASS: TestAccECSService_loadBalancerChanges (327.75s)
--- PASS: TestAccECSService_Identity_RegionOverride (66.79s)
--- PASS: TestAccECSService_Identity_Basic (79.73s)
--- PASS: TestAccECSService_CanaryDeployment_waitServiceActive (331.84s)
--- PASS: TestAccECSService_CapacityProviderStrategy_basic (163.53s)
--- PASS: TestAccECSService_CanaryDeployment_updateInPlace (397.01s)
FAIL\
FAIL    github.com/hashicorp/terraform-provider-aws/internal/service/ecs        9856.786s\
?       github.com/hashicorp/terraform-provider-aws/internal/service/ecs/test-fixtures  [no test files]\
FAIL\
make: *** [testacc] Error 1\
...

…esresource

Resolve merge conflicts

Add support for progressive deployments in resourceServiceRead

Add expand methods for progressive deployment configuration items

Refactor configuration translation logic to use new expand helper methods for service creation and update

Add range validation for percent values in Canary and Linear configurations

Fix type mismatches in schema and handler

Add basic acceptance test for Linear deployments

Add basic test for Canary deployment strategy

Add tests for out of band removal and helper functions

Add acceptance tests for edge cases in linear and canary deployment strategies

Add missing load balancer and circuit breaker config in linear and canary deployment strategies

Adjust parameter values and set bake_time parameter for all deployment strategies

Resolve merge conflicts
@h-g-gervais h-g-gervais requested a review from a team as a code owner October 28, 2025 19:07
@github-actions
Copy link
Contributor

github-actions bot commented Oct 28, 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. provider Pertains to the provider itself, rather than any interaction with AWS. size/XL Managed by automation to categorize the size of a PR. labels Oct 28, 2025
@justinretzolk justinretzolk added enhancement Requests to existing resources that expand the functionality or scope. and removed needs-triage Waiting for first response or review from a maintainer. labels Oct 28, 2025
@h-g-gervais
Copy link
Author

I realize the changes to service_test.go are interleaved in a way that makes them unreadable.

We will move the newly added acceptance tests to make the change easier to review.

@wellsiau-aws
Copy link
Contributor

closes #44883

Hualong Gervais and others added 13 commits October 31, 2025 16:47
Return actual errors instead of nil in expandBakeTimeInMinutes and expandLinearConfiguration
Change parameter names from snake_case to camelCase in expandCanaryConfiguration and expandLinearConfiguration
Simplify pointer access in flattenCanaryConfiguration and flattenLinearConfiguration
Validate that canary_percent and step_percent are present when their respective configurations are used
Change bake_time_in_minutes values from strings to integers to match nullable.TypeNullableInt schema type
Upgrade from v1.63.5 to v1.67.2 to include new deployment strategies and configuration types
@YakDriver YakDriver self-assigned this Nov 10, 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 10, 2025
Include linear_configuration and canary_configuration blocks to support new deployment strategies
…fields to data source

Add capacity_provider_strategy, deployment_controller, enable_ecs_managed_tags, enable_execute_command, health_check_grace_period_seconds, and iam_role to aws_ecs_service data source
Add network_configuration, ordered_placement_strategy, placement_constraints, platform_version, propagate_tags, and service_registries to aws_ecs_service data source
Add created_at, created_by, deployments, events, pending_count, platform_family, running_count, status, and task_sets for monitoring and observability
Add documentation for all new attributes including deployment_configuration with linear_configuration and canary_configuration blocks, and runtime state fields
@YakDriver
Copy link
Member

It is a best practice to add fields to the data source at the same time they're added to the resource. However, in adding fields to the data source, I found that there were lots of missing fields so pulled that thread, and added them.

Copy link
Member

@YakDriver YakDriver left a comment

Choose a reason for hiding this comment

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

LGTM 🎉

(Full suite to follow...)

make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-linear-canary-deployment 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 20 -run='TestAccECSServiceDataSource'  -timeout 360m -vet=off
2025/11/11 10:17:14 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/11 10:17:14 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
=== CONT  TestAccECSServiceDataSource_basic
=== CONT  TestAccECSServiceDataSource_canaryDeployment
=== CONT  TestAccECSServiceDataSource_deploymentConfiguration
=== CONT  TestAccECSServiceDataSource_fullConfiguration
=== CONT  TestAccECSServiceDataSource_loadBalancer
--- PASS: TestAccECSServiceDataSource_basic (70.82s)
--- PASS: TestAccECSServiceDataSource_fullConfiguration (75.09s)
--- PASS: TestAccECSServiceDataSource_canaryDeployment (286.80s)
--- PASS: TestAccECSServiceDataSource_deploymentConfiguration (296.59s)
--- PASS: TestAccECSServiceDataSource_loadBalancer (314.52s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	321.088s

make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-linear-canary-deployment 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 20 -run='TestAccECSService_basic|TestAccECSService_deploymentConfiguration|TestAccECSService_linearDeployment|TestAccECSService_canaryDeployment'  -timeout 360m -vet=off
2025/11/11 10:26:56 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/11 10:26:56 Initializing Terraform AWS Provider (SDKv2-style)...
=== RUN   TestAccECSService_basic
=== PAUSE TestAccECSService_basic
=== CONT  TestAccECSService_basic
--- PASS: TestAccECSService_basic (83.94s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	90.899s

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 🚀.

@YakDriver
Copy link
Member

That took a minute... Full suite:

% make t T='TestAccECSService_|TestAccECSServiceDataSource_' K=ecs P=15
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
make: Running acceptance tests on branch: 🌿 f-linear-canary-deployment 🌿...
TF_ACC=1 go1.24.10 test ./internal/service/ecs/... -v -count 1 -parallel 15 -run='TestAccECSService_|TestAccECSServiceDataSource_'  -timeout 360m -vet=off
2025/11/11 10:54:53 Creating Terraform AWS Provider (SDKv2-style)...
2025/11/11 10:54:53 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_DeploymentValues_basic
=== CONT  TestAccECSService_BlueGreenDeployment_createFailure
=== CONT  TestAccECSService_ServiceConnect_outOfBandRemoval
=== CONT  TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum
=== CONT  TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod
=== CONT  TestAccECSService_multipleTargetGroups
=== CONT  TestAccECSService_alb
=== CONT  TestAccECSService_clusterName
=== CONT  TestAccECSService_loadBalancerChanges
=== CONT  TestAccECSService_deploymentCircuitBreaker
=== CONT  TestAccECSService_DeploymentValues_minZeroMaxOneHundred
=== CONT  TestAccECSService_LaunchTypeFargate_basic
=== CONT  TestAccECSService_CapacityProviderStrategy_forceNewDeployment
--- PASS: TestAccECSService_DaemonSchedulingStrategy_setDeploymentMinimum (42.47s)
=== CONT  TestAccECSService_BlueGreenDeployment_waitServiceActive
--- PASS: TestAccECSService_forceNewDeployment (62.69s)
=== CONT  TestAccECSService_DeploymentConfiguration_strategy
--- PASS: TestAccECSService_DeploymentValues_minZeroMaxOneHundred (63.51s)
=== CONT  TestAccECSService_BlueGreenDeployment_withoutTestListenerRule
--- PASS: TestAccECSService_deploymentCircuitBreaker (63.68s)
=== CONT  TestAccECSService_alarmsUpdate
=== CONT  TestAccECSService_BlueGreenDeployment_circuitBreakerRollback
--- PASS: TestAccECSService_DeploymentValues_basic (63.76s)
--- PASS: TestAccECSServiceDataSource_basic (73.76s)
=== CONT  TestAccECSService_BlueGreenDeployment_outOfBandRemoval
--- PASS: TestAccECSService_clusterName (74.09s)
=== CONT  TestAccECSService_BlueGreenDeployment_basic
--- PASS: TestAccECSService_LaunchTypeFargate_basic (87.03s)
=== CONT  TestAccECSService_VolumeConfiguration_throughputTypeChange
--- PASS: TestAccECSService_CapacityProviderStrategy_forceNewDeployment (87.79s)
=== CONT  TestAccECSService_DeploymentControllerType_codeDeploy
--- PASS: TestAccECSService_alarmsUpdate (80.17s)
=== CONT  TestAccECSService_iamRole
--- PASS: TestAccECSService_DeploymentConfiguration_strategy (88.83s)
=== CONT  TestAccECSService_healthCheckGracePeriodSeconds
=== CONT  TestAccECSService_familyAndRevision
--- PASS: TestAccECSService_VolumeConfiguration_throughputTypeChange (85.50s)
--- PASS: TestAccECSService_iamRole (38.73s)
=== CONT  TestAccECSService_BlueGreenDeployment_updateFailure
--- PASS: TestAccECSService_ServiceConnect_outOfBandRemoval (193.07s)
=== CONT  TestAccECSService_BlueGreenDeployment_updateInPlace
--- PASS: TestAccECSService_familyAndRevision (79.58s)
=== CONT  TestAccECSService_VolumeConfiguration_volumeInitializationRate
--- PASS: TestAccECSService_multipleTargetGroups (271.82s)
=== CONT  TestAccECSService_VolumeConfiguration_update
--- PASS: TestAccECSService_loadBalancerChanges (273.12s)
=== CONT  TestAccECSService_VolumeConfiguration_tagSpecifications
--- PASS: TestAccECSService_alb (285.78s)
=== CONT  TestAccECSService_VolumeConfiguration_basic
--- PASS: TestAccECSService_BlueGreenDeployment_createFailure (341.34s)
=== CONT  TestAccECSService_ServiceConnect_basic
--- PASS: TestAccECSService_VolumeConfiguration_update (82.54s)
=== CONT  TestAccECSService_ServiceConnect_remove
--- PASS: TestAccECSService_BlueGreenDeployment_waitServiceActive (316.78s)
=== CONT  TestAccECSService_ServiceConnect_ingressPortOverride
--- PASS: TestAccECSService_VolumeConfiguration_basic (74.27s)
=== CONT  TestAccECSService_ServiceConnect_tls_with_empty_timeout
--- PASS: TestAccECSService_VolumeConfiguration_tagSpecifications (100.28s)
=== CONT  TestAccECSService_ServiceConnect_full
--- PASS: TestAccECSService_VolumeConfiguration_volumeInitializationRate (123.38s)
=== CONT  TestAccECSService_DeploymentControllerMutability_codeDeployToECS
--- PASS: TestAccECSService_DeploymentControllerType_codeDeploy (294.21s)
=== CONT  TestAccECSService_alarmsAdd
--- PASS: TestAccECSService_healthCheckGracePeriodSeconds (288.14s)
=== CONT  TestAccECSService_Identity_Basic
--- PASS: TestAccECSService_alarmsAdd (68.85s)
=== CONT  TestAccECSService_CapacityProviderStrategy_basic
--- PASS: TestAccECSService_DeploymentControllerType_codeDeployUpdateDesiredCountAndHealthCheckGracePeriod (483.10s)
=== CONT  TestAccECSService_PlacementStrategy_unnormalized
--- PASS: TestAccECSService_ServiceConnect_remove (147.03s)
=== CONT  TestAccECSService_LatticeConfigurations
--- PASS: TestAccECSService_ServiceConnect_basic (161.73s)
=== CONT  TestAccECSService_disappears
--- PASS: TestAccECSService_Identity_Basic (72.89s)
=== CONT  TestAccECSService_Identity_RegionOverride
--- PASS: TestAccECSService_ServiceConnect_ingressPortOverride (166.42s)
=== CONT  TestAccECSService_ServiceRegistries_container
--- PASS: TestAccECSService_ServiceConnect_tls_with_empty_timeout (167.63s)
=== CONT  TestAccECSService_ServiceRegistries_removal
--- PASS: TestAccECSService_CapacityProviderStrategy_basic (86.45s)
=== CONT  TestAccECSService_ServiceRegistries_changes
--- PASS: TestAccECSService_ServiceConnect_full (167.30s)
=== CONT  TestAccECSService_CapacityProviderStrategy_update
--- PASS: TestAccECSService_PlacementStrategy_unnormalized (59.13s)
=== CONT  TestAccECSService_executeCommand
--- PASS: TestAccECSService_Identity_RegionOverride (59.25s)
=== CONT  TestAccECSService_LinearDeployment_createFailure
--- PASS: TestAccECSService_executeCommand (68.91s)
=== CONT  TestAccECSService_LinearDeployment_outOfBandRemoval
--- PASS: TestAccECSService_DeploymentControllerMutability_codeDeployToECS (261.59s)
=== CONT  TestAccECSService_LinearDeployment_basic
--- PASS: TestAccECSService_CapacityProviderStrategy_update (97.25s)
=== CONT  TestAccECSService_AvailabilityZoneRebalancing
--- PASS: TestAccECSService_ServiceRegistries_removal (118.23s)
=== CONT  TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState
--- PASS: TestAccECSService_ServiceRegistries_container (143.69s)
=== CONT  TestAccECSService_DaemonSchedulingStrategy_basic
--- PASS: TestAccECSService_disappears (190.56s)
=== CONT  TestAccECSService_LaunchTypeEC2_network
--- PASS: TestAccECSService_DaemonSchedulingStrategy_basic (38.13s)
=== CONT  TestAccECSService_CanaryDeployment_createFailure
--- PASS: TestAccECSService_AvailabilityZoneRebalancing (76.10s)
=== CONT  TestAccECSService_LinearDeployment_changeStrategy
--- PASS: TestAccECSService_LaunchTypeEC2_network (66.47s)
=== CONT  TestAccECSService_CanaryDeployment_waitServiceActive
--- PASS: TestAccECSService_ServiceRegistries_changes (233.93s)
=== CONT  TestAccECSService_CanaryDeployment_updateInPlace
--- PASS: TestAccECSService_LaunchTypeFargate_updateWaitForSteadyState (239.08s)
=== CONT  TestAccECSService_CanaryDeployment_outOfBandRemoval
--- PASS: TestAccECSService_LinearDeployment_basic (322.49s)
=== CONT  TestAccECSService_CanaryDeployment_updateFailure
--- PASS: TestAccECSService_LinearDeployment_outOfBandRemoval (402.84s)
=== CONT  TestAccECSService_CanaryDeployment_basic
--- PASS: TestAccECSService_CanaryDeployment_waitServiceActive (286.71s)
=== CONT  TestAccECSService_CanaryDeployment_changeStrategy
--- PASS: TestAccECSService_LinearDeployment_changeStrategy (343.96s)
=== CONT  TestAccECSService_LinearDeployment_waitServiceActive
--- PASS: TestAccECSService_BlueGreenDeployment_outOfBandRemoval (1001.98s)
=== CONT  TestAccECSService_LinearDeployment_updateInPlace
--- PASS: TestAccECSService_CanaryDeployment_updateInPlace (406.71s)
=== CONT  TestAccECSService_LinearDeployment_updateFailure
--- PASS: TestAccECSService_CanaryDeployment_outOfBandRemoval (322.71s)
=== CONT  TestAccECSService_LaunchTypeFargate_waitForSteadyState
--- PASS: TestAccECSService_LatticeConfigurations (730.34s)
=== CONT  TestAccECSService_DeploymentControllerType_external
--- PASS: TestAccECSService_DeploymentControllerType_external (32.37s)
=== CONT  TestAccECSServiceDataSource_canaryDeployment
--- PASS: TestAccECSService_BlueGreenDeployment_updateInPlace (1075.84s)
=== CONT  TestAccECSService_basic
--- PASS: TestAccECSService_BlueGreenDeployment_updateFailure (1114.54s)
=== CONT  TestAccECSServiceDataSource_deploymentConfiguration
--- PASS: TestAccECSService_CanaryDeployment_basic (310.80s)
=== CONT  TestAccECSServiceDataSource_fullConfiguration
--- PASS: TestAccECSService_basic (71.88s)
=== CONT  TestAccECSService_Tags_UpgradeFromV5_100_0
--- PASS: TestAccECSService_LinearDeployment_waitServiceActive (306.75s)
=== CONT  TestAccECSService_ServiceRegistries_basic
--- PASS: TestAccECSService_LaunchTypeFargate_waitForSteadyState (176.49s)
=== CONT  TestAccECSService_Tags_propagate
--- PASS: TestAccECSService_CanaryDeployment_changeStrategy (339.95s)
=== CONT  TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0
--- PASS: TestAccECSServiceDataSource_fullConfiguration (74.46s)
=== CONT  TestAccECSService_LaunchTypeFargate_platformVersion
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0 (87.99s)
=== CONT  TestAccECSService_Tags_managed
--- PASS: TestAccECSService_Tags_propagate (56.14s)
=== CONT  TestAccECSService_Tags_basic
--- PASS: TestAccECSService_LinearDeployment_updateInPlace (386.64s)
=== CONT  TestAccECSServiceDataSource_loadBalancer
--- PASS: TestAccECSService_LaunchTypeFargate_platformVersion (87.52s)
=== CONT  TestAccECSService_PlacementStrategy_missing
--- PASS: TestAccECSService_PlacementStrategy_missing (0.72s)
=== CONT  TestAccECSService_PlacementStrategy_basic
--- PASS: TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0 (110.39s)
=== CONT  TestAccECSService_PlacementConstraints_emptyExpression
--- PASS: TestAccECSService_Tags_managed (70.77s)
=== CONT  TestAccECSService_BlueGreenDeployment_changeStrategy
--- PASS: TestAccECSService_ServiceRegistries_basic (142.88s)
=== CONT  TestAccECSService_replicaSchedulingStrategy
--- PASS: TestAccECSService_Tags_basic (68.19s)
=== CONT  TestAccECSService_forceNewDeploymentTriggers
--- PASS: TestAccECSService_CanaryDeployment_createFailure (809.51s)
=== CONT  TestAccECSService_PlacementConstraints_basic
--- PASS: TestAccECSService_BlueGreenDeployment_basic (1470.96s)
--- PASS: TestAccECSService_LinearDeployment_createFailure (978.84s)
--- PASS: TestAccECSService_PlacementConstraints_emptyExpression (70.08s)
--- PASS: TestAccECSService_replicaSchedulingStrategy (59.62s)
--- PASS: TestAccECSService_forceNewDeploymentTriggers (58.83s)
--- PASS: TestAccECSService_PlacementStrategy_basic (88.08s)
--- PASS: TestAccECSServiceDataSource_canaryDeployment (316.27s)
--- PASS: TestAccECSServiceDataSource_deploymentConfiguration (286.30s)
--- PASS: TestAccECSService_PlacementConstraints_basic (70.28s)
--- PASS: TestAccECSServiceDataSource_loadBalancer (304.88s)
--- PASS: TestAccECSService_BlueGreenDeployment_withoutTestListenerRule (1833.45s)
--- PASS: TestAccECSService_CanaryDeployment_updateFailure (942.87s)
--- PASS: TestAccECSService_LinearDeployment_updateFailure (1044.04s)
--- PASS: TestAccECSService_BlueGreenDeployment_changeStrategy (1948.09s)
--- PASS: TestAccECSService_BlueGreenDeployment_circuitBreakerRollback (3391.47s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	3461.473s

@YakDriver YakDriver merged commit 7cccf97 into hashicorp:main Nov 11, 2025
44 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.21.0 milestone Nov 11, 2025
@YakDriver
Copy link
Member

Thanks @h-g-gervais for the contribution!!

@github-actions github-actions bot removed the prioritized Part of the maintainer teams immediate focus. To be addressed within the current quarter. label Nov 13, 2025
@github-actions
Copy link
Contributor

This functionality has been released in v6.21.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

@github-actions
Copy link
Contributor

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentation Introduces or discusses updates to documentation. enhancement Requests to existing resources that expand the functionality or scope. provider Pertains to the provider itself, rather than any interaction with AWS. 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 - Linear and Canary deployments d/aws_ecs_service missing some attributes

5 participants