-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(ec2): add missing vpc endpoints #29524
Conversation
@nmussy Here's another thing you could automate with your tool. :) |
Thanks for letting me know! I'll probably release the first version later today or tomorrow |
@msambol Just did a quick run of using DescribeVpcEndpointServices, and there are quite a few more missing:
I haven't validated them yet, but if you want to wait until the CLI is available, you can complete this PR with it? If not, I'll just open another one later 👍 |
@nmussy I'll knock it out quickly, thanks for the list. 👍🏼 One note for you tool.. Make sure you check |
No worries, and thanks for the heads up!
…On Mon, Mar 18, 2024, 15:38 Michael Sambol ***@***.***> wrote:
@nmussy <https://github.com/nmussy> I'll knock it out quickly, thanks for
the list. 👍🏼
One note for you tool.. Make sure you check GatewayVpcEndpointAwsService.
DynamoDB is there.
—
Reply to this email directly, view it on GitHub
<#29524 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AATDXYFIDF7CTPYIKVAY5VDYY336TAVCNFSM6AAAAABE2ZQVOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBUGA4TMNZXGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@@ -265,6 +266,7 @@ export class InterfaceVpcEndpointAwsService implements IInterfaceVpcEndpointServ | |||
public static readonly AIRFLOW_OPS = new InterfaceVpcEndpointAwsService('airflow.ops'); | |||
public static readonly APIGATEWAY = new InterfaceVpcEndpointAwsService('execute-api'); | |||
public static readonly APP_MESH = new InterfaceVpcEndpointAwsService('appmesh-envoy-management'); | |||
public static readonly APP_MESH_OPS = new InterfaceVpcEndpointAwsService('appmesh'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one is named weird but I don't have much choice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be worth deprecating APP_MESH
and recreating APP_MESH_ENVOY_MANAGEMENT
, or even APPMESH_ENVOY_MANAGEMENT
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated this as well
public static readonly PERSONALIZE = new InterfaceVpcEndpointAwsService('personalize'); | ||
public static readonly PERSONALIZE_EVENTS = new InterfaceVpcEndpointAwsService('personalize-events'); | ||
public static readonly PERSONALIZE_RUNTIME = new InterfaceVpcEndpointAwsService('personalize-runtime'); | ||
public static readonly PINPOINT_V1 = new InterfaceVpcEndpointAwsService('pinpoint'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like this name either but I don't have much choice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here, deprecate PINPOINT
, and point to a correctly renamed PINPOINT_SMS_VOICE_V2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But then call InterfaceVpcEndpointAwsService('pinpoint');
what?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess PINPOINT_V1
or something similar, but with both PINPOINT
and PINPOINT_V1
being valid, I would expect PINPOINT
to be InterfaceVpcEndpointAwsService('pinpoint');
. I feel like also renaming it would lower the chances of confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let me know what you think of that...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I think this is the solution less likely to cause pitfalls for future users, even if it doesn't feel great. Thanks 👍
Hey @msambol, I found a few more missing, some only available in certain regions: Available in
Available in
I couldn't find any documentation about this service, but it's currently being listed, might be worth adding it with the
Finally, I am unable to list the two following endpoints. They should still be available according to the docs, so no need to deprecate them. I'm unsure if they're never supposed to be listed by DescribeVpcEndpointServices, or if my account isn't set up to access these services
$ aws ec2 describe-vpc-endpoint-services --region=us-east-1 --service-names=com.amazonaws.us-east-1.migrationhub-strategy
An error occurred (InvalidServiceName) when calling the DescribeVpcEndpointServices operation: The Vpc Endpoint Service 'com.amazonaws.us-east-1.migrationhub-strategy' does not exist
aws ec2 describe-vpc-endpoint-services --region=us-east-1 --service-names=com.amazonaws.us-east-1.sms-fips
An error occurred (InvalidServiceName) when calling the DescribeVpcEndpointServices operation: The Vpc Endpoint Service 'com.amazonaws.us-east-1.sms-fips' does not exist |
We also have an issue with global endpoints, e.g. $ aws ec2 describe-vpc-endpoint-services --region=us-east-1 --service-names=com.amazonaws.s3-global.accesspoint | jq '.ServiceDetails[] | .ServiceName'
"com.amazonaws.s3-global.accesspoint" new CfnOutput(this, "endpoint", {
value: ec2.InterfaceVpcEndpointAwsService.S3_MULTI_REGION_ACCESS_POINTS.name,
});
// TestDeployStack.endpoint = com.amazonaws.eu-west-1.s3-global.accesspoint The region is currently always prefixed:
I haven't checked if there are other existing cases, but |
I'll get the other ones added. Let's save the global endpoints work for another PR. |
@nmussy Mind checking this again? Also, |
LGTM 👍
$ aws ec2 describe-vpc-endpoint-services --region=us-east-1 --service-names=io.spotinst.vpce.us-east-1.privatelink-api | jq '.ServiceDetails[] | .ServiceName'
"io.spotinst.vpce.us-east-1.privatelink-api" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -366,14 +390,22 @@ export class InterfaceVpcEndpointAwsService implements IInterfaceVpcEndpointServ | |||
public static readonly GRAFANA = new InterfaceVpcEndpointAwsService('grafana'); | |||
public static readonly GRAFANA_WORKSPACE = new InterfaceVpcEndpointAwsService('grafana-workspace'); | |||
public static readonly GROUNDSTATION = new InterfaceVpcEndpointAwsService('groundstation'); | |||
public static readonly GUARDDUTY_DATA = new InterfaceVpcEndpointAwsService('guardduty-data'); | |||
public static readonly GUARDDUTY_DATA_FIPS = new InterfaceVpcEndpointAwsService('guardduty-data-fips'); | |||
public static readonly HEALTH_IMAGING = new InterfaceVpcEndpointAwsService('medical-imaging'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mildly annoying that the naming doesn't match up here but it is what it is 🤷♂️
@Mergifyio update |
✅ Branch has been successfully updated |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
I used [this doc](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html) for the "friendly" names and tried to make them as close as possible to the AWS service names. Closes aws#29523. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
I used [this doc](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html) for the "friendly" names and tried to make them as close as possible to the AWS service names. Closes aws#29523. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
I used this doc for the "friendly" names and tried to make them as close as possible to the AWS service names.
Closes #29523.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license