Создайте новое приложение-функцию Azure, не удаляя существующие функции Azure в группе ресурсов. - PullRequest
1 голос
/ 23 января 2020

У меня есть группа ресурсов, в которой уже есть несколько приложений функций. Теперь я хочу использовать Terraform для развертывания большего количества функциональных приложений в одной и той же группе ресурсов. Проблема в том, что когда я запускаю план Terraform, он сообщает, что предыдущие ресурсы будут удалены, а новые будут созданы. Я хочу оставить предыдущие ресурсы такими, какие они есть. Я скопировал мой код ниже. Результатом плана Terraform является 5 созданных ресурсов и 5 удаленных.

variable "resource_group_name" {
  type = string
}

variable "location" {
  type = string
}

variable "resource_name" {
  type = string
}

resource "random_string" "random" {
  length = 9
  special = false
  number = true
  upper = false
}

variable "storage_account_tier" {
  type = string
  default = "Standard"
}

variable "storage_account_type" {
  type = string
  default = "LRS"
}

variable "service_plan_name" {
  type = string
}

variable "service_plan_tier" {
  type = string
  default = "Standard"
}

variable "service_plan_size" {
  type = string
  default = "S1"
}

resource "azurerm_resource_group" "example" {
  name     = var.resource_group_name
  location = var.location
}

resource "azurerm_storage_account" "example" {
  name                     = replace(join(",",["storageaccount",random_string.random.result]),",","")
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = var.storage_account_tier
  account_replication_type = var.storage_account_type
}

resource "azurerm_app_service_plan" "example" {
  name                = var.service_plan_name
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku {
    tier = var.service_plan_tier
    size = var.service_plan_size
  }
}

resource "azurerm_function_app" "example" {
  name                      = var.resource_name
  location                  = azurerm_resource_group.example.location
  resource_group_name       = azurerm_resource_group.example.name
  app_service_plan_id       = azurerm_app_service_plan.example.id
  storage_connection_string = azurerm_storage_account.example.primary_connection_string
}

1 Ответ

0 голосов
/ 24 января 2020

Я работал над Terraform для создания инфраструктуры на AWS и решил эту проблему с помощью aws ресурсов. Если вы можете вставить свой вывод terraform plan в ответ, я мог бы ответить на этот вопрос.

...