Skip to content

Latest commit

 

History

History
93 lines (76 loc) · 8.57 KB

File metadata and controls

93 lines (76 loc) · 8.57 KB

terraform-azure-mcaf-storage-account

Terraform module that will deploy some infra that could be used for Azure Devops icm Terraform

Requirements

Name Version
terraform >= 1.7
azurerm >= 4

Providers

Name Version
azurerm >= 4

Modules

No modules.

Resources

Name Type
azurerm_role_assignment.cmk resource
azurerm_role_assignment.extra resource
azurerm_role_assignment.this resource
azurerm_storage_account.this resource
azurerm_storage_account_customer_managed_key.this resource
azurerm_storage_account_network_rules.this resource
azurerm_storage_container.this resource
azurerm_client_config.current data source

Inputs

Name Description Type Default Required
location Location of the Storage account string n/a yes
name The name of the Storage Account string n/a yes
resource_group_name Name of the resource group to Create the Storage account in string n/a yes
access_tier The access tier for the storage account. Valid options are Hot and Cool. Defaults to Hot. string "Hot" no
account_kind The Kind of account to create. Valid options are Storage, StorageV2, BlobStorage, FileStorage, BlockBlobStorage, and StorageV2. Defaults to StorageV2. string "StorageV2" no
account_replication_type The type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS, and RA_GZRS. Defaults to GRS. string "ZRS" no
account_tier The Tier to use for this storage account. Valid options are Standard and Premium. Defaults to Standard. string "Standard" no
allow_nested_items_to_be_public Allow or disallow nested items to be public. Defaults to false. bool false no
blob_delete_retention_days The number of days to retain deleted blobs for. Defaults to 90. number 90 no
change_feed_enabled Is the blob service properties for change feed events enabled? bool true no
cmk_key_name The name of the Key (within the cmk_key_vault) to use as the Customer Managed Key string null no
cmk_key_vault_id The ID of the Key Vault to use for the Customer Managed Key string null no
container_delete_retention_days The number of days to retain deleted containers for. Defaults to 90. number 90 no
contributors List of principal IDs that are allowed to be contributor on this storage account. Defaults to an empty list. list(string) [] no
default_to_oauth_authentication Allow or disallow defaulting to OAuth authentication for this storage account. Defaults to true. bool true no
https_traffic_only_enabled Allow or disallow only HTTPS traffic to this storage account. Defaults to true. bool true no
infrastructure_encryption_enabled Allow or disallow infrastructure encryption for this storage account. Defaults to true. bool true no
ip_rules A list of IP addresses that are allowed to access this storage account. Defaults to an empty list. list(string) [] no
managed_identity_enabled Enable or disable the system-assigned managed identity for this storage account. Defaults to true. bool true no
min_tls_version The minimum TLS version to allow for requests to this storage account. Valid options are TLS1_0, TLS1_1, and TLS1_2. Defaults to TLS1_2. string "TLS1_2" no
network_bypass A list of services that are allowed to bypass the network rules. Defaults to [], could be any of ["Logging", "Metrics", "AzureServices", "None"]. list(string) [] no
public_network_access_enabled Allow or disallow public network access to this storage account. Defaults to false. bool false no
sftp_enabled Allow or disallow SFTP access to this storage account. Defaults to false. bool false no
shared_access_key_enabled Allow or disallow shared access keys for this storage account. Defaults to false. bool false no
storage_containers Map of Storage Containers to Create and whether the container should be publically accessible, defaults to private
map(object({
access_type = optional(string, "private")
}))
{} no
subnet_ids A list of subnet IDs that are allowed to access this storage account. Defaults to an empty list. list(string) [] no
tags A map of tags to assign to the resource. map(string) {} no
versioning_enabled Is versioning enabled? bool true no

Outputs

Name Description
endpoints Endpoint information of the storage account
id Resource Id of the storage account
name Name of the storage account

License

Copyright: Schuberg Philis

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.