簡體   English   中英

ARM模板中的預定義資源組

[英]Predefined Resource Group in ARM Template

我正在研究自定義手臂模板。

我想將特定的資源組硬編碼到JSON中,因此在打開模板時它將模擬“資源組:使用現有的:預定義的選定資源組”

我已經花了好幾個小時摸索着頭並深入搜索了整個網絡,我還嘗試導出現有資源組模板並將其導入到自定義部署中,但是它仍然顯示

資源組*新建*使用現有資源

有什么方法可以在JSON模板中定義現有的RG?

您可以使用嵌套模板,例如@ 4c74356b41所說的,但是您仍然會在門戶上看到難看的“選擇資源組”字段。

我有一個類似的問題(即使@ 4c74356b41反復聲稱這沒有任何意義)。 我想從參數生成資源組名稱。

您可以在此處找到有關如何使用嵌套模板的更多信息: 創建資源組和部署資源

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.1",
    "parameters": {
        "someName": {
            "type": "string"
        }
    },
    "variables": {
        "rgName": "[concat('rg-', parameters('someName'))]"
    },
    "resources": [
        {
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2018-05-01",
            "location": "[parameters('rgLocation')]",
            "name": "[variables('rgName')]",
            "properties": {}
        },
        {
            "type": "Microsoft.Resources/deployments",
            "apiVersion": "2018-05-01",
            "name": "rgDeployment",
            "resourceGroup": "[variables('rgName')]",
            "dependsOn": [
                "[resourceId('Microsoft.Resources/resourceGroups/', variables('rgName'))]"
            ],
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {},
                    "variables": {},
                    "resources": [
                        {
                            // PUT YOUR RESOURCES TEMPLATES HERE! //
                        }
                    ],
                    "outputs": {}
                }
            }
        }
    ],
    "outputs": {}
}

只需將rgName變量替換為您實際資源組名稱的名稱即可。

有幾種方法可以做到這一點(雖然不是很有意義,但是您可以做到這一點)。

  1. 在模板周圍使用自動化,以始終將其部署到相同的rg。 這是最有意義的,因為您的模板保持靈活
  2. 用父模板包裝模板(以便將模板“轉換”為嵌套模板)。 這樣,父模板可以控制將嵌套模板部署到哪個資源組(查找跨資源組ARM模板部署)。
  3. 使您的模板成為嵌套的嵌入式模板(最壞的情況)。 這與第2點幾乎相同,但還差一點,因為嵌套的內聯模板具有以下特殊缺陷:無法使用自己的參數\\變量,只能使用父級中定義的參數。

同樣,這一切都沒有意義,因為您應該將其部署到正確的subscription \\ resource組組合中。 但是如果您堅持的話,就可以了。

但是門戶網站體驗將保持不變(無法解決此問題,您可以強制模板始終部署到同一資源組(這沒有任何意義),但不能更改門戶網站體驗),如果那樣的話您關心的是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM