From 4e4f3096f20c6e8a4cb7db44656110ec6ea71010 Mon Sep 17 00:00:00 2001 From: Ryan Dyer Date: Thu, 11 Feb 2021 20:07:59 +0000 Subject: [PATCH 1/4] 14324 - Fix kafka_versions being a required field --- aws/resource_aws_msk_configuration.go | 7 +++++-- aws/resource_aws_msk_configuration_test.go | 4 ---- tools/go.sum | 2 ++ 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/aws/resource_aws_msk_configuration.go b/aws/resource_aws_msk_configuration.go index 345aa0eed1a9..c644b789ee43 100644 --- a/aws/resource_aws_msk_configuration.go +++ b/aws/resource_aws_msk_configuration.go @@ -32,7 +32,7 @@ func resourceAwsMskConfiguration() *schema.Resource { }, "kafka_versions": { Type: schema.TypeSet, - Required: true, + Optional: true, ForceNew: true, Elem: &schema.Schema{ Type: schema.TypeString, @@ -59,7 +59,6 @@ func resourceAwsMskConfigurationCreate(d *schema.ResourceData, meta interface{}) conn := meta.(*AWSClient).kafkaconn input := &kafka.CreateConfigurationInput{ - KafkaVersions: expandStringSet(d.Get("kafka_versions").(*schema.Set)), Name: aws.String(d.Get("name").(string)), ServerProperties: []byte(d.Get("server_properties").(string)), } @@ -68,6 +67,10 @@ func resourceAwsMskConfigurationCreate(d *schema.ResourceData, meta interface{}) input.Description = aws.String(v.(string)) } + if v, ok := d.GetOk("kafka_versions"); ok { + input.KafkaVersions = expandStringSet(v.(*schema.Set)) + } + output, err := conn.CreateConfiguration(input) if err != nil { diff --git a/aws/resource_aws_msk_configuration_test.go b/aws/resource_aws_msk_configuration_test.go index 398af256ee77..dce702abbfe7 100644 --- a/aws/resource_aws_msk_configuration_test.go +++ b/aws/resource_aws_msk_configuration_test.go @@ -91,7 +91,6 @@ func TestAccAWSMskConfiguration_basic(t *testing.T) { testAccCheckMskConfigurationExists(resourceName, &configuration1), testAccMatchResourceAttrRegionalARN(resourceName, "arn", "kafka", regexp.MustCompile(`configuration/.+`)), resource.TestCheckResourceAttr(resourceName, "description", ""), - resource.TestCheckResourceAttr(resourceName, "kafka_versions.#", "1"), resource.TestCheckResourceAttr(resourceName, "latest_revision", "1"), resource.TestCheckResourceAttr(resourceName, "name", rName), resource.TestMatchResourceAttr(resourceName, "server_properties", regexp.MustCompile(`auto.create.topics.enable = true`)), @@ -286,7 +285,6 @@ func testAccCheckMskConfigurationExists(resourceName string, configuration *kafk func testAccMskConfigurationConfig(rName string) string { return fmt.Sprintf(` resource "aws_msk_configuration" "test" { - kafka_versions = ["2.1.0"] name = %[1]q server_properties = < Date: Thu, 11 Feb 2021 20:30:03 +0000 Subject: [PATCH 2/4] fix linting for tests --- aws/resource_aws_msk_configuration_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/aws/resource_aws_msk_configuration_test.go b/aws/resource_aws_msk_configuration_test.go index dce702abbfe7..a322b06f7bd4 100644 --- a/aws/resource_aws_msk_configuration_test.go +++ b/aws/resource_aws_msk_configuration_test.go @@ -285,7 +285,7 @@ func testAccCheckMskConfigurationExists(resourceName string, configuration *kafk func testAccMskConfigurationConfig(rName string) string { return fmt.Sprintf(` resource "aws_msk_configuration" "test" { - name = %[1]q + name = %[1]q server_properties = < Date: Wed, 26 May 2021 09:53:26 -0400 Subject: [PATCH 3/4] Add CHANGELOG entry. --- .changelog/17571.txt | 3 +++ tools/go.sum | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 .changelog/17571.txt diff --git a/.changelog/17571.txt b/.changelog/17571.txt new file mode 100644 index 000000000000..af769263bcc1 --- /dev/null +++ b/.changelog/17571.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_msk_configuration: `kafka_versions` argument is optional +``` \ No newline at end of file diff --git a/tools/go.sum b/tools/go.sum index 8fd0508eca63..678e9fe5719b 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -420,8 +420,6 @@ github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/S github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= github.com/hashicorp/go-getter v1.5.0/go.mod h1:a7z7NPPfNQpJWcn4rSWFtdrSldqLdLPEF3d8nFMsSLM= -github.com/hashicorp/go-getter v1.5.1 h1:lM9sM02nvEApQGFgkXxWbhfqtyN+AyhQmi+MaMdBDOI= -github.com/hashicorp/go-getter v1.5.1/go.mod h1:a7z7NPPfNQpJWcn4rSWFtdrSldqLdLPEF3d8nFMsSLM= github.com/hashicorp/go-getter v1.5.2 h1:XDo8LiAcDisiqZdv0TKgz+HtX3WN7zA2JD1R1tjsabE= github.com/hashicorp/go-getter v1.5.2/go.mod h1:orNH3BTYLu/fIxGIdLjLoAJHWMDQ/UKQr5O4m3iBuoo= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= From 7440f1fbd16ddbe1ce97bba5081b58f9b7a60aee Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 26 May 2021 10:02:25 -0400 Subject: [PATCH 4/4] r/aws_msk_configuration: Tweak acceptance tests. --- aws/resource_aws_msk_configuration.go | 2 +- aws/resource_aws_msk_configuration_test.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/aws/resource_aws_msk_configuration.go b/aws/resource_aws_msk_configuration.go index c644b789ee43..1fcc3fd2837e 100644 --- a/aws/resource_aws_msk_configuration.go +++ b/aws/resource_aws_msk_configuration.go @@ -67,7 +67,7 @@ func resourceAwsMskConfigurationCreate(d *schema.ResourceData, meta interface{}) input.Description = aws.String(v.(string)) } - if v, ok := d.GetOk("kafka_versions"); ok { + if v, ok := d.GetOk("kafka_versions"); ok && v.(*schema.Set).Len() > 0 { input.KafkaVersions = expandStringSet(v.(*schema.Set)) } diff --git a/aws/resource_aws_msk_configuration_test.go b/aws/resource_aws_msk_configuration_test.go index a322b06f7bd4..c3194e161e18 100644 --- a/aws/resource_aws_msk_configuration_test.go +++ b/aws/resource_aws_msk_configuration_test.go @@ -91,6 +91,7 @@ func TestAccAWSMskConfiguration_basic(t *testing.T) { testAccCheckMskConfigurationExists(resourceName, &configuration1), testAccMatchResourceAttrRegionalARN(resourceName, "arn", "kafka", regexp.MustCompile(`configuration/.+`)), resource.TestCheckResourceAttr(resourceName, "description", ""), + resource.TestCheckResourceAttr(resourceName, "kafka_versions.#", "0"), resource.TestCheckResourceAttr(resourceName, "latest_revision", "1"), resource.TestCheckResourceAttr(resourceName, "name", rName), resource.TestMatchResourceAttr(resourceName, "server_properties", regexp.MustCompile(`auto.create.topics.enable = true`)), @@ -176,6 +177,8 @@ func TestAccAWSMskConfiguration_KafkaVersions(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckMskConfigurationExists(resourceName, &configuration1), resource.TestCheckResourceAttr(resourceName, "kafka_versions.#", "2"), + resource.TestCheckTypeSetElemAttr(resourceName, "kafka_versions.*", "2.6.0"), + resource.TestCheckTypeSetElemAttr(resourceName, "kafka_versions.*", "2.7.0"), ), }, { @@ -311,7 +314,7 @@ PROPERTIES func testAccMskConfigurationConfigKafkaVersions(rName string) string { return fmt.Sprintf(` resource "aws_msk_configuration" "test" { - kafka_versions = ["1.1.1", "2.1.0"] + kafka_versions = ["2.6.0", "2.7.0"] name = %[1]q server_properties = <