Azure - простой шаблон JSON и файл параметров, но все равно запрашивает ввод - PullRequest
0 голосов
/ 19 февраля 2019

На портале Azure я прошел через мастер для настройки новой виртуальной сети vNet.Перед его созданием я скачал пакет zip-файлов с портала Azure с JSON-файлом в нем и отменил создание

Используя 2 фрагмента JSON (прилагается), которые остались неизменными из Azure, я использую простойДвухстрочный скрипт Powershell…

$resourceGroupName = "RG-SBX-MYTEST"
New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name deploy_vNet -TemplateFile "C:\Azure\vNet\template.json" -TemplateParameterFile "C:\Azure\vNet\parameters.json"

При запуске он запрашивает nameFromTemplate и resourceGroupFromTemplate , но все остальные значения из файла parameters.json соблюдаются…???

cmdlet New-AzureRmResourceGroupDeployment at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
nameFromTemplate: vNet-SBX-MYTEST
resourceGroupFromTemplate: RG-SBX-MYTEST


DeploymentName          : deploy_vNet
ResourceGroupName       : RG-SBX-MYTEST
ProvisioningState       : Succeeded
Timestamp               : 19/02/2019 12:00:28
Mode                    : Incremental
TemplateLink            : 
Parameters              : 
                          Name             Type                       Value     
                          ===============  =========================  ==========
                          name             String                     vNet-SBX-MYTEST
                          resourceGroup    String                     RG-SBX-MYTEST
                          location         String                     westeurope
                          addressPrefix    String                     10.1.0.0/16
                          subnetName       String                     default   
                          subnetAddressPrefix  String                     10.1.0.0/24
                          enableDdosProtection  Bool                       False     

Outputs                 : 
DeploymentDebugLogLevel :

Я не понимаю, в чем здесь проблема?Пожалуйста, помогите, это должно быть просто правильно ??Я не ожидаю двух запросов на значения, которые в файле параметров уже есть

Заранее спасибо!

файл parameters.json

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "value": "vNet-SBX-MYTEST"
        },
        "location": {
            "value": "westeurope"
        },
        "resourceGroup": {
            "value": "RG-SBX-MYTEST"
        },
        "addressPrefix": {
            "value": "10.1.0.0/16"
        },
        "subnetName": {
            "value": "default"
        },
        "subnetAddressPrefix": {
            "value": "10.1.0.0/24"
        },
        "enableDdosProtection": {
            "value": false
        }
    }
}

файл template.json

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "type": "string"
        },
        "resourceGroup": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "addressPrefix": {
            "type": "string"
        },
        "subnetName": {
            "type": "string"
        },
        "subnetAddressPrefix": {
            "type": "string"
        },
        "enableDdosProtection": {
            "type": "bool"
        }
    },
    "resources": [
        {
            "apiVersion": "2018-08-01",
            "name": "[parameters('name')]",
            "type": "Microsoft.Network/virtualNetworks",
            "location": "[parameters('location')]",
            "properties": {
                "addressSpace": {
                    "addressPrefixes": [
                        "[parameters('addressPrefix')]"
                    ]
                },
                "subnets": [
                    {
                        "name": "[parameters('subnetName')]",
                        "properties": {
                            "addressPrefix": "[parameters('subnetAddressPrefix')]"
                        }
                    }
                ],
                "enableDdosProtection": "[parameters('enableDdosProtection')]"
            }
        }
    ] }

1 Ответ

0 голосов
/ 19 февраля 2019

Я не уверен, что именно происходит, но я думаю, что powershell сбит с толку тем фактом, что вы передаете параметры, называемые name и resourceGroup, в командлет и в шаблон, это действительно похоже на случай ошибки \ крайности вкомандлет.одна вещь, которую вы можете сделать - к сожалению, просто избегайте называть такие параметры таким образом.

для ясности: решение состоит в том, чтобы переименовать оба параметра во что-то другое, например, resource_name и resource_group_name (хотя второй параметр даже не используется)

пс.вы также можете поднять проблему на github Azure Powershell: https://github.com/Azure/azure-powershell/issues

...