123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- variable "s3_expiration" {
- description = "How many days to retain objects in s3"
- type = number
- default = 30
- }
- variable "region" {
- description = "The region of AWS you want to work in, such as us-west-2 or us-east-1"
- }
- variable "hec_url" {
- description = "Splunk Kinesis URL for submitting CloudWatch logs to splunk"
- }
- variable "hec_token" {
- description = "Splunk security token needed to submit data to Splunk"
- }
- variable "nodejs_runtime" {
- description = "Runtime version of nodejs for Lambda function"
- default = "nodejs16.x"
- }
- variable "firehose_name" {
- description = "Name of the Kinesis Firehose"
- default = "kinesis-firehose-to-splunk"
- }
- variable "kinesis_firehose_buffer" {
- description = "https://www.terraform.io/docs/providers/aws/r/kinesis_firehose_delivery_stream.html#buffer_size"
- default = 5 # Megabytes
- }
- variable "kinesis_firehose_buffer_interval" {
- description = "Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination"
- default = 300 # Seconds
- }
- variable "s3_prefix" {
- description = "Optional prefix (a slash after the prefix will show up as a folder in the s3 bucket). The YYYY/MM/DD/HH time format prefix is automatically used for delivered S3 files."
- default = "kinesis-firehose/"
- }
- variable "hec_acknowledgment_timeout" {
- description = "The amount of time, in seconds between 180 and 600, that Kinesis Firehose waits to receive an acknowledgment from Splunk after it sends it data."
- default = 300
- }
- variable "hec_endpoint_type" {
- description = "Splunk HEC endpoint type; `Raw` or `Event`"
- default = "Raw"
- }
- variable "s3_backup_mode" {
- description = "Defines how documents should be delivered to Amazon S3. Valid values are FailedEventsOnly and AllEvents."
- default = "FailedEventsOnly"
- }
- variable "s3_compression_format" {
- description = "The compression format for what the Kinesis Firehose puts in the s3 bucket"
- default = "GZIP"
- }
- variable "enable_fh_cloudwatch_logging" {
- description = "Enable kinesis firehose CloudWatch logging. (It only logs errors)"
- default = true
- }
- variable "tags" {
- type = map(string)
- description = "Map of tags to put on the resource"
- default = {}
- }
- variable "cloudwatch_log_retention" {
- description = "Length in days to keep CloudWatch logs of Kinesis Firehose"
- default = 30
- }
- variable "log_stream_name" {
- description = "Name of the CloudWatch log stream for Kinesis Firehose CloudWatch log group"
- default = "SplunkDelivery"
- }
- variable "s3_bucket_name" {
- description = "Name of the s3 bucket Kinesis Firehose uses for backups"
- }
- variable "s3_bucket_block_public_access_enabled" {
- description = "Set to 1 if you would like to add block public access settings for the s3 bucket Kinesis Firehose uses for backups"
- default = 0
- }
- variable "encryption_context" {
- description = "aws_kms_secrets encryption context"
- type = map(string)
- default = {}
- }
- variable "kinesis_firehose_lambda_role_name" {
- description = "Name of IAM Role for Lambda function that transforms CloudWatch data for Kinesis Firehose into Splunk compatible format"
- default = "KinesisFirehoseToLambaRole"
- }
- variable "kinesis_firehose_role_name" {
- description = "Name of IAM Role for the Kinesis Firehose"
- default = "KinesisFirehoseRole"
- }
- variable "arn_cloudwatch_logs_to_ship" {
- description = "arn of the CloudWatch Log Group that you want to ship to Splunk."
- }
- variable "name_cloudwatch_logs_to_ship" {
- description = "name of the CloudWatch Log Group that you want to ship to Splunk."
- }
- variable "lambda_function_name" {
- description = "Name of the Lambda function that transforms CloudWatch data for Kinesis Firehose into Splunk compatible format"
- default = "kinesis-firehose-transform"
- }
- variable "lambda_function_timeout" {
- description = "The function execution time at which Lambda should terminate the function."
- default = 180
- }
- variable "lambda_iam_policy_name" {
- description = "Name of the IAM policy that is attached to the IAM Role for the lambda transform function"
- default = "Kinesis-Firehose-to-Splunk-Policy"
- }
- #variable "kms_key_arn" {
- # description = "arn of the KMS key you used to encrypt the hec_token"
- #}
- variable "kinesis_firehose_iam_policy_name" {
- description = "Name of the IAM Policy attached to IAM Role for the Kinesis Firehose"
- default = "KinesisFirehose-Policy"
- }
- variable "cloudwatch_to_firehose_trust_iam_role_name" {
- description = "IAM Role name for CloudWatch to Kinesis Firehose subscription"
- default = "CloudWatchToSplunkFirehoseTrust"
- }
- variable "cloudwatch_to_fh_access_policy_name" {
- description = "Name of IAM policy attached to the IAM role for CloudWatch to Kinesis Firehose subscription"
- default = "KinesisCloudWatchToFirehosePolicy"
- }
- variable "cloudwatch_log_filter_name" {
- description = "Name of Log Filter for CloudWatch Log subscription to Kinesis Firehose"
- default = "KinesisSubscriptionFilter"
- }
- variable "subscription_filter_pattern" {
- description = "Filter pattern for the CloudWatch Log Group subscription to the Kinesis Firehose. See [this](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) for filter pattern info."
- default = "" # nothing is being filtered
- }
|