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.



3671
3672
3673
# File 'lib/google/apis/netapp_v1/classes.rb', line 3671

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)


3430
3431
3432
# File 'lib/google/apis/netapp_v1/classes.rb', line 3430

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



3435
3436
3437
# File 'lib/google/apis/netapp_v1/classes.rb', line 3435

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



3441
3442
3443
# File 'lib/google/apis/netapp_v1/classes.rb', line 3441

def block_devices
  @block_devices
end

#cache_parametersGoogle::Apis::NetappV1::CacheParameters

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



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

def cache_parameters
  @cache_parameters
end

#capacity_gibFixnum

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

Returns:

  • (Fixnum)


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

def capacity_gib
  @capacity_gib
end

#clone_detailsGoogle::Apis::NetappV1::CloneDetails

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



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

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)


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

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)


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

def create_time
  @create_time
end

#descriptionString

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

Returns:

  • (String)


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

def description
  @description
end

#encryption_typeString

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

Returns:

  • (String)


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

def encryption_type
  @encryption_type
end

#export_policyGoogle::Apis::NetappV1::ExportPolicy

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



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

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)


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

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)


3494
3495
3496
# File 'lib/google/apis/netapp_v1/classes.rb', line 3494

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



3499
3500
3501
# File 'lib/google/apis/netapp_v1/classes.rb', line 3499

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)


3505
3506
3507
# File 'lib/google/apis/netapp_v1/classes.rb', line 3505

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)


3511
3512
3513
# File 'lib/google/apis/netapp_v1/classes.rb', line 3511

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>)


3516
3517
3518
# File 'lib/google/apis/netapp_v1/classes.rb', line 3516

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)


3524
3525
3526
# File 'lib/google/apis/netapp_v1/classes.rb', line 3524

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



3532
3533
3534
# File 'lib/google/apis/netapp_v1/classes.rb', line 3532

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)


3537
3538
3539
# File 'lib/google/apis/netapp_v1/classes.rb', line 3537

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



3543
3544
3545
# File 'lib/google/apis/netapp_v1/classes.rb', line 3543

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)


3550
3551
3552
# File 'lib/google/apis/netapp_v1/classes.rb', line 3550

def multiple_endpoints
  @multiple_endpoints
end

#nameString

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

Returns:

  • (String)


3556
3557
3558
# File 'lib/google/apis/netapp_v1/classes.rb', line 3556

def name
  @name
end

#networkString

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

Returns:

  • (String)


3562
3563
3564
# File 'lib/google/apis/netapp_v1/classes.rb', line 3562

def network
  @network
end

#protocolsArray<String>

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

Returns:

  • (Array<String>)


3567
3568
3569
# File 'lib/google/apis/netapp_v1/classes.rb', line 3567

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)


3573
3574
3575
# File 'lib/google/apis/netapp_v1/classes.rb', line 3573

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)


3578
3579
3580
# File 'lib/google/apis/netapp_v1/classes.rb', line 3578

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



3583
3584
3585
# File 'lib/google/apis/netapp_v1/classes.rb', line 3583

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>)


3588
3589
3590
# File 'lib/google/apis/netapp_v1/classes.rb', line 3588

def restricted_actions
  @restricted_actions
end

#security_styleString

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

Returns:

  • (String)


3593
3594
3595
# File 'lib/google/apis/netapp_v1/classes.rb', line 3593

def security_style
  @security_style
end

#service_levelString

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

Returns:

  • (String)


3598
3599
3600
# File 'lib/google/apis/netapp_v1/classes.rb', line 3598

def service_level
  @service_level
end

#share_nameString

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

Returns:

  • (String)


3603
3604
3605
# File 'lib/google/apis/netapp_v1/classes.rb', line 3603

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>)


3608
3609
3610
# File 'lib/google/apis/netapp_v1/classes.rb', line 3608

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)


3614
3615
3616
# File 'lib/google/apis/netapp_v1/classes.rb', line 3614

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)


3621
3622
3623
# File 'lib/google/apis/netapp_v1/classes.rb', line 3621

def snapshot_directory
  @snapshot_directory
end

#snapshot_policyGoogle::Apis::NetappV1::SnapshotPolicy

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



3627
3628
3629
# File 'lib/google/apis/netapp_v1/classes.rb', line 3627

def snapshot_policy
  @snapshot_policy
end

#stateString

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

Returns:

  • (String)


3632
3633
3634
# File 'lib/google/apis/netapp_v1/classes.rb', line 3632

def state
  @state
end

#state_detailsString

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

Returns:

  • (String)


3637
3638
3639
# File 'lib/google/apis/netapp_v1/classes.rb', line 3637

def state_details
  @state_details
end

#storage_poolString

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

Returns:

  • (String)


3642
3643
3644
# File 'lib/google/apis/netapp_v1/classes.rb', line 3642

def storage_pool
  @storage_pool
end

#throughput_mibpsFloat

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

Returns:

  • (Float)


3647
3648
3649
# File 'lib/google/apis/netapp_v1/classes.rb', line 3647

def throughput_mibps
  @throughput_mibps
end

#tiering_policyGoogle::Apis::NetappV1::TieringPolicy

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



3652
3653
3654
# File 'lib/google/apis/netapp_v1/classes.rb', line 3652

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)


3658
3659
3660
# File 'lib/google/apis/netapp_v1/classes.rb', line 3658

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)


3664
3665
3666
# File 'lib/google/apis/netapp_v1/classes.rb', line 3664

def used_gib
  @used_gib
end

#zoneString

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

Returns:

  • (String)


3669
3670
3671
# File 'lib/google/apis/netapp_v1/classes.rb', line 3669

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
# File 'lib/google/apis/netapp_v1/classes.rb', line 3676

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