class Google::Apis::BaremetalsolutionV1alpha1::VolumeConfig

Configuration parameters for a new volume.

Attributes

id[RW]

A transient unique identifier to identify a volume within an ProvisioningConfig request. Corresponds to the JSON property `id` @return [String]

location[RW]

Location where to deploy the volume. Corresponds to the JSON property `location` @return [String]

lun_ranges[RW]

LUN ranges to be configured. Set only when protocol is PROTOCOL_FC. Corresponds to the JSON property `lunRanges` @return [Array<Google::Apis::BaremetalsolutionV1alpha1::LunRange>]

machine_ids[RW]

Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC. Corresponds to the JSON property `machineIds` @return [Array<String>]

nfs_exports[RW]

NFS exports. Set only when protocol is PROTOCOL_NFS. Corresponds to the JSON property `nfsExports` @return [Array<Google::Apis::BaremetalsolutionV1alpha1::NfsExport>]

protocol[RW]

Volume protocol. Corresponds to the JSON property `protocol` @return [String]

size_gb[RW]

The requested size of this volume, in GB. This will be updated in a later iteration with a generic size field. Corresponds to the JSON property `sizeGb` @return [Fixnum]

snapshots_enabled[RW]

Whether snapshots should be enabled. Corresponds to the JSON property `snapshotsEnabled` @return [Boolean]

snapshots_enabled?[RW]

Whether snapshots should be enabled. Corresponds to the JSON property `snapshotsEnabled` @return [Boolean]

type[RW]

The type of this Volume. Corresponds to the JSON property `type` @return [String]

user_note[RW]

User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617). Corresponds to the JSON property `userNote` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/baremetalsolution_v1alpha1/classes.rb, line 1105
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/baremetalsolution_v1alpha1/classes.rb, line 1110
def update!(**args)
  @id = args[:id] if args.key?(:id)
  @location = args[:location] if args.key?(:location)
  @lun_ranges = args[:lun_ranges] if args.key?(:lun_ranges)
  @machine_ids = args[:machine_ids] if args.key?(:machine_ids)
  @nfs_exports = args[:nfs_exports] if args.key?(:nfs_exports)
  @protocol = args[:protocol] if args.key?(:protocol)
  @size_gb = args[:size_gb] if args.key?(:size_gb)
  @snapshots_enabled = args[:snapshots_enabled] if args.key?(:snapshots_enabled)
  @type = args[:type] if args.key?(:type)
  @user_note = args[:user_note] if args.key?(:user_note)
end