MCP Tools Reference: netapp.googleapis.com

Tool: get_volume

Get volume in a given project and location.

The following sample demonstrates how to use curl to invoke the get_volume 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": "get_volume",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Message for getting a Volume

GetVolumeRequest

JSON representation
{
  "name": string
}
Fields
name

string

Required. Name of the volume

Output Schema

Volume provides a filesystem that you can mount.

Volume

JSON representation
{
  "name": string,
  "state": enum (State),
  "stateDetails": string,
  "createTime": string,
  "shareName": string,
  "psaRange": string,
  "storagePool": string,
  "network": string,
  "serviceLevel": enum (ServiceLevel),
  "capacityGib": string,
  "exportPolicy": {
    object (ExportPolicy)
  },
  "protocols": [
    enum (Protocols)
  ],
  "smbSettings": [
    enum (SMBSettings)
  ],
  "mountOptions": [
    {
      object (MountOption)
    }
  ],
  "unixPermissions": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "snapshotPolicy": {
    object (SnapshotPolicy)
  },
  "snapReserve": number,
  "snapshotDirectory": boolean,
  "usedGib": string,
  "securityStyle": enum (SecurityStyle),
  "kerberosEnabled": boolean,
  "ldapEnabled": boolean,
  "activeDirectory": string,
  "restoreParameters": {
    object (RestoreParameters)
  },
  "kmsConfig": string,
  "encryptionType": enum (EncryptionType),
  "hasReplication": boolean,
  "restrictedActions": [
    enum (RestrictedAction)
  ],
  "largeCapacity": boolean,
  "multipleEndpoints": boolean,
  "replicaZone": string,
  "zone": string,
  "coldTierSizeGib": string,
  "hybridReplicationParameters": {
    object (HybridReplicationParameters)
  },
  "throughputMibps": number,
  "cacheParameters": {
    object (CacheParameters)
  },
  "hotTierSizeUsedGib": string,
  "blockDevices": [
    {
      object (BlockDevice)
    }
  ],
  "largeCapacityConfig": {
    object (LargeCapacityConfig)
  },
  "cloneDetails": {
    object (CloneDetails)
  },

  // Union field _backup_config can be only one of the following:
  "backupConfig": {
    object (BackupConfig)
  }
  // End of list of possible types for union field _backup_config.

  // Union field _tiering_policy can be only one of the following:
  "tieringPolicy": {
    object (TieringPolicy)
  }
  // End of list of possible types for union field _tiering_policy.
}
Fields
name

string

Identifier. Name of the volume

state

enum (State)

Output only. State of the volume

stateDetails

string

Output only. State details of the volume

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

shareName

string

Required. Share name of the volume

psaRange

string

Output only. This field is not implemented. The values provided in this field are ignored.

storagePool

string

Required. StoragePool name of the volume

network

string

Output only. VPC Network name. Format: projects/{project}/global/networks/{network}

serviceLevel

enum (ServiceLevel)

Output only. Service level of the volume

capacityGib

string (int64 format)

Required. Capacity in GIB of the volume

exportPolicy

object (ExportPolicy)

Optional. Export policy of the volume

protocols[]

enum (Protocols)

Required. Protocols required for the volume

smbSettings[]

enum (SMBSettings)

Optional. SMB share settings for the volume.

mountOptions[]

object (MountOption)

Output only. Mount options of this volume

unixPermissions

string

Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.

labels

map (key: string, value: string)

Optional. Labels as key value pairs

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

Optional. Description of the volume

snapshotPolicy

object (SnapshotPolicy)

Optional. SnapshotPolicy for a volume.

snapReserve

number

Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.

snapshotDirectory

boolean

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

string (int64 format)

Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.

securityStyle

enum (SecurityStyle)

Optional. Security Style of the Volume

kerberosEnabled

boolean

Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).

ldapEnabled

boolean

Output only. Flag indicating if the volume is NFS LDAP enabled or not.

activeDirectory

string

Output only. Specifies the ActiveDirectory name of a SMB volume.

restoreParameters

object (RestoreParameters)

Optional. Specifies the source of the volume to be created from.

kmsConfig

string

Output only. Specifies the KMS config to be used for volume encryption.

encryptionType

enum (EncryptionType)

Output only. Specified the current volume encryption key source.

hasReplication

boolean

Output only. Indicates whether the volume is part of a replication relationship.

restrictedActions[]

enum (RestrictedAction)

Optional. List of actions that are restricted on this volume.

largeCapacity

