引用不同资源组中的现有 Azure 自动化帐户

Reference an existing Azure Automation Account in a different Resource Group

我需要在 ARM 模板中使用现有的 Azure 自动化帐户来创建新的编译作业。当自动化帐户位于我正在部署的同一资源组中时,我知道如何执行此操作,但当它是不同资源组中的现有自动化帐户时,我无法弄清楚。

例如:

父模板(资源)

{
  "name": "dscCompile",
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2016-09-01",
  "dependsOn": [
    "[resourceId('Microsoft.Resources/deployments', 'newGuid')]"
  ],
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "uri": "[variables('templates').dsc]",
      "contentVersion": "1.0.0.0"
    },
    "parameters": {
      "compile-settings": {
        "value": {
          "configurationData": "[concat('{\"AllNodes\": [{\"NodeName\":\"*\",\"PSDscAllowPlainTextPassword\":true,\"RetryIntervalSec\":30,\"RetryCount\":20},{\"Nodename\":\"localhost\",\"domainName\":\"', parameters('extn-settings').domain, '\",\"adminCreds\":\"', parameters('adminPassword'), '\",\"Role\":\"DC\"}]}')]",
          "configurationName": "createPDC",
          "location": "Australia Southeast",
          "name": "[reference('newGuid').outputs.guid.value)]"
        }
      },                    
      "tag-values": {
        "value": "[parameters('tag-values')]"
      }
    }
 }

子模板

$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "compile-settings": {
            "type": "object",
            "metadata": {
                "description": "These are settings for a DSC Compile"
            }
        },
        "tag-values": {
            "type": "object",
            "metadata": {
                "description": "These are the Tag values"
            }
        }
    },
    "resources": [
        {
            "name": "[parameters('compile-settings').jobGuid]",
            "type": "Microsoft.Automation/automationAccounts/compilationjobs",
            "apiVersion": "2015-10-31",
            "location": "[parameters('compile-settings').location]",
            "tags": "[parameters('tag-values')]",
            "dependsOn": [],
            "properties": {
                "configuration": {
                    "name": "[parameters('compile-settings').configurationName]"
                },
                "parameters": {
                    "ConfigurationData": "[parameters('compile-settings').ConfigurationData]"
                }
            },
            "resources": []
        }       
    ],
    "outputs": {}
}

提前致谢!

好吧,这直到最近才成为可能,您可以使用 cross resource group deployment

基本上,您在模板中创建一个模板(又名 nested\child 模板)并选择一个不同的资源组(使用该模板的 resourceGroup 属性。别无他法。

{
    "apiVersion": "2017-05-10",
    "name": "nestedTemplate",
    "type": "Microsoft.Resources/deployments",
    "resourceGroup": "crossResourceGroupDeployment",
    "properties": { }
}