stratosphere-0.2.0: EDSL for AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Stratosphere.Resources.EC2Instance

Description

The AWS::EC2::Instance type creates an Amazon EC2 instance. If an Elastic IP address is attached to your instance, AWS CloudFormation reattaches the Elastic IP address after it updates the instance. For more information about updating stacks, see AWS CloudFormation Stacks Updates.

Synopsis

Documentation

data EC2Instance Source #

Full data type definition for EC2Instance. See ec2Instance for a more convenient constructor.

Instances

Show EC2Instance Source # 
Generic EC2Instance Source # 

Associated Types

type Rep EC2Instance :: * -> * #

ToJSON EC2Instance Source # 
FromJSON EC2Instance Source # 
type Rep EC2Instance Source # 
type Rep EC2Instance = D1 (MetaData "EC2Instance" "Stratosphere.Resources.EC2Instance" "stratosphere-0.2.0-B1WeL9cnxuQ3qer3csMa6f" False) (C1 (MetaCons "EC2Instance" PrefixI True) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceAvailabilityZone") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceBlockDeviceMappings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [EC2BlockDeviceMapping]))) (S1 (MetaSel (Just Symbol "_eC2InstanceDisableApiTermination") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Bool')))))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceEbsOptimized") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Bool')))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceIamInstanceProfile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_eC2InstanceImageId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceInstanceInitiatedShutdownBehavior") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceInstanceType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_eC2InstanceKernelId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceKeyName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceMonitoring") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Bool')))) (S1 (MetaSel (Just Symbol "_eC2InstanceNetworkInterfaces") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [NetworkInterface]))))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstancePlacementGroupName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstancePrivateIpAddress") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_eC2InstanceRamdiskId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceSecurityGroupIds") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceSecurityGroups") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))) (S1 (MetaSel (Just Symbol "_eC2InstanceSourceDestCheck") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Bool'))))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceSsmAssociations") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [EC2SsmAssociations]))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceSubnetId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_eC2InstanceTags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [ResourceTag]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceTenancy") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_eC2InstanceUserData") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text))))) ((:*:) (S1 (MetaSel (Just Symbol "_eC2InstanceVolumes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [EC2MountPoint]))) (S1 (MetaSel (Just Symbol "_eC2InstanceAdditionalInfo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text))))))))))

ec2Instance Source #

Constructor for EC2Instance containing required fields as arguments.

eciAvailabilityZone :: Lens' EC2Instance (Maybe (Val Text)) Source #

Specifies the name of the Availability Zone in which the instance is located. For more information about AWS regions and Availability Zones, see Regions and Availability Zones in the Amazon EC2 User Guide.

eciBlockDeviceMappings :: Lens' EC2Instance (Maybe [EC2BlockDeviceMapping]) Source #

Defines a set of Amazon Elastic Block Store block device mappings, ephemeral instance store block device mappings, or both. For more information, see Amazon Elastic Block Store or Amazon EC2 Instance Store in the Amazon EC2 User Guide for Linux Instances.

eciDisableApiTermination :: Lens' EC2Instance (Maybe (Val Bool')) Source #

Specifies whether the instance can be terminated through the API.

eciEbsOptimized :: Lens' EC2Instance (Maybe (Val Bool')) Source #

Specifies whether the instance is optimized for Amazon Elastic Block Store I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. For more information about the instance types that can be launched as Amazon EBS optimized instances, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute Cloud User Guide. Additional fees are incurred when using Amazon EBS-optimized instances.

eciIamInstanceProfile :: Lens' EC2Instance (Maybe (Val Text)) Source #

The physical ID (resource name) of an instance profile or a reference to an AWS::IAM::InstanceProfile resource. For more information about IAM roles, see Working with Roles in the AWS Identity and Access Management User Guide.

eciImageId :: Lens' EC2Instance (Val Text) Source #

Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.

eciInstanceInitiatedShutdownBehavior :: Lens' EC2Instance (Maybe (Val Text)) Source #

