You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#### when CMK encryption enable required key-vault id
150
+
###customer_managed_key can only be set when the account_kind is set to StorageV2 or account_tier set to Premium, and the identity type is UserAssigned.
151
+
cmk_encryption_enabled = true
152
+
key_vault_id = module.vault.id
153
+
###This can only be true when account_kind is StorageV2 or when account_tier is Premium and account_kind is one of BlockBlobStorage or FileStorage.
154
+
infrastructure_encryption_enabled = true
155
+
156
+
network_rules = [
157
+
{
158
+
default_action = "Deny"
159
+
ip_rules = ["0.0.0.0/0"]
160
+
bypass = ["AzureServices"]
161
+
}
162
+
]
128
163
164
+
165
+
## Storage Account Threat Protection
166
+
enable_advanced_threat_protection = true
167
+
168
+
## Storage Container
169
+
containers_list = [
170
+
{ name = "app-test", access_type = "private" },
171
+
]
172
+
173
+
management_policy = [
174
+
{
175
+
prefix_match = ["app-test/folder_path"]
176
+
tier_to_cool_after_days = 0
177
+
tier_to_archive_after_days = 50
178
+
delete_after_days = 100
179
+
snapshot_delete_after_days = 30
180
+
}
181
+
]
182
+
}
129
183
```
130
184
131
185
@@ -141,44 +195,59 @@ Here is an example of how you can use this module in your inventory structure:
141
195
| account\_kind | The type of storage account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. |`string`|`"StorageV2"`| no |
142
196
| account\_replication\_type | Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS. Changing this forces a new resource to be created when types LRS, GRS and RAGRS are changed to ZRS, GZRS or RAGZRS and vice versa. |`string`|`""`| no |
143
197
| account\_tier | Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created. |`string`|`"Standard"`| no |
198
+
| allow\_nested\_items\_to\_be\_public | Allow or disallow nested items within this Account to opt into being public. Defaults to true. |`bool`|`true`| no |
199
+
| cmk\_encryption\_enabled | n/a |`bool`|`false`| no |
144
200
| containers\_list | List of containers to create and their access levels. |`list(object({ name = string, access_type = string }))`|`[]`| no |
201
+
| cross\_tenant\_replication\_enabled | Should cross Tenant replication be enabled? Defaults to true. |`bool`|`true`| no |
202
+
| default\_enabled | Set to false to prevent the module from creating any resources. |`bool`|`false`| no |
203
+
| default\_to\_oauth\_authentication | Default to Azure Active Directory authorization in the Azure portal when accessing the Storage Account. The default value is false |`bool`|`false`| no |
145
204
| enable\_advanced\_threat\_protection | Boolean flag which controls if advanced threat protection is enabled. |`bool`|`false`| no |
146
205
| enable\_https\_traffic\_only | Boolean flag which forces HTTPS if enabled, see here for more information. |`bool`|`true`| no |
147
-
| enabled | Set to false to prevent the module from creating any resources. |`bool`|`true`| no |
| file\_shares | List of containers to create and their access levels. |`list(object({ name = string, quota = number }))`|`[]`| no |
208
+
| identity\_ids | Specifies a list of User Assigned Managed Identity IDs to be assigned to this Storage Account. |`list(string)`|`null`| no |
209
+
| identity\_type | Specifies the type of Managed Service Identity that should be configured on this Storage Account. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both). |`string`|`"SystemAssigned"`| no |
210
+
| infrastructure\_encryption\_enabled | Is infrastructure encryption enabled? Changing this forces a new resource to be created. Defaults to false. |`bool`|`false`| no |
150
211
| is\_hns\_enabled | Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2. Changing this forces a new resource to be created. |`bool`|`false`| no |
212
+
| key\_vault\_id | n/a |`string`|`null`| no |
151
213
| label\_order | Label order, e.g. sequence of application name and environment `name`,`environment`,'attribute' [`webserver`,`qa`,`devops`,`public`,] . |`list(any)`|`[]`| no |
152
214
| location | 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' |`string`|`"North Europe"`| no |
153
215
| managedby | ManagedBy, eg ''. |`string`|`""`| no |
| min\_tls\_version | The minimum supported TLS version for the storage account |`string`|`"TLS1_2"`| no |
156
218
| name | Name (e.g. `app` or `cluster`). |`string`|`""`| no |
219
+
| network\_rule | List of objects that represent the configuration of each network rules. |`map`|`{}`| no |
157
220
| network\_rules | List of objects that represent the configuration of each network rules. |`map`|`{}`| no |
221
+
| object\_id | n/a |`list(string)`|`[]`| no |
222
+
| principal\_id | The ID of the Principal (User, Group or Service Principal) to assign the Role Definition to. Changing this forces a new resource to be created. |`list(string)`|`[]`| no |
223
+
| public\_network\_access\_enabled | Whether the public network access is enabled? Defaults to true. |`bool`|`true`| no |
158
224
| queues | List of storages queues |`list(string)`|`[]`| no |
159
225
| repository | Terraform current module repo |`string`|`""`| no |
160
226
| resource\_group\_name | A container that holds related resources for an Azure solution |`string`|`""`| no |
161
227
| sftp\_enabled | Boolean, enable SFTP for the storage account |`bool`|`false`| no |
228
+
| shared\_access\_key\_enabled | 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). The default value is true. |`bool`|`true`| no |
162
229
| soft\_delete\_retention | Number of retention days for soft delete. If set to null it will disable soft delete all together. |`number`|`30`| no |
163
230
| storage\_account\_name | The name of the azure storage account |`string`|`""`| no |
164
231
| tables | List of storage tables. |`list(string)`|`[]`| no |
165
232
| tags | A map of tags to add to all resources |`map(string)`|`{}`| no |
233
+
| user\_assigned\_identity\_id | The ID of a user assigned identity. |`string`|`null`| no |
166
234
167
235
## Outputs
168
236
169
237
| Name | Description |
170
238
|------|-------------|
239
+
| cmk\_storage\_account\_id | The ID of the storage account. |
240
+
| cmk\_storage\_account\_name | The name of the storage account. |
171
241
| containers | Map of containers. |
242
+
| default\_storage\_account\_id | The ID of the storage account. |
243
+
| default\_storage\_account\_name | The name of the storage account. |
244
+
| default\_storage\_account\_primary\_location | The primary location of the storage account |
245
+
| default\_storage\_account\_primary\_web\_endpoint | The endpoint URL for web storage in the primary location. |
246
+
| default\_storage\_account\_primary\_web\_host | The hostname with port if applicable for web storage in the primary location. |
247
+
| default\_storage\_primary\_access\_key | The primary access key for the storage account |
248
+
| default\_storage\_primary\_connection\_string | The primary connection string for the storage account |
172
249
| file\_shares | Map of Storage SMB file shares. |
173
250
| queues | Map of Storage SMB file shares. |
174
-
| storage\_account\_id | The ID of the storage account. |
175
-
| storage\_account\_name | The name of the storage account. |
176
-
| storage\_account\_primary\_location | The primary location of the storage account |
177
-
| storage\_account\_primary\_web\_endpoint | The endpoint URL for web storage in the primary location. |
178
-
| storage\_account\_primary\_web\_host | The hostname with port if applicable for web storage in the primary location. |
179
-
| storage\_primary\_access\_key | The primary access key for the storage account |
180
-
| storage\_primary\_connection\_string | The primary connection string for the storage account |
181
-
| storage\_secondary\_access\_key | The primary access key for the storage account. |
0 commit comments