forked from getindata/terraform-azurerm-storage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
160 lines (136 loc) · 5.11 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
variable "create_resource_group" {
description = "Whether to create resource group and use it for all networking resources"
default = false
type = bool
}
variable "resource_group_name" {
description = "A container that holds related resources for an Azure solution"
default = "rg-demo-westeurope-01"
type = string
}
variable "location" {
description = "The location/region to keep all your network resources. To get the list of all locations with table format from azure cli, run 'az account list-locations -o table'"
default = "westeurope"
type = string
}
variable "storage_account_name" {
description = "The name of the azure storage account"
default = ""
type = string
}
variable "account_kind" {
description = "The type of storage account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2."
default = "StorageV2"
type = string
}
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_RAGRS"
type = string
}
variable "is_hns_enabled" {
type = bool
default = false
description = "Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2"
}
variable "sftp_enabled" {
type = bool
default = false
description = "Enable SFTP for the storage account"
}
variable "access_tier" {
description = "Defines the access tier for BlobStorage and StorageV2 accounts. Valid options are Hot and Cool."
default = "Hot"
type = string
}
variable "min_tls_version" {
description = "The minimum supported TLS version for the storage account"
default = "TLS1_2"
type = string
}
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
type = number
}
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
type = number
}
variable "enable_versioning" {
description = "Is versioning enabled? Default to `false`"
default = false
type = bool
}
variable "last_access_time_enabled" {
description = "Is the last access time based tracking enabled? Default to `false`"
default = false
type = bool
}
variable "change_feed_enabled" {
description = "Is the blob service properties for change feed events enabled?"
default = false
type = bool
}
variable "enable_advanced_threat_protection" {
description = "Boolean flag which controls if advanced threat protection is enabled."
default = false
type = bool
}
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 containers to create and their access levels."
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 "lifecycles" {
description = "Configure Azure Storage firewalls and virtual networks"
type = list(object({ prefix_match = set(string), tier_to_cool_after_days = number, tier_to_archive_after_days = number, delete_after_days = number, snapshot_delete_after_days = number }))
default = []
}
variable "managed_identity_type" {
description = "The type of Managed Identity which should be assigned to the Linux Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`"
default = null
type = string
}
variable "managed_identity_ids" {
description = "A list of User Managed Identity ID's which should be assigned to the Linux Virtual Machine."
default = null
type = list(string)
}
variable "tags" {
description = "A map of tags to add to all resources"
type = map(string)
default = {}
}
variable "cors_rule" {
description = "A map of CORS rules to add to the storage account"
type = object({
allowed_origins = optional(list(string))
allowed_methods = optional(list(string))
allowed_headers = optional(list(string))
exposed_headers = optional(list(string))
max_age_in_seconds = optional(number)
})
default = null
}