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.



3730
3731
3732
# File 'lib/google/apis/netapp_v1/classes.rb', line 3730

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)


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

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



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

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



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

def block_devices
  @block_devices
end

#cache_parametersGoogle::Apis::NetappV1::CacheParameters

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



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

def cache_parameters
  @cache_parameters
end

#capacity_gibFixnum

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

Returns:

  • (Fixnum)


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

def capacity_gib
  @capacity_gib
end

#clone_detailsGoogle::Apis::NetappV1::CloneDetails

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



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

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)


3520
3521
3522
# File 'lib/google/apis/netapp_v1/classes.rb', line 3520

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)


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

def create_time
  @create_time
end

#descriptionString

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

Returns:

  • (String)


3530
3531
3532
# File 'lib/google/apis/netapp_v1/classes.rb', line 3530

def description
  @description
end

#encryption_typeString

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

Returns:

  • (String)


3535
3536
3537
# File 'lib/google/apis/netapp_v1/classes.rb', line 3535

def encryption_type
  @encryption_type
end

#export_policyGoogle::Apis::NetappV1::ExportPolicy

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



3540
3541
3542
# File 'lib/google/apis/netapp_v1/classes.rb', line 3540

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)


3546
3547
3548
# File 'lib/google/apis/netapp_v1/classes.rb', line 3546

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)


3553
3554
3555
# File 'lib/google/apis/netapp_v1/classes.rb', line 3553

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



3558
3559
3560
# File 'lib/google/apis/netapp_v1/classes.rb', line 3558

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)


3564
3565
3566
# File 'lib/google/apis/netapp_v1/classes.rb', line 3564

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)


3570
3571
3572
# File 'lib/google/apis/netapp_v1/classes.rb', line 3570

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


3575
3576
3577
# File 'lib/google/apis/netapp_v1/classes.rb', line 3575

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)


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

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



3591
3592
3593
# File 'lib/google/apis/netapp_v1/classes.rb', line 3591

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)


3596
3597
3598
# File 'lib/google/apis/netapp_v1/classes.rb', line 3596

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



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

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)


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

def multiple_endpoints
  @multiple_endpoints
end

#nameString

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

Returns:

  • (String)


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

def name
  @name
end

#networkString

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

Returns:

  • (String)


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

def network
  @network
end

#protocolsArray<String>

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

Returns:

  • (Array<String>)


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

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)


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

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)


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

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



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

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


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

def restricted_actions
  @restricted_actions
end

#security_styleString

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

Returns:

  • (String)


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

def security_style
  @security_style
end

#service_levelString

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

Returns:

  • (String)


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

def service_level
  @service_level
end

#share_nameString

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

Returns:

  • (String)


3662
3663
3664
# File 'lib/google/apis/netapp_v1/classes.rb', line 3662

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


3667
3668
3669
# File 'lib/google/apis/netapp_v1/classes.rb', line 3667

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)


3673
3674
3675
# File 'lib/google/apis/netapp_v1/classes.rb', line 3673

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)


3680
3681
3682
# File 'lib/google/apis/netapp_v1/classes.rb', line 3680

def snapshot_directory
  @snapshot_directory
end

#snapshot_policyGoogle::Apis::NetappV1::SnapshotPolicy

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



3686
3687
3688
# File 'lib/google/apis/netapp_v1/classes.rb', line 3686

def snapshot_policy
  @snapshot_policy
end

#stateString

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

Returns:

  • (String)


3691
3692
3693
# File 'lib/google/apis/netapp_v1/classes.rb', line 3691

def state
  @state
end

#state_detailsString

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

Returns:

  • (String)


3696
3697
3698
# File 'lib/google/apis/netapp_v1/classes.rb', line 3696

def state_details
  @state_details
end

#storage_poolString

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

Returns:

  • (String)


3701
3702
3703
# File 'lib/google/apis/netapp_v1/classes.rb', line 3701

def storage_pool
  @storage_pool
end

#throughput_mibpsFloat

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

Returns:

  • (Float)


3706
3707
3708
# File 'lib/google/apis/netapp_v1/classes.rb', line 3706

def throughput_mibps
  @throughput_mibps
end

#tiering_policyGoogle::Apis::NetappV1::TieringPolicy

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



3711
3712
3713
# File 'lib/google/apis/netapp_v1/classes.rb', line 3711

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)


3717
3718
3719
# File 'lib/google/apis/netapp_v1/classes.rb', line 3717

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)


3723
3724
3725
# File 'lib/google/apis/netapp_v1/classes.rb', line 3723

def used_gib
  @used_gib
end

#zoneString

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

Returns:

  • (String)


3728
3729
3730
# File 'lib/google/apis/netapp_v1/classes.rb', line 3728

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
# File 'lib/google/apis/netapp_v1/classes.rb', line 3735

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