boolean

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 large_capacity_config field instead. This field and large_capacity_config are mutually exclusive.

multipleEndpoints

boolean

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

string

Output only. Specifies the replica zone for regional volume.

zone

string

Output only. Specifies the active zone for regional volume.

coldTierSizeGib

string (int64 format)

Output only. Size of the volume cold tier data rounded down to the nearest GiB.

hybridReplicationParameters

object (HybridReplicationParameters)

Optional. The Hybrid Replication parameters for the volume.

throughputMibps

number

Optional. Throughput of the volume (in MiB/s)

cacheParameters

object (CacheParameters)

Optional. Cache parameters for the volume.

hotTierSizeUsedGib

string (int64 format)

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[]

object (BlockDevice)

Optional. Block devices for the volume. Currently, only one block device is permitted per Volume.

largeCapacityConfig

object (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 large_capacity boolean field are mutually exclusive.

cloneDetails

object (CloneDetails)

Output only. If this volume is a clone, this field contains details about the clone.

Union field _backup_config.

_backup_config can be only one of the following:

backupConfig

object (BackupConfig)

BackupConfig of the volume.

Union field _tiering_policy.

_tiering_policy can be only one of the following:

tieringPolicy

object (TieringPolicy)

Tiering policy for the volume.

Timestamp

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

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

integer

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 (SimpleExportPolicyRule)
    }
  ]
}
Fields
rules[]

object (SimpleExportPolicyRule)

Required. List of export policy rules

SimpleExportPolicyRule

JSON representation
{

  // Union field _allowed_clients can be only one of the following:
  "allowedClients": string
  // End of list of possible types for union field _allowed_clients.

  // Union field _has_root_access can be only one of the following:
  "hasRootAccess": string
  // End of list of possible types for union field _has_root_access.

  // Union field _access_type can be only one of the following:
  "accessType": enum (AccessType)
  // End of list of possible types for union field _access_type.

  // Union field _nfsv3 can be only one of the following:
  "nfsv3": boolean
  // End of list of possible types for union field _nfsv3.

  // Union field _nfsv4 can be only one of the following:
  "nfsv4": boolean
  // End of list of possible types for union field _nfsv4.

  // Union field _kerberos_5_read_only can be only one of the following:
  "kerberos5ReadOnly": boolean
  // End of list of possible types for union field _kerberos_5_read_only.

  // Union field _kerberos_5_read_write can be only one of the following:
  "kerberos5ReadWrite": boolean
  // End of list of possible types for union field _kerberos_5_read_write.

  // Union field _kerberos_5i_read_only can be only one of the following:
  "kerberos5iReadOnly": boolean
  // End of list of possible types for union field _kerberos_5i_read_only.

  // Union field _kerberos_5i_read_write can be only one of the following:
  "kerberos5iReadWrite": boolean
  // End of list of possible types for union field _kerberos_5i_read_write.

  // Union field _kerberos_5p_read_only can be only one of the following:
  "kerberos5pReadOnly": boolean
  // End of list of possible types for union field _kerberos_5p_read_only.

  // Union field _kerberos_5p_read_write can be only one of the following:
  "kerberos5pReadWrite": boolean
  // End of list of possible types for union field _kerberos_5p_read_write.

  // Union field _squash_mode can be only one of the following:
  "squashMode": enum (SquashMode)
  // End of list of possible types for union field _squash_mode.

  // Union field _anon_uid can be only one of the following:
  "anonUid": string
  // End of list of possible types for union field _anon_uid.
}
Fields

Union field _allowed_clients.

_allowed_clients can be only one of the following:

allowedClients

string

Comma separated list of allowed clients IP addresses

Union field _has_root_access.

_has_root_access can be only one of the following:

hasRootAccess

string

Whether Unix root access will be granted.

Union field _access_type.

_access_type can be only one of the following:

accessType

enum (AccessType)

Access type (ReadWrite, ReadOnly, None)

Union field _nfsv3.

_nfsv3 can be only one of the following:

nfsv3

boolean

NFS V3 protocol.

Union field _nfsv4.

_nfsv4 can be only one of the following:

nfsv4

boolean

NFS V4 protocol.

Union field _kerberos_5_read_only.

_kerberos_5_read_only can be only one of the following:

kerberos5ReadOnly

boolean

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 _kerberos_5_read_write.

_kerberos_5_read_write can be only one of the following:

kerberos5ReadWrite

boolean

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 _kerberos_5i_read_only.

_kerberos_5i_read_only can be only one of the following:

kerberos5iReadOnly

boolean

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 _kerberos_5i_read_write.

_kerberos_5i_read_write can be only one of the following:

kerberos5iReadWrite

boolean

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 _kerberos_5p_read_only.

_kerberos_5p_read_only can be only one of the following:

kerberos5pReadOnly

boolean

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 _kerberos_5p_read_write.

_kerberos_5p_read_write can be only one of the following:

kerberos5pReadWrite

boolean

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 _squash_mode.

_squash_mode can be only one of the following:

squashMode

enum (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 has_root_access if both are provided.

Union field _anon_uid.

_anon_uid can be only one of the following:

anonUid

string (int64 format)

Optional. An integer representing the anonymous user ID. Range is 0 to 4294967295. Required when squash_mode is ROOT_SQUASH or ALL_SQUASH.

MountOption

JSON representation
{
  "export": string,
  "exportFull": string,
  "protocol": enum (Protocols),
  "instructions": string,
  "ipAddress": string
}
Fields
export

string

Export string

exportFull

string

Full export string

protocol

enum (Protocols)

Protocol to mount with.

instructions

string

Instructions for mounting

ipAddress

string

Output only. IP Address.

LabelsEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

SnapshotPolicy

JSON representation
{

  // Union field _enabled can be only one of the following:
  "enabled": boolean
  // End of list of possible types for union field _enabled.

  // Union field _hourly_schedule can be only one of the following:
  "hourlySchedule": {
    object (HourlySchedule)
  }
  // End of list of possible types for union field _hourly_schedule.

  // Union field _daily_schedule can be only one of the following:
  "dailySchedule": {
    object (DailySchedule)
  }
  // End of list of possible types for union field _daily_schedule.

  // Union field _weekly_schedule can be only one of the following:
  "weeklySchedule": {
    object (WeeklySchedule)
  }
  // End of list of possible types for union field _weekly_schedule.

  // Union field _monthly_schedule can be only one of the following:
  "monthlySchedule": {
    object (MonthlySchedule)
  }
  // End of list of possible types for union field _monthly_schedule.
}
Fields

Union field _enabled.

_enabled can be only one of the following:

enabled

boolean

If enabled, make snapshots automatically according to the schedules. Default is false.

Union field _hourly_schedule.

_hourly_schedule can be only one of the following:

hourlySchedule

object (HourlySchedule)

Hourly schedule policy.

Union field _daily_schedule.

_daily_schedule can be only one of the following:

dailySchedule

object (DailySchedule)

Daily schedule policy.

Union field _weekly_schedule.

_weekly_schedule can be only one of the following:

weeklySchedule

object (WeeklySchedule)

Weekly schedule policy.

Union field _monthly_schedule.

_monthly_schedule can be only one of the following:

monthlySchedule

object (MonthlySchedule)

Monthly schedule policy.

HourlySchedule

JSON representation
{

  // Union field _snapshots_to_keep can be only one of the following:
  "snapshotsToKeep": number
  // End of list of possible types for union field _snapshots_to_keep.

  // Union field _minute can be only one of the following:
  "minute": number
  // End of list of possible types for union field _minute.
}
Fields

Union field _snapshots_to_keep.

_snapshots_to_keep can be only one of the following:

snapshotsToKeep

number

The maximum number of Snapshots to keep for the hourly schedule

Union field _minute.

_minute can be only one of the following:

minute

number

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 _snapshots_to_keep can be only one of the following:
  "snapshotsToKeep": number
  // End of list of possible types for union field _snapshots_to_keep.

  // Union field _minute can be only one of the following:
  "minute": number
  // End of list of possible types for union field _minute.

  // Union field _hour can be only one of the following:
  "hour": number
  // End of list of possible types for union field _hour.
}
Fields

Union field _snapshots_to_keep.

_snapshots_to_keep can be only one of the following:

snapshotsToKeep

number

The maximum number of Snapshots to keep for the hourly schedule

Union field _minute.

_minute can be only one of the following:

minute

number

Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).

Union field _hour.

_hour can be only one of the following:

hour

number

Set the hour to start the snapshot (0-23), defaults to midnight (0).

WeeklySchedule

JSON representation
{

  // Union field _snapshots_to_keep can be only one of the following:
  "snapshotsToKeep": number
  // End of list of possible types for union field _snapshots_to_keep.

  // Union field _minute can be only one of the following:
  "minute": number
  // End of list of possible types for union field _minute.

  // Union field _hour can be only one of the following:
  "hour": number
  // End of list of possible types for union field _hour.

  // Union field _day can be only one of the following:
  "day": string
  // End of list of possible types for union field _day.
}
Fields

