Class: Google::Apis::NetappV1::Volume

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/netapp_v1/classes.rb,
lib/google/apis/netapp_v1/representations.rb,
lib/google/apis/netapp_v1/representations.rb

Overview

Volume provides a filesystem that you can mount.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Volume

Returns a new instance of Volume.



3489
3490
3491
# File 'lib/google/apis/netapp_v1/classes.rb', line 3489

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#active_directoryString

Output only. Specifies the ActiveDirectory name of a SMB volume. Corresponds to the JSON property activeDirectory

Returns:

  • (String)


3248
3249
3250
# File 'lib/google/apis/netapp_v1/classes.rb', line 3248

def active_directory
  @active_directory
end

#backup_configGoogle::Apis::NetappV1::BackupConfig

BackupConfig contains backup related config on a volume. Corresponds to the JSON property backupConfig



3253
3254
3255
# File 'lib/google/apis/netapp_v1/classes.rb', line 3253

def backup_config
  @backup_config
end

#block_devicesArray<Google::Apis::NetappV1::BlockDevice>

Optional. Block devices for the volume. Currently, only one block device is permitted per Volume. Corresponds to the JSON property blockDevices



3259
3260
3261
# File 'lib/google/apis/netapp_v1/classes.rb', line 3259

def block_devices
  @block_devices
end

#cache_parametersGoogle::Apis::NetappV1::CacheParameters

Cache Parameters for the volume. Corresponds to the JSON property cacheParameters



3264
3265
3266
# File 'lib/google/apis/netapp_v1/classes.rb', line 3264

def cache_parameters
  @cache_parameters
end

#capacity_gibFixnum

Required. Capacity in GIB of the volume Corresponds to the JSON property capacityGib

Returns:

  • (Fixnum)


3269
3270
3271
# File 'lib/google/apis/netapp_v1/classes.rb', line 3269

def capacity_gib
  @capacity_gib
end

#clone_detailsGoogle::Apis::NetappV1::CloneDetails

Details about a clone volume. Corresponds to the JSON property cloneDetails



3274
3275
3276
# File 'lib/google/apis/netapp_v1/classes.rb', line 3274

def clone_details
  @clone_details
end

#cold_tier_size_gibFixnum

Output only. Size of the volume cold tier data rounded down to the nearest GiB. Corresponds to the JSON property coldTierSizeGib

Returns:

  • (Fixnum)


3279
3280
3281
# File 'lib/google/apis/netapp_v1/classes.rb', line 3279

def cold_tier_size_gib
  @cold_tier_size_gib
end

#create_timeString

Output only. Create time of the volume Corresponds to the JSON property createTime

Returns:

  • (String)


3284
3285
3286
# File 'lib/google/apis/netapp_v1/classes.rb', line 3284

def create_time
  @create_time
end

#descriptionString

Optional. Description of the volume Corresponds to the JSON property description

Returns:

  • (String)


3289
3290
3291
# File 'lib/google/apis/netapp_v1/classes.rb', line 3289

def description
  @description
end

#encryption_typeString

Output only. Specified the current volume encryption key source. Corresponds to the JSON property encryptionType

Returns:

  • (String)


3294
3295
3296
# File 'lib/google/apis/netapp_v1/classes.rb', line 3294

def encryption_type
  @encryption_type
end

#export_policyGoogle::Apis::NetappV1::ExportPolicy

Defines the export policy for the volume. Corresponds to the JSON property exportPolicy



3299
3300
3301
# File 'lib/google/apis/netapp_v1/classes.rb', line 3299

def export_policy
  @export_policy
end

#has_replicationBoolean Also known as: has_replication?

Output only. Indicates whether the volume is part of a replication relationship. Corresponds to the JSON property hasReplication

Returns:

  • (Boolean)


3305
3306
3307
# File 'lib/google/apis/netapp_v1/classes.rb', line 3305

def has_replication
  @has_replication
end

#hot_tier_size_used_gibFixnum

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 Corresponds to the JSON property hotTierSizeUsedGib

Returns:

  • (Fixnum)


