Open kdgregory opened 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.
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.
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.
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.
still nothing ...
+1
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?
+1
+1
+1
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