Indicates whether an instance stops or terminates when you shut down the instance from the instance's operating system shutdown command. You can specify stop or terminate. For more information, see the RunInstances command in the Amazon EC2 API Reference.

eciInstanceType :: Lens' EC2Instance (Maybe (Val Text)) Source #

The instance type, such as t2.micro. The default type is "m1.small". For a list of instance types, see Instance Families and Types.

eciKeyName :: Lens' EC2Instance (Maybe (Val Text)) Source #

Provides the name of the Amazon EC2 key pair.

eciMonitoring :: Lens' EC2Instance (Maybe (Val Bool')) Source #

Specifies whether monitoring is enabled for the instance.

eciNetworkInterfaces :: Lens' EC2Instance (Maybe [NetworkInterface]) Source #

A list of embedded objects that describe the network interfaces to associate with this instance. Note If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute.

eciPlacementGroupName :: Lens' EC2Instance (Maybe (Val Text)) Source #

The name of an existing placement group that you want to launch the instance into (for cluster instances).

eciPrivateIpAddress :: Lens' EC2Instance (Maybe (Val Text)) Source #

The private IP address for this instance. Important If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance in order to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address. (Optional) If you're using Amazon VPC, you can use this parameter to assign the instance a specific available IP address from the subnet (for example, 10.0.0.25). By default, Amazon VPC selects an IP address from the subnet for the instance.

eciRamdiskId :: Lens' EC2Instance (Maybe (Val Text)) Source #

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.

eciSecurityGroupIds :: Lens' EC2Instance (Maybe [Val Text]) Source #

A list that contains the security group IDs for VPC security groups to assign to the Amazon EC2 instance. If you specified the NetworkInterfaces property, do not specify this property.

eciSecurityGroups :: Lens' EC2Instance (Maybe [Val Text]) Source #

Valid only for Amazon EC2 security groups. A list that contains the Amazon EC2 security groups to assign to the Amazon EC2 instance. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.

eciSourceDestCheck :: Lens' EC2Instance (Maybe (Val Bool')) Source #

Controls whether source/destination checking is enabled on the instance. Also determines if an instance in a VPC will perform network address translation (NAT). A value of "true" means that source/destination checking is enabled, and a value of "false" means that checking is disabled. For the instance to perform NAT, the value must be "false". For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

eciSsmAssociations :: Lens' EC2Instance (Maybe [EC2SsmAssociations]) Source #

The Amazon EC2 Simple Systems Manager (SSM) document and parameter values to associate with this instance. To use this property, you must specify an IAM role for the instance. For more information, see Prerequisites for Remotely Running Commands on EC2 Instances in the Amazon EC2 User Guide for Microsoft Windows Instances. Note You can currently associate only one document with an instance.

eciSubnetId :: Lens' EC2Instance (Maybe (Val Text)) Source #

If you're using Amazon VPC, this property specifies the ID of the subnet that you want to launch the instance into. If you specified the NetworkInterfaces property, do not specify this property.

eciTags :: Lens' EC2Instance (Maybe [ResourceTag]) Source #

An arbitrary set of tags (key–value pairs) for this instance.

eciTenancy :: Lens' EC2Instance (Maybe (Val Text)) Source #

The tenancy of the instance that you want to launch. This value can be either "default" or "dedicated". An instance that has a tenancy value of "dedicated" runs on single-tenant hardware and can be launched only into a VPC. For more information, see Using EC2 Dedicated Instances Within Your VPC in the Amazon VPC User Guide.

eciUserData :: Lens' EC2Instance (Maybe (Val Text)) Source #

Base64-encoded MIME user data that is made available to the instances.

eciVolumes :: Lens' EC2Instance (Maybe [EC2MountPoint]) Source #

The Amazon EBS volumes to attach to the instance. Note Before detaching a volume, unmount any file systems on the device within your operating system. If you don't unmount the file system, a volume might get stuck in a busy state while detaching.