【发布时间】:2019-12-15 03:13:32
【问题描述】:
我有一个 Terraform 脚本,它根据 Azure 市场中的这个图像在 Azure 上创建一个虚拟机: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/gitlab.gitlab-ce
但我不知道如何识别要放入这些字段的值:
- 出版商
- 报价
- sku
- 版本
这是来自 Terraform 脚本的 sn-p
resource "azurerm_virtual_machine" "gitlab_vm" {
# ... other configuration
storage_image_reference {
publisher = "GitLab"
offer = "GitLab Community Edition"
# sku = "???"
version = "latest"
}
# ... other configuration
}
如果我使用 terraform plan 运行之前的详细信息,例如publisher = "GitLabXXX"(不存在的东西),然后 Terraform 不会引发任何错误。当我在一段时间后运行 terraform apply 时,会引发错误并且未创建 VM 资源(尽管创建了所有其他资源,例如网络资源)。
这适用于 Azure ARM 模板的类似方式:
"imageReference": {
"publisher": "[variables('pubName')]",
"offer": "[variables('offerName')]",
"sku" : "[parameters('skuName')]",
"version":"latest"
},
我有一些虚拟机正在启动并运行,它使用我在 Internet 上找到的类似 Terraform 配置(请参阅下面的 Ubuntu 示例),但是将信息从 Azure 市场网页转换为脚本的规则是什么?
storage_image_reference {
publisher = "Canonical"
offer = "UbuntuServer"
sku = "16.04-LTS"
version = "latest"
}
【问题讨论】:
标签: azure gitlab-ci azure-virtual-machine arm-template terraform-provider-azure