Class: Google::Apis::BaremetalsolutionV2::VolumeConfig

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

Configuration parameters for a new volume.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VolumeConfig

Returns a new instance of VolumeConfig.



2592
2593
2594
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2592

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

Instance Attribute Details

#gcp_serviceString

The GCP service of the storage volume. Available gcp_service are in https:// cloud.google.com/bare-metal/docs/bms-planning. Corresponds to the JSON property gcpService

Returns:

  • (String)


2526
2527
2528
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2526

def gcp_service
  @gcp_service
end

#idString

A transient unique identifier to identify a volume within an ProvisioningConfig request. Corresponds to the JSON property id

Returns:

  • (String)


2532
2533
2534
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2532

def id
  @id
end

#lun_rangesArray<Google::Apis::BaremetalsolutionV2::LunRange>

LUN ranges to be configured. Set only when protocol is PROTOCOL_FC. Corresponds to the JSON property lunRanges



2537
2538
2539
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2537

def lun_ranges
  @lun_ranges
end

#machine_idsArray<String>

Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC. Corresponds to the JSON property machineIds

Returns:

  • (Array<String>)


2542
2543
2544
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2542

def machine_ids
  @machine_ids
end

#nameString

Output only. The name of the volume config. Corresponds to the JSON property name

Returns:

  • (String)


2547
2548
2549
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2547

def name
  @name
end

#nfs_exportsArray<Google::Apis::BaremetalsolutionV2::NfsExport>

NFS exports. Set only when protocol is PROTOCOL_NFS. Corresponds to the JSON property nfsExports



2552
2553
2554
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2552

def nfs_exports
  @nfs_exports
end

#performance_tierString

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

Returns:

  • (String)


2557
2558
2559
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2557

def performance_tier
  @performance_tier
end

#protocolString

Volume protocol. Corresponds to the JSON property protocol

Returns:

  • (String)


2562
2563
2564
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2562

def protocol
  @protocol
end

#size_gbFixnum

The requested size of this volume, in GB. Corresponds to the JSON property sizeGb

Returns:

  • (Fixnum)


2567
2568
2569
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2567

def size_gb
  @size_gb
end

#snapshots_enabledBoolean Also known as: snapshots_enabled?

Whether snapshots should be enabled. Corresponds to the JSON property snapshotsEnabled

Returns:

  • (Boolean)


2572
2573
2574
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2572

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


2579
2580
2581
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2579

def storage_aggregate_pool
  @storage_aggregate_pool
end

#typeString

The type of this Volume. Corresponds to the JSON property type

Returns:

  • (String)


2584
2585
2586
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2584

def type
  @type
end

#user_noteString

User note field, it can be used by customers to add additional information for the BMS Ops team . Corresponds to the JSON property userNote

Returns:

  • (String)


2590
2591
2592
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2590

def user_note
  @user_note
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 2597

def update!(**args)
  @gcp_service = args[:gcp_service] if args.key?(:gcp_service)
  @id = args[:id] if args.key?(:id)
  @lun_ranges = args[:lun_ranges] if args.key?(:lun_ranges)
  @machine_ids = args[:machine_ids] if args.key?(:machine_ids)
  @name = args[:name] if args.key?(:name)
  @nfs_exports = args[:nfs_exports] if args.key?(:nfs_exports)
  @performance_tier = args[:performance_tier] if args.key?(:performance_tier)
  @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)
  @storage_aggregate_pool = args[:storage_aggregate_pool] if args.key?(:storage_aggregate_pool)
  @type = args[:type] if args.key?(:type)
  @user_note = args[:user_note] if args.key?(:user_note)
end