access_points
Creates, updates, deletes, gets or lists an access_points resource.
Overview
| Name | access_points |
| Type | Resource |
| Id | digitalocean.storage.access_points |
Fields
The following fields are returned by SELECT queries:
- nfs_list_access_points
- nfs_get_access_point
The response will be a JSON object with a key called access_points. The value will be an array of objects containing the standard attributes associated with NFS access points.
| Name | Datatype | Description |
|---|---|---|
id | string (uuid) | The unique identifier of the access point. (example: a1b2c3d4-e5f6-4a5b-9c8d-1e2f3a4b5c6d) |
name | string | The human-readable name of the access point. Must be unique per share. (example: other-vpc) |
share_id | string (uuid) | The unique identifier of the share this access point belongs to. (example: 0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d) |
vpc_id | string | The VPC this access point is pinned to. Omitted on the default access point. Every non-default access point owns its own storage gateway in this VPC and is independent of the parent share's VPC lifecycle. (example: 3f34cdb2-1e4f-4100-b5c7-f55f2762085f) |
access_policy | object | Provider-agnostic NFS access policy for an access point. Network CIDRs are managed by attach, detach, and managed-access workflows and are not part of this policy. |
created_at | string (date-time) | The timestamp when the access point was created. (example: 2023-01-01T00:00:00Z) |
is_default | boolean | Whether this is the share's default access point. |
path | string | The export sub-path for this access point (always starts with /). (example: /other-vpc) |
status | string | The current lifecycle status of an access point. There is no ACCESS_POINT_DELETING state: DELETE soft-deletes the access point synchronously (mirroring share deletion); the response of a delete request returns the access point already in ACCESS_POINT_DELETED. (ACCESS_POINT_CREATING, ACCESS_POINT_ACTIVE, ACCESS_POINT_FAILED, ACCESS_POINT_DELETED) (example: ACCESS_POINT_ACTIVE) |
updated_at | string | The timestamp when the access point was last updated. May be empty while the access point is still being created. (example: 2026-06-25T08:11:16Z) |
The response will be a JSON object with a key called access_point. The value will be an object containing the standard attributes associated with an NFS access point.
| Name | Datatype | Description |
|---|---|---|
id | string (uuid) | The unique identifier of the access point. (example: a1b2c3d4-e5f6-4a5b-9c8d-1e2f3a4b5c6d) |
name | string | The human-readable name of the access point. Must be unique per share. (example: other-vpc) |
share_id | string (uuid) | The unique identifier of the share this access point belongs to. (example: 0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d) |
vpc_id | string | The VPC this access point is pinned to. Omitted on the default access point. Every non-default access point owns its own storage gateway in this VPC and is independent of the parent share's VPC lifecycle. (example: 3f34cdb2-1e4f-4100-b5c7-f55f2762085f) |
access_policy | object | Provider-agnostic NFS access policy for an access point. Network CIDRs are managed by attach, detach, and managed-access workflows and are not part of this policy. |
created_at | string (date-time) | The timestamp when the access point was created. (example: 2023-01-01T00:00:00Z) |
is_default | boolean | Whether this is the share's default access point. |
path | string | The export sub-path for this access point (always starts with /). (example: /other-vpc) |
status | string | The current lifecycle status of an access point. There is no ACCESS_POINT_DELETING state: DELETE soft-deletes the access point synchronously (mirroring share deletion); the response of a delete request returns the access point already in ACCESS_POINT_DELETED. (ACCESS_POINT_CREATING, ACCESS_POINT_ACTIVE, ACCESS_POINT_FAILED, ACCESS_POINT_DELETED) (example: ACCESS_POINT_ACTIVE) |
updated_at | string | The timestamp when the access point was last updated. May be empty while the access point is still being created. (example: 2026-06-25T08:11:16Z) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
nfs_list_access_points | select | share_id | status | To list access points for an NFS share, send a GET request to/v2/nfs/shares/{share_id}/access_points. You may use query parameters to filterby status. A successful request will return a list of NFS access points ordered with the default access point first, then by created_at ascending. |
nfs_get_access_point | select | access_point_id | To get an NFS access point, send a GET request to /v2/nfs/access_points/{access_point_id}.A successful request will return the NFS access point. | |
nfs_create_access_point | insert | share_id, name, path, access_policy, vpc_id | To create a new access point on an NFS share, send a POST request to/v2/nfs/shares/{share_id}/access_points.A successful request will return the newly created access point and an action object. The parent share must be in ACTIVE or INACTIVE status. Validation failures andprecondition errors (such as an ineligible share state) return 400 Bad Request.Duplicate name or path conflicts return 409 Conflict. | |
nfs_delete_access_point | delete | access_point_id | To delete an NFS access point, send a DELETE request to/v2/nfs/access_points/{access_point_id}.A successful request will soft-delete the access point and return the deleted access point with status ACCESS_POINT_DELETED and an action object indicating the delete operation.The default access point ( is_default: true) cannot be deleted. Access points alreadyin ACCESS_POINT_DELETED or ACCESS_POINT_FAILED status return 400 Bad Request. |
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 |
|---|---|---|
access_point_id | string (uuid) | The unique identifier of the NFS access point. (example: becd9f04-8afa-4ccd-b03e-9676447df603) |
share_id | string (uuid) | The unique identifier of the NFS share. (example: baf4827c-6fa9-456f-9dbd-9ddfcacd0720) |
status | string | Filter access points by status. (example: ACCESS_POINT_ACTIVE) |
SELECT examples
- nfs_list_access_points
- nfs_get_access_point
To list access points for an NFS share, send a GET request to/v2/nfs/shares/{share_id}/access_points. You may use query parameters to filter
by status.
A successful request will return a list of NFS access points ordered with the default
access point first, then by created_at ascending.
SELECT
id,
name,
share_id,
vpc_id,
access_policy,
created_at,
is_default,
path,
status,
updated_at
FROM digitalocean.storage.access_points
WHERE share_id = '{{ share_id }}' -- required
AND status = '{{ status }}'
;
To get an NFS access point, send a GET request to /v2/nfs/access_points/{access_point_id}.
A successful request will return the NFS access point.
SELECT
id,
name,
share_id,
vpc_id,
access_policy,
created_at,
is_default,
path,
status,
updated_at
FROM digitalocean.storage.access_points
WHERE access_point_id = '{{ access_point_id }}' -- required
;
INSERT examples
- nfs_create_access_point
- Manifest
To create a new access point on an NFS share, send a POST request to/v2/nfs/shares/{share_id}/access_points.
A successful request will return the newly created access point and an action object.
The parent share must be in ACTIVE or INACTIVE status. Validation failures and
precondition errors (such as an ineligible share state) return 400 Bad Request.
Duplicate name or path conflicts return 409 Conflict.
INSERT INTO digitalocean.storage.access_points (
name,
path,
access_policy,
vpc_id,
share_id
)
SELECT
'{{ name }}' /* required */,
'{{ path }}' /* required */,
'{{ access_policy }}' /* required */,
'{{ vpc_id }}' /* required */,
'{{ share_id }}'
RETURNING
access_point,
action
;
# Description fields are for documentation purposes
- name: access_points
props:
- name: share_id
value: "{{ share_id }}"
description: Required parameter for the access_points resource.
- name: name
value: "{{ name }}"
description: |
The name for the access point. Must be unique per share. Must be 2–63
characters and match `^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$`.
The name `default` is reserved (case-insensitive) for the implicit default
access point created with each share.
- name: path
value: "{{ path }}"
description: |
The export sub-path. Must start with `/`, must not be exactly `/` (reserved
for the default access point), must be at most 1024 characters, may contain
only alphanumerics, `-`, `_`, `.`, and `/`, and must not contain `..` path
segments.
- name: access_policy
description: |
Provider-agnostic NFS access policy for an access point. Network CIDRs are
managed by attach, detach, and managed-access workflows and are not part of
this policy.
value:
anonuid: {{ anonuid }}
anongid: {{ anongid }}
protocols:
- "{{ protocols }}"
squash_config: "{{ squash_config }}"
identity_enforcement_enabled: {{ identity_enforcement_enabled }}
- name: vpc_id
value: "{{ vpc_id }}"
description: |
Required. The VPC this access point will be pinned to. A storage gateway is
provisioned (or reused) in this VPC, and the access point becomes mountable from
this VPC regardless of whether the parent share is currently attached to it.
DELETE examples
- nfs_delete_access_point
To delete an NFS access point, send a DELETE request to/v2/nfs/access_points/{access_point_id}.
A successful request will soft-delete the access point and return the deleted access point
with status ACCESS_POINT_DELETED and an action object indicating the delete operation.
The default access point (is_default: true) cannot be deleted. Access points already
in ACCESS_POINT_DELETED or ACCESS_POINT_FAILED status return 400 Bad Request.
DELETE FROM digitalocean.storage.access_points
WHERE access_point_id = '{{ access_point_id }}' --required
;