Tool: list_volumes
List volumes in a given project and location.
The following sample demonstrates how to use curl to invoke the list_volumes MCP tool.
| Curl Request |
|---|
curl --location 'https://netapp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_volumes", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Message for requesting list of Volumes
ListVolumesRequest
| JSON representation |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Fields | |
|---|---|
parent |
Required. Parent value for ListVolumesRequest |
pageSize |
Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. |
pageToken |
A token identifying a page of results the server should return. |
filter |
Filtering results |
orderBy |
Hint for how to order the results |
Output Schema
Message for response to listing Volumes
ListVolumesResponse
| JSON representation |
|---|
{
"volumes": [
{
object ( |
| Fields | |
|---|---|
volumes[] |
The list of Volume |
nextPageToken |
A token identifying a page of results the server should return. |
unreachable[] |
Locations that could not be reached. |
Volume
| JSON representation |
|---|
{ "name": string, "state": enum ( |
| Fields | |
|---|---|
name |
Identifier. Name of the volume |
state |
Output only. State of the volume |
stateDetails |
Output only. State details of the volume |
createTime |
Output only. Create time of the volume Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
shareName |
Required. Share name of the volume |
psaRange |
Output only. This field is not implemented. The values provided in this field are ignored. |
storagePool |
Required. StoragePool name of the volume |
network |
Output only. VPC Network name. Format: projects/{project}/global/networks/{network} |
serviceLevel |
Output only. Service level of the volume |
capacityGib |
Required. Capacity in GIB of the volume |
exportPolicy |
Optional. Export policy of the volume |
protocols[] |
Required. Protocols required for the volume |
smbSettings[] |
Optional. SMB share settings for the volume. |
mountOptions[] |
Output only. Mount options of this volume |
unixPermissions |
Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only. |
labels |
Optional. Labels as key value pairs An object containing a list of |
description |
Optional. Description of the volume |
snapshotPolicy |
Optional. SnapshotPolicy for a volume. |
snapReserve |
Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent. |
snapshotDirectory |
Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. |
usedGib |
Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage. |
securityStyle |
Optional. Security Style of the Volume |
kerberosEnabled |
Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p). |
ldapEnabled |
Output only. Flag indicating if the volume is NFS LDAP enabled or not. |
activeDirectory |
Output only. Specifies the ActiveDirectory name of a SMB volume. |
restoreParameters |
Optional. Specifies the source of the volume to be created from. |
kmsConfig |
Output only. Specifies the KMS config to be used for volume encryption. |
encryptionType |
Output only. Specified the current volume encryption key source. |
hasReplication |
Output only. Indicates whether the volume is part of a replication relationship. |
restrictedActions[] |
Optional. List of actions that are restricted on this volume. |
largeCapacity |
Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. This field is used for legacy FILE pools. For Unified pools, use the |
multipleEndpoints |
Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints. |
replicaZone |
Output only. Specifies the replica zone for regional volume. |
zone |
Output only. Specifies the active zone for regional volume. |
coldTierSizeGib |
Output only. Size of the volume cold tier data rounded down to the nearest GiB. |
hybridReplicationParameters |
Optional. The Hybrid Replication parameters for the volume. |
throughputMibps |
Optional. Throughput of the volume (in MiB/s) |
cacheParameters |
Optional. Cache parameters for the volume. |
hotTierSizeUsedGib |
Output only. Total hot tier data rounded down to the nearest GiB used by the Volume. This field is only used for flex Service Level |
blockDevices[] |
Optional. Block devices for the volume. Currently, only one block device is permitted per Volume. |
largeCapacityConfig |
Optional. Large capacity config for the volume. Enables and configures large capacity for volumes in Unified pools with File protocols. Not applicable for Block protocols in Unified pools. This field and the legacy |
cloneDetails |
Output only. If this volume is a clone, this field contains details about the clone. |
Union field
|
|
backupConfig |
BackupConfig of the volume. |
Union field
|
|
tieringPolicy |
Tiering policy for the volume. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
ExportPolicy
| JSON representation |
|---|
{
"rules": [
{
object ( |
| Fields | |
|---|---|
rules[] |
Required. List of export policy rules |
SimpleExportPolicyRule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
allowedClients |
Comma separated list of allowed clients IP addresses |
Union field
|
|
hasRootAccess |
Whether Unix root access will be granted. |
Union field
|
|
accessType |
Access type (ReadWrite, ReadOnly, None) |
Union field
|
|
nfsv3 |
NFS V3 protocol. |
Union field
|
|
nfsv4 |
NFS V4 protocol. |
Union field
|
|
kerberos5ReadOnly |
If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. |
Union field
|
|
kerberos5ReadWrite |
If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled. |
Union field
|
|
kerberos5iReadOnly |
If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. |
Union field
|
|
kerberos5iReadWrite |
If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled. |
Union field
|
|
kerberos5pReadOnly |
If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. |
Union field
|
|
kerberos5pReadWrite |
If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled. |
Union field
|
|
squashMode |
Optional. Defines how user identity squashing is applied for this export rule. This field is the preferred way to configure squashing behavior and takes precedence over |
Union field
|
|
anonUid |
Optional. An integer representing the anonymous user ID. Range is 0 to |
MountOption
| JSON representation |
|---|
{
"export": string,
"exportFull": string,
"protocol": enum ( |
| Fields | |
|---|---|
export |
Export string |
exportFull |
Full export string |
protocol |
Protocol to mount with. |
instructions |
Instructions for mounting |
ipAddress |
Output only. IP Address. |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
SnapshotPolicy
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
enabled |
If enabled, make snapshots automatically according to the schedules. Default is false. |
Union field
|
|
hourlySchedule |
Hourly schedule policy. |
Union field
|
|
dailySchedule |
Daily schedule policy. |
Union field
|
|
weeklySchedule |
Weekly schedule policy. |
Union field
|
|
monthlySchedule |
Monthly schedule policy. |
HourlySchedule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
snapshotsToKeep |
The maximum number of Snapshots to keep for the hourly schedule |
Union field
|
|
minute |
Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). |
DailySchedule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
snapshotsToKeep |
The maximum number of Snapshots to keep for the hourly schedule |
Union field
|
|
minute |
Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). |
Union field
|
|
hour |
Set the hour to start the snapshot (0-23), defaults to midnight (0). |
WeeklySchedule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
snapshotsToKeep |
The maximum number of Snapshots to keep for the hourly schedule |
Union field
|
|
minute |
Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). |
Union field
|
|
hour |
Set the hour to start the snapshot (0-23), defaults to midnight (0). |
Union field
|
|
day |
Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'. |
MonthlySchedule
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
snapshotsToKeep |
The maximum number of Snapshots to keep for the hourly schedule |
Union field
|
|
minute |
Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). |
Union field
|
|
hour |
Set the hour to start the snapshot (0-23), defaults to midnight (0). |
Union field
|
|
daysOfMonth |
Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'. |
RestoreParameters
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field source. The source that the volume is created from. source can be only one of the following: |
|
sourceSnapshot |
Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} |
sourceBackup |
Full name of the backup resource. Format for standard backup: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}. Format for BackupDR backup: projects/{project}/locations/{location}/backupVaults/{backup_vault}/dataSources/{data_source}/backups/{backup} |
BackupConfig
| JSON representation |
|---|
{ "backupPolicies": [ string ], "backupVault": string, // Union field |
| Fields | |
|---|---|
backupPolicies[] |
Optional. When specified, schedule backups will be created based on the policy configuration. |
backupVault |
Optional. Name of backup vault. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id} |
Union field
|
|
scheduledBackupEnabled |
Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached. |
Union field
|
|
backupChainBytes |
Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size). |
TieringPolicy
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
tierAction |
Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. |
Union field
|
|
coolingThresholdDays |
Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 2-183. Default is 31. |
Union field
|
|
hotTierBypassModeEnabled |
Optional. Flag indicating that the hot tier bypass mode is enabled. Default is false. This is only applicable to Flex service level. |
HybridReplicationParameters
| JSON representation |
|---|
{ "replication": string, "peerVolumeName": string, "peerClusterName": string, "peerSvmName": string, "peerIpAddresses": [ string ], "clusterLocation": string, "description": string, "labels": { string: string, ... }, "replicationSchedule": enum ( |
| Fields | |
|---|---|
replication |
Required. Desired name for the replication of this volume. |
peerVolumeName |
Required. Name of the user's local source volume to be peered with the destination volume. |
peerClusterName |
Required. Name of the user's local source cluster to be peered with the destination cluster. |
peerSvmName |
Required. Name of the user's local source vserver svm to be peered with the destination vserver svm. |
peerIpAddresses[] |
Required. List of node ip addresses to be peered with. |
clusterLocation |
Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only. |
description |
Optional. Description of the replication. |
labels |
Optional. Labels to be added to the replication as the key value pairs. An object containing a list of |
replicationSchedule |
Optional. Replication Schedule for the replication created. |
hybridReplicationType |
Optional. Type of the hybrid replication. |
largeVolumeConstituentCount |
Optional. Constituent volume count for large volume. |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
CacheParameters
| JSON representation |
|---|
{ "peerVolumeName": string, "peerClusterName": string, "peerSvmName": string, "peerIpAddresses": [ string ], "cacheConfig": { object ( |
| Fields | |
|---|---|
peerVolumeName |
Required. Name of the origin volume for the cache volume. |
peerClusterName |
Required. Name of the origin volume's ONTAP cluster. |
peerSvmName |
Required. Name of the origin volume's SVM. |
peerIpAddresses[] |
Required. List of IC LIF addresses of the origin volume's ONTAP cluster. |
cacheConfig |
Optional. Configuration of the cache volume. |
cacheState |
Output only. State of the cache volume indicating the peering status. |
command |
Output only. Copy-paste-able commands to be used on user's ONTAP to accept peering requests. |
peeringCommandExpiryTime |
Optional. Expiration time for the peering command to be executed on user's ONTAP. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
passphrase |
Output only. Temporary passphrase generated to accept cluster peering command. |
stateDetails |
Output only. Detailed description of the current cache state. |
Union field
|
|
enableGlobalFileLock |
Optional. Indicates whether the cache volume has global file lock enabled. |
CacheConfig
| JSON representation |
|---|
{ "cachePrePopulate": { object ( |
| Fields | |
|---|---|
cachePrePopulate |
Optional. Pre-populate cache volume with data from the origin volume. |
cachePrePopulateState |
Output only. State of the prepopulation job indicating how the prepopulation is progressing. |
Union field
|
|
writebackEnabled |
Optional. Flag indicating whether writeback is enabled for the FlexCache volume. |
Union field
|
|
cifsChangeNotifyEnabled |
Optional. Flag indicating whether a CIFS change notification is enabled for the FlexCache volume. |
CachePrePopulate
| JSON representation |
|---|
{ "pathList": [ string ], "excludePathList": [ string ], // Union field |
| Fields | |
|---|---|
pathList[] |
Optional. List of directory-paths to be pre-populated for the FlexCache volume. |
excludePathList[] |
Optional. List of directory-paths to be excluded for pre-population for the FlexCache volume. |
Union field
|
|
recursion |
Optional. Flag indicating whether the directories listed with the |
BlockDevice
| JSON representation |
|---|
{ "hostGroups": [ string ], "identifier": string, "osType": enum ( |
| Fields | |
|---|---|
hostGroups[] |
Optional. A list of host groups that identify hosts that can mount the block volume. Format: |
identifier |
Output only. Device identifier of the block volume. This represents |
osType |
Required. Immutable. The OS type of the volume. This field can't be changed after the block device is created. |
Union field
|
|
name |
Optional. User-defined name for the block device, unique within the volume. In case no user input is provided, name will be auto-generated in the backend. The name must meet the following requirements: * Be between 1 and 255 characters long. * Contain only uppercase or lowercase letters (A-Z, a-z), numbers (0-9), and the following special characters: "-", "_", "}", "{", ".". * Spaces are not allowed. |
Union field
|
|
sizeGib |
Optional. The size of the block device in GiB. Any value provided for the |
LargeCapacityConfig
| JSON representation |
|---|
{ "constituentCount": integer } |
| Fields | |
|---|---|
constituentCount |
Optional. The number of internal constituents (e.g., FlexVols) for this large volume. The minimum number of constituents is 2. |
CloneDetails
| JSON representation |
|---|
{ "sourceSnapshot": string, "sourceVolume": string, "sharedSpaceGib": string } |
| Fields | |
|---|---|
sourceSnapshot |
Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} |
sourceVolume |
Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume} |
sharedSpaceGib |
Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot. |
State
The volume states
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Unspecified Volume State |
READY |
Volume State is Ready |
CREATING |
Volume State is Creating |
DELETING |
Volume State is Deleting |
UPDATING |
Volume State is Updating |
RESTORING |
Volume State is Restoring |
DISABLED |
Volume State is Disabled |
ERROR |
Volume State is Error |
PREPARING |
Volume State is Preparing. Note that this is different from CREATING where CREATING means the volume is being created, while PREPARING means the volume is created and now being prepared for the replication. |
READ_ONLY |
Volume State is Read Only |
ServiceLevel
The service level of a storage pool and its volumes.
| Enums | |
|---|---|
SERVICE_LEVEL_UNSPECIFIED |
Unspecified service level. |
PREMIUM |
Premium service level. |
EXTREME |
Extreme service level. |
STANDARD |
Standard service level. |
FLEX |
Flex service level. |
AccessType
AccessType is an enum of all the supported access types for a volume.
| Enums | |
|---|---|
ACCESS_TYPE_UNSPECIFIED |
Unspecified Access Type |
READ_ONLY |
Read Only |
READ_WRITE |
Read Write |
READ_NONE |
None |
SquashMode
SquashMode defines how remote user privileges are restricted when accessing an NFS export. It controls how user identities (like root) are mapped to anonymous users to limit access and enforce security.
| Enums | |
|---|---|
SQUASH_MODE_UNSPECIFIED |
Defaults to NO_ROOT_SQUASH. |
NO_ROOT_SQUASH |
The root user (UID 0) retains full access. Other users are unaffected. |
ROOT_SQUASH |
The root user (UID 0) is squashed to anonymous user ID. Other users are unaffected. |
ALL_SQUASH |
All users are squashed to anonymous user ID. |
Protocols
Protocols is an enum of all the supported network protocols for a volume.
| Enums | |
|---|---|
PROTOCOLS_UNSPECIFIED |
Unspecified protocol |
NFSV3 |
NFS V3 protocol |
NFSV4 |
NFS V4 protocol |
SMB |
SMB protocol |
ISCSI |
ISCSI protocol |
NVME |
NVMe protocol |
SMBSettings
SMBSettings Modifies the behaviour of a SMB volume.
| Enums | |
|---|---|
SMB_SETTINGS_UNSPECIFIED |
Unspecified default option |
ENCRYPT_DATA |
SMB setting encrypt data |
BROWSABLE |
SMB setting browsable |
CHANGE_NOTIFY |
SMB setting notify change |
NON_BROWSABLE |
SMB setting not to notify change |
OPLOCKS |
SMB setting oplocks |
SHOW_SNAPSHOT |
SMB setting to show snapshots |
SHOW_PREVIOUS_VERSIONS |
SMB setting to show previous versions |
ACCESS_BASED_ENUMERATION |
SMB setting to access volume based on enumerartion |
CONTINUOUSLY_AVAILABLE |
Continuously available enumeration |
SecurityStyle
The security style of the volume, can be either UNIX or NTFS.
| Enums | |
|---|---|
SECURITY_STYLE_UNSPECIFIED |
SecurityStyle is unspecified |
NTFS |
SecurityStyle uses NTFS |
UNIX |
SecurityStyle uses UNIX |
EncryptionType
The volume encryption key source.
| Enums | |
|---|---|
ENCRYPTION_TYPE_UNSPECIFIED |
The source of the encryption key is not specified. |
SERVICE_MANAGED |
Google managed encryption key. |
CLOUD_KMS |
Customer managed encryption key, which is stored in KMS. |
RestrictedAction
Actions to be restricted for a volume.
| Enums | |
|---|---|
RESTRICTED_ACTION_UNSPECIFIED |
Unspecified restricted action |
DELETE |
Prevent volume from being deleted when mounted. |
TierAction
Tier action for the volume.
| Enums | |
|---|---|
TIER_ACTION_UNSPECIFIED |
Unspecified. |
ENABLED |
When tiering is enabled, new cold data will be tiered. |
PAUSED |
When paused, tiering won't be performed on new data. Existing data stays tiered until accessed. |
HybridReplicationSchedule
Schedule for Hybrid Replication. New enum values may be added in future to support different frequency of replication.
| Enums | |
|---|---|
HYBRID_REPLICATION_SCHEDULE_UNSPECIFIED |
Unspecified HybridReplicationSchedule |
EVERY_10_MINUTES |
Replication happens once every 10 minutes. |
HOURLY |
Replication happens once every hour. |
DAILY |
Replication happens once every day. |
VolumeHybridReplicationType
Type of the volume's hybrid replication.
| Enums | |
|---|---|
VOLUME_HYBRID_REPLICATION_TYPE_UNSPECIFIED |
Unspecified hybrid replication type. |
MIGRATION |
Hybrid replication type for migration. |
CONTINUOUS_REPLICATION |
Hybrid replication type for continuous replication. |
ONPREM_REPLICATION |
New field for reversible OnPrem replication, to be used for data protection. |
REVERSE_ONPREM_REPLICATION |
New field for reversible OnPrem replication, to be used for data protection. |
CachePrePopulateState
State of the prepopulation job indicating how the prepopulation is progressing.
| Enums | |
|---|---|
CACHE_PRE_POPULATE_STATE_UNSPECIFIED |
Default unspecified state. |
NOT_NEEDED |
State representing when the most recent create or update request did not require a prepopulation job. |
IN_PROGRESS |
State representing when the most recent update request requested a prepopulation job but it has not yet completed. |
COMPLETE |
State representing when the most recent update request requested a prepopulation job and it has completed successfully. |
ERROR |
State representing when the most recent update request requested a prepopulation job but the prepopulate job failed. |
CacheState
State of the cache volume indicating the peering status.
| Enums | |
|---|---|
CACHE_STATE_UNSPECIFIED |
Default unspecified state. |
PENDING_CLUSTER_PEERING |
State indicating waiting for cluster peering to be established. |
PENDING_SVM_PEERING |
State indicating waiting for SVM peering to be established. |
PEERED |
State indicating successful establishment of peering with origin volumes's ONTAP cluster. |
ERROR |
Terminal state wherein peering with origin volume's ONTAP cluster has failed. |
OsType
OS types for the host group
| Enums | |
|---|---|
OS_TYPE_UNSPECIFIED |
Unspecified OS Type |
LINUX |
OS Type is Linux |
WINDOWS |
OS Type is Windows |
ESXI |
OS Type is VMware ESXi |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