From 6a7a92aaa94955a98680567a445467d94f66793a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 6 Feb 2024 15:14:43 -0500 Subject: [PATCH 1/5] r//aws_kinesis_firehose_delivery_stream: Change 'extended_s3_configuration.processing_configuration.processors.parameters' from 'TypeList' to 'TypeSet' as order is not significant. --- internal/service/firehose/delivery_stream.go | 5 +++-- internal/service/firehose/delivery_stream_test.go | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/service/firehose/delivery_stream.go b/internal/service/firehose/delivery_stream.go index 5b2d09cf7442..3bdb26a3cfba 100644 --- a/internal/service/firehose/delivery_stream.go +++ b/internal/service/firehose/delivery_stream.go @@ -160,7 +160,8 @@ func resourceDeliveryStream() *schema.Resource { "parameters": { // See AWS::KinesisFirehose::DeliveryStream CloudFormation resource schema. // uniqueItems is true and insertionOrder is true. - Type: schema.TypeList, + // However, IRL the order of the processors is not important. + Type: schema.TypeSet, Optional: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -2133,7 +2134,7 @@ func expandProcessor(processingConfigurationProcessor map[string]interface{}) *t if processorType != "" { processor = &types.Processor{ Type: types.ProcessorType(processorType), - Parameters: expandProcessorParameters(processingConfigurationProcessor["parameters"].([]interface{})), + Parameters: expandProcessorParameters(processingConfigurationProcessor["parameters"].(*schema.Set).List()), } } return processor diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index 7ae3d015558d..48fd2bca1461 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -3243,6 +3243,10 @@ resource "aws_kinesis_firehose_delivery_stream" "test" { processors { type = "Lambda" + parameters { + parameter_name = "BufferIntervalInSeconds" + parameter_value = "70" + } parameters { parameter_name = "LambdaArn" parameter_value = "${aws_lambda_function.lambda_function_test.arn}:$LATEST" @@ -3251,10 +3255,6 @@ resource "aws_kinesis_firehose_delivery_stream" "test" { parameter_name = "BufferSizeInMBs" parameter_value = "1.1" } - parameters { - parameter_name = "BufferIntervalInSeconds" - parameter_value = "70" - } } } From 3864c4a85c3aefc552e72e4e03f02634912dd576 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 6 Feb 2024 15:24:43 -0500 Subject: [PATCH 2/5] Add CHANGELOG entry. --- .changelog/#####.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..00b1abadf4b6 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_kinesis_firehose_delivery_stream: Change `extended_s3_configuration.processing_configuration.processors.parameters` from `TypeList` to `TypeSet` as order is not significant +``` \ No newline at end of file From 5844cfb6dac10ed0f7b85fc3a058861c24ba1a32 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 6 Feb 2024 15:28:07 -0500 Subject: [PATCH 3/5] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 35672.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 35672.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/35672.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/35672.txt From 32024f9cb1bb3be9d6d487e1e718604b717cccb7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 6 Feb 2024 15:39:42 -0500 Subject: [PATCH 4/5] Fixup 'TestAccFirehoseDeliveryStream_basic'. --- .../service/firehose/delivery_stream_test.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index 48fd2bca1461..a37ee4a750fc 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -63,12 +63,17 @@ func TestAccFirehoseDeliveryStream_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.#", "1"), resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.type", "Lambda"), resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.#", "3"), - resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.0.parameter_name", "LambdaArn"), - resource.TestCheckResourceAttrSet(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.0.parameter_value"), - resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.1.parameter_name", "BufferSizeInMBs"), - resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.1.parameter_value", "1.1"), - resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.2.parameter_name", "BufferIntervalInSeconds"), - resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.2.parameter_value", "70"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "LambdaArn", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "BufferSizeInMBs", + "parameter_value": "1.1", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "extended_s3_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "BufferIntervalInSeconds", + "parameter_value": "70", + }), resource.TestCheckResourceAttrSet(resourceName, "extended_s3_configuration.0.role_arn"), resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.s3_backup_configuration.#", "0"), resource.TestCheckResourceAttr(resourceName, "extended_s3_configuration.0.s3_backup_mode", "Disabled"), From 1e69412d08d27843a3b50e00c9b7563e0ba36f27 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 6 Feb 2024 16:04:19 -0500 Subject: [PATCH 5/5] Fixup 'TestAccFirehoseDeliveryStream_openSearchServerlessUpdates'. --- .../service/firehose/delivery_stream_test.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index a37ee4a750fc..d72e7acc4ea9 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -1820,12 +1820,17 @@ func TestAccFirehoseDeliveryStream_openSearchServerlessUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.#", "1"), resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.type", "Lambda"), resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.#", "3"), - resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.0.parameter_name", "LambdaArn"), - resource.TestCheckResourceAttrSet(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.0.parameter_value"), - resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.1.parameter_name", "BufferSizeInMBs"), - resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.1.parameter_value", "1.1"), - resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.2.parameter_name", "BufferIntervalInSeconds"), - resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.2.parameter_value", "70"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "LambdaArn", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "BufferSizeInMBs", + "parameter_value": "1.1", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "opensearchserverless_configuration.0.processing_configuration.0.processors.0.parameters.*", map[string]string{ + "parameter_name": "BufferIntervalInSeconds", + "parameter_value": "70", + }), resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.retry_duration", "300"), resource.TestCheckResourceAttrSet(resourceName, "opensearchserverless_configuration.0.role_arn"), resource.TestCheckResourceAttr(resourceName, "opensearchserverless_configuration.0.s3_backup_mode", "FailedDocumentsOnly"),