Fugue.AWS.EC2.Volume

This is the preferred interface for making EBS Volumes with Fugue. The new function is the right place to start.

Module Members

external

(Function)

Create a reference to an externally managed Volume.

Example usage:

volume: EC2.Volume.external("vol-1234abcd", AWS.Us-east-1)

Type Signature

 fun (String, Region) -> Volume
Argument: volumeId

The ID of the target Volume. Must be of the form “vol-” followed by 8 characters from a-z and 0-9.

Type: String

Argument: region

The Region containing the target Volume.

Type: Region

Returns:

A reference to the specified Volume.

Type: Volume

new

(Function)

new EBS Volume (Constructor)

Call this constructor to create a new Fugue.Core.AWS.EC2.Volume value.

Type Signature

 fun { availabilityZone: AvailabilityZone,
       size: Optional<Int>,
       tags: Optional<List<Tag>>,
       volumeType: Optional<VolumeType>,
       iops: Optional<Int>,
       encrypted: Optional<Bool>,
       snapshot: Optional<String> } -> Volume
Argument: availabilityZone

The availability zone in which to place the volume.

Type: AvailabilityZone

Argument: size

The size of the volume in gibibytes (GiB). If nothing else is specified, this or snapshot must be specified.

Type: Optional<Int>

Argument: tags

The AWS tags to apply to the volume.

Type: Optional<List<Tag>>

Argument: volumeType

The type of volume, such as General Purpose or Provisioned IOPs.

Type: Optional<VolumeType>

Argument: iops

The IOPs to provision for the volume. If the volume is of the Provisioned IOPs type, this is required.

Type: Optional<Int>

Argument: encrypted

Whether or not the volume should be encrypted.

Type: Optional<Bool>

Argument: snapshot

A snapshot from which to create the volume. If nothing else is specified, this or size must be specified.

Type: Optional<String>

Returns:

A Fugue.Core.AWS.EC2.Volume value.

Type: Volume

Spec

(Type)

type Spec:
  size: Optional<Int>
  availabilityZone: AvailabilityZone
  tags: Optional<List<Tag>>
  volumeType: Optional<VolumeType>
  iops: Optional<Int>
  encrypted: Optional<Bool>
  snapshot: Optional<String>

EBS Volume Specification (Resource)

Record {

Field: size

The size of the volume in gibibytes (GiB). If nothing else is specified, this or snapshot must be specified.

Type: Optional<Int>

Field: availabilityZone

The availability zone in which to place the volume.

Type: AvailabilityZone

Field: tags

The AWS tags to apply to the volume.

Type: Optional<List<Tag>>

Field: volumeType

The type of volume, such as General Purpose or Provisioned IOPs.

Type: Optional<VolumeType>

Field: iops

The IOPs to provision for the volume. If the volume is of the Provisioned IOPs type, this is required.

Type: Optional<Int>

Field: encrypted

Whether or not the volume should be encrypted.

Type: Optional<Bool>

Field: snapshot

A snapshot from which to create the volume. If nothing else is specified, this or size must be specified.

Type: Optional<String>

}

default

(Value)

default:
  tags: None
  volumeType: None
  iops: None
  encrypted: None
  snapshot: None

EBS Volume Specification (Default Values)