Вопрос:

Предопределенная группа ресурсов в шаблоне ARM

json azure azure-resource-manager azure-resource-group

196 просмотра

2 ответа

8 Репутация автора

Я работаю над пользовательским шаблоном руки.

Я хотел бы, чтобы конкретная группа ресурсов была жестко запрограммирована внутри JSON, поэтому при открытии шаблона он будет имитировать «Группа ресурсов: Использовать существующий: предопределенная выбранная группа ресурсов»

Я часами ломал голову и глубоко искал в Интернете, я также пытался экспортировать существующий шаблон группы ресурсов и импортировать его в пользовательское развертывание, но он все еще показывает

Ресурсная группа * Создать новый * Использовать существующий

Есть ли способ определить существующую RG внутри шаблона JSON?

Автор: Doron Источник Размещён: 10.01.2018 08:55

Ответы (2)


0 плюса

37895 Репутация автора

Решение

Есть несколько способов достичь этого (не то, чтобы это имело смысл, но вы можете сделать это).

  1. Используйте автоматизацию вокруг шаблона, чтобы всегда развертывать его на одной и той же области. это имеет смысл, так как ваш шаблон остается гибким
  2. оберните ваш шаблон родительским шаблоном (так что "конвертируйте" ваш шаблон во вложенный шаблон). таким образом, родительский шаблон может контролировать, в какую группу ресурсов будет развернут ваш вложенный шаблон (ищите развертывание шаблонов ARM для нескольких ресурсов).
  3. Сделайте ваш шаблон вложенным встроенным шаблоном (в худшем случае). это почти то же самое, что и пункт 2, но немного хуже, потому что вложенные встроенные шаблоны имеют такой специфический недостаток, что они не могут использовать свои собственные параметры \ переменные, только те, которые определены в родительском.

Опять же, ничего из этого не имеет смысла, так как вы должны просто развернуть его в правильной комбинации подписка \ группа ресурсов. но у вас это есть, если вы настаиваете.

Но работа с порталом останется прежней (нет способа обойти это, вы можете принудить шаблон всегда развертываться в одной и той же группе ресурсов (не то, чтобы это имело смысл), но не изменять работу портала), если это так. что вас беспокоит

Автор: 4c74356b41 Размещён: 10.01.2018 09:14

2 плюса

21 Репутация автора

Вы можете использовать вложенные шаблоны, как сказал @ 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переменную именем вашего фактического имени группы ресурсов.

Автор: brainless Размещён: 24.05.2019 08:35
Вопросы из категории :
32x32