demo_solution/modules/repo_terraform.azurerm.storage_account/variables.tf (113 lines of code) (raw):

variable "rg_name" { description = "Name of the resource group to be imported." type = string } variable "storage_name" { description = "Name of storage account to be created." type = string } variable "location" { description = <<EOT "Specifies the supported Azure location where the resource exists." If the parameter is not specified in the configuration file, the location of the resource group is used. EOT type = string default = null } variable "account_tier" { description = "Defines the Tier to use for this storage account." type = string default = "Standard" } variable "account_kind" { description = "Defines the Kind of account." type = string default = "StorageV2" } variable "account_replication_type" { description = "Defines the type of replication to use for this storage account." type = string default = "LRS" } variable "min_tls_version" { description = "The minimum supported TLS version for the storage account." type = string default = "TLS1_2" } variable "access_tier" { description = "Defines the access tier for BlobStorage, FileStorage and StorageV2" type = string default = "Hot" } variable "allow_nested_items_to_be_public" { description = "Allow or disallow public access to all nested items in the storage account" type = bool default = true } variable "public_network_access_enabled" { description = "Whether the public network access is enabled?" type = bool default = true } variable "shared_access_key_enabled" { description = "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key" type = bool default = true } variable "infrastructure_encryption_enabled" { description = "Is infrastructure encryption enabled? Changing this forces a new resource to be created" type = bool default = false } variable "blob_delete_retention_day" { description = "Specifies the number of days that the blob should be retained, between 1 and 365 days. Defaults to 7" type = number default = 7 } variable "versioning_enabled" { description = "Is versioning enabled?" type = bool default = false } variable "change_feed_enabled" { description = "Is the blob service properties for change feed events enabled? " type = bool default = false } variable "change_feed_retention_in_days" { description = <<EOF "The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed." EOF type = number default = null } variable "is_hns_enabled" { description = "Is Hierarchical Namespace enabled?" type = bool default = false } variable "large_file_share_enabled" { description = "Is Large File Share Enabled?" type = bool default = false } variable "enable_https_traffic_only" { description = "Boolean flag which forces HTTPS if enabled" type = bool default = true } variable "tags" { description = "A mapping of tags which should be assigned to the resource." type = map(string) default = {} } variable "diagnostic_setting" { description = <<EOF The description of parameters for Diagnostic Setting: `name` - specifies the name of the Diagnostic Setting; `log_analytics_workspace_id` - ID of the Log Analytics Workspace; `eventhub_name` - Specifies the name of the Event Hub where Diagnostics Data should be sent; `eventhub_authorization_rule_id` - Specifies the ID of an Event Hub Namespace Authorization Rule used to send Diagnostics Data; `storage_account_id` - the ID of the Storage Account where logs should be sent; `metric` - The list of Diagnostic Metric Category's names for this Resource. List of available Metrics: `Transaction`; EOF type = object({ name = string log_analytics_workspace_id = optional(string) storage_account_id = optional(string) eventhub_name = optional(string) eventhub_authorization_rule_id = optional(string) metric = optional(list(string)) }) default = null } variable "network_rules" { description = <<EOF Firewall settings for storage account: `bypass` - Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of "Logging", "Metrics", "AzureServices", or "None". `default_action` - Specifies the default action of allow or deny when no other rules match. Valid options are "Deny" or "Allow". `ip_rules` - List of public IP or IP ranges in CIDR Format. Only IPv4 addresses are allowed. Private IP address ranges (as defined in RFC 1918) are not allowed. `subnet_associations` - A list of resource ids for subnets `external_subnet_ids` - A list of external ids for subnets EOF type = object({ bypass = string default_action = string ip_rules = list(string) subnet_associations = list(object({ subnet_name = string vnet_name = string rg_name = string })) external_subnet_ids = list(string) }) default = null } variable "container_collection" { description = <<EOF A list of objects which contains parameters: `name` - The name of the Container which should be created within the Storage Account. Changing this forces a new resource to be created. `container_access_type` - The Access Level configured for this Container. Possible values are "blob", "container" or "private". EOF type = list(object({ name = string container_access_type = string })) default = [] } variable "share_collection" { description = <<EOF A list of objects which contains parameters: name, quota, enabled_protocol: `name` - The name of the share. Must be unique within the storage account where the share is located. `access_tier` - The access tier of the File Share. Possible values are "Hot", "Cool" and "TransactionOptimized", "Premium". `enabled_protocol` - The protocol used for the share. Possible values are "SMB" and "NFS" `quota` - The maximum size of the share, in gigabytes. For Standard storage accounts, this must be 1GB (or higher) and at most 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and at most 102400 GB (100 TB). EOF type = list(object({ name = string access_tier = string enabled_protocol = string quota = string })) default = [] } variable "azure_files_authentication" { description = <<EOF `directory_type` - Specifies the directory service used. Possible values - AD; `active_directory` - Required when directory_type is AD: `storage_sid` - Specifies the security identifier (SID) for Azure Storage. `domain_name` - Specifies the primary domain that the AD DNS server is authoritative for. `domain_sid` - Specifies the security identifier (SID). `domain_guid` - Specifies the domain GUID. `forest_name` - Specifies the Active Directory forest. `netbios_domain_name` - Specifies the NetBIOS domain name. EOF type = any default = {} }