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.



2256
2257
2258
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2256

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)


2132
2133
2134
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2132

def auto_grown_size_gib
  @auto_grown_size_gib
end

#boot_volumeBoolean Also known as: boot_volume?

Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. Corresponds to the JSON property bootVolume

Returns:

  • (Boolean)


2138
2139
2140
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2138

def boot_volume
  @boot_volume
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)


2146
2147
2148
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2146

def current_size_gib
  @current_size_gib
end

#emergency_size_gibFixnum

Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. Corresponds to the JSON property emergencySizeGib

Returns:

  • (Fixnum)


2152
2153
2154
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2152

def emergency_size_gib
  @emergency_size_gib
end

#idString

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

Returns:

  • (String)


2157
2158
2159
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2157

def id
  @id
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


2162
2163
2164
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2162

def labels
  @labels
end

#max_size_gibFixnum

Maximum size volume can be expanded to in case of evergency, in GiB. Corresponds to the JSON property maxSizeGib

Returns:

  • (Fixnum)


2167
2168
2169
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2167

def max_size_gib
  @max_size_gib
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)


2175
2176
2177
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2175

def name
  @name
end

#notesString

Input only. User-specified notes for new Volume. Used to provision Volumes that require manual intervention. Corresponds to the JSON property notes

Returns:

  • (String)


2181
2182
2183
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2181

def notes
  @notes
end

#originally_requested_size_gibFixnum

Originally requested size, in GiB. Corresponds to the JSON property originallyRequestedSizeGib

Returns:

  • (Fixnum)


2186
2187
2188
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2186

def originally_requested_size_gib
  @originally_requested_size_gib
end

#performance_tierString

Immutable. Performance tier of the Volume. Default is SHARED. Corresponds to the JSON property performanceTier

Returns:

  • (String)


2191
2192
2193
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2191

def performance_tier
  @performance_tier
end

#podString

Immutable. Pod name. Corresponds to the JSON property pod

Returns:

  • (String)


2196
2197
2198
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2196

def pod
  @pod
end

#protocolString

Output only. Storage protocol for the Volume. Corresponds to the JSON property protocol

Returns:

  • (String)


2201
2202
2203
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2201

def protocol
  @protocol
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)


2207
2208
2209
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2207

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)


2212
2213
2214
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2212

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)


2217
2218
2219
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2217

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)


2222
2223
2224
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2222

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



2228
2229
2230
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2228

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)


2233
2234
2235
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2233

def snapshot_schedule_policy
  @snapshot_schedule_policy
end

#stateString

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

Returns:

  • (String)


2238
2239
2240
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2238

def state
  @state
end

#storage_aggregate_poolString

Input only. Name of the storage aggregate pool to allocate the volume in. Can be used only for VOLUME_PERFORMANCE_TIER_ASSIGNED volumes. Corresponds to the JSON property storageAggregatePool

Returns:

  • (String)


2244
2245
2246
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2244

def storage_aggregate_pool
  @storage_aggregate_pool
end

#storage_typeString

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

Returns:

  • (String)


2249
2250
2251
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2249

def storage_type
  @storage_type
end

#workload_profileString

The workload profile for the volume. Corresponds to the JSON property workloadProfile

Returns:

  • (String)


2254
2255
2256
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2254

def workload_profile
  @workload_profile
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2261

def update!(**args)
  @auto_grown_size_gib = args[:auto_grown_size_gib] if args.key?(:auto_grown_size_gib)
  @boot_volume = args[:boot_volume] if args.key?(:boot_volume)
  @current_size_gib = args[:current_size_gib] if args.key?(:current_size_gib)
  @emergency_size_gib = args[:emergency_size_gib] if args.key?(:emergency_size_gib)
  @id = args[:id] if args.key?(:id)
  @labels = args[:labels] if args.key?(:labels)
  @max_size_gib = args[:max_size_gib] if args.key?(:max_size_gib)
  @name = args[:name] if args.key?(:name)
  @notes = args[:notes] if args.key?(:notes)
  @originally_requested_size_gib = args[:originally_requested_size_gib] if args.key?(:originally_requested_size_gib)
  @performance_tier = args[:performance_tier] if args.key?(:performance_tier)
  @pod = args[:pod] if args.key?(:pod)
  @protocol = args[:protocol] if args.key?(:protocol)
  @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_aggregate_pool = args[:storage_aggregate_pool] if args.key?(:storage_aggregate_pool)
  @storage_type = args[:storage_type] if args.key?(:storage_type)
  @workload_profile = args[:workload_profile] if args.key?(:workload_profile)
end