Мой сценарий:ARM Шаблон создания и публикации Azure Runbook
У меня есть три (A, неизбежное, В и С), размещенных в GitHub (AURI, Buri, Кури). Я работаю над шаблоном ARM, чтобы создать учетную запись автоматизации, учетные данные, три книги, а затем создать работу, используя одну из них (runbook C).
Runbook С является основной, и А и В называют внутри С.
Проблема заключается в том, что для А и В должны быть вызваны из C, они должны быть опубликованы в первую очередь.
Есть ли способ опубликовать их непосредственно через мой текущий шаблон ARM?
Обходным решением будет сжать весь мой код в рабочей книге C, но я предпочитаю держать их отдельно.
код до сих пор:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
.......
},
"variables": {
........
},
"resources": [
{
"name": "[parameters('accountName')]",
"apiVersion": "2015-10-31",
"type": "Microsoft.Automation/AutomationAccounts",
"location": "westeurope",
"properties": {
"sku": {
"name": "Basic"
}
},
"resources": [
{
"apiVersion": "2015-10-31",
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'))]"
],
"location": "westeurope",
"name": "[variables('A')]",
"properties": {
"runbookType": "Script",
"logProgress": "false",
"logVerbose": "false",
"description": "[variables('runbookDescription')]",
"publishContentLink": {
"uri": "[variables('AUri')]",
"version": "1.0.0.0"
}
},
"type": "runbooks"
},
{
"apiVersion": "2015-10-31",
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'))]"
],
"location": "westeurope",
"name": "[variables('B')]",
"properties": {
"runbookType": "Script",
"logProgress": "false",
"logVerbose": "false",
"description": "[variables('runbookDescription')]",
"publishContentLink": {
"uri": "[variables('BUri')]",
"version": "1.0.0.0"
}
},
"type": "runbooks"
},
{
"apiVersion": "2015-10-31",
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'))]"
],
"location": "westeurope",
"name": "[variables('C')]",
"properties": {
"runbookType": "Script",
"logProgress": "false",
"logVerbose": "false",
"description": "[variables('runbookDescription')]",
"publishContentLink": {
"uri": "[variables('CUri')]",
"version": "1.0.0.0"
}
},
"type": "runbooks"
},
{
"name": "[parameters('credentialName')]",
"type": "credentials",
"apiVersion": "2015-10-31",
"location": "westeurope",
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'))]"
],
"tags": { },
"properties": {
"userName": "[parameters('userName')]",
"password": "[parameters('password')]"
}
}
//optional code that runs the runbook created, yo need unique Guid value for "name" key
,
{
"name": "Unique GUID Here",
"type": "jobs",
"apiVersion": "2015-10-31",
"location": "westeurope",
"dependsOn": [
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'))]",
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'), '/credentials/', parameters('credentialName'))]",
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'), '/runbooks/',variables('A'))]",
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'), '/runbooks/',variables('B'))]",
"[concat('Microsoft.Automation/automationAccounts/', parameters('accountName'), '/runbooks/',variables('C'))]"
],
"tags": {
"key": "value"
},
"properties": {
"runbook": {
"name": "[variables('C')]"
}
}
} ]
}
Спасибо, это сработало. Я добавил зависимость в задании, использующем runbook C в A и B, но не добавил их в Runbook C, как вы указали. Также добавлено '' state ":« Опубликовано »в каждую рабочую книгу. Есть ли обширная документация относительно создания графика, например? – Milen
По расписанию см. Https://github.com/azureautomation/automation-packs/tree/master/000-base-automation-resource-templates/deploy-schedule – Joe
Теперь я посмотрю, спасибо Джо! – Milen