Ability to export a Resource Group as a template
When doing work which needs to be repeating, i.e. deploying a large set of servers, configuring a complex set of dependencies, it would be very helpful to have the ability to save the resource group as a template, which could then potentially be used in the Azure Resource Manager within Visual Studio to be further refined for argument usage. The use case for this would be dev/test environments, where we need the ability to fully tare down and re-create the environment. This feature would build on top of the current ability to execute Save-AzureResourceGroupGalleryTemplate.
You can now export a template from your existing resource groups. We’re still evolving this experience, but try it out and let us know what you think!
Start by providing any documentation whatsoever!!
* wehat are the availeble schemas?
* where to find which schemas are availeble?
* documentation on Avery single paramerer within those schemas
* clear and extensive documentation on the "programming" featurs (functions)
Doug Belkofer commented
To me, if there is no ability to create a resource group template from an existing resource group, you're seriously devaluing the functionality for deploying a new resource group from a template. The most obvious use case is where you've built up existing resources in your production environment, you take the time to change the resource groups on them to group them appropriately, and now I want to be able to generate a resource group template from the resource group. That then allows me to easily create a dev/test environment that is as close of a replica of my production environment as I want. I can edit the template to make some things parameterized, can edit some things like pricing tiers and such, and I'm done. The key here is that it should not make any difference how the original resource group was created. It could have been manually created step by step, it could have itself been a template deployment that was then modified, it could be a combination of multiple template deployments, or whatever.
Jon Jander commented
I would say, just the topology. Because then you can easily see what the template looks like and it will make it easier for tech's to create new templates.
But runtime sounds cool as well :)
For me, its both.
Ensuring the templates for each resource has the ability to define the destination Resource Group, as well as being able to take a "working" state application and export it to a template that can then be used to re-deploy the application is critical.
I would say this has equal weight in our use-cases to the feature of being able to move around resources into new or existing resource Groups. Sometimes there may be something (an eventhubs namespace, for example) that was created by the code (the running application), but needs to be moved into the correct resource group for "Ops Reasons" (financial tracking, reporting, proper templating, etc). Currently the only way to get that resource into the correct resource group is to delete and recreate - losing all the data in that resource. These two issues are linked in a very real-world way. Thanks for putting the effort into fixing it!
Martijn Hoogendoorn commented
Thanks Ryan, I would love to see templating of the toplology, where runtime state would be optional.
Marcel Meijer commented
After you made a combination of resources which results in a CSM it should be handy to export it to file. Perhaps you don't want to share a model.