3312
3313
3314
# File 'lib/google/apis/netapp_v1/classes.rb', line 3312

def hot_tier_size_used_gib
  @hot_tier_size_used_gib
end

#hybrid_replication_parametersGoogle::Apis::NetappV1::HybridReplicationParameters

The Hybrid Replication parameters for the volume. Corresponds to the JSON property hybridReplicationParameters



3317
3318
3319
# File 'lib/google/apis/netapp_v1/classes.rb', line 3317

def hybrid_replication_parameters
  @hybrid_replication_parameters
end

#kerberos_enabledBoolean Also known as: kerberos_enabled?

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

Returns:

  • (Boolean)


3323
3324
3325
# File 'lib/google/apis/netapp_v1/classes.rb', line 3323

def kerberos_enabled
  @kerberos_enabled
end

#kms_configString

Output only. Specifies the KMS config to be used for volume encryption. Corresponds to the JSON property kmsConfig

Returns:

  • (String)


3329
3330
3331
# File 'lib/google/apis/netapp_v1/classes.rb', line 3329

def kms_config
  @kms_config
end

#labelsHash<String,String>

Optional. Labels as key value pairs Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3334
3335
3336
# File 'lib/google/apis/netapp_v1/classes.rb', line 3334

def labels
  @labels
end

#large_capacityBoolean Also known as: large_capacity?

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. Corresponds to the JSON property largeCapacity

Returns:

  • (Boolean)


3342
3343
3344
# File 'lib/google/apis/netapp_v1/classes.rb', line 3342

def large_capacity
  @large_capacity
end

#large_capacity_configGoogle::Apis::NetappV1::LargeCapacityConfig

Configuration for a Large Capacity Volume. A Large Capacity Volume supports sizes ranging from 4.8 TiB to 20 PiB, it is composed of multiple internal constituents, and must be created in a large capacity pool. Corresponds to the JSON property largeCapacityConfig



3350
3351
3352
# File 'lib/google/apis/netapp_v1/classes.rb', line 3350

def large_capacity_config
  @large_capacity_config
end

#ldap_enabledBoolean Also known as: ldap_enabled?

Output only. Flag indicating if the volume is NFS LDAP enabled or not. Corresponds to the JSON property ldapEnabled

Returns:

  • (Boolean)


3355
3356
3357
# File 'lib/google/apis/netapp_v1/classes.rb', line 3355

def ldap_enabled
  @ldap_enabled
end

#mount_optionsArray<Google::Apis::NetappV1::MountOption>

Output only. Mount options of this volume Corresponds to the JSON property mountOptions



3361
3362
3363
# File 'lib/google/apis/netapp_v1/classes.rb', line 3361

def mount_options
  @mount_options
end

#multiple_endpointsBoolean Also known as: multiple_endpoints?

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. Corresponds to the JSON property multipleEndpoints

Returns:

  • (Boolean)


3368
3369
3370
# File 'lib/google/apis/netapp_v1/classes.rb', line 3368

def multiple_endpoints
  @multiple_endpoints
end

#nameString

Identifier. Name of the volume Corresponds to the JSON property name

Returns:

  • (String)


3374
3375
3376
# File 'lib/google/apis/netapp_v1/classes.rb', line 3374

def name
  @name
end

#networkString

Output only. VPC Network name. Format: projects/project/global/networks/ network Corresponds to the JSON property network

Returns:

  • (String)


3380
3381
3382
# File 'lib/google/apis/netapp_v1/classes.rb', line 3380

def network
  @network
end

#protocolsArray<String>

Required. Protocols required for the volume Corresponds to the JSON property protocols

Returns:

  • (Array<String>)


3385
3386
3387
# File 'lib/google/apis/netapp_v1/classes.rb', line 3385

def protocols
  @protocols
end

#psa_rangeString

Output only. This field is not implemented. The values provided in this field are ignored. Corresponds to the JSON property psaRange

Returns:

  • (String)


3391
3392
3393
# File 'lib/google/apis/netapp_v1/classes.rb', line 3391

