cloudformation-coverage-roadmap icon indicating copy to clipboard operation
cloudformation-coverage-roadmap copied to clipboard

AWS::CloudFormation::Stack - TemplateURL - should support any HTTP/S URL

Open kdgregory opened this issue 6 years ago • 11 comments

2. Scope of request

This is a change to the CreateStack API, to support retrieval from locations other than S3 (for example, GitHub or a corporate artifact server).

3. Expected behavior

When given a publicly-accessible HTTP/S URL, CloudFormation should be able to use that URL as a template.

What this solves: currently, creating nested stacks is a two-step process. First, copy the child templates from a working directory into S3, and second, create the parent stack.

Nice-to-have: support authentication tokens for access to non-public URLs.

4. Suggest specific test cases

Happy path: create a stack from a simple template in the documentation GitHub.

Sad path: attempt to create a stack from http:///www.example.com/i-do-not-exist.template.

6. Category (required) - Will help with tagging and be easier to find by other users to +1

  1. Management (CloudTrail, Config...)

kdgregory avatar Aug 02 '19 12:08 kdgregory

This is a problem for me at the moment, as there appears to be no way of having a non-public stack template within or outside s3 used as a nested stack. Perhaps the TemplateURL field could be changed to allow an s3 reference accessed via api (with permissions from the cloudformation role) rather than https (with no auth).

I could imagine something a bit like Fn::GetAttributeAtt for codepipeline artifacts, which also come from s3. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html. This could even allow it to pull template files from within a codepipeline artifact zip, which would make creating nested cloudformation stacks from codepipeline far easier.

tobymiller avatar Aug 27 '19 17:08 tobymiller

Not being able to pulled curated, version controlled templates from e.g. Github is one of the biggest failings of Cloudformation and ensures that every template is a snowflake.

ghost avatar Jun 05 '20 15:06 ghost

Had to ditch cloudformation in favour of Terraform a few years ago, thought I'd come back to make it easy to spin up cloud9 instances and I can't believe this is a thing.

queglay avatar Oct 17 '20 08:10 queglay

Seems there are no updates on this. Even ARM templates support the template URL to be any public source from where it can do a GET to retrieve the template. This allows for easier workflows like Click-to-Deploy, right from Github. In case of Cloudformation, TemplateURL only supports a S3 source.

chrisjaimon2012 avatar Jul 03 '22 14:07 chrisjaimon2012

still nothing ...

AdrianDiazCode avatar Feb 09 '23 10:02 AdrianDiazCode

+1

sjegannath avatar May 05 '23 22:05 sjegannath

It's been 4 years. What is blocking this request? I assume you don't even need to add code, just delete the s3 URL validation and we're good to go?

undrash avatar Jul 23 '23 08:07 undrash

+1

asarenkansah avatar Apr 04 '24 23:04 asarenkansah