aws-cloudformation / cloudformation-coverage-roadmap

The AWS CloudFormation Public Coverage Roadmap
https://aws.amazon.com/cloudformation/
Creative Commons Attribution Share Alike 4.0 International
1.1k stars 53 forks source link

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

Open kdgregory opened 4 years ago

kdgregory commented 4 years ago

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...)
tobymiller commented 4 years ago

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.

ghost commented 4 years ago

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.

queglay commented 3 years ago

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.

chrisjaimon2012 commented 2 years ago

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.

AdrianDiazCode commented 1 year ago

still nothing ...

sjegannath commented 1 year ago

+1

undrash commented 11 months ago

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?

asarenkansah commented 3 months ago

+1

aloababa commented 2 months ago

+1

GotoRen commented 1 month ago

+1