provider/aws: Fix bug with Updating `aws_autoscaling_group` (#7698)
`enabled_metrics` Fixes #7693 The metrics_granularity parameter was not being passed to the `EnableMetricsCollection` when we were calling it from the Update func. this was causing the API call to silently fail and not update the metrics for collection - unfortunately the enabled_metrics were still being added to the state :( By passing the granularity, we now get the correct metrics for collection ``` % make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAutoScalingGroup_' ==> Checking that code complies with gofmt requirements... go generate $(go list ./... | grep -v /terraform/vendor/) TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAutoScalingGroup_ -timeout 120m === RUN TestAccAWSAutoScalingGroup_importBasic --- PASS: TestAccAWSAutoScalingGroup_importBasic (166.86s) === RUN TestAccAWSAutoScalingGroup_basic --- PASS: TestAccAWSAutoScalingGroup_basic (240.23s) === RUN TestAccAWSAutoScalingGroup_autoGeneratedName --- PASS: TestAccAWSAutoScalingGroup_autoGeneratedName (50.29s) === RUN TestAccAWSAutoScalingGroup_terminationPolicies --- PASS: TestAccAWSAutoScalingGroup_terminationPolicies (79.93s) === RUN TestAccAWSAutoScalingGroup_tags --- PASS: TestAccAWSAutoScalingGroup_tags (270.79s) === RUN TestAccAWSAutoScalingGroup_VpcUpdates --- PASS: TestAccAWSAutoScalingGroup_VpcUpdates (77.76s) === RUN TestAccAWSAutoScalingGroup_WithLoadBalancer --- PASS: TestAccAWSAutoScalingGroup_WithLoadBalancer (400.67s) === RUN TestAccAWSAutoScalingGroup_withPlacementGroup --- PASS: TestAccAWSAutoScalingGroup_withPlacementGroup (134.39s) === RUN TestAccAWSAutoScalingGroup_enablingMetrics --- PASS: TestAccAWSAutoScalingGroup_enablingMetrics (305.32s) === RUN TestAccAWSAutoScalingGroup_withMetrics --- PASS: TestAccAWSAutoScalingGroup_withMetrics (48.56s) PASS ok github.com/hashicorp/terraform/builtin/providers/aws 1774.819s ```
This commit is contained in:
parent
c664f57016
commit
ee9114bcc4
|
@ -612,6 +612,7 @@ func updateASGMetricsCollection(d *schema.ResourceData, conn *autoscaling.AutoSc
|
|||
props := &autoscaling.EnableMetricsCollectionInput{
|
||||
AutoScalingGroupName: aws.String(d.Id()),
|
||||
Metrics: expandStringList(enabledMetrics.List()),
|
||||
Granularity: aws.String(d.Get("metrics_granularity").(string)),
|
||||
}
|
||||
|
||||
_, err := conn.EnableMetricsCollection(props)
|
||||
|
|
|
@ -259,6 +259,36 @@ func TestAccAWSAutoScalingGroup_withPlacementGroup(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestAccAWSAutoScalingGroup_enablingMetrics(t *testing.T) {
|
||||
var group autoscaling.Group
|
||||
randName := fmt.Sprintf("terraform-test-%s", acctest.RandString(10))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckAWSAutoScalingGroupDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccAWSAutoScalingGroupConfig(randName),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckAWSAutoScalingGroupExists("aws_autoscaling_group.bar", &group),
|
||||
resource.TestCheckResourceAttr(
|
||||
"aws_autoscaling_group.bar", "enabled_metrics.#", ""),
|
||||
),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
Config: testAccAWSAutoscalingMetricsCollectionConfig_updatingMetricsCollected,
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckAWSAutoScalingGroupExists("aws_autoscaling_group.bar", &group),
|
||||
resource.TestCheckResourceAttr(
|
||||
"aws_autoscaling_group.bar", "enabled_metrics.#", "5"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccAWSAutoScalingGroup_withMetrics(t *testing.T) {
|
||||
var group autoscaling.Group
|
||||
|
||||
|
|
Loading…
Reference in New Issue