azure - Creating Neo4j vm Terraform Message="从 Marketplace 镜像创建虚拟机需要请求中的 Plan 信息
问题描述
我用于从市场创建 Vm 的脚本给出错误错误:代码 =“VMMarketplaceInvalidInput”消息 =“从市场映像创建虚拟机需要请求中的计划信息。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 云外壳中尝试了您的配置文件。它确实有效,只是我需要在再次运行之前运行这些 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,计划,再次申请。
推荐阅读
- sql - 在 SQL Server 中将 300 万行数据从一个表插入到另一个表
- javascript - 如何区分登录和注册收到的fireauth登录回调
- sql - WHERE 子句中的 CASE 表达式用于不同和
- ios - 如何输出没有背景的图像?
- node.js - 使用 NodeJs 进行高级日志记录:在 winston@3.0.0 中删除了 { emitErrs }
- ruby-on-rails - 是否可以在没有控制器或视图的情况下使用 ruby on rails 构建应用程序?
- javascript - Vue页面调用JS方法的this对象未定义
- javascript - 在 express 中使用 res.sendFile() 时无法设置 cookie
- android - 房间数据库:多个删除查询崩溃应用程序
- node.js - jest localStorage 的实现从何而来?