hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.77k stars 9.12k forks source link

[Enhancement]: Support Data Firehose Message Extraction #36093

Closed nmguse-bighealth closed 6 months ago

nmguse-bighealth commented 7 months ago

Description

Please add support for the new message extraction in Firehose. https://aws.amazon.com/about-aws/whats-new/2024/02/amazon-data-firehose-message-extraction-cloudwatch-logs/

This fails today due to provider side limitations:

│ Error: expected parameter_name to be one of ["LambdaArn" "NumberOfRetries" "MetadataExtractionQuery" "JsonParsingEngine" "RoleArn" "BufferSizeInMBs" "BufferIntervalInSeconds" "SubRecordType" "Delimiter" "CompressionFormat"], got DataMessageExtraction
│
│   with module.splunk_forwarder.aws_kinesis_firehose_delivery_stream.main,
│   on ../splunk-forwarder/firehose.tf line 31, in resource "aws_kinesis_firehose_delivery_stream" "main":
│   31:         type = "CloudWatchLogProcessing"
│
╵
╷
│ Error: expected type to be one of ["RecordDeAggregation" "Decompression" "Lambda" "MetadataExtraction" "AppendDelimiterToRecord"], got CloudWatchLogProcessing
│
│   with module.splunk_forwarder.aws_kinesis_firehose_delivery_stream.main,
│   on ../splunk-forwarder/firehose.tf line 31, in resource "aws_kinesis_firehose_delivery_stream" "main":
│   31:         type = "CloudWatchLogProcessing"

Why does this provider enforce these restrictions? When AWS adds these features, they would have been immediately available to Terraform users if this provider restriction was not in place. It would have saved time and effort in having to report the issue, get it fixed, create a new release, etc.

Affected Resource(s) and/or Data Source(s)

aws_kinesis_firehose_delivery_stream

Potential Terraform Configuration

This is what the resource would look like (tested by manually enabling the feature and running a plan, and noting what Terraform wants to remove)

resource "aws_kinesis_firehose_delivery_stream" "main" {
  splunk_configuration {
    processing_configuration {
      enabled = "true"

      processors {
        type = "Decompression"
        parameters {
          parameter_name  = "CompressionFormat"
          parameter_value = "GZIP"
        }
      }

      processors {
        type = "CloudWatchLogProcessing"

        parameters {
          parameter_name  = "DataMessageExtraction"
          parameter_value = "true"
        }
      }
    }
  }
}


### References

_No response_

### Would you like to implement a fix?

No
github-actions[bot] commented 7 months ago

Community Note

Voting for Prioritization

Volunteering to Work on This Issue

ewbankkit commented 6 months ago

This parameter_name has been supported since Terraform AWS Provider v5.39.0.

github-actions[bot] commented 6 months ago

[!WARNING] This issue has been closed, meaning that any additional comments are hard for our team to see. 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[bot] commented 5 months ago

I'm going to lock this issue 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 similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.