aws-cloudformation / cfn-language-discussion

Language discussions for CloudFormation template language
https://aws.amazon.com/cloudformation/
Apache License 2.0
142 stars 13 forks source link

List<AWS::CloudFormation::Stack::Name> #52

Open fernandohonig opened 3 years ago

fernandohonig commented 3 years ago

1. Add List as AWS-specific parameter types

2. Scope of request

AWS-specific parameter types are helpful in catching invalid values at the start of creating or updating a stack. Sometimes you can build nested-stacks and reference the parent stack to get Outputs and use them as values in child ones. Sometimes, you want to create multiple child stacks depending on the parent stack.

Currently, you can't create a list of Stacks in the Parameters section in order to get the stack name that could provide those needed outputs.

By adding this feature, it could also help AWS Service Catalog as you can provision multiple Applications Products referencing the same Network or Database parent provisioned product.

Samples:

` AWSTemplateFormatVersion: '2010-09-09' Description: "VPC Endpoints Sub-Stack"

Parameters: NetworkStack: Description: 'Stack name of parent VPC stack' Type: List

Resources: S3VPCEndpoint: Type: AWS::EC2::VPCEndpoint DeletionPolicy: Delete Properties: PolicyDocument: Version: '2012-10-17' Statement:

3. Expected behavior

In Create, it should list the stacks available in a particular region

In Update, it should check the stack referenced as Parameter exists otherwise, make it blank and request a new value to be set.

4. Suggest specific test cases

5. Helpful Links to speed up research and evaluation

It would be great if it worked like this similar procedure: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-specific-parameter-types

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

Management

lejiati commented 2 years ago

@fernandohonig Thank you very much for your feedback! Since this repository is focused on resource coverage, I'm transferring this issue over to a new GitHub repository dedicated to CloudFormation template language issues.