def psa_range
  @psa_range
end

#replica_zoneString

Output only. Specifies the replica zone for regional volume. Corresponds to the JSON property replicaZone

Returns:

  • (String)


3396
3397
3398
# File 'lib/google/apis/netapp_v1/classes.rb', line 3396

def replica_zone
  @replica_zone
end

#restore_parametersGoogle::Apis::NetappV1::RestoreParameters

The RestoreParameters if volume is created from a snapshot or backup. Corresponds to the JSON property restoreParameters



3401
3402
3403
# File 'lib/google/apis/netapp_v1/classes.rb', line 3401

def restore_parameters
  @restore_parameters
end

#restricted_actionsArray<String>

Optional. List of actions that are restricted on this volume. Corresponds to the JSON property restrictedActions

Returns:

  • (Array<String>)


3406
3407
3408
# File 'lib/google/apis/netapp_v1/classes.rb', line 3406

def restricted_actions
  @restricted_actions
end

#security_styleString

Optional. Security Style of the Volume Corresponds to the JSON property securityStyle

Returns:

  • (String)


3411
3412
3413
# File 'lib/google/apis/netapp_v1/classes.rb', line 3411

def security_style
  @security_style
end

#service_levelString

Output only. Service level of the volume Corresponds to the JSON property serviceLevel

Returns:

  • (String)


3416
3417
3418
# File 'lib/google/apis/netapp_v1/classes.rb', line 3416

def service_level
  @service_level
end

#share_nameString

Required. Share name of the volume Corresponds to the JSON property shareName

Returns:

  • (String)


3421
3422
3423
# File 'lib/google/apis/netapp_v1/classes.rb', line 3421

def share_name
  @share_name
end

#smb_settingsArray<String>

Optional. SMB share settings for the volume. Corresponds to the JSON property smbSettings

Returns:

  • (Array<String>)


3426
3427
3428
# File 'lib/google/apis/netapp_v1/classes.rb', line 3426

def smb_settings
  @smb_settings
end

#snap_reserveFloat

Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent. Corresponds to the JSON property snapReserve

Returns:

  • (Float)


3432
3433
3434
# File 'lib/google/apis/netapp_v1/classes.rb', line 3432

def snap_reserve
  @snap_reserve
end

#snapshot_directoryBoolean Also known as: snapshot_directory?

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. Corresponds to the JSON property snapshotDirectory

Returns:

  • (Boolean)


3439
3440
3441
# File 'lib/google/apis/netapp_v1/classes.rb', line 3439

def snapshot_directory
  @snapshot_directory
end

#snapshot_policyGoogle::Apis::NetappV1::SnapshotPolicy

Snapshot Policy for a volume. Corresponds to the JSON property snapshotPolicy



3445
3446
3447
# File 'lib/google/apis/netapp_v1/classes.rb', line 3445

def snapshot_policy
  @snapshot_policy
end

#stateString

Output only. State of the volume Corresponds to the JSON property state

Returns:

  • (String)


3450
3451
3452
# File 'lib/google/apis/netapp_v1/classes.rb', line 3450

def state
  @state
end

#state_detailsString

Output only. State details of the volume Corresponds to the JSON property stateDetails

Returns:

  • (String)


3455
3456
3457
# File 'lib/google/apis/netapp_v1/classes.rb', line 3455

def state_details
  @state_details
end

#storage_poolString

Required. StoragePool name of the volume Corresponds to the JSON property storagePool

Returns:

  • (String)


3460
3461
3462
# File 'lib/google/apis/netapp_v1/classes.rb', line 3460

def storage_pool
  @storage_pool
end

#throughput_mibpsFloat

Optional. Throughput of the volume (in MiB/s) Corresponds to the JSON property throughputMibps

Returns:

  • (Float)


3465
3466
3467
# File 'lib/google/apis/netapp_v1/classes.rb', line 3465

def throughput_mibps
  @throughput_mibps
end

#tiering_policyGoogle::Apis::NetappV1::TieringPolicy

Defines tiering policy for the volume. Corresponds to the JSON property tieringPolicy



