How can we improve the Azure Resource Manager?

Add support for YAML Deployment Templates

Please add support for YAML / jinja2 templates. This will allow full integration with Ansible and many other Automation Providers.

194 votes
Sign in
Sign in with: Microsoft
Signed in as (Sign out)

We’ll send you updates on this idea

Bryce Walter shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →


Sign in
Sign in with: Microsoft
Signed in as (Sign out)
  • Hal commented  ·   ·  Flag as inappropriate

    It's really disappointing to see that this has remained off the radar for a year and a half so that hundreds of projects either struggle with JSON or implement their own YAML-to-JSON compile pipelines. That's a lot of wasted man-hours.

    This is more than simply, "YAML is so much cooler than JSON" - JSON has no support for embedded comments so that we are either creating and maintaining huge undocumented configuration files or we are adding a pointless "build step" to convert YAML to JSON simply so that we can have comments.

    PLEASE, PLEASE, PLEASE make this a priority!

  • Richard commented  ·   ·  Flag as inappropriate

    Yes there are community tools for generating JSON from YAML. But I think many people want native support of YAML in ARM.

    Creating ARM templates in JSON can be a real pain. YAML is just so much friendlier to work with.

  • Yuriy (Gizhitsa) Geller commented  ·   ·  Flag as inappropriate

    Check AWS CloudFormation , they support json, yaml, visual rendering and lint, Microsoft having Visio do net have similar oferings

  • Kevin commented  ·   ·  Flag as inappropriate

    +1 for YAML support - Please do add this - I think this is a no brainer, will make a lot of devs happy

  • Anonymous commented  ·   ·  Flag as inappropriate

    Agreed. As a workaround today, we do generate them. Actually, we generate most of the templates and often just treat them as build artifacts for infrastructure deployment. This allows us to get around many other limitations in ARM.

    Here's a sample I did a long time ago that used yaml and gulp to build

    Have a look inside the tmpl and build directories in this project for the example.

    I have since moved to python since it's readily available and the azure cli requires it anyway. If the customer is ok with it, I use a docker image to build (this is how I manage packages instead of virtual environment ). I have since tweaked the format considerably to further condense the templates by removing a lot of redundancy and support other features. I have developed these templates for customers so it's not my decision to share them, but if you like I can add another sample.

  • Mike Sigsworth commented  ·   ·  Flag as inappropriate

    After working with AWS SAM templates in YAML over the last couple of weeks, I dread having to go back to ARM templates in JSON. Please support YAML!

  • Dmitry Kireev commented  ·   ·  Flag as inappropriate

    As a workaround one could use {{ yaml_dict | to_json }} and generate Azure templates on the fly.

  • Anonymous commented  ·   ·  Flag as inappropriate

    Agreed! YAML is much easier to read and follow. Better documentation for Azure Templates would also be welcomed.

  • Anonymous commented  ·   ·  Flag as inappropriate

    YAML vs JSON is night and day. I would love to start using YAML for my Azure Deployments!

  • George commented  ·   ·  Flag as inappropriate

    Good idea, working with YAML in AWS CloudFormation is a much nicer experience, let's see it happen for Azure!

Feedback and Knowledge Base