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.11k stars 54 forks source link

AWS::EC2::Route , AWS::EC2::EIP for Wavelength #610

Closed ao-log closed 2 months ago

ao-log commented 4 years ago

1. Title

AWS::EC2::Route-NewAttribute for Wavelength

AWS::EC2::EIP-NewAttribute for Wavelength

2. Scope of request

AWS::EC2::Route is not support carrier-gateway-id feature.

AWS::EC2::EIP is not support network-border-group feature.

3. Expected behavior

In Create AWS::EC2::Route, it should include carrier-gateway-id, like the AWS CLI command.

aws ec2 --region $REGION create-route \
--route-table-id $WL_RT_ID \
--destination-cidr-block 0.0.0.0/0 \
--carrier-gateway-id $CAGW_ID

In Create AWS::EC2::EIP, it should include network-border-group, like the AWS CLI command.

aws ec2 --region $REGION \
allocate-address \
--domain vpc \
--network-border-group $NBG \
--query 'AllocationId'

4. Suggest specific test cases

The following document shows the way to create VPC and EC2 instances on Wavelength.

Deploying your first 5G enabled application with AWS Wavelength

Use case is to use CloudFormation when using Wavelength.

5. Helpful Links to speed up research and evaluation

The followin properties are supported now. carrier-gateway-id in AWS::EC2::Route, network-border-group in AWS::EC2::EIP are not supported. On the other hand, CreateRoute and AllocateAddress API are support this feature.

AWS::EC2::Route

Type: AWS::EC2::Route
Properties: 
  DestinationCidrBlock: String
  DestinationIpv6CidrBlock: String
  EgressOnlyInternetGatewayId: String
  GatewayId: String
  InstanceId: String
  NatGatewayId: String
  NetworkInterfaceId: String
  RouteTableId: String
  TransitGatewayId: String
  VpcPeeringConnectionId: String

CreateRoute

 CarrierGatewayId
    The ID of the carrier gateway.
    You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
    Type: String
    Required: No

AWS::EC2::EIP

Type: AWS::EC2::EIP
Properties: 
  Domain: String
  InstanceId: String
  PublicIpv4Pool: String
  Tags: 
    - Tag

AllocateAddress

 NetworkBorderGroup
    A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. 

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

  1. Compute (EC2, ECS, EKS, Lambda...)

7. Any additional context (optional)

FireballDWF commented 3 years ago

CarrierGatewayId attribute now supported for ::Route, but NetworkBorderGroup still missing from ::EIP

FireballDWF commented 2 years ago

CarrierGatewayId attribute now supported for ::Route, but NetworkBorderGroup still missing from ::EIP

NetworkBorderGroup is no longer missing from ::EIP per https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-networkbordergroup

xmik commented 3 months ago

Hey, it's great that AWS::EC2::EIP now supports the property NetworkBorderGroup. It would be even better if an example was added to the documentation on how to set the value of NetworkBorderGroup. Right now, the documentation describes it in this way:

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

but the type of the property is String, which confuses me.

The value that worked for me was:

MyElasticIP:
    Type: AWS::EC2::EIP
    Properties:
      Domain: "vpc-identifier-here"
      NetworkBorderGroup: !Ref AWS::Region

Having it added to the documentation would have saved me some time.

awsdiegorad commented 2 months ago

Hello,

The NetworkBorderGroup attribute has been added to the AWS::EC2::EIP resource and the CarrierGatewayId attribute have been added to the AWS::EC2::Route resource so I will be closing out this request.