This repository has been archived by the owner on Jan 6, 2025. It is now read-only.
forked from Umanis/terraform-azurerm-storage-account
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
162 lines (137 loc) · 4.77 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
155
156
157
158
159
160
161
162
variable "custom_tags" {
type = map(string)
default = {}
description = "The custom tags to add on the resource."
}
variable "instance_index" {
type = number
validation {
condition = var.instance_index > 0 && var.instance_index < 100
error_message = "Must be a 2 dights number."
}
description = "Resource type index on the resource group."
}
variable "custom_location" {
type = string
default = ""
description = "Specifies a custom location for the resource."
}
variable "custom_name" {
type = string
default = ""
description = "Specifies a custom name for the resource."
}
variable "resource_group_name" {
type = string
description = "Specifies the parent resource group name."
}
variable "description" {
type = string
default = ""
description = "The resource description."
}
variable "account_kind" {
description = "The type of storage account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2."
default = "StorageV2"
}
variable "skuname" {
description = "The SKUs supported by Microsoft Azure Storage. Valid options are Premium_LRS, Premium_ZRS, Standard_GRS, Standard_GZRS, Standard_LRS, Standard_RAGRS, Standard_RAGZRS, Standard_ZRS"
default = "Standard_LRS"
}
variable "access_tier" {
description = "Defines the access tier for BlobStorage and StorageV2 accounts. Valid options are Hot and Cool."
default = "Hot"
}
variable "blob_soft_delete_retention_days" {
description = "Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`"
default = 7
}
variable "container_soft_delete_retention_days" {
description = "Specifies the number of days that the blob should be retained, between `1` and `365` days. Defaults to `7`"
default = 7
}
variable "enable_versioning" {
description = "Is blob versioning enabled? Default to `false`"
default = false
}
variable "last_access_time_enabled" {
description = "Is the last access time based tracking enabled? Default to `false`"
default = false
}
variable "change_feed_enabled" {
description = "Is the blob service properties for change feed events enabled ?"
default = false
}
variable "enable_advanced_threat_protection" {
description = "Is advanced threat protection enabled."
default = false
}
variable "is_hns_enabled" {
description = "Is Hierarchical namespace enabled. This can only be true when sku is Standard or when account_tier is Premium and account_kind is BlockBlobStorage"
default = false
}
variable "shared_access_key_enabled" {
description = "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD)."
default = true
}
variable "custom_domains" {
description = "The Custom Domain Name to use for the Storage Account, which will be validated by Azure."
type = map(object({
name = string
use_subdomain = optional(bool, true)
}))
nullable = false
default = {}
}
variable "blob_cors_rule" {
description = "CORS Rule"
type = object({
allowed_headers = list(string)
allowed_methods = list(string)
allowed_origins = list(string)
exposed_headers = list(string)
max_age_in_seconds = number
})
default = {
allowed_headers = ["*"]
allowed_methods = ["*"]
allowed_origins = ["*"]
exposed_headers = ["*"]
max_age_in_seconds = 1800
}
}
variable "static_website" {
description = "Static web site configuration. static_website can only be set when the account_kind is set to StorageV2 or BlockBlobStorage."
type = object({ index_document = string, error_404_document = string })
default = null
}
variable "network_rules" {
description = "Network rules restricing access to the storage account."
type = object({ bypass = list(string), ip_rules = list(string), subnet_ids = list(string) })
default = null
}
variable "containers_list" {
description = "List of containers to create and their access levels."
type = list(object({ name = string, access_type = string }))
default = []
}
variable "file_shares" {
description = "List of file shares to create and their quotas."
type = list(object({ name = string, quota = number }))
default = []
}
variable "queues" {
description = "List of storages queues"
type = list(string)
default = []
}
variable "tables" {
description = "List of storage tables."
type = list(string)
default = []
}
variable "caf_prefixes" {
type = list(string)
default = []
description = "Prefixes to use for caf naming."
}