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.



3677
3678
3679
# File 'lib/google/apis/netapp_v1/classes.rb', line 3677

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)


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

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



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

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



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

def block_devices
  @block_devices
end

#cache_parametersGoogle::Apis::NetappV1::CacheParameters

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



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

def cache_parameters
  @cache_parameters
end

#capacity_gibFixnum

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

Returns:

  • (Fixnum)


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

def capacity_gib
  @capacity_gib
end

#clone_detailsGoogle::Apis::NetappV1::CloneDetails

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



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

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)


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

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)


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

def create_time
  @create_time
end

#descriptionString

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

Returns:

  • (String)


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

def description
  @description
end

#encryption_typeString

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

Returns:

  • (String)


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

def encryption_type
  @encryption_type
end

#export_policyGoogle::Apis::NetappV1::ExportPolicy

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



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

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)


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

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)


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

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



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

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)


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

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)


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

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


3522
3523
3524
# File 'lib/google/apis/netapp_v1/classes.rb', line 3522

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)


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

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



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

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)


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

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



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

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)


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

def multiple_endpoints
  @multiple_endpoints
end

#nameString

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

Returns:

  • (String)


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

def name
  @name
end

#networkString

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

Returns:

  • (String)


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

def network
  @network
end

#protocolsArray<String>

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

Returns:

  • (Array<String>)


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

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)


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

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)


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

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



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

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


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

def restricted_actions
  @restricted_actions
end

#security_styleString

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

Returns:

  • (String)


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

def security_style
  @security_style
end

#service_levelString

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

Returns:

  • (String)


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

def service_level
  @service_level
end

#share_nameString

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

Returns:

  • (String)


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

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


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

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)


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

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)


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

def snapshot_directory
  @snapshot_directory
end

#snapshot_policyGoogle::Apis::NetappV1::SnapshotPolicy

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



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

def snapshot_policy
  @snapshot_policy
end

#stateString

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

Returns:

  • (String)


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

def state
  @state
end

#state_detailsString

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

Returns:

  • (String)


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

def state_details
  @state_details
end

#storage_poolString

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

Returns:

  • (String)


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

def storage_pool
  @storage_pool
end

#throughput_mibpsFloat

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

Returns:

  • (Float)


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

def throughput_mibps
  @throughput_mibps
end

#tiering_policyGoogle::Apis::NetappV1::TieringPolicy

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



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

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)


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

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)


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

def used_gib
  @used_gib
end

#zoneString

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

Returns:

  • (String)


3675
3676
3677
# File 'lib/google/apis/netapp_v1/classes.rb', line 3675

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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
3722
3723
3724
3725
3726
3727
# File 'lib/google/apis/netapp_v1/classes.rb', line 3682

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