3470
3471
3472
# File 'lib/google/apis/netapp_v1/classes.rb', line 3470

def tiering_policy
  @tiering_policy
end

#unix_permissionsString

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

Returns:

  • (String)


3476
3477
3478
# File 'lib/google/apis/netapp_v1/classes.rb', line 3476

def unix_permissions
  @unix_permissions
end

#used_gibFixnum

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

Returns:

  • (Fixnum)


3482
3483
3484
# File 'lib/google/apis/netapp_v1/classes.rb', line 3482

def used_gib
  @used_gib
end

#zoneString

Output only. Specifies the active zone for regional volume. Corresponds to the JSON property zone

Returns:

  • (String)


3487
3488
3489
# File 'lib/google/apis/netapp_v1/classes.rb', line 3487

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
# File 'lib/google/apis/netapp_v1/classes.rb', line 3494

def update!(**args)
  @active_directory = args[:active_directory] if args.key?(:active_directory)
  @backup_config = args[:backup_config] if args.key?(:backup_config)
  @block_devices = args[:block_devices] if args.key?(:block_devices)
  @cache_parameters = args[:cache_parameters] if args.key?(:cache_parameters)
  @capacity_gib = args[:capacity_gib] if args.key?(:capacity_gib)
  @clone_details = args[:clone_details] if args.key?(:clone_details)
  @cold_tier_size_gib = args[:cold_tier_size_gib] if args.key?(:cold_tier_size_gib)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @encryption_type = args[:encryption_type] if args.key?(:encryption_type)
  @export_policy = args[:export_policy] if args.key?(:export_policy)
  @has_replication = args[:has_replication] if args.key?(:has_replication)
  @hot_tier_size_used_gib = args[:hot_tier_size_used_gib] if args.key?(:hot_tier_size_used_gib)
  @hybrid_replication_parameters = args[:hybrid_replication_parameters] if args.key?(:hybrid_replication_parameters)
  @kerberos_enabled = args[:kerberos_enabled] if args.key?(:kerberos_enabled)
  @kms_config = args[:kms_config] if args.key?(:kms_config)
  @labels = args[:labels] if args.key?(:labels)
  @large_capacity = args[:large_capacity] if args.key?(:large_capacity)
  @large_capacity_config = args[:large_capacity_config] if args.key?(:large_capacity_config)
  @ldap_enabled = args[:ldap_enabled] if args.key?(:ldap_enabled)
  @mount_options = args[:mount_options] if args.key?(:mount_options)
  @multiple_endpoints = args[:multiple_endpoints] if args.key?(:multiple_endpoints)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @protocols = args[:protocols] if args.key?(:protocols)
  @psa_range = args[:psa_range] if args.key?(:psa_range)
  @replica_zone = args[:replica_zone] if args.key?(:replica_zone)
  @restore_parameters = args[:restore_parameters] if args.key?(:restore_parameters)
  @restricted_actions = args[:restricted_actions] if args.key?(:restricted_actions)
  @security_style = args[:security_style] if args.key?(:security_style)
  @service_level = args[:service_level] if args.key?(:service_level)
  @share_name = args[:share_name] if args.key?(:share_name)
  @smb_settings = args[:smb_settings] if args.key?(:smb_settings)
  @snap_reserve = args[:snap_reserve] if args.key?(:snap_reserve)
  @snapshot_directory = args[:snapshot_directory] if args.key?(:snapshot_directory)
  @snapshot_policy = args[:snapshot_policy] if args.key?(:snapshot_policy)
  @state = args[:state] if args.key?(:state)
  @state_details = args[:state_details] if args.key?(:state_details)
  @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
  @throughput_mibps = args[:throughput_mibps] if args.key?(:throughput_mibps)
  @tiering_policy = args[:tiering_policy] if args.key?(:tiering_policy)
  @unix_permissions = args[:unix_permissions] if args.key?(:unix_permissions)
  @used_gib = args[:used_gib] if args.key?(:used_gib)
  @zone = args[:zone] if args.key?(:zone)
end