Skip to content
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

aws_ec2_fleet: support in-place update of launch template config #15387

Merged

Conversation

idubinskiy
Copy link
Contributor

@idubinskiy idubinskiy commented Sep 29, 2020

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #14946

Release note for CHANGELOG:

aws_ec2_fleet: Support in-place update of Launch Template config

Output from acceptance testing:

$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSEc2Fleet'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSEc2Fleet -timeout 120m
=== RUN   TestAccAWSEc2Fleet_basic
=== PAUSE TestAccAWSEc2Fleet_basic
=== RUN   TestAccAWSEc2Fleet_disappears
=== PAUSE TestAccAWSEc2Fleet_disappears
=== RUN   TestAccAWSEc2Fleet_ExcessCapacityTerminationPolicy
=== PAUSE TestAccAWSEc2Fleet_ExcessCapacityTerminationPolicy
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateId
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateId
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateName
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateName
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_Version
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_Version
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_AvailabilityZone
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_AvailabilityZone
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_InstanceType
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_InstanceType
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_MaxPrice
    provider_test.go:31: EC2 API is not correctly returning MaxPrice override
--- SKIP: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_MaxPrice (0.00s)
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority_Multiple
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority_Multiple
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_SubnetId
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_SubnetId
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity
=== RUN   TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity_Multiple
=== PAUSE TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity_Multiple
=== RUN   TestAccAWSEc2Fleet_OnDemandOptions_AllocationStrategy
=== PAUSE TestAccAWSEc2Fleet_OnDemandOptions_AllocationStrategy
=== RUN   TestAccAWSEc2Fleet_ReplaceUnhealthyInstances
=== PAUSE TestAccAWSEc2Fleet_ReplaceUnhealthyInstances
=== RUN   TestAccAWSEc2Fleet_SpotOptions_AllocationStrategy
=== PAUSE TestAccAWSEc2Fleet_SpotOptions_AllocationStrategy
=== RUN   TestAccAWSEc2Fleet_SpotOptions_InstanceInterruptionBehavior
=== PAUSE TestAccAWSEc2Fleet_SpotOptions_InstanceInterruptionBehavior
=== RUN   TestAccAWSEc2Fleet_SpotOptions_InstancePoolsToUseCount
=== PAUSE TestAccAWSEc2Fleet_SpotOptions_InstancePoolsToUseCount
=== RUN   TestAccAWSEc2Fleet_Tags
=== PAUSE TestAccAWSEc2Fleet_Tags
=== RUN   TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType
=== PAUSE TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType
=== RUN   TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_OnDemand
=== PAUSE TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_OnDemand
=== RUN   TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_Spot
=== PAUSE TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_Spot
=== RUN   TestAccAWSEc2Fleet_TargetCapacitySpecification_TotalTargetCapacity
=== PAUSE TestAccAWSEc2Fleet_TargetCapacitySpecification_TotalTargetCapacity
=== RUN   TestAccAWSEc2Fleet_TerminateInstancesWithExpiration
=== PAUSE TestAccAWSEc2Fleet_TerminateInstancesWithExpiration
=== RUN   TestAccAWSEc2Fleet_Type
=== PAUSE TestAccAWSEc2Fleet_Type
=== RUN   TestAccAWSEc2Fleet_TemplateMultipleNetworkInterfaces
=== PAUSE TestAccAWSEc2Fleet_TemplateMultipleNetworkInterfaces
=== CONT  TestAccAWSEc2Fleet_basic
=== CONT  TestAccAWSEc2Fleet_ReplaceUnhealthyInstances
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_InstanceType
=== CONT  TestAccAWSEc2Fleet_OnDemandOptions_AllocationStrategy
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity_Multiple
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority_Multiple
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_SubnetId
=== CONT  TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType
=== CONT  TestAccAWSEc2Fleet_Tags
=== CONT  TestAccAWSEc2Fleet_SpotOptions_InstancePoolsToUseCount
=== CONT  TestAccAWSEc2Fleet_SpotOptions_InstanceInterruptionBehavior
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity
=== CONT  TestAccAWSEc2Fleet_TerminateInstancesWithExpiration
=== CONT  TestAccAWSEc2Fleet_TemplateMultipleNetworkInterfaces
=== CONT  TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_OnDemand
=== CONT  TestAccAWSEc2Fleet_TargetCapacitySpecification_TotalTargetCapacity
=== CONT  TestAccAWSEc2Fleet_SpotOptions_AllocationStrategy
=== CONT  TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_Spot
=== CONT  TestAccAWSEc2Fleet_Type
2020/09/29 00:58:51 [DEBUG] Reading EC2 Fleet (fleet-ac7c2d49-8903-4e20-8987-859b9b112ba0): {
  FleetIds: ["fleet-ac7c2d49-8903-4e20-8987-859b9b112ba0"]
}
2020/09/29 00:59:09 [DEBUG] Trying to get account information via sts:GetCallerIdentity
2020/09/29 00:59:18 [DEBUG] Reading EC2 Fleet (fleet-17a8ad49-4cb1-4e14-a363-8c0c9b664ced): {
  FleetIds: ["fleet-17a8ad49-4cb1-4e14-a363-8c0c9b664ced"]
}
2020/09/29 00:59:57 [DEBUG] Trying to get account information via sts:GetCallerIdentity
--- PASS: TestAccAWSEc2Fleet_Type (144.73s)
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_AvailabilityZone
--- PASS: TestAccAWSEc2Fleet_basic (147.58s)
=== CONT  TestAccAWSEc2Fleet_ExcessCapacityTerminationPolicy
--- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_OnDemand (147.60s)
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateId
--- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType_Spot (148.93s)
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_Version
2020/09/29 01:00:28 [DEBUG] aws_ami - adding block device mapping: map[device_name:/dev/xvda ebs:map[delete_on_termination:true encrypted:false iops:0 snapshot_id:snap-039944fa8c365b7e1 volume_size:8 volume_type:gp2] virtual_name:]
2020/09/29 01:00:32 [TRACE] Waiting 800ms before next try
2020/09/29 01:01:14 [DEBUG] Reading EC2 Fleet (fleet-bd602444-327c-4004-8bd0-c2296908fe5a): {
  FleetIds: ["fleet-bd602444-327c-4004-8bd0-c2296908fe5a"]
}
--- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_DefaultTargetCapacityType (208.63s)
=== CONT  TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateName
2020/09/29 01:01:26 [WARN] Truncating attribute path of 0 diagnostics for TypeSet
2020/09/29 01:01:39 [DEBUG] Reading launch template lt-0d2777ea1846eabd9
--- PASS: TestAccAWSEc2Fleet_ReplaceUnhealthyInstances (233.23s)
=== CONT  TestAccAWSEc2Fleet_disappears
--- PASS: TestAccAWSEc2Fleet_OnDemandOptions_AllocationStrategy (233.83s)
2020/09/29 01:01:51 [DEBUG] Deleting EC2 Fleet (fleet-ac7c2d49-8903-4e20-8987-859b9b112ba0): {
  FleetIds: ["fleet-ac7c2d49-8903-4e20-8987-859b9b112ba0"],
  TerminateInstances: false
}
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity_Multiple (238.26s)
--- PASS: TestAccAWSEc2Fleet_Tags (240.06s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority_Multiple (240.54s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_Priority (240.64s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_InstanceType (241.13s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_WeightedCapacity (241.29s)
--- PASS: TestAccAWSEc2Fleet_SpotOptions_AllocationStrategy (242.06s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_SubnetId (242.68s)
--- PASS: TestAccAWSEc2Fleet_SpotOptions_InstanceInterruptionBehavior (244.59s)
--- PASS: TestAccAWSEc2Fleet_SpotOptions_InstancePoolsToUseCount (246.12s)
--- PASS: TestAccAWSEc2Fleet_TerminateInstancesWithExpiration (260.78s)
=== CONT  TestAccAWSEc2Fleet_disappears
    resource_aws_ec2_fleet_test.go:69: [INFO] Got non-empty plan, as expected
--- PASS: TestAccAWSEc2Fleet_disappears (66.21s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_Override_AvailabilityZone (190.35s)
--- PASS: TestAccAWSEc2Fleet_ExcessCapacityTerminationPolicy (187.50s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateId (187.89s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_Version (188.86s)
--- PASS: TestAccAWSEc2Fleet_LaunchTemplateConfig_LaunchTemplateSpecification_LaunchTemplateName (138.90s)
--- PASS: TestAccAWSEc2Fleet_TemplateMultipleNetworkInterfaces (616.86s)
--- PASS: TestAccAWSEc2Fleet_TargetCapacitySpecification_TotalTargetCapacity (643.29s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	647.230s

@idubinskiy idubinskiy requested a review from a team September 29, 2020 08:13
@ghost ghost added size/S Managed by automation to categorize the size of a PR. service/ec2 Issues and PRs that pertain to the ec2 service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Sep 29, 2020
@github-actions github-actions bot added the needs-triage Waiting for first response or review from a maintainer. label Sep 29, 2020
@idubinskiy
Copy link
Contributor Author

Any chance of this getting a look anytime soon? I know there's quite a backlog of PRs, but I see quite a few things being merged most days and this one is fairly minimal as far as resource changes go. My team has had to do do this kind of modification pretty often the last couple of months, and it's a bit difficult to manage a custom build of an official provider across multiple users and modules.

@bflad @ewbankkit @gdavison @YakDriver

@idubinskiy
Copy link
Contributor Author

Hopefully a check-in after three months isn't too much noise. Managing a custom version of the provider, especially rebuilding to keep up with upstream changes, continues to cause us pain in using Terraform in production. Any chance someone could look at this change? Is there any more information I need to provide?

@bflad @ewbankkit @gdavison @YakDriver @anGie44

Base automatically changed from master to main January 23, 2021 00:59
@breathingdust breathingdust requested a review from a team as a code owner January 23, 2021 00:59
@aircraft-cerier
Copy link

Have been following this PR for a while, any progress in the review? Thanks

@bflad @ewbankkit @gdavison @YakDriver @anGie44 @breathingdust

@breathingdust breathingdust 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 Sep 13, 2021
@zhelding
Copy link
Contributor

Pull request #21306 has significantly refactored the AWS Provider codebase. As a result, most PRs opened prior to the refactor now have merge conflicts that must be resolved before proceeding.

Specifically, PR #21306 relocated the code for all AWS resources and data sources from a single aws directory to a large number of separate directories in internal/service, each corresponding to a particular AWS service. This separation of code has also allowed for us to simplify the names of underlying functions -- while still avoiding namespace collisions.

We recognize that many pull requests have been open for some time without yet being addressed by our maintainers. Therefore, we want to make it clear that resolving these conflicts in no way affects the prioritization of a particular pull request. Once a pull request has been prioritized for review, the necessary changes will be made by a maintainer -- either directly or in collaboration with the pull request author.

For a more complete description of this refactor, including examples of how old filepaths and function names correspond to their new counterparts: please refer to issue #20000.

For a quick guide on how to amend your pull request to resolve the merge conflicts resulting from this refactor and bring it in line with our new code patterns: please refer to our Service Package Refactor Pull Request Guide.

@YakDriver YakDriver self-assigned this Nov 24, 2021
@github-actions github-actions bot added size/M Managed by automation to categorize the size of a PR. and removed size/S Managed by automation to categorize the size of a PR. labels Nov 24, 2021
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.

Looks great! Thank you for your contribution and patience. 🎉

Output from acceptance tests (us-west-2):

% make testacc TESTS=TestAccEC2Fleet PKG=ec2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/ec2/... -v -count 1 -parallel 20 -run='TestAccEC2Fleet' -timeout 180m
--- SKIP: TestAccEC2Fleet_LaunchTemplateOverride_maxPrice (0.00s)
--- PASS: TestAccEC2Fleet_SpotOptions_capacityRebalance (51.39s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecificationDefaultTargetCapacityType_spot (52.17s)
--- PASS: TestAccEC2Fleet_basic (53.58s)
--- PASS: TestAccEC2Fleet_type (54.25s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecificationDefaultTargetCapacityType_onDemand (54.62s)
--- PASS: TestAccEC2Fleet_SpotOptions_allocationStrategy (89.74s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecification_defaultTargetCapacityType (89.94s)
--- PASS: TestAccEC2Fleet_terminateInstancesWithExpiration (94.04s)
--- PASS: TestAccEC2Fleet_replaceUnhealthyInstances (94.25s)
--- PASS: TestAccEC2Fleet_SpotOptions_instancePoolsToUseCount (94.28s)
--- PASS: TestAccEC2Fleet_SpotOptions_instanceInterruptionBehavior (94.67s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_launchTemplateName (101.54s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_availabilityZone (101.95s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_weightedCapacity (102.24s)
--- PASS: TestAccEC2Fleet_tags (103.81s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_version (104.81s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_instanceType (109.85s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_subnetID (111.31s)
--- PASS: TestAccEC2Fleet_disappears (41.67s)
--- PASS: TestAccEC2Fleet_OnDemandOptions_allocationStrategy (84.26s)
--- PASS: TestAccEC2Fleet_excessCapacityTerminationPolicy (105.91s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverridePriority_multiple (106.70s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_priority (104.65s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_launchTemplateID (107.87s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverrideWeightedCapacity_multiple (102.65s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecification_totalTargetCapacity (473.62s)
--- PASS: TestAccEC2Fleet_templateMultipleNetworkInterfaces (554.46s)

Output from acceptance tests (GovCloud):

% make testacc TESTS=TestAccEC2Fleet PKG=ec2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/ec2/... -v -count 1 -parallel 20 -run='TestAccEC2Fleet' -timeout 180m
--- SKIP: TestAccEC2Fleet_LaunchTemplateOverride_maxPrice (0.00s)
--- PASS: TestAccEC2Fleet_SpotOptions_capacityRebalance (62.51s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecificationDefaultTargetCapacityType_onDemand (62.59s)
--- PASS: TestAccEC2Fleet_type (62.59s)
--- PASS: TestAccEC2Fleet_basic (62.66s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecification_defaultTargetCapacityType (96.38s)
--- PASS: TestAccEC2Fleet_replaceUnhealthyInstances (104.87s)
--- PASS: TestAccEC2Fleet_terminateInstancesWithExpiration (104.93s)
--- PASS: TestAccEC2Fleet_SpotOptions_instancePoolsToUseCount (105.07s)
--- PASS: TestAccEC2Fleet_SpotOptions_allocationStrategy (105.12s)
--- PASS: TestAccEC2Fleet_OnDemandOptions_allocationStrategy (105.12s)
--- PASS: TestAccEC2Fleet_SpotOptions_instanceInterruptionBehavior (105.12s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_launchTemplateName (108.33s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_launchTemplateID (113.88s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverrideWeightedCapacity_multiple (114.31s)
--- PASS: TestAccEC2Fleet_excessCapacityTerminationPolicy (114.48s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_instanceType (114.54s)
--- PASS: TestAccEC2Fleet_tags (114.54s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_weightedCapacity (114.56s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_subnetID (119.48s)
--- PASS: TestAccEC2Fleet_disappears (40.59s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecificationDefaultTargetCapacityType_spot (43.68s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_priority (105.16s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverridePriority_multiple (105.45s)
--- PASS: TestAccEC2Fleet_LaunchTemplateOverride_availabilityZone (105.38s)
--- PASS: TestAccEC2Fleet_LaunchTemplateLaunchTemplateSpecification_version (106.48s)
--- PASS: TestAccEC2Fleet_templateMultipleNetworkInterfaces (552.20s)
--- PASS: TestAccEC2Fleet_TargetCapacitySpecification_totalTargetCapacity (470.54s)

@YakDriver YakDriver merged commit 15b04cb into hashicorp:main Nov 24, 2021
@github-actions github-actions bot added this to the v3.67.0 milestone Nov 24, 2021
@github-actions
Copy link

github-actions bot commented Dec 1, 2021

This functionality has been released in v3.67.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

github-actions bot commented Jun 7, 2022

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 Jun 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/ec2 Issues and PRs that pertain to the ec2 service. size/M 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.

r/aws_ec2_fleet: Support in-place update of instance types and weights
5 participants