This repository was archived by the owner on Feb 24, 2022. It is now read-only.
forked from disney/terraform-aws-kinesis-firehose-splunk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
155 lines (123 loc) · 5.13 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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 = "nodejs12.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
}