Repository navigation
Expand file tree
/
Copy pathtf_variables.tf
More file actions
146 lines (121 loc) · 3.55 KB
/
Copy pathtf_variables.tf
File metadata and controls
146 lines (121 loc) · 3.55 KB
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
variable "AWS_REGION" {
description = "AWS region"
type = string
}
variable "PROJECT_PREFIX" {
description = "Unique, descriptive prefix applied to named resources. Must end with a hyphen if you plan to append suffixes."
type = string
default = "sbn-lambda-s3-template-"
}
variable "LAMBDA_RUNTIME" {
description = "Lambda runtime identifier (e.g., nodejs22.x or provided.al2023)."
type = string
default = "nodejs22.x"
}
variable "LAMBDA_FUNCTION_NAME" {
description = "Name of the Lambda function"
type = string
}
variable "LAMBDA_FUNCTION_DESC" {
description = "Description for the Lambda function"
type = string
default = ""
}
variable "LAMBDA_ARCHITECTURE" {
description = "Architecture for the Lambda function"
type = string
default = "arm64"
}
variable "LAMBDA_MAX_RUNTIME_SECONDS" {
description = "Maximum runtime (timeout) for the Lambda function"
type = number
default = 30
}
variable "LAMBDA_LOGS_TO_CLOUDWATCH" {
description = "Whether to create a CloudWatch Log Group for the Lambda"
type = bool
default = true
}
variable "LAMBDA_LOGS_RETENTION_DAYS" {
description = "CloudWatch Logs retention in days"
type = number
default = 14
}
variable "API_GATEWAY_DATA_TRACE_ENABLED" {
description = "Whether API Gateway should log full request/response data. Keep false unless debugging."
type = bool
default = false
}
variable "S3_BUCKET_NAME" {
description = "Name of the S3 bucket"
type = string
}
variable "S3_FILE_PREFIX" {
description = "Prefix for files created in the S3 bucket"
type = string
default = "hello-world"
}
variable "S3_RUN_HISTORY_RETENTION_DAYS" {
description = "Number of days to retain private per-run result snapshots under runs/"
type = number
default = 7
}
variable "STATIC_PRIMARY_SENDER_EMAIL" {
description = "Primary email sender used for alerts"
type = string
}
variable "API_TRIGGER_SECRET" {
description = "Shared secret required for manual API Gateway invocations"
type = string
sensitive = true
}
variable "SITE_LIST_SOURCES" {
description = "JSON array of URLs pointing to site lists"
type = string
default = "[]"
}
variable "EXTRA_SITES" {
description = "JSON array of extra sites or site entries"
type = string
default = "[]"
}
variable "GITHUB_ACCESS_TOKEN" {
description = "Optional token for private GitHub raw content access"
type = string
default = ""
sensitive = true
}
variable "CHECK_CONCURRENCY_LIMIT" {
description = "Maximum number of site checks to run concurrently"
type = number
default = 10
}
variable "EMAIL_CONCURRENCY_LIMIT" {
description = "Maximum number of alert emails to send concurrently"
type = number
default = 5
}
variable "CRON_EXPR" {
description = "CloudWatch schedule expression"
type = string
}
variable "S3_PUBLIC_READ" {
description = "Set to true to allow public read access to latest-results.json only."
type = bool
default = false
}
variable "LAMBDA_DEPLOYMENT" {
description = "Deployment label for the Lambda function and API Gateway stage"
type = string
default = "prod"
}
variable "CLOUDFRONT_PRICE_CLASS" {
description = "CloudFront price class"
type = string
default = "PriceClass_100"
}
variable "CLOUDFRONT_DESCRIPTION" {
description = "Description for the CloudFront distribution"
type = string
default = "S3 Writer Lambda"
}