terraform导入现有azure资源

terraform导入现有azure资源,terraform,terraform-provider-azure,azure-rm,Terraform,Terraform Provider Azure,Azure Rm,我想在azure中现有的vnet中创建子网。我找到了一个导入资源地形导入的命令。但是如何在代码中使用资源详细信息示例:vnet resource group resource "azurerm_virtual_network" "vnet" { name = var.vnet_name address_space = var.vnet_address_space

我想在azure中现有的vnet中创建子网。我找到了一个导入资源地形导入的命令。但是如何在代码中使用资源详细信息示例:vnet resource group

resource "azurerm_virtual_network" "vnet" {
  name                           = var.vnet_name
  address_space                  = var.vnet_address_space
  resource_group_name            = var.subscriptionrg_name
  location  }

我运行了这个命令,发现我们前面介绍的dns服务器现在被删除了。这是否意味着我必须定义代码中的所有内容并导入。或者是否有其他方法使用现有资源。

首先定义一个空块,如下所示:

resource "azurerm_virtual_network" "vnet" {
}

然后,运行
terraformimport
命令将现有资源导入您的terraform状态。然后,执行
terraformshow
,将TF状态打印到屏幕上。最后,您可以将打印的
“azurerm\u virtual\u network”“vnet”
块的内容复制到.tf文件中的实际块中。

首先定义一个空块,如下所示:

resource "azurerm_virtual_network" "vnet" {
}

然后,运行
terraformimport
命令将现有资源导入您的terraform状态。然后,执行
terraformshow
,将TF状态打印到屏幕上。最后,您可以将打印的
“azurerm\u virtual\u network”“vnet”
块的内容复制到.tf文件中的实际块中。

terraform import。地形输入。我来自caross terraform数据源。terraform导入与数据源有何不同。因为我只想在现有的vnet中创建一个子网,通过导入或数据,哪种方法是最好的?Hi@Mitanshi,而使用
数据源
允许Terraform配置使用Terraform之外定义的信息,
terraform import
命令将现有资源导入状态。因此,在这种情况下,数据源用于我们必须仅使用现有资源信息的场景中,就像在我的情况下,我想使用现有vnet,它是在terraform外部定义的,并使用terraform创建子网。谢谢@adp,这真的很清楚。我来自caross terraform数据源。terraform导入与数据源有何不同。因为我只想在现有的vnet中创建一个子网,通过导入或数据,哪种方法是最好的?Hi@Mitanshi,而使用
数据源
允许Terraform配置使用Terraform之外定义的信息,
terraform import
命令将现有资源导入状态。因此,在这种情况下,数据源用于我们必须仅使用现有资源信息的场景中,就像在我的情况下,我想使用现有vnet,它是在terraform外部定义的,并使用terraform创建子网。谢谢@adp,这真的很清楚。