如何将自定义模块添加到 ARM 模板
How do I added custom module to ARM Template
我正在为 Azure 自动化创建 ARM 模板并想上传自定义模块。下面的示例我已经看到它上传了一个 public 模块,给出了模块的 URL 。我该如何修改它以便它采用我的自定义模块。
"resources": [
{
"name": "[concat(parameters('automationAccountName'), '/', variables('dscModules').xNetworking.ModuleName)]",
"type": "microsoft.automation/automationAccounts/Modules",
"apiVersion": "[variables('automationApiVersion')]",
"tags": {},
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('automationAccountName'))]"
],
"properties": {
"contentLink": {
"uri": "[variables('dscModules').xNetworking.ModuleUri]"
}
}
}
请参考这篇blog:Deploy Custom Azure Automation Integration Modules Using ARM Templates。您可以使用以下模板将自定义模块部署到 Azure 自动化帐户。
{
"$schema": "http://schemas.microsoft.org/azure/deploymentTemplate?api-version=2015-01-01-preview#",
"contentVersion": "1.0",
"parameters": {
"automationAccountType": {
"type": "string",
"allowedValues": [
"New",
"Existing"
]
},
"automationAccountName": {
"type": "string"
},
"moduleName": {
"type": "string"
},
"moduleUri":{
"type": "string"
}
},
"variables": {
"templatelink": "[concat('https://raw.githubusercontent.com/rchaganti/armseries/master/', parameters('automationAccountType'), 'AccountTemplate.json')]"
},
"resources": [
{
"apiVersion": "2015-01-01",
"name": "nestedTemplate",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "incremental",
"templateLink": {
"uri": "[variables('templatelink')]",
"contentVersion": "1.0"
},
"parameters": {
"accountName": {
"value": "[parameters('automationAccountName')]"
},
"accountLocation": {
"value": "[resourceGroup().Location]"
},
"moduleName": {
"value": "[parameters('moduleName')]"
},
"moduleUri": {
"value": "[parameters('moduleUri')]"
}
}
}
}
]
}
参数应该在下面,只是一个例子:
$parameters = @{
'moduleName' = 'myModule'
'moduleUri' = 'https://github.com/rchaganti/armseries/raw/master/MyModule.zip'
'automationAccountName' = 'shuitest'
'automationAccountType' = 'Existing'
'TemplateFile' = 'D:\xuexi\automation.json'
}
注意:您可以从 this 获得 templatelink
。
另外,你可以参考这个。
我正在为 Azure 自动化创建 ARM 模板并想上传自定义模块。下面的示例我已经看到它上传了一个 public 模块,给出了模块的 URL 。我该如何修改它以便它采用我的自定义模块。
"resources": [
{
"name": "[concat(parameters('automationAccountName'), '/', variables('dscModules').xNetworking.ModuleName)]",
"type": "microsoft.automation/automationAccounts/Modules",
"apiVersion": "[variables('automationApiVersion')]",
"tags": {},
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('automationAccountName'))]"
],
"properties": {
"contentLink": {
"uri": "[variables('dscModules').xNetworking.ModuleUri]"
}
}
}
请参考这篇blog:Deploy Custom Azure Automation Integration Modules Using ARM Templates。您可以使用以下模板将自定义模块部署到 Azure 自动化帐户。
{
"$schema": "http://schemas.microsoft.org/azure/deploymentTemplate?api-version=2015-01-01-preview#",
"contentVersion": "1.0",
"parameters": {
"automationAccountType": {
"type": "string",
"allowedValues": [
"New",
"Existing"
]
},
"automationAccountName": {
"type": "string"
},
"moduleName": {
"type": "string"
},
"moduleUri":{
"type": "string"
}
},
"variables": {
"templatelink": "[concat('https://raw.githubusercontent.com/rchaganti/armseries/master/', parameters('automationAccountType'), 'AccountTemplate.json')]"
},
"resources": [
{
"apiVersion": "2015-01-01",
"name": "nestedTemplate",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "incremental",
"templateLink": {
"uri": "[variables('templatelink')]",
"contentVersion": "1.0"
},
"parameters": {
"accountName": {
"value": "[parameters('automationAccountName')]"
},
"accountLocation": {
"value": "[resourceGroup().Location]"
},
"moduleName": {
"value": "[parameters('moduleName')]"
},
"moduleUri": {
"value": "[parameters('moduleUri')]"
}
}
}
}
]
}
参数应该在下面,只是一个例子:
$parameters = @{
'moduleName' = 'myModule'
'moduleUri' = 'https://github.com/rchaganti/armseries/raw/master/MyModule.zip'
'automationAccountName' = 'shuitest'
'automationAccountType' = 'Existing'
'TemplateFile' = 'D:\xuexi\automation.json'
}
注意:您可以从 this 获得 templatelink
。
另外,你可以参考这个