Cannot create app service plan with error: This object does not have an attribute named "id"

Whenever I try to run terraform plan its giving me an output error as below:

╷
│ Error: Unsupported attribute
│ 
│   on appservices.tf line 38, in module "windows_web_app":
│   38:   service-plan-id            = module.app_service_plan[0].id
│     ├────────────────
│     │ module.app_service_plan[0] is a object
│ 
│ This object does not have an attribute named "id".```

This is my code: 
data "terraform_remote_state" "resource-group-source" {
  backend = "azurerm"
  config = {
    resource_group_name  = local.settings.common.remote-state-config.resource_group_name
    storage_account_name = local.settings.common.remote-state-config.storage_account_name
    container_name       = local.settings.common.remote-state-config.container_name
    key                  = "tf.tfstate"
  }
}
module "app_service_plan" {
  source                       = "../../../modules/az-appservices"
  count                        = local.settings.app_service_plan.inflate ? 1 : 0
  name                         = local.settings.app_service_plan.app-name
  location                     = data.terraform_remote_state.resource-group-source.outputs.app-team-rg[0].resource_group.location
  resource-group-name          = data.terraform_remote_state.resource-group-source.outputs.app-team-rg[0].resource_group.name
  os-type                      = local.settings.app_service_plan.os-type
  sku-name                     = local.settings.app_service_plan.sku-name
  zone-balancing-enabled       = local.settings.app_service_plan.zone-balancing-enabled
  worker-count                 = local.settings.app_service_plan.worker-count
  maximum-elastic-worker-count = local.settings.app_service_plan.maximum-elastic-worker-count
  app-service-environment-id   = local.settings.app_service_plan.app-service-environment-id
  per-site-scaling-enabled     = local.settings.app_service_plan.per-site-scaling-enabled
  tags                         = local.settings.common.tags
}

module "windows_web_app" {
  source                     = "../../../modules/az-webapp"
  for_each                   = local.settings.web-app.inflate ? merge(local.app-settings, local.connection-strings) : {}
  name                       = local.settings.web-app.name
  location                   = data.terraform_remote_state.resource-group-source.outputs.app-team-rg[0].resource_group.location
  resource-group-name        = data.terraform_remote_state.resource-group-source.outputs.app-team-rg[0].resource_group.name
  service-plan-id            = module.app_service_plan[0].id
  client-affinity-enabled    = local.settings.web-app.client-affinity-enabled ? 1 : 0
  client-certificate-enabled = local.settings.web-app.client-certificate-enabled ? 1 : 0
  client-certificate-mode    = local.settings.web-app.client-certificate-mode
  # azurerm_service_plan.example.id
  tags       = local.settings.common.tags
  https-only = local.settings.web-app.https-only ? 1 : 0
  
  site-config = {

  app-settings = [
    {
      name  = each.value.name
      value = each.value.value
    },
  ]

  connection-strings = [
    {
      name  = each.value.name
      type  = each.value.type
      value = each.value.value
    },
  ]

  # application-stack = [
  #   {
  #     current_stacke  = each.value.value
  #     dotnet_version  = each.value.value

  #   },
  # ]
  # current-stack  = "dotnet"
  # dotnet-version = "v7.0"

  }


  identity-type = local.settings.web-app.identity-type
  always-on     = local.settings.web-app.site-config[0].always-on ? 1 : 0
  worker-count  = local.settings.web-app.worker-count
  http2-enabled = local.settings.web-app.http2-enabled ? 1 : 0

  depends_on          = [module.app_service_plan]
}


Any help be greatly appreciated!```

P.S i used terraform console and done “module.app_service_plan” and its just showing 2 empty square brackets like this “

Share the code and the configuration you’re passing to it. That will shed more light.

If module.app_service_plan[0] has no attribute id, it means there is no output named id defined within that module.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.