aws / aws/aws-cdk

EC2: SupportedIpAddressType support for VpcEndpointService

Open
#31,797 3 comments 0 reactions 0 assignees View on GitHub
@aws-cdk/aws-ec2 effort/medium feature-request needs-cfn p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
1d 19h
Merged PRs (30d)
71

Description

### Describe the feature

The [CreateVpcEndpointServiceConfiguration](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpointServiceConfiguration.html) EC2 API supports the `SupportedIpAddressType` parameter. We would like the same parameter to be configurable through the `VpcEndpointService` CDK construct.

### Use Case

We are creating a VPC Endpoint Service for our DualStack Network Load Balancer. When creating the `VpcEndpointService`, the supported IP address types is only `IPv4`.

### Proposed Solution

Support the `supportedIpAddressType` parameter for the VpcEndpointService construct:
```
new VpcEndpointService(this, 'TestVpcEndpointService', {
vpcEndpointServiceLoadBalancers: [testLoadBalancer1, testLoadBalancer2],
allowedPrincipals: [new ArnPrincipal('arn:aws:iam::xxxxxxxxxxxx:role/TestRole')],
acceptanceRequired: true,
contributorInsights: true,
supportedIpAddressType, IpAddressType.DUAL_STACK,
});
```

### Other Information

Our current workaround is to make a [ModifyVpcEndpointServiceConfiguration](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpointServiceConfiguration.html) call to add IPv6 support, but would like for the `VpcEndpointService` construct to support this during creation.

### Acknowledgements

- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CDK version used

2.135.0

### Environment details (OS name and version, etc.)

AL2

Contributor guide

Open the contributing guide

Research direction

Start at the VpcEndpointService construct and trace how CreateVpcEndpointServiceConfiguration parameters are assembled. Compare the requested SupportedIpAddressType parameter with the AWS API documentation and the existing construct options. Done means the construct accepts supportedIpAddressType and creates a dual-stack endpoint service without the separate ModifyVpcEndpointServiceConfiguration workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.