Terraform Azure App Service 计划错误 - 参数 SKU.Name 的值无效
Terraform Azure App Service Plan Error - The parameter SKU.Name has an invalid value
模块声明
resource "azurerm_app_service_plan" "appserviceplan" {
name = var.name
location = var.location
resource_group_name = var.resource_group_name
kind = var.kind
reserved = var.reserved
is_xenon = var.is_xenon
sku {
# name = var.sku_name
tier = var.sku_tier
size = var.sku_tier
}
}
像这样调用上面的模块(在main.tf
)...
module "appserviceplan1" {
source = "../modules/app_service_plan"
name = "${var.project_name}-${var.environment}-appserviceplan"
location = var.location
resource_group_name = var.resource_group_name
kind = var.asp_kind
reserved = var.asp_reserved
is_xenon = var.asp_is_xenon
# sku_name = var.asp_sku_name
sku_tier = var.asp_sku_tier
sku_size = var.asp_sku_tier
}
输入变量赋值(在main.auto.tfvars
):
# Variable assignment for App Service Plan
asp_kind = "xenon"
# Recommended value is false
# Ref: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/app_service_plan
asp_reserved = false
asp_is_xenon = true
# asp_sku_name = "P3"
asp_sku_tier = "PremiumV3"
asp_sku_size = "P3v3"
使用 terraform apply
出现以下错误:
Error: Error creating/updating App Service Plan "xyz-sandbox-appserviceplan" (Resource Group "abc-sandbox-xyz-cc-rg"): web.AppServicePlansClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="BadRequest" Message="The parameter SKU.Name has an invalid value." Details=[{"Message":"The parameter SKU.Name has an invalid value."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","Message":"The parameter SKU.Name has an invalid value.","MessageTemplate":"The parameter {0} has an invalid value.","Parameters":["SKU.Name"]}}]
我已经为此纠结了几个小时。任何帮助将不胜感激!
解决方案:我使用的等级和大小不正确。
使用以下方法解决了..
asp_sku_tier = "P3v3"
asp_sku_size = "P3v3"
感谢@KalC,下面的工作。
resource "azurerm_app_service_plan" "af-sp" {
name = "af-sp"
location = var.azure_functions_location
resource_group_name = var.azure_functions_rg_name
kind = "Linux"
reserved = true
sku {
tier = "P1v2"
size = "P1v2"
}
}
模块声明
resource "azurerm_app_service_plan" "appserviceplan" {
name = var.name
location = var.location
resource_group_name = var.resource_group_name
kind = var.kind
reserved = var.reserved
is_xenon = var.is_xenon
sku {
# name = var.sku_name
tier = var.sku_tier
size = var.sku_tier
}
}
像这样调用上面的模块(在main.tf
)...
module "appserviceplan1" {
source = "../modules/app_service_plan"
name = "${var.project_name}-${var.environment}-appserviceplan"
location = var.location
resource_group_name = var.resource_group_name
kind = var.asp_kind
reserved = var.asp_reserved
is_xenon = var.asp_is_xenon
# sku_name = var.asp_sku_name
sku_tier = var.asp_sku_tier
sku_size = var.asp_sku_tier
}
输入变量赋值(在main.auto.tfvars
):
# Variable assignment for App Service Plan
asp_kind = "xenon"
# Recommended value is false
# Ref: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/app_service_plan
asp_reserved = false
asp_is_xenon = true
# asp_sku_name = "P3"
asp_sku_tier = "PremiumV3"
asp_sku_size = "P3v3"
使用 terraform apply
出现以下错误:
Error: Error creating/updating App Service Plan "xyz-sandbox-appserviceplan" (Resource Group "abc-sandbox-xyz-cc-rg"): web.AppServicePlansClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="BadRequest" Message="The parameter SKU.Name has an invalid value." Details=[{"Message":"The parameter SKU.Name has an invalid value."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","Message":"The parameter SKU.Name has an invalid value.","MessageTemplate":"The parameter {0} has an invalid value.","Parameters":["SKU.Name"]}}]
我已经为此纠结了几个小时。任何帮助将不胜感激!
解决方案:我使用的等级和大小不正确。
使用以下方法解决了..
asp_sku_tier = "P3v3"
asp_sku_size = "P3v3"
感谢@KalC,下面的工作。
resource "azurerm_app_service_plan" "af-sp" {
name = "af-sp"
location = var.azure_functions_location
resource_group_name = var.azure_functions_rg_name
kind = "Linux"
reserved = true
sku {
tier = "P1v2"
size = "P1v2"
}
}