【问题标题】:Azure managed application defintion and terraform scriptsAzure 托管应用程序定义和 terraform 脚本
【发布时间】:2022-01-11 21:49:26
【问题描述】:

是否可以使用 createUIDefintion.json 文件和 terraform 脚本而不是 mainTemplate.json(arm 模板)来创建“azure 托管应用程序定义”?。

【问题讨论】:

    标签: azure user-interface terraform azure-resource-manager managed


    【解决方案1】:

    这是不可能的,因为要创建和发布托管应用程序定义,您需要一个 zip 文件,其中应包含 mainTemplate.jsoncreateUiDefinition.json 文件。

    如果您查看此Create and publish a managed application definition 文档,您会发现 -

    每个托管应用程序定义都包含一个名为 mainTemplate.json 的文件。在其中定义要部署的 Azure 资源。该模板与常规 ARM 模板没有什么不同。

    您定义用于创建托管应用程序的门户体验。 createUiDefinition.json 文件生成门户界面。您可以定义用户如何为每个参数提供输入。

    然后我们通过将这两个文件添加到一个 .zip 文件中来打包文件。并且这两个文件必须位于 .zip 文件的根目录。如果将它们放在文件夹中,则在创建托管应用程序定义时会收到错误消息。

    设置授权规则后,现在您可以使用 terraform 创建托管应用程序定义,如下所示。

    provider "azurerm" {
      features {}
    }
    
    data "azurerm_client_config" "current" {}
    
    resource "azurerm_resource_group" "example" {
      name     = "example-resources"
      location = "West Europe"
    }
    
    resource "azurerm_managed_application_definition" "example" {
      name                = "example-managedapplicationdefinition"
      location            = azurerm_resource_group.example.location
      resource_group_name = azurerm_resource_group.example.name
      lock_level          = "ReadOnly"
      package_file_uri    = "Path of the zip file...."
      display_name        = "TestManagedApplicationDefinition"
      description         = "Test Managed Application Definition"
    
      authorization {
        service_principal_id = data.azurerm_client_config.current.object_id
        role_definition_id   = "a094b430-dad3-424d-ae58-13f72fd72591"
      }
    }
    

    有关更多信息,请阅读来自 terraform 的 Create and publish a managed application definitionazurerm_managed_application_definition 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 2016-11-30
      • 2021-10-04
      相关资源
      最近更新 更多