我已经通过Terraform创建了一个子网
resource "azurerm_subnet" "subnet" {
depends_on = [ azurerm_virtual_network.vnet ]
name = lower("${var.application_name}-subnet-${var.location_short}-${var.environment}")
resource_group_name = azurerm_resource_group.networking_rg.name
virtual_network_name = azurerm_virtual_network.vnet.name
address_prefixes = ["10.0.14.224/27"] #-> 10.0.14.255
service_endpoints = ["Microsoft.Storage"]
delegation {
name = "AFADelegation"
service_delegation {
name = "Microsoft.DBforPostgreSQL/flexibleServers"
actions = ["Microsoft.Network/virtualNetworks/subnets/join/action"]
}
}
}
字符串
我尝试输出上面的subnetId,这样我就可以将我的App Service添加到私有网络中,但是,在输出subnetId时:
output "subnet_id" {
value = module.private_network.subnet_id
}
型
我并没有得到身份证,而是
“/subscriptions/2XXXXX-XXXX-XXX-XXXX-XXXXXX/resourceGroups/rg-networking-ae-dev-rg/providers/Microsoft.Network/virtualNetworks/rg-vnet-ae-dev/subnets/pn-subnet-ae-dev”
为什么我拿不到身份证?
1条答案
按热度按时间8ftvxx2r1#
我并没有得到身份证,而是
“/subscriptions/2XXXXX-XXXX-XXX-XXXX-XXXXXX/resourceGroups/rg-networking-ae-dev-rg/providers/Microsoft.Network/virtualNetworks/rg-vnet-ae-dev/subnets/pn-subnet-ae-dev”
为什么我拿不到身份证?
您使用terraform为
subnet_id
检查Subnet ID
时获得的值是子网的资源标识符,格式为Azure Resource Manager。它包括subscription ID
、resource group
名称、virtual network name
和subnet name
。它仍然是唯一标识Azure中子网资源的有效标识符。输出:
x1c 0d1x的数据
如果您特别希望仅从资源标识符中提取子网名称,则可以使用
element
和split
函数来提取子网基名称。现在,当您运行
terraform apply
时,输出subnet_id
将包含从完整资源标识符中提取的子网的基本名称。注意:子网ID是Azure资源管理器格式的有效标识符。您也可以从门户验证相同的值。如果要在其他地方使用子网ID,则需要传递整个值。
输出:
的
参考:Query Data with Output Variables