privatelink_endpoints
Creates, updates, deletes, gets or lists a privatelink_endpoints resource.
Overview
| Name | privatelink_endpoints |
| Type | Resource |
| Id | vercel.networking.privatelink_endpoints |
Fields
The following fields are returned by SELECT queries:
- get
- list
The requested PrivateLink endpoint.
| Name | Datatype | Description |
|---|---|---|
name | string | The name of the PrivateLink endpoint, shown in the Vercel dashboard. (example: payments-db) |
endpoint_id | string | The unique identifier of the PrivateLink endpoint. (example: ple_a1b2c3d4e5f6g7h8) (wire: endpointId) |
project_id | string | The identifier of the project the PrivateLink endpoint belongs to. (example: prj_a1b2c3d4e5f6g7h8) (wire: projectId) |
team_id | string | The identifier of the team that owns the PrivateLink endpoint. (example: team_a1b2c3d4e5f6g7h8) (wire: teamId) |
vpc_endpoint_id | string | The identifier of the underlying AWS VPC endpoint. Absent until AWS has created the endpoint. (example: vpce-0123456789abcdef0) (wire: vpcEndpointId) |
aws_service_name | string | The AWS VPC endpoint service the endpoint connects to. (example: com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0) (wire: awsServiceName) |
aws_dns_entries | array | The regional DNS names assigned to the endpoint by AWS. Use these to reach the service when private DNS is not enabled. (wire: awsDnsEntries) |
created_at | number | Timestamp in milliseconds since the UNIX epoch for when the endpoint was created. (wire: createdAt) |
private_dns_names | array | The private DNS names of the endpoint service, populated when private DNS is enabled for the endpoint. (wire: privateDnsNames) |
status | string | The current state of the endpoint. - creating: the endpoint is being created. - pending-acceptance: waiting for the endpoint service owner to accept the connection. Only occurs for services that require manual acceptance. - provisioning: the connection was accepted and AWS is finishing setup. - available: the endpoint is fully provisioned and ready to use. - rejected: the endpoint service owner rejected the connection. - failed: the endpoint could not be provisioned. - deleting: the endpoint is being deleted. (available, creating, deleting, failed, pending-acceptance, provisioning, rejected) (example: available) |
status_message | string | A human-readable explanation of why the endpoint could not be provisioned. Only set when status is failed, and absent for every other status including rejected, since AWS does not report a rejection reason. (example: Endpoint did not become available in time. Try deleting and recreating, or visit https://vercel.com/help if the issue persists.) (wire: statusMessage) |
updated_at | number | Timestamp in milliseconds since the UNIX epoch for when the endpoint was last updated. (wire: updatedAt) |
vercel_region | string | The Vercel region the endpoint is provisioned in. (example: iad1) (wire: vercelRegion) |
A PrivateLink endpoint, which connects a project to an AWS VPC endpoint service in a single region so that traffic reaches the service over AWS PrivateLink rather than the public internet.
| Name | Datatype | Description |
|---|---|---|
name | string | The name of the PrivateLink endpoint, shown in the Vercel dashboard. (example: payments-db) |
endpoint_id | string | The unique identifier of the PrivateLink endpoint. (example: ple_a1b2c3d4e5f6g7h8) (wire: endpointId) |
project_id | string | The identifier of the project the PrivateLink endpoint belongs to. (example: prj_a1b2c3d4e5f6g7h8) (wire: projectId) |
team_id | string | The identifier of the team that owns the PrivateLink endpoint. (example: team_a1b2c3d4e5f6g7h8) (wire: teamId) |
vpc_endpoint_id | string | The identifier of the underlying AWS VPC endpoint. Absent until AWS has created the endpoint. (example: vpce-0123456789abcdef0) (wire: vpcEndpointId) |
aws_service_name | string | The AWS VPC endpoint service the endpoint connects to. (example: com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0) (wire: awsServiceName) |
aws_dns_entries | array | The regional DNS names assigned to the endpoint by AWS. Use these to reach the service when private DNS is not enabled. (wire: awsDnsEntries) |
created_at | number | Timestamp in milliseconds since the UNIX epoch for when the endpoint was created. (wire: createdAt) |
private_dns_names | array | The private DNS names of the endpoint service, populated when private DNS is enabled for the endpoint. (wire: privateDnsNames) |
status | string | The current state of the endpoint. - creating: the endpoint is being created. - pending-acceptance: waiting for the endpoint service owner to accept the connection. Only occurs for services that require manual acceptance. - provisioning: the connection was accepted and AWS is finishing setup. - available: the endpoint is fully provisioned and ready to use. - rejected: the endpoint service owner rejected the connection. - failed: the endpoint could not be provisioned. - deleting: the endpoint is being deleted. (available, creating, deleting, failed, pending-acceptance, provisioning, rejected) (example: available) |
status_message | string | A human-readable explanation of why the endpoint could not be provisioned. Only set when status is failed, and absent for every other status including rejected, since AWS does not report a rejection reason. (example: Endpoint did not become available in time. Try deleting and recreating, or visit https://vercel.com/help if the issue persists.) (wire: statusMessage) |
updated_at | number | Timestamp in milliseconds since the UNIX epoch for when the endpoint was last updated. (wire: updatedAt) |
vercel_region | string | The Vercel region the endpoint is provisioned in. (example: iad1) (wire: vercelRegion) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | project_id, endpoint_id | team_id, slug | Reads a single PrivateLink endpoint. |
list | select | project_id | team_id, slug | Lists all PrivateLink endpoints for a project. |
create | insert | project_id, name, vercel_region, aws_service_name | team_id, slug | Creates a PrivateLink endpoint for a project. |
update | update | project_id, endpoint_id | team_id, slug | Updates a PrivateLink endpoint (name, privateDns). |
delete | delete | project_id, endpoint_id | team_id, slug | Deletes a PrivateLink endpoint. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
endpoint_id | string | The unique identifier of the PrivateLink endpoint. |
project_id | string | The project ID the PrivateLink endpoint belongs to. (wire: projectId) |
slug | string | The Team slug to perform the request on behalf of. |
team_id | string | The Team identifier to perform the request on behalf of. (wire: teamId) |
SELECT examples
- get
- list
Reads a single PrivateLink endpoint.
SELECT
name,
endpoint_id,
project_id,
team_id,
vpc_endpoint_id,
aws_service_name,
aws_dns_entries,
created_at,
private_dns_names,
status,
status_message,
updated_at,
vercel_region
FROM vercel.networking.privatelink_endpoints
WHERE project_id = '{{ project_id }}' -- required
AND endpoint_id = '{{ endpoint_id }}' -- required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;
Lists all PrivateLink endpoints for a project.
SELECT
name,
endpoint_id,
project_id,
team_id,
vpc_endpoint_id,
aws_service_name,
aws_dns_entries,
created_at,
private_dns_names,
status,
status_message,
updated_at,
vercel_region
FROM vercel.networking.privatelink_endpoints
WHERE project_id = '{{ project_id }}' -- required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;
INSERT examples
- create
- Manifest
Creates a PrivateLink endpoint for a project.
INSERT INTO vercel.networking.privatelink_endpoints (
project_id,
name,
vercel_region,
aws_service_name,
enable_private_dns,
team_id,
slug
)
SELECT
'{{ project_id }}' /* required */,
'{{ name }}' /* required */,
'{{ vercel_region }}' /* required */,
'{{ aws_service_name }}' /* required */,
{{ enable_private_dns }},
'{{ team_id }}',
'{{ slug }}'
RETURNING
name,
endpoint_id,
project_id,
team_id,
vpc_endpoint_id,
aws_service_name,
aws_dns_entries,
created_at,
private_dns_names,
status,
status_message,
updated_at,
vercel_region
;
# Description fields are for documentation purposes
- name: privatelink_endpoints
props:
- name: project_id
value: "{{ project_id }}"
description: |
The project ID to create the PrivateLink endpoint for.
- name: name
value: "{{ name }}"
description: |
The name of the PrivateLink endpoint, used as its label in the Vercel dashboard.
- name: vercel_region
value: "{{ vercel_region }}"
description: |
The Vercel region to provision the endpoint in. Advanced Networking must be enabled for the project in that region. The endpoint service itself may live in another AWS region.
- name: aws_service_name
value: "{{ aws_service_name }}"
description: |
The name of the AWS VPC endpoint service to connect to. Its AWS region is read from the name; when that region differs from the one behind `vercelRegion`, the service must allow cross-region access.
- name: enable_private_dns
value: {{ enable_private_dns }}
description: |
Whether to resolve the endpoint service through its private DNS names, which are then returned in `privateDnsNames`. Defaults to `false`, in which case the endpoint is reachable through the DNS names in `awsDnsEntries`.
- name: team_id
value: "{{ team_id }}"
description: The Team identifier to perform the request on behalf of.
description: The Team identifier to perform the request on behalf of.
- name: slug
value: "{{ slug }}"
description: The Team slug to perform the request on behalf of.
description: The Team slug to perform the request on behalf of.
UPDATE examples
- update
Updates a PrivateLink endpoint (name, privateDns).
UPDATE vercel.networking.privatelink_endpoints
SET
name = '{{ name }}',
enable_private_dns = {{ enable_private_dns }}
WHERE
project_id = '{{ project_id }}' --required
AND endpoint_id = '{{ endpoint_id }}' --required
AND team_id = '{{ team_id}}'
AND slug = '{{ slug}}'
RETURNING
name,
endpoint_id,
project_id,
team_id,
vpc_endpoint_id,
aws_service_name,
aws_dns_entries,
created_at,
private_dns_names,
status,
status_message,
updated_at,
vercel_region;
DELETE examples
- delete
Deletes a PrivateLink endpoint.
DELETE FROM vercel.networking.privatelink_endpoints
WHERE project_id = '{{ project_id }}' --required
AND endpoint_id = '{{ endpoint_id }}' --required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;