Union field _snapshots_to_keep.

_snapshots_to_keep can be only one of the following:

snapshotsToKeep

number

The maximum number of Snapshots to keep for the hourly schedule

Union field _minute.

_minute can be only one of the following:

minute

number

Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).

Union field _hour.

_hour can be only one of the following:

hour

number

Set the hour to start the snapshot (0-23), defaults to midnight (0).

Union field _day.

_day can be only one of the following:

day

string

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 _snapshots_to_keep can be only one of the following:
  "snapshotsToKeep": number
  // End of list of possible types for union field _snapshots_to_keep.

  // Union field _minute can be only one of the following:
  "minute": number
  // End of list of possible types for union field _minute.

  // Union field _hour can be only one of the following:
  "hour": number
  // End of list of possible types for union field _hour.

  // Union field _days_of_month can be only one of the following:
  "daysOfMonth": string
  // End of list of possible types for union field _days_of_month.
}
Fields

Union field _snapshots_to_keep.

_snapshots_to_keep can be only one of the following:

snapshotsToKeep

number

The maximum number of Snapshots to keep for the hourly schedule

Union field _minute.

_minute can be only one of the following:

minute

number

Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).

Union field _hour.

_hour can be only one of the following:

hour

number

Set the hour to start the snapshot (0-23), defaults to midnight (0).

Union field _days_of_month.

_days_of_month can be only one of the following:

daysOfMonth

string

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 source can be only one of the following:
  "sourceSnapshot": string,
  "sourceBackup": string
  // End of list of possible types for union field source.
}
Fields
Union field source. The source that the volume is created from. source can be only one of the following:
sourceSnapshot

string

Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}

sourceBackup

string

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 _scheduled_backup_enabled can be only one of the following:
  "scheduledBackupEnabled": boolean
  // End of list of possible types for union field _scheduled_backup_enabled.

  // Union field _backup_chain_bytes can be only one of the following:
  "backupChainBytes": string
  // End of list of possible types for union field _backup_chain_bytes.
}
Fields
backupPolicies[]

string

Optional. When specified, schedule backups will be created based on the policy configuration.

backupVault

string

Optional. Name of backup vault. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}

Union field _scheduled_backup_enabled.

_scheduled_backup_enabled can be only one of the following:

scheduledBackupEnabled

boolean

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 _backup_chain_bytes.

_backup_chain_bytes can be only one of the following:

backupChainBytes

string (int64 format)

Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).

TieringPolicy

JSON representation
{

  // Union field _tier_action can be only one of the following:
  "tierAction": enum (TierAction)
  // End of list of possible types for union field _tier_action.

  // Union field _cooling_threshold_days can be only one of the following:
  "coolingThresholdDays": integer
  // End of list of possible types for union field _cooling_threshold_days.

  // Union field _hot_tier_bypass_mode_enabled can be only one of the following:
  "hotTierBypassModeEnabled": boolean
  // End of list of possible types for union field _hot_tier_bypass_mode_enabled.
}
Fields

Union field _tier_action.

_tier_action can be only one of the following:

tierAction

enum (TierAction)

Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.

Union field _cooling_threshold_days.

_cooling_threshold_days can be only one of the following:

coolingThresholdDays

integer

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 _hot_tier_bypass_mode_enabled.

_hot_tier_bypass_mode_enabled can be only one of the following:

hotTierBypassModeEnabled

boolean

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 (HybridReplicationSchedule),
  "hybridReplicationType": enum (VolumeHybridReplicationType),
  "largeVolumeConstituentCount": integer
}
Fields
replication

string

Required. Desired name for the replication of this volume.

peerVolumeName

string

Required. Name of the user's local source volume to be peered with the destination volume.

peerClusterName

string

Required. Name of the user's local source cluster to be peered with the destination cluster.

peerSvmName

string

Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.

peerIpAddresses[]

string

Required. List of node ip addresses to be peered with.

clusterLocation

string

Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only.

description

string

Optional. Description of the replication.

labels

map (key: string, value: string)

Optional. Labels to be added to the replication as the key value pairs.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

replicationSchedule

enum (HybridReplicationSchedule)

Optional. Replication Schedule for the replication created.

hybridReplicationType

enum (VolumeHybridReplicationType)

Optional. Type of the hybrid replication.

largeVolumeConstituentCount

integer

Optional. Constituent volume count for large volume.

LabelsEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

CacheParameters

