scenarios/shared/terraform/modules/application-gateway/variables.tf (117 lines of code) (raw):
variable "appGatewayPublicIpName" {}
variable "location" {}
variable "resourceGroupName" {}
variable "tags" {}
variable "appGatewayName" {}
variable "appGatewayUserAssignedIdentityId" {}
variable "appGatewaySubnetId" {}
variable "appGatewayPrimaryBackendEndFQDN" {}
variable "appGatewayLogAnalyticsId" {}
variable "appGatewayFQDN" {
}
variable "keyVaultSecretId" {
sensitive = true
}
variable "diagnosticSettingName" {
}
variable "skuName" {
default = "WAF_Medium"
validation {
condition = var.skuName == "Standard_Small" || var.skuName == "Standard_Medium" || var.skuName == "Standard_Large" || var.skuName == "WAF_Medium" || var.skuName == "WAF_Large" || var.skuName == "Standard_v2" || var.skuName == "WAF_v2"
error_message = "The sku value needs to be one of the following: Standard_Small, Standard_Medium, Standard_Large, WAF_Medium, WAF_Large, Standard_v2, WAF_v2"
}
}
variable "skuTier" {
default = "WAF"
validation {
condition = var.skuTier == "WAF" || var.skuTier == "Standard" || var.skuTier == "Standard_v2" || var.skuTier == "WAF_v2"
error_message = "The sku tier needs to be one of the following: WAF, Standard, Standard_v2, WAF_v2"
}
}
variable "capacity" {
default = 1
validation {
condition = var.capacity >= 1 && var.capacity <= 10
error_message = "The capacity needs to be between 1 and 10"
}
}
variable "sslPolicyCipherSuites" {
default = ["TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"]
validation {
condition = length(var.sslPolicyCipherSuites) > 0
error_message = "The sslPolicyCipherSuites needs to be a list of cipher suites"
}
}
variable "sslProtocolEnums" {
default = "TLSv1_2"
validation {
condition = var.sslProtocolEnums == "TLSv1_0" || var.sslProtocolEnums == "TLSv1_1" || var.sslProtocolEnums == "TLSv1_2" || var.sslProtocolEnums == "TLSv1_3"
error_message = "SSL protocol must be one of the following: TLSv1_0, TLSv1_1, TLSv1_2, TLSv1_3"
}
}
variable "sslPolicyName" {
default = null
validation {
condition = var.sslPolicyName == "AppGwSslPolicy20150501" || var.sslPolicyName == "AppGwSslPolicy20170401" || var.sslPolicyName == "AppGwSslPolicy20170401S" || var.sslPolicyName == "AppGwSslPolicy20220101" || var.sslPolicyName == "AppGwSslPolicy20220101S"
error_message = "The SSL policy must be one of the following: AppGwSslPolicy20150501, AppGwSslPolicy20170401, AppGwSslPolicy20170401S, AppGwSslPolicy20220101, AppGwSslPolicy20220101S"
}
}
variable "sslPolicyType" {
default = "Custom"
validation {
condition = var.sslPolicyType == "Custom" || var.sslPolicyType == "Predefined" || var.sslPolicyType == "CustomV2"
error_message = "The SSL policy must be one of the following: Custom, Predefined, CustomV2"
}
}
variable "autoscaleMaxCapacity" {
default = -1
}
variable "autoscaleMinCapacity" {
default = -1
}
variable "autoScaleSettings" {
default = []
}
variable "makeZoneRedundant" {
default = true
}
variable "ddosProtectionEnabled" {
default = "Disabled"
validation {
condition = var.ddosProtectionEnabled == "Enabled" || var.ddosProtectionEnabled == "Disabled" || var.ddosProtectionEnabled == "VirtualNetworkInherited"
error_message = "The DDOS protection must be set to Enabled, Disabled or VirtualNetworkInherited"
}
}
variable "gatewayIPConfigurations" {
default = []
}
variable "frontendPorts" {
default = []
}
variable "frontendIPConfigurations" {
default = []
}
variable "backendAddressPools" {
default = []
}
variable "sslCertificates" {
default = []
}
variable "backendHttpSettings" {
default = []
}
variable "httpListeners" {
default = []
}
variable "requestRoutingRules" {
default = []
}
variable "probes" {
default = []
}
variable "zones" {
default = []
}
variable "firewallConfiguration" {
default = []
}