-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvariables.tf
78 lines (70 loc) · 2.4 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
variable "bucket_prefix" {
description = "The prefix for the service quotas manager configuration bucket."
type = string
default = "service-quotas-manager"
}
variable "bucket_name" {
description = "The optional name for the service quotas manager configuration bucket, overrides `bucket_prefix`."
type = string
default = null
}
variable "execution_role" {
description = "Configuration of the IAM role to assume to execute the service quotas manager lambda"
type = object({
name_prefix = optional(string, "ServiceQuotasManagerExecutionRole")
path = optional(string, "/")
permissions_boundary = optional(string, null)
})
default = {}
}
variable "kms_key_arn" {
description = "The ARN of the KMS key to use with the configuration S3 bucket and scheduler"
type = string
}
variable "quotas_manager_configuration" {
description = "The configuration for the service quotas manager"
type = list(object({
account_id = string
role_name = optional(string, "ServiceQuotasManagerRole")
role_path = optional(string, "/")
selected_services = optional(list(string), [])
alerting_config = optional(object({
default_threshold_perc = number
notification_topic_arn = optional(string, "")
rules = optional(
map(
map(
object({
threshold_perc = optional(number, null)
ignore = optional(bool, false)
})
)
), {}
)
}), {
default_threshold_perc = 75
notification_topic_arn = ""
rules = {}
})
quota_increase_config = optional(map(map(object({
step = optional(number)
factor = optional(number)
motivation = string
cc_mail_addresses = list(string)
}))), {})
}))
validation {
condition = length(var.quotas_manager_configuration) == length(distinct(var.quotas_manager_configuration[*].account_id))
error_message = "quotas manager configuration items needs to have a unique account_id defined"
}
}
variable "schedule_timezone" {
description = "The timezone to schedule service quota metric collection in"
type = string
default = "Europe/Amsterdam"
}
variable "tags" {
description = "Tags to assign to resources created by this module"
type = map(string)
default = {}
}