Class: AWSCDK::Autoscaling::BlockDeviceVolume

Inherits:
Jsii::Object
  • Object
show all
Defined in:
autoscaling/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:



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

def initialize(ebs_device = nil, virtual_name = nil)
  ebs_device = ebs_device.is_a?(Hash) ? ::AWSCDK::Autoscaling::EbsDeviceProps.new(**ebs_device.transform_keys(&:to_sym)) : ebs_device
  Jsii::Type.check_type(ebs_device, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXV0b3NjYWxpbmcuRWJzRGV2aWNlUHJvcHMifQ==")), "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::Autoscaling::BlockDeviceVolume

Creates a new Elastic Block Storage device.

Parameters:

Returns:

  • (AWSCDK::Autoscaling::BlockDeviceVolume)


29
30
31
32
33
34
# File 'autoscaling/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::Autoscaling::EbsDeviceOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXV0b3NjYWxpbmcuRWJzRGV2aWNlT3B0aW9ucyJ9")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_autoscaling.BlockDeviceVolume", "ebs", [volume_size, options])
end

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

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

Parameters:

Returns:

  • (AWSCDK::Autoscaling::BlockDeviceVolume)


41
42
43
44
45
46
# File 'autoscaling/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::Autoscaling::EbsDeviceSnapshotOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXV0b3NjYWxpbmcuRWJzRGV2aWNlU25hcHNob3RPcHRpb25zIn0=")), "options") unless options.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_autoscaling.BlockDeviceVolume", "ebsFromSnapshot", [snapshot_id, options])
end

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

Creates a virtual, ephemeral device.

The name will be in the form ephemeralvolumeIndex.

Parameters:

  • volume_index (Numeric)

    the volume index.

Returns:

  • (AWSCDK::Autoscaling::BlockDeviceVolume)


54
55
56
57
# File 'autoscaling/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_autoscaling.BlockDeviceVolume", "ephemeral", [volume_index])
end

.jsii_overridable_methodsObject



17
18
19
20
21
22
# File 'autoscaling/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

.no_deviceAWSCDK::Autoscaling::BlockDeviceVolume

Suppresses a volume mapping.

Returns:

  • (AWSCDK::Autoscaling::BlockDeviceVolume)


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

def self.no_device()
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_autoscaling.BlockDeviceVolume", "noDevice", [])
end

Instance Method Details

#ebs_deviceAWSCDK::Autoscaling::EbsDeviceProps?

EBS device info.



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

def ebs_device()
  jsii_get_property("ebsDevice")
end

#virtual_nameString?

Virtual device name.

Returns:

  • (String, nil)


76
77
78
# File 'autoscaling/block_device_volume.rb', line 76

def virtual_name()
  jsii_get_property("virtualName")
end