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::EC2::Route support for DestinationPrefixListId #572

Closed mikeydowntown closed 10 months ago

mikeydowntown commented 3 years ago

Looks like the CLI and SDKs supports defining a route destination as a prefix list however this is not yet implemented in CloudFormation and I see no evidence that this is planned. Is it? I see that it is implemented in the SecurityGroup resource type as property DestinationPrefixListId.

My use case is that I'm using CFN to create routes across a large number of route tables back to a common set CIDRs, targeted to new transit gateways, via multiple stacks in multiple regions and accounts. These CIDRs will eventually change so customer-managed prefix lists would be a very useful feature here but not practical for me to use if I cannot do so from my CloudFormation template, as I can do for properties such as DestinationCidrBlock.

hugo-galindo commented 3 years ago

We have a similar scenario ☝️ for a project. Would really appreciate DestinationPrefixListId Cloudformation support for AWS::EC2::Route. We have over 400 route tables to be updated and this would extremely beneficial to our automation process.

terryrankine commented 3 years ago

this

datablitz7 commented 3 years ago

This seems like an oversight. Please implement this either as a separate property (e.g DestinationPrefixListId) or as a context sensitive one under the existing DestinationCidrBlock, similar to how it works for Security Group entries, where CidrIp can handle PrefixListId, SecurityGroupId or CIDR ranges. Either way, this is a major inconsistency that needs to be addressed.

mfang329 commented 3 years ago

Concurred. Use Prefix lists to manage subnets are very beneficial but without the option to add it to the CFN route entry is a useless feature. I can manually add the Prefix lists manually the route entry to go around this issue, but it defeats the purpose in terms of the CFN automation.

ghost commented 3 years ago

bump

Anything being done about this yet?

mquidi86 commented 3 years ago

I don't understand how something like this can take 1 year or more to be addressed.

sbwrege2z commented 3 years ago

I have a similar need to all those expressed here.

jtaylormayfield commented 2 years ago

This would be very helpful for one of my client projects.

patrickmryan commented 2 years ago

Definitely need this feature. My template to deploy transit gateway, including all the routing, is made unnecessarily complex because I can't route to a prefix list.

geof2001 commented 2 years ago

So disappointed that there is yet another feature without full support in CloudFormation before being launched. Complete lack of shock that it's still not implemented over a year after it being pointed out that it's missing.

adriantaut commented 2 years ago

also willing to take benefit of this πŸ’―

julienbonastre commented 2 years ago

If you're not using CDK this could also apply but you'd have to bake your own CustomResource provider lambda to suit..

Otherwise those of us who use the unstoppable, incredible and amazing AWS CDK: πŸ‘ŒπŸΌπŸ˜ŽπŸš€πŸ™πŸ™Œ

The workaround right now that allows one to keep the infrastructure orchestration and resource building within the stack management and not need an external post script or similar is to use the AWSCustomResource and call the JS SDK CreateRoute with the minimum required params (RouteTableId, DestinantionPrefixListId plus whatever the target is: gateway, endpoint, interface etc)

This is actually what the definition of the what the CustomResource exists for; to fulfil any resource provisioning etc that isn't available natively in CFN constructs.

This is what we use and it's really very cool and effective πŸ”₯πŸš€

And p.s. I wholeheartedly agree with all of you above that this should be naturally supported as an accepted value to cidrIp or as a standalone param to support PLs. However, for reasons beyond comprehension this is not the case yet, and thus we are forced to innovate, evolve and adapt πŸ‘ŒπŸΌπŸ˜ŽπŸ™πŸš€ #spacexFTW

djessup commented 2 years ago

Similarly, this ought to be supported by AWS::EC2::TransitGatewayRoute which also support creating routes to prefix lists via console and CLI.

thenamanpatwari commented 2 years ago

This issue is yet to be resolved and is a very frustrating experience.

julienbonastre commented 2 years ago

@thenamanpatwari customresources FTW ! πŸš€ 😍

elpres101 commented 1 year ago

+1 for this. Very annoying gap.

bonzai2010 commented 1 year ago

Bumping. It doesn't make sense that we can create a PrefixList resource in CF but not use it in routes. This is a gap that should have already been resolved.

disco-msmith commented 1 year ago

Hi, Please address this gap.

nwesoccer commented 1 year ago

Any progress on this? Seems like low hanging fruit, easy to implement and a huge benefit.

jackhamburger commented 1 year ago

Please implement this - I have repeatedly run into this issue

djessup commented 1 year ago

Chill, it's only been 3 years! Check back in 2030.

julienbonastre commented 1 year ago

Let's be honest, CloudFormation is for πŸ¦– πŸ¦• 's..

It's time to drop that pseudo-IaC rubbish and move to a real IaC framework..

For example: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route.html#destination_prefix_list_id

And you can use it with https://developer.hashicorp.com/terraform/cdktf , so it's a WIN WIN! marriage of two superpowers! 😍 πŸš€

TheDanBlanco commented 10 months ago

great news everyone! DestinationPrefixListId is available.