AWS DevOps Blog

Speed Template Sharing with an AWS CloudFormation Designer URL

by Elliot Yamaguchi | on | in How-To* | Permalink | Comments |  Share

AWS CloudFormation Designer (Designer) is a graphic tool for creating, viewing, and modifying AWS CloudFormation templates. With Designer, you can construct templates by adding resources using a drag-and-drop interface, and then edit resource details by using the integrated JSON editor.

A Designer URL is a web link that you can share with anyone that has access to your template so that they can directly view and edit a copy of the template in Designer. This helps template users save time because they don’t need to open Designer, and then open the template. At AWS, we use Designer URLs with our sample templates so that our customers can quickly view and edit templates. In this post, I show how to construct a Designer URL.

I construct a Designer URL similar to launch a stack URLs. First, I save the template in an Amazon S3 bucket and grant AWS users who should have access to it Open/Download permissions. After I save the template, I retrieve its URL by using the Amazon Simple Storage Service (Amazon S3) console.

In my example, the template URL is https://s3.amazonaws.com/samplecfntemplates/mytemplate.template. Although I’ve granted Everyone permissions to open and download the template, I haven’t granted them permissions to edit it. Users can still edit and save a copy of the template, but they cannot modify the original.

To construct the Designer URL, I use the following URL syntax:

https://console.aws.amazon.com/cloudformation/designer/home?region=region&templateURL=template_location

I use the region parameter to specify which region Designer will be used in. If I don’t specify a region, users are directed to the region they last used. With the template_location parameter, I specify the URL of the template file.

For example, the following Designer URL opens Designer with the mytemplate.template in the us-west-2 region:

https://console.aws.amazon.com/cloudformation/designer/home?region=us-west-2&templateURL=https://s3-us-west-2.amazonaws.com/sample/mytemplate.template

Anyone who uses that URL is directed to Designer with the mytemplate.template loaded. Users who are not already authenticated are directed to the AWS Management Console sign-in page, and then are redirected to Designer. They can then make changes or create a stack using the template. If they want to save their changes, they have to save the template to a new file.

For more information about creating templates, see Working with Templates in the AWS CloudFormation User Guide.