Creating Neo4j vm Terraform Message="Creating a virtual machine from Marketplace image requires Plan 信息在请求中
Creating Neo4j vm Terraform Message="Creating a virtual machine from Marketplace image requires Plan information in the request
我用来从市场创建 Vm 的脚本出现错误
错误:代码="VMMarketplaceInvalidInput" 消息="Creating a virtual machine from Marketplace image requires Plan information in the request. VM: '/subscriptions/bc8afca8-32ba-48ac-b418-77de827c2bc1/resourceGroups/NexxeNeo4j-rg/providers/Microsoft.Compute/virtualMachines/NexxeNeo4j4'."
provider "azurerm" {
subscription_id = "**************************************"
features {}
}
# Use existing resource group
data "azurerm_resource_group" "gepgroup1" {
name = "NexxeNeo4j-rg"
}
# Use Existing virtual network
data "azurerm_virtual_network" "gepnetwork1" {
name = "DEVRnD"
resource_group_name = "RnDdev"
}
# Use Existing subnet
data "azurerm_subnet" "gepsubnet" {
name = "subnet"
resource_group_name = "RnDdev"
virtual_network_name = data.azurerm_virtual_network.gepnetwork1.name
}
# Create public IPs NexxeNeo4j
resource "azurerm_public_ip" "geppublicip2" {
name = "NexxeNeo4jPublicIP"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
allocation_method = "Dynamic"
tags = {
environment = "Dev-Direct"
}
}
# Create network interface NexxeNeo4j2
resource "azurerm_network_interface" "gepnic3" {
name = "NexxeNeo4jNIC"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
ip_configuration {
name = "NexxeNeo4jConfiguration"
subnet_id = data.azurerm_subnet.gepsubnet.id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.geppublicip2.id
}
tags = {
environment = "Dev-Direct"
}
}
# Create virtual machine NexxeNeo4j
resource "azurerm_virtual_machine" "gepvm4" {
name = "NexxeNeo4j"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
network_interface_ids = [azurerm_network_interface.gepnic3.id]
vm_size = "Standard_DS3_v2"
plan {
name= "neo4j_3_5_13_apoc"
publisher= "neo4j"
product= "neo4j-enterprise-3_5"
}
storage_os_disk {
name = "NexxeNeo4j_OsDisk"
caching = "ReadWrite"
create_option = "FromImage"
managed_disk_type = "Premium_LRS"
}
storage_image_reference {
publisher = "neo4j"
offer = "neo4j-enterprise-3_5"
sku = "neo4j_3_5_13_apoc"
version = "3.5.13"
}
os_profile {
computer_name = "NexxeNeo4j"
admin_username = "gep"
admin_password = "Nexxegep#07066"
}
os_profile_linux_config {
disable_password_authentication = false
}
tags = {
environment = "Dev-Direct"
}
}
我在 Azure 云中试过你的配置文件 shell。它确实有效,除了我需要 运行 这些 Powershell 命令再次接受 运行 terraform apply
之前的法律条款。
Get-AzMarketplaceTerms -Publisher neo4j -Product neo4j-enterprise-3_5 -Name neo4j_3_5_13_apoc | Set-AzMarketplaceTerms -Accept
我建议删除 terraform.tfstate
terraform.tfstate.backup
文件和 运行 terraform init,计划,再次申请。
您需要在 Terraform HCL 脚本中添加 PLAN 块。
类似于
resource "azurerm_virtual_machine" "gepvm4" {
# ...
plan {
publisher = "neo4j"
name = "neo4j-enterprise-3_5"
product = "neo4j_3_5_13_apoc"
}
# ...
}
我用来从市场创建 Vm 的脚本出现错误 错误:代码="VMMarketplaceInvalidInput" 消息="Creating a virtual machine from Marketplace image requires Plan information in the request. VM: '/subscriptions/bc8afca8-32ba-48ac-b418-77de827c2bc1/resourceGroups/NexxeNeo4j-rg/providers/Microsoft.Compute/virtualMachines/NexxeNeo4j4'."
provider "azurerm" {
subscription_id = "**************************************"
features {}
}
# Use existing resource group
data "azurerm_resource_group" "gepgroup1" {
name = "NexxeNeo4j-rg"
}
# Use Existing virtual network
data "azurerm_virtual_network" "gepnetwork1" {
name = "DEVRnD"
resource_group_name = "RnDdev"
}
# Use Existing subnet
data "azurerm_subnet" "gepsubnet" {
name = "subnet"
resource_group_name = "RnDdev"
virtual_network_name = data.azurerm_virtual_network.gepnetwork1.name
}
# Create public IPs NexxeNeo4j
resource "azurerm_public_ip" "geppublicip2" {
name = "NexxeNeo4jPublicIP"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
allocation_method = "Dynamic"
tags = {
environment = "Dev-Direct"
}
}
# Create network interface NexxeNeo4j2
resource "azurerm_network_interface" "gepnic3" {
name = "NexxeNeo4jNIC"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
ip_configuration {
name = "NexxeNeo4jConfiguration"
subnet_id = data.azurerm_subnet.gepsubnet.id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.geppublicip2.id
}
tags = {
environment = "Dev-Direct"
}
}
# Create virtual machine NexxeNeo4j
resource "azurerm_virtual_machine" "gepvm4" {
name = "NexxeNeo4j"
location = "eastus"
resource_group_name = "NexxeNeo4j-rg"
network_interface_ids = [azurerm_network_interface.gepnic3.id]
vm_size = "Standard_DS3_v2"
plan {
name= "neo4j_3_5_13_apoc"
publisher= "neo4j"
product= "neo4j-enterprise-3_5"
}
storage_os_disk {
name = "NexxeNeo4j_OsDisk"
caching = "ReadWrite"
create_option = "FromImage"
managed_disk_type = "Premium_LRS"
}
storage_image_reference {
publisher = "neo4j"
offer = "neo4j-enterprise-3_5"
sku = "neo4j_3_5_13_apoc"
version = "3.5.13"
}
os_profile {
computer_name = "NexxeNeo4j"
admin_username = "gep"
admin_password = "Nexxegep#07066"
}
os_profile_linux_config {
disable_password_authentication = false
}
tags = {
environment = "Dev-Direct"
}
}
我在 Azure 云中试过你的配置文件 shell。它确实有效,除了我需要 运行 这些 Powershell 命令再次接受 运行 terraform apply
之前的法律条款。
Get-AzMarketplaceTerms -Publisher neo4j -Product neo4j-enterprise-3_5 -Name neo4j_3_5_13_apoc | Set-AzMarketplaceTerms -Accept
我建议删除 terraform.tfstate
terraform.tfstate.backup
文件和 运行 terraform init,计划,再次申请。
您需要在 Terraform HCL 脚本中添加 PLAN 块。
类似于
resource "azurerm_virtual_machine" "gepvm4" {
# ...
plan {
publisher = "neo4j"
name = "neo4j-enterprise-3_5"
product = "neo4j_3_5_13_apoc"
}
# ...
}