Json |
{
"properties": {
"displayName": "[Preview]: Deploy Dependency agent to hybrid Linux Azure Arc machines",
"policyType": "BuiltIn",
"mode": "Indexed",
"description": "This policy deploys the Dependency agent to Linux Azure Arc machines if the agent isn't installed.",
"metadata": {
"version": "1.1.0-preview",
"category": "Monitoring",
"preview": true
},
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.HybridCompute/machines"
},
{
"field": "Microsoft.HybridCompute/imageOffer",
"like": "linux*"
}
]
},
"then": {
"effect": "deployIfNotExists",
"details": {
"type": "Microsoft.HybridCompute/machines/extensions",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293"
],
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.HybridCompute/machines/extensions/type",
"equals": "DependencyAgentLinux"
},
{
"field": "Microsoft.HybridCompute/machines/extensions/publisher",
"equals": "Microsoft.Azure.Monitoring.DependencyAgent"
},
{
"field": "Microsoft.HybridCompute/machines/extensions/provisioningState",
"equals": "Succeeded"
}
]
},
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"variables": {
"vmExtensionName": "DependencyAgentLinux",
"vmExtensionPublisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"vmExtensionType": "DependencyAgentLinux"
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/', variables('vmExtensionName'))]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2019-12-12",
"properties": {
"publisher": "[variables('vmExtensionPublisher')]",
"type": "[variables('vmExtensionType')]",
"settings": {
}
}
}
],
"outputs": {
"policy": {
"type": "string",
"value": "[concat('Enabled DA extension for VM', ': ', parameters('vmName'))]"
}
}
},
"parameters": {
"vmName": {
"value": "[field('name')]"
},
"location": {
"value": "[field('location')]"
}
}
}
}
}
}
}
},
"id": "/providers/Microsoft.Authorization/policyDefinitions/deacecc0-9f84-44d2-bb82-46f32d766d43",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "deacecc0-9f84-44d2-bb82-46f32d766d43"
}
|