Class: AWSCDK::EC2::BlockDeviceVolume

Inherits:
Jsii::Object
  • Object
show all
Defined in:
ec2/block_device_volume.rb

Overview

Describes a block device mapping for an EC2 instance or Auto Scaling group.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ebs_device = nil, virtual_name = nil) ⇒ BlockDeviceVolume

Returns a new instance of BlockDeviceVolume.

Parameters:

  • ebs_device (AWSCDK::EC2::EbsDeviceProps, nil) (defaults to: nil)

    EBS device info.

  • virtual_name (String, nil) (defaults to: nil)

    Virtual device name.



10
11
12
13
14
15
# File 'ec2/block_device_volume.rb', line 10

def initialize(ebs_device = nil, virtual_name = nil)
  ebs_device = ebs_device.is_a?(Hash) ? ::AWSCDK::EC2::EbsDeviceProps.new(**ebs_device.transform_keys(&:to_sym)) : ebs_device
  Jsii::Type.check_type(ebs_device, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkVic0RldmljZVByb3BzIn0=")), "ebsDevice") unless ebs_device.nil?
  Jsii::Type.check_type(virtual_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "virtualName") unless virtual_name.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(ebs_device, virtual_name)
end

Class Method Details

.ebs(volume_size, options = nil) ⇒ AWSCDK::EC2::BlockDeviceVolume

Creates a new Elastic Block Storage device.

Parameters:

  • volume_size (Numeric)

    The volume size, in Gibibytes (GiB).

  • options (AWSCDK::EC2::EbsDeviceOptions, nil) (defaults to: nil)

    additional device options.

Returns:

  • (AWSCDK::EC2::BlockDeviceVolume)


29
30
31
32
33
34
# File 'ec2/block_device_volume.rb', line 29

def self.ebs(volume_size, options = nil)
  Jsii::Type.check_type(volume_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "volumeSize")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::EbsDeviceOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkVic0RldmljZU9wdGlvbnMifQ==")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.BlockDeviceVolume", "ebs", [volume_size, options])
end

.ebs_from_snapshot(snapshot_id, options = nil) ⇒ AWSCDK::EC2::BlockDeviceVolume

Creates a new Elastic Block Storage device from an existing snapshot.

Parameters:

Returns:

  • (AWSCDK::EC2::BlockDeviceVolume)


41
42
43
44
45
46
# File 'ec2/block_device_volume.rb', line 41

def self.ebs_from_snapshot(snapshot_id, options = nil)
  Jsii::Type.check_type(snapshot_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotId")
  options = options.is_a?(Hash) ? ::AWSCDK::EC2::EbsDeviceSnapshotOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkVic0RldmljZVNuYXBzaG90T3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.BlockDeviceVolume", "ebsFromSnapshot", [snapshot_id, options])
end

.ephemeral(volume_index) ⇒ AWSCDK::EC2::BlockDeviceVolume

Creates a virtual, ephemeral device.

The name will be in the form ephemeralvolumeIndex.

Parameters:

  • volume_index (Numeric)

    the volume index.

Returns:

  • (AWSCDK::EC2::BlockDeviceVolume)


54
55
56
57
# File 'ec2/block_device_volume.rb', line 54

def self.ephemeral(volume_index)
  Jsii::Type.check_type(volume_index, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "volumeIndex")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.BlockDeviceVolume", "ephemeral", [volume_index])
end

.jsii_overridable_methodsObject



17
18
19
20
21
22
# File 'ec2/block_device_volume.rb', line 17

def self.jsii_overridable_methods
  {
    :ebs_device => { kind: :property, name: "ebsDevice", is_optional: true },
    :virtual_name => { kind: :property, name: "virtualName", is_optional: true },
  }
end

Instance Method Details

#ebs_deviceAWSCDK::EC2::EbsDeviceProps?

EBS device info.

Returns:



62
63
64
# File 'ec2/block_device_volume.rb', line 62

def ebs_device()
  jsii_get_property("ebsDevice")
end

#virtual_nameString?

Virtual device name.

Returns:

  • (String, nil)


69
70
71
# File 'ec2/block_device_volume.rb', line 69

def virtual_name()
  jsii_get_property("virtualName")
end