This is the preferred interface for creating Launch Configurations with Fugue. The new function is the best place to start.

Module Members



Create a reference to an externally managed LaunchConfiguration.

Example usage:

lc: AutoScaling.LaunchConfiguration.external("my-lc", AWS.Us-east-1)

Type Signature

 fun (String, Region) -> LaunchConfiguration
Argument: name
Type: String
Argument: region
Type: Region

A reference to the specified LaunchConfiguration.

Type: LaunchConfiguration



new AutoScaling Launch Configuration (Constructor)

Call this constructor to create a new Fugue.Core.AWS.AutoScaling.LaunchConfiguration value.


  AutoScaling.LaunchConfiguration.default with {
    image: "ami-080ae968",
    securityGroups: [demo-app-web-sg],
    instanceType: EC2.T2_micro,
    associatePublicIpAddress: True,
    iamInstanceProfile: demo-app-instance-profile

Type Signature

 fun { name: Optional<String>,
       keyName: Optional<String>,
       securityGroups: List<SecurityGroup>,
       userData: Optional<String>,
       userDataBin: Optional<Bytes>,
       instanceType: InstanceType,
       blockDeviceMappings: Optional<List<InstanceBlockDeviceMapping>>,
       instanceMonitoring: Optional<Bool>,
       spotPrice: Optional<String>,
       iamInstanceProfile: Optional<InstanceProfile>,
       ebsOptimized: Optional<Bool>,
       associatePublicIpAddress: Optional<Bool>,
       placementTenancy: Optional<Tenancy>,
       image: String} -> LaunchConfiguration
Argument: name

Optional name for the LaunchConfiguration. A unique name will be generated automatically if no name is provided. Note that if a name is provided it must be updated any time a change is made to the LaunchConfiguration.

Type: Optional<String>

Argument: keyName

The SSH key to install on the instance when launched.

Type: Optional<String>

Argument: securityGroups

The security groups to apply to the instance. At least one security group must be specified.

Type: List<SecurityGroup>

Argument: userData

The “userdata” string to launch the instance with.

Type: Optional<String>

Argument: userDataBin

The userdata, as bytes, to provide to instances. Required for sending gzip or multipart encoded userdata. Only one of userData or userDataBin may be specified.

Type: Optional<Bytes>

Argument: instanceType

The type of instance to launch.

Type: InstanceType

Argument: blockDeviceMappings

Block devices to launch the instance with, including EBS volumes and instance store volumes.

Type: Optional<List<InstanceBlockDeviceMapping>>

Argument: instanceMonitoring

Indicates whether to enable detailed instance monitoring. Defaults to True.

Type: Optional<Bool>

Argument: spotPrice

Spot price to bid for the instance. Supplying this value makes the instance a spot instance instead of on-demand or RI. Spot instances are not supported in GovCloud.

Type: Optional<String>

Argument: iamInstanceProfile

An instance profile to apply to the instance.

Type: Optional<InstanceProfile>

Argument: ebsOptimized

Indicates whether to launch the instance as EBS optimized. Basically, an EBS optimized instance uses a dedicated interface for EBS traffic. An instance without EBS optimization uses the same interface for both network and EBS traffic.

Type: Optional<Bool>

Argument: associatePublicIpAddress

Indicates whether to associate a public IP address with the instance on launch.

Type: Optional<Bool>

Argument: placementTenancy

A placement group in which to launch the instance, if desired.

Type: Optional<Tenancy>

Argument: image

The Amazon Machine Image (AMI) on which to base the instance.

Type: String


A Fugue.Core.AWS.AutoScaling.LaunchConfiguration value.

Type: LaunchConfiguration



  keyName: None
  userData: None
  blockDeviceMappings: None
  instanceMonitoring: Optional(True)
  spotPrice: None
  iamInstanceProfile: None
  ebsOptimized: Optional(False)
  associatePublicIpAddress: Optional(False)
  placementTenancy: None

AutoScaling Launch Configuration Specification (Default Values)