Closed JHStarner closed 4 years ago
We do want to support a "strongType" equivalent for ARM templates. We are going to be releasing a new capability called Template Specs which will allow you to bundle a createUiDefinition file, which has a lot of functionality for creating a good UX for deploying an ARM template. We're a bit scant on details atm, but we will have more to share about template specs in the next 1-2 months. We just discussed it for the first time at //build last week: https://www.youtube.com/watch?v=UaVCNpD3pvg
We are going to close this issue as it is not directly related to ARM schemas, but please let us know if you supporting createUiDefinition files will solve this problem for you.
@anthony-c-martin - can you close this?
I am not sure how the createUiDefinition will accomplish the same thing as pulling vmSKUs
from the metadata -> strongType
capability found in Azure Policy.
I don't think this is something that I need to create a net-new interface for. I just need to stream-line the Templates
blade's inputs for infrastructure personnel, which is a small team.
Seeing as I cannot find a repo for how Azure-Policy works behind the scenes, I cannot point to what code they are using for strongType
. Is this part of the issue? It is a more complex mechanism in AzPolicy that is not addable to the ARM schema? Is this something that needs to be directed to the team that handles the ARM deployment engine? If this is not something expanded or added in the schema, where do I direct requests like these? Because we're still missing a simple Switch/Case
functionality in ARM as well. We can only do multiple nested ifs which get as spaghettied as Office Excel. Who is the proper team to ask for expanded functions and functionality in the ARM language itself?
createUiDefinition supports elements that will dynamically load lists like VM SKUs: https://docs.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/microsoft-compute-sizeselector
It's similar to what AzurePolicy does, but this is more feature rich. That being said, it's a separate file that needs to be authored and maintained, and the declaration is more verbose. We would like to support strongType just like policy, but I don't have an ETA for when that might happen.
Frankly, there is no good place to provide this feedback today. You can put something in UserVoice if you would like.
We are working on a language revision for ARM Templates which will be open sourced, but this has not been released yet. That will be the right place to provide feature asks like case/switch
statements and strongType
support. We should have more to share in the next 2-3 months and you can sign up for updates here: https://aka.ms/armLangUpdates. We discussed this language revision for the first time at //build last week (session is here).
Thanks for that. I did submit for the ArmLangUpdates.
I'll look more into the managed-applications section and see if it is something worth fleshing out for our team, or I just wait for the new language features.
Thanks again
Concerning
deploymentTemplate.json
.Any possible way the
metadata
tag in parameters could make use of thestrongType
attribute available in Azure Policy? This would allow for a drop-down in GUI deployment based on available values.Best Use-Case: When deploying a VM with ARM, the
metadata strongType
would create a drop-down list for available SKUs. I know I can make anallowedValues
list in the parameter section. However, it would be nice to not have to manage that list by hand. It would be nice to just pull a list, same as I would under Policy.