如何在 terraform 中使用 azurerm_virtual_machine 资源的 custom_data 字段?
how to use custom_data field of azurerm_virtual_machine resource in terraform?
我正在尝试使用资源 azurerm_virtual_machine 的 custom_data 字段,但遇到了这个错误。知道我遗漏了什么或者用法有误吗?
resource "azurerm_virtual_machine" "csrVM" {
name = "csr-terraform-poc"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.terraformRG.name}"
network_interface_ids = ["${azurerm_network_interface.terraformNic1.id}",
"${azurerm_network_interface.terraformNic2.id}"]
primary_network_interface_id = "${azurerm_network_interface.terraformNic1.id}"
vm_size = "Standard_DS1_v2"
custom_data = "${file("customdata.txt")}"
#custom_data = <<CUSTOMDATA
#username testuser privilege 15 password testpass
#enable password testpass
#CUSTOMDATA
~>terraform 应用-var-file=azure.tfvars
错误:azurerm_virtual_machine.csrVM::无效或未知密钥:custom_data
~>terraform -v
地形 v0.11.3
+ provider.azurerm v1.1.1
我从未使用过 terraform,但查看 resource definition 您需要创建一个 os_profile 节点并将 custom_data 放在那里。
os_profile 支持以下内容:
computer_name - (Required) Specifies the name of the virtual machine.
admin_username - (Required) Specifies the name of the administrator account.
admin_password - (Required for Windows, Optional for Linux) Specifies the password of the administrator account.
custom_data - (Optional) Specifies custom data to supply to the machine. On linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, Terraform will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.
我正在尝试使用资源 azurerm_virtual_machine 的 custom_data 字段,但遇到了这个错误。知道我遗漏了什么或者用法有误吗?
resource "azurerm_virtual_machine" "csrVM" {
name = "csr-terraform-poc"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.terraformRG.name}"
network_interface_ids = ["${azurerm_network_interface.terraformNic1.id}",
"${azurerm_network_interface.terraformNic2.id}"]
primary_network_interface_id = "${azurerm_network_interface.terraformNic1.id}"
vm_size = "Standard_DS1_v2"
custom_data = "${file("customdata.txt")}"
#custom_data = <<CUSTOMDATA
#username testuser privilege 15 password testpass
#enable password testpass
#CUSTOMDATA
~>terraform 应用-var-file=azure.tfvars
错误:azurerm_virtual_machine.csrVM::无效或未知密钥:custom_data
~>terraform -v 地形 v0.11.3 + provider.azurerm v1.1.1
我从未使用过 terraform,但查看 resource definition 您需要创建一个 os_profile 节点并将 custom_data 放在那里。
os_profile 支持以下内容:
computer_name - (Required) Specifies the name of the virtual machine.
admin_username - (Required) Specifies the name of the administrator account.
admin_password - (Required for Windows, Optional for Linux) Specifies the password of the administrator account.
custom_data - (Optional) Specifies custom data to supply to the machine. On linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, Terraform will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.