Class: Google::Apis::BaremetalsolutionV2::Volume

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

Overview

A storage volume.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Volume

Returns a new instance of Volume.



1684
1685
1686
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1684

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

Instance Attribute Details

#auto_grown_size_gibFixnum

The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. Corresponds to the JSON property autoGrownSizeGib

Returns:

  • (Fixnum)


1615
1616
1617
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1615

def auto_grown_size_gib
  @auto_grown_size_gib
end

#current_size_gibFixnum

The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. Corresponds to the JSON property currentSizeGib

Returns:

  • (Fixnum)


1622
1623
1624
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1622

def current_size_gib
  @current_size_gib
end

#idString

An identifier for the Volume, generated by the backend. Corresponds to the JSON property id

Returns:

  • (String)


1627
1628
1629
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1627

def id
  @id
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


1632
1633
1634
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1632

def labels
  @labels
end

#nameString

Output only. The resource name of this Volume. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/ resource_names. Format: projects/project/locations/location/volumes/ volume` Corresponds to the JSON propertyname`

Returns:

  • (String)


1640
1641
1642
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1640

def name
  @name
end

#remaining_space_gibFixnum

The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. Corresponds to the JSON property remainingSpaceGib

Returns:

  • (Fixnum)


1646
1647
1648
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1646

def remaining_space_gib
  @remaining_space_gib
end

#requested_size_gibFixnum

The requested size of this storage volume, in GiB. Corresponds to the JSON property requestedSizeGib

Returns:

  • (Fixnum)


1651
1652
1653
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1651

def requested_size_gib
  @requested_size_gib
end

#snapshot_auto_delete_behaviorString

The behavior to use when snapshot reserved space is full. Corresponds to the JSON property snapshotAutoDeleteBehavior

Returns:

  • (String)


1656
1657
1658
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1656

def snapshot_auto_delete_behavior
  @snapshot_auto_delete_behavior
end

#snapshot_enabledBoolean Also known as: snapshot_enabled?

Whether snapshots are enabled. Corresponds to the JSON property snapshotEnabled

Returns:

  • (Boolean)


1661
1662
1663
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1661

def snapshot_enabled
  @snapshot_enabled
end

#snapshot_reservation_detailGoogle::Apis::BaremetalsolutionV2::SnapshotReservationDetail

Details about snapshot space reservation and usage on the storage volume. Corresponds to the JSON property snapshotReservationDetail



1667
1668
1669
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1667

def snapshot_reservation_detail
  @snapshot_reservation_detail
end

#snapshot_schedule_policyString

The name of the snapshot schedule policy in use for this volume, if any. Corresponds to the JSON property snapshotSchedulePolicy

Returns:

  • (String)


1672
1673
1674
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1672

def snapshot_schedule_policy
  @snapshot_schedule_policy
end

#stateString

The state of this storage volume. Corresponds to the JSON property state

Returns:

  • (String)


1677
1678
1679
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1677

def state
  @state
end

#storage_typeString

The storage type for this volume. Corresponds to the JSON property storageType

Returns:

  • (String)


1682
1683
1684
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1682

def storage_type
  @storage_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 1689

def update!(**args)
  @auto_grown_size_gib = args[:auto_grown_size_gib] if args.key?(:auto_grown_size_gib)
  @current_size_gib = args[:current_size_gib] if args.key?(:current_size_gib)
  @id = args[:id] if args.key?(:id)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @remaining_space_gib = args[:remaining_space_gib] if args.key?(:remaining_space_gib)
  @requested_size_gib = args[:requested_size_gib] if args.key?(:requested_size_gib)
  @snapshot_auto_delete_behavior = args[:snapshot_auto_delete_behavior] if args.key?(:snapshot_auto_delete_behavior)
  @snapshot_enabled = args[:snapshot_enabled] if args.key?(:snapshot_enabled)
  @snapshot_reservation_detail = args[:snapshot_reservation_detail] if args.key?(:snapshot_reservation_detail)
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
  @state = args[:state] if args.key?(:state)
  @storage_type = args[:storage_type] if args.key?(:storage_type)
end