JSON representation
{
  "peerVolumeName": string,
  "peerClusterName": string,
  "peerSvmName": string,
  "peerIpAddresses": [
    string
  ],
  "cacheConfig": {
    object (CacheConfig)
  },
  "cacheState": enum (CacheState),
  "command": string,
  "peeringCommandExpiryTime": string,
  "passphrase": string,
  "stateDetails": string,

  // Union field _enable_global_file_lock can be only one of the following:
  "enableGlobalFileLock": boolean
  // End of list of possible types for union field _enable_global_file_lock.
}
Fields
peerVolumeName

string

Required. Name of the origin volume for the cache volume.

peerClusterName

string

Required. Name of the origin volume's ONTAP cluster.

peerSvmName

string

Required. Name of the origin volume's SVM.

peerIpAddresses[]

string

Required. List of IC LIF addresses of the origin volume's ONTAP cluster.

cacheConfig

object (CacheConfig)

Optional. Configuration of the cache volume.

cacheState

enum (CacheState)

Output only. State of the cache volume indicating the peering status.

command

string

Output only. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.

peeringCommandExpiryTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

passphrase

string

Output only. Temporary passphrase generated to accept cluster peering command.

stateDetails

string

Output only. Detailed description of the current cache state.

Union field _enable_global_file_lock.

_enable_global_file_lock can be only one of the following:

enableGlobalFileLock

boolean

Optional. Indicates whether the cache volume has global file lock enabled.

CacheConfig

JSON representation
{
  "cachePrePopulate": {
    object (CachePrePopulate)
  },
  "cachePrePopulateState": enum (CachePrePopulateState),

  // Union field _writeback_enabled can be only one of the following:
  "writebackEnabled": boolean
  // End of list of possible types for union field _writeback_enabled.

  // Union field _cifs_change_notify_enabled can be only one of the following:
  "cifsChangeNotifyEnabled": boolean
  // End of list of possible types for union field _cifs_change_notify_enabled.
}
Fields
cachePrePopulate

object (CachePrePopulate)

Optional. Pre-populate cache volume with data from the origin volume.

cachePrePopulateState

enum (CachePrePopulateState)

Output only. State of the prepopulation job indicating how the prepopulation is progressing.

Union field _writeback_enabled.

_writeback_enabled can be only one of the following:

writebackEnabled

boolean

Optional. Flag indicating whether writeback is enabled for the FlexCache volume.

Union field _cifs_change_notify_enabled.

_cifs_change_notify_enabled can be only one of the following:

cifsChangeNotifyEnabled

boolean

Optional. Flag indicating whether a CIFS change notification is enabled for the FlexCache volume.

CachePrePopulate

JSON representation
{
  "pathList": [
    string
  ],
  "excludePathList": [
    string
  ],

  // Union field _recursion can be only one of the following:
  "recursion": boolean
  // End of list of possible types for union field _recursion.
}
Fields
pathList[]

string

Optional. List of directory-paths to be pre-populated for the FlexCache volume.

excludePathList[]

string

Optional. List of directory-paths to be excluded for pre-population for the FlexCache volume.

Union field _recursion.

_recursion can be only one of the following:

recursion

boolean

Optional. Flag indicating whether the directories listed with the path_list need to be recursively pre-populated.

BlockDevice

JSON representation
{
  "hostGroups": [
    string
  ],
  "identifier": string,
  "osType": enum (OsType),

  // Union field _name can be only one of the following:
  "name": string
  // End of list of possible types for union field _name.

  // Union field _size_gib can be only one of the following:
  "sizeGib": string
  // End of list of possible types for union field _size_gib.
}
Fields
hostGroups[]

string

Optional. A list of host groups that identify hosts that can mount the block volume. Format: projects/{project}/locations/{location}/hostGroups/{host_group_id} This field can be updated after the block device is created.

identifier

string

Output only. Device identifier of the block volume. This represents lun_serial_number for iSCSI volumes.

osType

enum (OsType)

Required. Immutable. The OS type of the volume. This field can't be changed after the block device is created.

Union field _name.

_name can be only one of the following:

name

string

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 _size_gib.

_size_gib can be only one of the following:

sizeGib

string (int64 format)

Optional. The size of the block device in GiB. Any value provided for the size_gib field during volume creation is ignored. The block device's size is system-managed and will be set to match the parent Volume's capacity_gib.

LargeCapacityConfig

JSON representation
{
  "constituentCount": integer
}
Fields
constituentCount

integer

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

string

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

string

Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}

sharedSpaceGib

string (int64 format)

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: ❌