Azure更新管理-ARM服务配置

问题描述 投票:0回答:1

我将使用ARM模板在Azure中配置更新管理服务。我不想从头开始部署更新管理,我想创建更新部署并计划使用ARM进行修补。我创建了teml文件和param文件,请参见下文。我也在使用脚本来部署json文件,如下所示。我遇到类似New-AzureRmDeployment : 11:14:04 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'The resource 'Microsoft.Automation/automationAccounts/UpdateTesting' is not defined in the template. Please see https://aka.ms/arm-template for usage details.'.

的错误

模板文件:

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "automationAccounts_UpdateTesting_name": {
            "type": "String"
        }
    },
    "variables": {},
    "resources": [ {
            "type": "Microsoft.Automation/automationAccounts/schedules",
            "apiVersion": "2015-10-31",
            "name": "[concat(parameters('automationAccounts_UpdateTesting_name'), '/testfromarm')]",
            "dependsOn": [
                "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccounts_UpdateTesting_name'))]"
            ],
            "properties": {
                "startTime": "2020-03-10T10:57:00+01:00",
                "expiryTime": "2020-03-10T10:57:00+01:00",
                "frequency": "OneTime",
                "timeZone": "Europe/Warsaw"
            }
        },
        {
            "type": "Microsoft.Automation/automationAccounts/softwareUpdateConfigurations",
            "apiVersion": "2017-05-15-preview",
            "name": "[concat(parameters('automationAccounts_UpdateTesting_name'), '/testfromarm')]",
            "dependsOn": [
                "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccounts_UpdateTesting_name'))]"
            ],
            "properties": {
                "updateConfiguration": {
                    "operatingSystem": "Windows",
                    "windows": {
                        "includedUpdateClassifications": "Critical, Security, UpdateRollup, Updates",
                        "rebootSetting": "IfRequired"
                    },
                    "targets": {
                        "azureQueries": [
                            {
                                "scope": [
                                    "/subscriptions/xxx"
                                ],
                                "tagSettings": {
                                    "tags": {
                                        "PatchGroup": [
                                            "group01"
                                        ]
                                    },
                                    "filterOperator": "All"
                                },
                                "locations": []
                            },
                            {
                                "scope": [
                                    "/subscriptions/xxx"
                                ],
                                "tagSettings": {
                                    "tags": {
                                        "PatchGroup": [
                                            "group02"
                                        ]
                                    },
                                    "filterOperator": "All"
                                },
                                "locations": []
                            }
                        ]
                    },
                    "duration": "PT2H"
                },
                "tasks": {},
                "scheduleInfo": {}
            }
        }

    ],
    "outputs": {}
}

Param文件:

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "automationAccounts_UpdateTesting_name": {
            "value": "UpdateTesting"
        }
    }
}

部署脚本:

    param(
    [Parameter(Mandatory=$true)]
    [string] $TemplateFilePath,
    [Parameter(Mandatory=$true)]
    [string] $TemplateParameterFilePath,
    [Parameter(Mandatory=$true)]
    [string] $DeploymentName,
    [Parameter(Mandatory=$true)]
    [string] $Location
)

$ErrorActionPreference = "Stop"
if ((Test-Path $TemplateFilePath) -and (Test-Path $TemplateParameterFilePath)) {
    New-AzureRmDeployment -Location $Location -Name $DeploymentName -TemplateFile $TemplateFilePath -TemplateParameterFile $TemplateParameterFilePath
} else {
    Write-Error "One of required files was not found"
}
azure-resource-manager azure-automation
1个回答
0
投票

我使用以下链接创建json模板文件:softwareUpdateConfigurations,并在下面提供的ps1脚本下面使用它来运行模板和参数文件:

运行模板的powershell脚本:

param(
    [Parameter(Mandatory=$true)]
    [string] $ResourceGroupName,
    [Parameter(Mandatory=$true)]
    [string] $TemplateFilePath,
    [Parameter(Mandatory=$true)]
    [string] $TemplateParameterFilePath
)

if((Test-Path $TemplateFilePath) -and (Test-Path $TemplateParameterFilePath)) {
    New-AzureRmResourceGroupDeployment -ResourceGroupName $ResourceGroupName -TemplateFile $TemplateFilePath -TemplateParameterFile $TemplateParameterFilePath
} else {
    Write-Error "One of required files was not found."
}

参数文件:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "automationAccounts_name": {
        "value": "xxx"
        },
        "location": {
        "value": "xxx"
        },
        "scheduleName1": {
        "value": "xxx"
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.