Search code examples
azureazure-devopsazure-rm-template

Is it possible to retrieve the oms workspace id inside my ARM template


I create an oms workspace through ARM templates and deploy them to azure through azure devops. Because I have an automated mindset I also deploy the virtual machine ARM through azure devops.

Because I don't want to deploy the OMS workspace and go to the portal and copy the workspace id to paste this in the arm template parameters of the virtual machine to point the VM extension to the right workspace.

My question now is if it is possible to connect these 2 in 1 deployment to deploy an oms workspace and export the workspace id to the vm arm deployment.

So that I skip the manual step and automate the entire deployment.

Source: I found a fellow automate thinking guy but there was no right answer on his question. https://github.com/MicrosoftDocs/azure-docs/issues/13787

Does anyone have any clue if this is possible I searched and not found any way to do this atm.


Solution

  • you can use reference() function to achieve that:

    "[reference(resourceId('Microsoft.OperationalInsights/workspaces', 'workspaceName'), '2017-03-15-preview').customerId]"
    

    https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#reference