ServiceResource / Action / create_instances
create_instances#
- EC2.ServiceResource.create_instances(**kwargs)#
Launches the specified number of instances using an AMI for which you have permissions.
You can specify a number of options, or leave the default options. The following rules apply:
If you don’t specify a subnet ID, we choose a default subnet from your default VPC for you. If you don’t have a default VPC, you must specify a subnet ID in the request.
All instances have a network interface with a primary private IPv4 address. If you don’t specify this address, we choose one from the IPv4 range of your subnet.
Not all instance types support IPv6 addresses. For more information, see Instance types.
If you don’t specify a security group ID, we use the default security group for the VPC. For more information, see Security groups.
If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.
You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.
To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.
RunInstances
is subject to both request rate limiting and resource rate limiting. For more information, see Request throttling.An instance is ready for you to use when it’s in the
running
state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.
For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.
See also: AWS API Documentation
Request Syntax
instance = ec2.create_instances( BlockDeviceMappings=[ { 'Ebs': { 'DeleteOnTermination': True|False, 'Iops': 123, 'SnapshotId': 'string', 'VolumeSize': 123, 'VolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3', 'KmsKeyId': 'string', 'Throughput': 123, 'OutpostArn': 'string', 'Encrypted': True|False }, 'NoDevice': 'string', 'DeviceName': 'string', 'VirtualName': 'string' }, ], ImageId='string', InstanceType='a1.medium'|'a1.large'|'a1.xlarge'|'a1.2xlarge'|'a1.4xlarge'|'a1.metal'|'c1.medium'|'c1.xlarge'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5.metal'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'c5ad.large'|'c5ad.xlarge'|'c5ad.2xlarge'|'c5ad.4xlarge'|'c5ad.8xlarge'|'c5ad.12xlarge'|'c5ad.16xlarge'|'c5ad.24xlarge'|'c5d.large'|'c5d.xlarge'|'c5d.2xlarge'|'c5d.4xlarge'|'c5d.9xlarge'|'c5d.12xlarge'|'c5d.18xlarge'|'c5d.24xlarge'|'c5d.metal'|'c5n.large'|'c5n.xlarge'|'c5n.2xlarge'|'c5n.4xlarge'|'c5n.9xlarge'|'c5n.18xlarge'|'c5n.metal'|'c6g.medium'|'c6g.large'|'c6g.xlarge'|'c6g.2xlarge'|'c6g.4xlarge'|'c6g.8xlarge'|'c6g.12xlarge'|'c6g.16xlarge'|'c6g.metal'|'c6gd.medium'|'c6gd.large'|'c6gd.xlarge'|'c6gd.2xlarge'|'c6gd.4xlarge'|'c6gd.8xlarge'|'c6gd.12xlarge'|'c6gd.16xlarge'|'c6gd.metal'|'c6gn.medium'|'c6gn.large'|'c6gn.xlarge'|'c6gn.2xlarge'|'c6gn.4xlarge'|'c6gn.8xlarge'|'c6gn.12xlarge'|'c6gn.16xlarge'|'c6i.large'|'c6i.xlarge'|'c6i.2xlarge'|'c6i.4xlarge'|'c6i.8xlarge'|'c6i.12xlarge'|'c6i.16xlarge'|'c6i.24xlarge'|'c6i.32xlarge'|'c6i.metal'|'cc1.4xlarge'|'cc2.8xlarge'|'cg1.4xlarge'|'cr1.8xlarge'|'d2.xlarge'|'d2.2xlarge'|'d2.4xlarge'|'d2.8xlarge'|'d3.xlarge'|'d3.2xlarge'|'d3.4xlarge'|'d3.8xlarge'|'d3en.xlarge'|'d3en.2xlarge'|'d3en.4xlarge'|'d3en.6xlarge'|'d3en.8xlarge'|'d3en.12xlarge'|'dl1.24xlarge'|'f1.2xlarge'|'f1.4xlarge'|'f1.16xlarge'|'g2.2xlarge'|'g2.8xlarge'|'g3.4xlarge'|'g3.8xlarge'|'g3.16xlarge'|'g3s.xlarge'|'g4ad.xlarge'|'g4ad.2xlarge'|'g4ad.4xlarge'|'g4ad.8xlarge'|'g4ad.16xlarge'|'g4dn.xlarge'|'g4dn.2xlarge'|'g4dn.4xlarge'|'g4dn.8xlarge'|'g4dn.12xlarge'|'g4dn.16xlarge'|'g4dn.metal'|'g5.xlarge'|'g5.2xlarge'|'g5.4xlarge'|'g5.8xlarge'|'g5.12xlarge'|'g5.16xlarge'|'g5.24xlarge'|'g5.48xlarge'|'g5g.xlarge'|'g5g.2xlarge'|'g5g.4xlarge'|'g5g.8xlarge'|'g5g.16xlarge'|'g5g.metal'|'hi1.4xlarge'|'hpc6a.48xlarge'|'hs1.8xlarge'|'h1.2xlarge'|'h1.4xlarge'|'h1.8xlarge'|'h1.16xlarge'|'i2.xlarge'|'i2.2xlarge'|'i2.4xlarge'|'i2.8xlarge'|'i3.large'|'i3.xlarge'|'i3.2xlarge'|'i3.4xlarge'|'i3.8xlarge'|'i3.16xlarge'|'i3.metal'|'i3en.large'|'i3en.xlarge'|'i3en.2xlarge'|'i3en.3xlarge'|'i3en.6xlarge'|'i3en.12xlarge'|'i3en.24xlarge'|'i3en.metal'|'im4gn.large'|'im4gn.xlarge'|'im4gn.2xlarge'|'im4gn.4xlarge'|'im4gn.8xlarge'|'im4gn.16xlarge'|'inf1.xlarge'|'inf1.2xlarge'|'inf1.6xlarge'|'inf1.24xlarge'|'is4gen.medium'|'is4gen.large'|'is4gen.xlarge'|'is4gen.2xlarge'|'is4gen.4xlarge'|'is4gen.8xlarge'|'m1.small'|'m1.medium'|'m1.large'|'m1.xlarge'|'m2.xlarge'|'m2.2xlarge'|'m2.4xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m4.16xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5.metal'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge'|'m5ad.large'|'m5ad.xlarge'|'m5ad.2xlarge'|'m5ad.4xlarge'|'m5ad.8xlarge'|'m5ad.12xlarge'|'m5ad.16xlarge'|'m5ad.24xlarge'|'m5d.large'|'m5d.xlarge'|'m5d.2xlarge'|'m5d.4xlarge'|'m5d.8xlarge'|'m5d.12xlarge'|'m5d.16xlarge'|'m5d.24xlarge'|'m5d.metal'|'m5dn.large'|'m5dn.xlarge'|'m5dn.2xlarge'|'m5dn.4xlarge'|'m5dn.8xlarge'|'m5dn.12xlarge'|'m5dn.16xlarge'|'m5dn.24xlarge'|'m5dn.metal'|'m5n.large'|'m5n.xlarge'|'m5n.2xlarge'|'m5n.4xlarge'|'m5n.8xlarge'|'m5n.12xlarge'|'m5n.16xlarge'|'m5n.24xlarge'|'m5n.metal'|'m5zn.large'|'m5zn.xlarge'|'m5zn.2xlarge'|'m5zn.3xlarge'|'m5zn.6xlarge'|'m5zn.12xlarge'|'m5zn.metal'|'m6a.large'|'m6a.xlarge'|'m6a.2xlarge'|'m6a.4xlarge'|'m6a.8xlarge'|'m6a.12xlarge'|'m6a.16xlarge'|'m6a.24xlarge'|'m6a.32xlarge'|'m6a.48xlarge'|'m6g.metal'|'m6g.medium'|'m6g.large'|'m6g.xlarge'|'m6g.2xlarge'|'m6g.4xlarge'|'m6g.8xlarge'|'m6g.12xlarge'|'m6g.16xlarge'|'m6gd.metal'|'m6gd.medium'|'m6gd.large'|'m6gd.xlarge'|'m6gd.2xlarge'|'m6gd.4xlarge'|'m6gd.8xlarge'|'m6gd.12xlarge'|'m6gd.16xlarge'|'m6i.large'|'m6i.xlarge'|'m6i.2xlarge'|'m6i.4xlarge'|'m6i.8xlarge'|'m6i.12xlarge'|'m6i.16xlarge'|'m6i.24xlarge'|'m6i.32xlarge'|'m6i.metal'|'mac1.metal'|'p2.xlarge'|'p2.8xlarge'|'p2.16xlarge'|'p3.2xlarge'|'p3.8xlarge'|'p3.16xlarge'|'p3dn.24xlarge'|'p4d.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5.metal'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'r5ad.large'|'r5ad.xlarge'|'r5ad.2xlarge'|'r5ad.4xlarge'|'r5ad.8xlarge'|'r5ad.12xlarge'|'r5ad.16xlarge'|'r5ad.24xlarge'|'r5b.large'|'r5b.xlarge'|'r5b.2xlarge'|'r5b.4xlarge'|'r5b.8xlarge'|'r5b.12xlarge'|'r5b.16xlarge'|'r5b.24xlarge'|'r5b.metal'|'r5d.large'|'r5d.xlarge'|'r5d.2xlarge'|'r5d.4xlarge'|'r5d.8xlarge'|'r5d.12xlarge'|'r5d.16xlarge'|'r5d.24xlarge'|'r5d.metal'|'r5dn.large'|'r5dn.xlarge'|'r5dn.2xlarge'|'r5dn.4xlarge'|'r5dn.8xlarge'|'r5dn.12xlarge'|'r5dn.16xlarge'|'r5dn.24xlarge'|'r5dn.metal'|'r5n.large'|'r5n.xlarge'|'r5n.2xlarge'|'r5n.4xlarge'|'r5n.8xlarge'|'r5n.12xlarge'|'r5n.16xlarge'|'r5n.24xlarge'|'r5n.metal'|'r6g.medium'|'r6g.large'|'r6g.xlarge'|'r6g.2xlarge'|'r6g.4xlarge'|'r6g.8xlarge'|'r6g.12xlarge'|'r6g.16xlarge'|'r6g.metal'|'r6gd.medium'|'r6gd.large'|'r6gd.xlarge'|'r6gd.2xlarge'|'r6gd.4xlarge'|'r6gd.8xlarge'|'r6gd.12xlarge'|'r6gd.16xlarge'|'r6gd.metal'|'r6i.large'|'r6i.xlarge'|'r6i.2xlarge'|'r6i.4xlarge'|'r6i.8xlarge'|'r6i.12xlarge'|'r6i.16xlarge'|'r6i.24xlarge'|'r6i.32xlarge'|'r6i.metal'|'t1.micro'|'t2.nano'|'t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'t2.xlarge'|'t2.2xlarge'|'t3.nano'|'t3.micro'|'t3.small'|'t3.medium'|'t3.large'|'t3.xlarge'|'t3.2xlarge'|'t3a.nano'|'t3a.micro'|'t3a.small'|'t3a.medium'|'t3a.large'|'t3a.xlarge'|'t3a.2xlarge'|'t4g.nano'|'t4g.micro'|'t4g.small'|'t4g.medium'|'t4g.large'|'t4g.xlarge'|'t4g.2xlarge'|'u-6tb1.56xlarge'|'u-6tb1.112xlarge'|'u-9tb1.112xlarge'|'u-12tb1.112xlarge'|'u-6tb1.metal'|'u-9tb1.metal'|'u-12tb1.metal'|'u-18tb1.metal'|'u-24tb1.metal'|'vt1.3xlarge'|'vt1.6xlarge'|'vt1.24xlarge'|'x1.16xlarge'|'x1.32xlarge'|'x1e.xlarge'|'x1e.2xlarge'|'x1e.4xlarge'|'x1e.8xlarge'|'x1e.16xlarge'|'x1e.32xlarge'|'x2iezn.2xlarge'|'x2iezn.4xlarge'|'x2iezn.6xlarge'|'x2iezn.8xlarge'|'x2iezn.12xlarge'|'x2iezn.metal'|'x2gd.medium'|'x2gd.large'|'x2gd.xlarge'|'x2gd.2xlarge'|'x2gd.4xlarge'|'x2gd.8xlarge'|'x2gd.12xlarge'|'x2gd.16xlarge'|'x2gd.metal'|'z1d.large'|'z1d.xlarge'|'z1d.2xlarge'|'z1d.3xlarge'|'z1d.6xlarge'|'z1d.12xlarge'|'z1d.metal'|'x2idn.16xlarge'|'x2idn.24xlarge'|'x2idn.32xlarge'|'x2iedn.xlarge'|'x2iedn.2xlarge'|'x2iedn.4xlarge'|'x2iedn.8xlarge'|'x2iedn.16xlarge'|'x2iedn.24xlarge'|'x2iedn.32xlarge'|'c6a.large'|'c6a.xlarge'|'c6a.2xlarge'|'c6a.4xlarge'|'c6a.8xlarge'|'c6a.12xlarge'|'c6a.16xlarge'|'c6a.24xlarge'|'c6a.32xlarge'|'c6a.48xlarge'|'c6a.metal'|'m6a.metal'|'i4i.large'|'i4i.xlarge'|'i4i.2xlarge'|'i4i.4xlarge'|'i4i.8xlarge'|'i4i.16xlarge'|'i4i.32xlarge'|'i4i.metal'|'x2idn.metal'|'x2iedn.metal'|'c7g.medium'|'c7g.large'|'c7g.xlarge'|'c7g.2xlarge'|'c7g.4xlarge'|'c7g.8xlarge'|'c7g.12xlarge'|'c7g.16xlarge'|'mac2.metal'|'c6id.large'|'c6id.xlarge'|'c6id.2xlarge'|'c6id.4xlarge'|'c6id.8xlarge'|'c6id.12xlarge'|'c6id.16xlarge'|'c6id.24xlarge'|'c6id.32xlarge'|'c6id.metal'|'m6id.large'|'m6id.xlarge'|'m6id.2xlarge'|'m6id.4xlarge'|'m6id.8xlarge'|'m6id.12xlarge'|'m6id.16xlarge'|'m6id.24xlarge'|'m6id.32xlarge'|'m6id.metal'|'r6id.large'|'r6id.xlarge'|'r6id.2xlarge'|'r6id.4xlarge'|'r6id.8xlarge'|'r6id.12xlarge'|'r6id.16xlarge'|'r6id.24xlarge'|'r6id.32xlarge'|'r6id.metal'|'r6a.large'|'r6a.xlarge'|'r6a.2xlarge'|'r6a.4xlarge'|'r6a.8xlarge'|'r6a.12xlarge'|'r6a.16xlarge'|'r6a.24xlarge'|'r6a.32xlarge'|'r6a.48xlarge'|'r6a.metal'|'p4de.24xlarge'|'u-3tb1.56xlarge'|'u-18tb1.112xlarge'|'u-24tb1.112xlarge'|'trn1.2xlarge'|'trn1.32xlarge'|'hpc6id.32xlarge'|'c6in.large'|'c6in.xlarge'|'c6in.2xlarge'|'c6in.4xlarge'|'c6in.8xlarge'|'c6in.12xlarge'|'c6in.16xlarge'|'c6in.24xlarge'|'c6in.32xlarge'|'m6in.large'|'m6in.xlarge'|'m6in.2xlarge'|'m6in.4xlarge'|'m6in.8xlarge'|'m6in.12xlarge'|'m6in.16xlarge'|'m6in.24xlarge'|'m6in.32xlarge'|'m6idn.large'|'m6idn.xlarge'|'m6idn.2xlarge'|'m6idn.4xlarge'|'m6idn.8xlarge'|'m6idn.12xlarge'|'m6idn.16xlarge'|'m6idn.24xlarge'|'m6idn.32xlarge'|'r6in.large'|'r6in.xlarge'|'r6in.2xlarge'|'r6in.4xlarge'|'r6in.8xlarge'|'r6in.12xlarge'|'r6in.16xlarge'|'r6in.24xlarge'|'r6in.32xlarge'|'r6idn.large'|'r6idn.xlarge'|'r6idn.2xlarge'|'r6idn.4xlarge'|'r6idn.8xlarge'|'r6idn.12xlarge'|'r6idn.16xlarge'|'r6idn.24xlarge'|'r6idn.32xlarge'|'c7g.metal'|'m7g.medium'|'m7g.large'|'m7g.xlarge'|'m7g.2xlarge'|'m7g.4xlarge'|'m7g.8xlarge'|'m7g.12xlarge'|'m7g.16xlarge'|'m7g.metal'|'r7g.medium'|'r7g.large'|'r7g.xlarge'|'r7g.2xlarge'|'r7g.4xlarge'|'r7g.8xlarge'|'r7g.12xlarge'|'r7g.16xlarge'|'r7g.metal'|'c6in.metal'|'m6in.metal'|'m6idn.metal'|'r6in.metal'|'r6idn.metal'|'inf2.xlarge'|'inf2.8xlarge'|'inf2.24xlarge'|'inf2.48xlarge'|'trn1n.32xlarge'|'i4g.large'|'i4g.xlarge'|'i4g.2xlarge'|'i4g.4xlarge'|'i4g.8xlarge'|'i4g.16xlarge'|'hpc7g.4xlarge'|'hpc7g.8xlarge'|'hpc7g.16xlarge'|'c7gn.medium'|'c7gn.large'|'c7gn.xlarge'|'c7gn.2xlarge'|'c7gn.4xlarge'|'c7gn.8xlarge'|'c7gn.12xlarge'|'c7gn.16xlarge'|'p5.48xlarge'|'m7i.large'|'m7i.xlarge'|'m7i.2xlarge'|'m7i.4xlarge'|'m7i.8xlarge'|'m7i.12xlarge'|'m7i.16xlarge'|'m7i.24xlarge'|'m7i.48xlarge'|'m7i-flex.large'|'m7i-flex.xlarge'|'m7i-flex.2xlarge'|'m7i-flex.4xlarge'|'m7i-flex.8xlarge'|'m7a.medium'|'m7a.large'|'m7a.xlarge'|'m7a.2xlarge'|'m7a.4xlarge'|'m7a.8xlarge'|'m7a.12xlarge'|'m7a.16xlarge'|'m7a.24xlarge'|'m7a.32xlarge'|'m7a.48xlarge'|'m7a.metal-48xl'|'hpc7a.12xlarge'|'hpc7a.24xlarge'|'hpc7a.48xlarge'|'hpc7a.96xlarge'|'c7gd.medium'|'c7gd.large'|'c7gd.xlarge'|'c7gd.2xlarge'|'c7gd.4xlarge'|'c7gd.8xlarge'|'c7gd.12xlarge'|'c7gd.16xlarge'|'m7gd.medium'|'m7gd.large'|'m7gd.xlarge'|'m7gd.2xlarge'|'m7gd.4xlarge'|'m7gd.8xlarge'|'m7gd.12xlarge'|'m7gd.16xlarge'|'r7gd.medium'|'r7gd.large'|'r7gd.xlarge'|'r7gd.2xlarge'|'r7gd.4xlarge'|'r7gd.8xlarge'|'r7gd.12xlarge'|'r7gd.16xlarge'|'r7a.medium'|'r7a.large'|'r7a.xlarge'|'r7a.2xlarge'|'r7a.4xlarge'|'r7a.8xlarge'|'r7a.12xlarge'|'r7a.16xlarge'|'r7a.24xlarge'|'r7a.32xlarge'|'r7a.48xlarge'|'c7i.large'|'c7i.xlarge'|'c7i.2xlarge'|'c7i.4xlarge'|'c7i.8xlarge'|'c7i.12xlarge'|'c7i.16xlarge'|'c7i.24xlarge'|'c7i.48xlarge'|'mac2-m2pro.metal'|'r7iz.large'|'r7iz.xlarge'|'r7iz.2xlarge'|'r7iz.4xlarge'|'r7iz.8xlarge'|'r7iz.12xlarge'|'r7iz.16xlarge'|'r7iz.32xlarge'|'c7a.medium'|'c7a.large'|'c7a.xlarge'|'c7a.2xlarge'|'c7a.4xlarge'|'c7a.8xlarge'|'c7a.12xlarge'|'c7a.16xlarge'|'c7a.24xlarge'|'c7a.32xlarge'|'c7a.48xlarge'|'c7a.metal-48xl'|'r7a.metal-48xl'|'r7i.large'|'r7i.xlarge'|'r7i.2xlarge'|'r7i.4xlarge'|'r7i.8xlarge'|'r7i.12xlarge'|'r7i.16xlarge'|'r7i.24xlarge'|'r7i.48xlarge'|'dl2q.24xlarge'|'mac2-m2.metal'|'i4i.12xlarge'|'i4i.24xlarge'|'c7i.metal-24xl'|'c7i.metal-48xl'|'m7i.metal-24xl'|'m7i.metal-48xl'|'r7i.metal-24xl'|'r7i.metal-48xl'|'r7iz.metal-16xl'|'r7iz.metal-32xl'|'c7gd.metal'|'m7gd.metal'|'r7gd.metal'|'g6.xlarge'|'g6.2xlarge'|'g6.4xlarge'|'g6.8xlarge'|'g6.12xlarge'|'g6.16xlarge'|'g6.24xlarge'|'g6.48xlarge'|'gr6.4xlarge'|'gr6.8xlarge'|'c7i-flex.large'|'c7i-flex.xlarge'|'c7i-flex.2xlarge'|'c7i-flex.4xlarge'|'c7i-flex.8xlarge'|'u7i-12tb.224xlarge'|'u7in-16tb.224xlarge'|'u7in-24tb.224xlarge'|'u7in-32tb.224xlarge'|'u7ib-12tb.224xlarge'|'c7gn.metal'|'r8g.medium'|'r8g.large'|'r8g.xlarge'|'r8g.2xlarge'|'r8g.4xlarge'|'r8g.8xlarge'|'r8g.12xlarge'|'r8g.16xlarge'|'r8g.24xlarge'|'r8g.48xlarge'|'r8g.metal-24xl'|'r8g.metal-48xl'|'mac2-m1ultra.metal'|'g6e.xlarge'|'g6e.2xlarge'|'g6e.4xlarge'|'g6e.8xlarge'|'g6e.12xlarge'|'g6e.16xlarge'|'g6e.24xlarge'|'g6e.48xlarge'|'c8g.medium'|'c8g.large'|'c8g.xlarge'|'c8g.2xlarge'|'c8g.4xlarge'|'c8g.8xlarge'|'c8g.12xlarge'|'c8g.16xlarge'|'c8g.24xlarge'|'c8g.48xlarge'|'c8g.metal-24xl'|'c8g.metal-48xl'|'m8g.medium'|'m8g.large'|'m8g.xlarge'|'m8g.2xlarge'|'m8g.4xlarge'|'m8g.8xlarge'|'m8g.12xlarge'|'m8g.16xlarge'|'m8g.24xlarge'|'m8g.48xlarge'|'m8g.metal-24xl'|'m8g.metal-48xl'|'x8g.medium'|'x8g.large'|'x8g.xlarge'|'x8g.2xlarge'|'x8g.4xlarge'|'x8g.8xlarge'|'x8g.12xlarge'|'x8g.16xlarge'|'x8g.24xlarge'|'x8g.48xlarge'|'x8g.metal-24xl'|'x8g.metal-48xl', Ipv6AddressCount=123, Ipv6Addresses=[ { 'Ipv6Address': 'string', 'IsPrimaryIpv6': True|False }, ], KernelId='string', KeyName='string', MaxCount=123, MinCount=123, Monitoring={ 'Enabled': True|False }, Placement={ 'Affinity': 'string', 'GroupName': 'string', 'PartitionNumber': 123, 'HostId': 'string', 'Tenancy': 'default'|'dedicated'|'host', 'SpreadDomain': 'string', 'HostResourceGroupArn': 'string', 'GroupId': 'string', 'AvailabilityZone': 'string' }, RamdiskId='string', SecurityGroupIds=[ 'string', ], SecurityGroups=[ 'string', ], SubnetId='string', UserData='string', ElasticGpuSpecification=[ { 'Type': 'string' }, ], ElasticInferenceAccelerators=[ { 'Type': 'string', 'Count': 123 }, ], TagSpecifications=[ { 'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint'|'ipam-external-resource-verification-token', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], LaunchTemplate={ 'LaunchTemplateId': 'string', 'LaunchTemplateName': 'string', 'Version': 'string' }, InstanceMarketOptions={ 'MarketType': 'spot'|'capacity-block', 'SpotOptions': { 'MaxPrice': 'string', 'SpotInstanceType': 'one-time'|'persistent', 'BlockDurationMinutes': 123, 'ValidUntil': datetime(2015, 1, 1), 'InstanceInterruptionBehavior': 'hibernate'|'stop'|'terminate' } }, CreditSpecification={ 'CpuCredits': 'string' }, CpuOptions={ 'CoreCount': 123, 'ThreadsPerCore': 123, 'AmdSevSnp': 'enabled'|'disabled' }, CapacityReservationSpecification={ 'CapacityReservationPreference': 'open'|'none', 'CapacityReservationTarget': { 'CapacityReservationId': 'string', 'CapacityReservationResourceGroupArn': 'string' } }, HibernationOptions={ 'Configured': True|False }, LicenseSpecifications=[ { 'LicenseConfigurationArn': 'string' }, ], MetadataOptions={ 'HttpTokens': 'optional'|'required', 'HttpPutResponseHopLimit': 123, 'HttpEndpoint': 'disabled'|'enabled', 'HttpProtocolIpv6': 'disabled'|'enabled', 'InstanceMetadataTags': 'disabled'|'enabled' }, EnclaveOptions={ 'Enabled': True|False }, PrivateDnsNameOptions={ 'HostnameType': 'ip-name'|'resource-name', 'EnableResourceNameDnsARecord': True|False, 'EnableResourceNameDnsAAAARecord': True|False }, MaintenanceOptions={ 'AutoRecovery': 'disabled'|'default' }, DisableApiStop=True|False, EnablePrimaryIpv6=True|False, DryRun=True|False, DisableApiTermination=True|False, InstanceInitiatedShutdownBehavior='stop'|'terminate', PrivateIpAddress='string', ClientToken='string', AdditionalInfo='string', NetworkInterfaces=[ { 'AssociatePublicIpAddress': True|False, 'DeleteOnTermination': True|False, 'Description': 'string', 'DeviceIndex': 123, 'Groups': [ 'string', ], 'Ipv6AddressCount': 123, 'Ipv6Addresses': [ { 'Ipv6Address': 'string', 'IsPrimaryIpv6': True|False }, ], 'NetworkInterfaceId': 'string', 'PrivateIpAddress': 'string', 'PrivateIpAddresses': [ { 'Primary': True|False, 'PrivateIpAddress': 'string' }, ], 'SecondaryPrivateIpAddressCount': 123, 'SubnetId': 'string', 'AssociateCarrierIpAddress': True|False, 'InterfaceType': 'string', 'NetworkCardIndex': 123, 'Ipv4Prefixes': [ { 'Ipv4Prefix': 'string' }, ], 'Ipv4PrefixCount': 123, 'Ipv6Prefixes': [ { 'Ipv6Prefix': 'string' }, ], 'Ipv6PrefixCount': 123, 'PrimaryIpv6': True|False, 'EnaSrdSpecification': { 'EnaSrdEnabled': True|False, 'EnaSrdUdpSpecification': { 'EnaSrdUdpEnabled': True|False } }, 'ConnectionTrackingSpecification': { 'TcpEstablishedTimeout': 123, 'UdpStreamTimeout': 123, 'UdpTimeout': 123 } }, ], IamInstanceProfile={ 'Arn': 'string', 'Name': 'string' }, EbsOptimized=True|False )
- Parameters:
BlockDeviceMappings (list) –
The block device mapping, which defines the EBS volumes and instance store volumes to attach to the instance at launch. For more information, see Block device mappings in the Amazon EC2 User Guide.
(dict) –
Describes a block device mapping, which defines the EBS volumes and instance store volumes to attach to an instance at launch.
Ebs (dict) –
Parameters used to automatically set up EBS volumes when the instance is launched.
DeleteOnTermination (boolean) –
Indicates whether the EBS volume is deleted on instance termination. For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide.
Iops (integer) –
The number of I/O operations per second (IOPS). For
gp3
,io1
, andio2
volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.The following are the supported values for each volume type:
gp3
: 3,000 - 16,000 IOPSio1
: 100 - 64,000 IOPSio2
: 100 - 256,000 IOPS
For
io2
volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.This parameter is required for
io1
andio2
volumes. The default forgp3
volumes is 3,000 IOPS.SnapshotId (string) –
The ID of the snapshot.
VolumeSize (integer) –
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
The following are the supported sizes for each volume type:
gp2
andgp3
: 1 - 16,384 GiBio1
: 4 - 16,384 GiBio2
: 4 - 65,536 GiBst1
andsc1
: 125 - 16,384 GiBstandard
: 1 - 1024 GiB
VolumeType (string) –
The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
KmsKeyId (string) –
Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
This parameter is only supported on
BlockDeviceMapping
objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.Throughput (integer) –
The throughput that the volume supports, in MiB/s.
This parameter is valid only for
gp3
volumes.Valid Range: Minimum value of 125. Maximum value of 1000.
OutpostArn (string) –
The ARN of the Outpost on which the snapshot is stored.
This parameter is not supported when using CreateImage.
Encrypted (boolean) –
Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to
true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.In no case can you remove encryption from an encrypted volume.
Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
This parameter is not returned by DescribeImageAttribute.
For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.
If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either
true
for an encrypted volume, orfalse
for an unencrypted volume. If you omit this parameter, it defaults tofalse
(unencrypted).If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify
false
. If you specifytrue
, the request will fail. In this case, we recommend that you omit the parameter.If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either
true
orfalse
. However, if you specifyfalse
, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
NoDevice (string) –
To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.
DeviceName (string) –
The device name (for example,
/dev/sdh
orxvdh
).VirtualName (string) –
The virtual device name (
ephemeral``N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ``ephemeral0
andephemeral1
. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.
Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.
ImageId (string) – The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.
InstanceType (string) – The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.
Ipv6AddressCount (integer) –
The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you’ve specified a minimum number of instances to launch.
You cannot specify this option and the network interfaces option in the same request.
Ipv6Addresses (list) –
The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you’ve specified a minimum number of instances to launch.
You cannot specify this option and the network interfaces option in the same request.
(dict) –
Describes an IPv6 address.
Ipv6Address (string) –
The IPv6 address.
IsPrimaryIpv6 (boolean) –
Determines if an IPv6 address associated with a network interface is the primary IPv6 address. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information, see RunInstances.
KernelId (string) –
The ID of the kernel.
Warning
We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon EC2 User Guide.
KeyName (string) –
The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.
Warning
If you do not specify a key pair, you can’t connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
MaxCount (integer) –
[REQUIRED]
The maximum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above the specified minimum count.
Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.
MinCount (integer) –
[REQUIRED]
The minimum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can provide in the target Availability Zone, Amazon EC2 does not launch any instances.
Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.
Monitoring (dict) –
Specifies whether detailed monitoring is enabled for the instance.
Enabled (boolean) – [REQUIRED]
Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.
Placement (dict) –
The placement for the instance.
Affinity (string) –
The affinity setting for the instance on the Dedicated Host.
This parameter is not supported for CreateFleet or ImportInstance.
GroupName (string) –
The name of the placement group that the instance is in. If you specify
GroupName
, you can’t specifyGroupId
.PartitionNumber (integer) –
The number of the partition that the instance is in. Valid only if the placement group strategy is set to
partition
.This parameter is not supported for CreateFleet.
HostId (string) –
The ID of the Dedicated Host on which the instance resides.
This parameter is not supported for CreateFleet or ImportInstance.
Tenancy (string) –
The tenancy of the instance. An instance with a tenancy of
dedicated
runs on single-tenant hardware.This parameter is not supported for CreateFleet. The
host
tenancy is not supported for ImportInstance or for T3 instances that are configured for theunlimited
CPU credit option.SpreadDomain (string) –
Reserved for future use.
HostResourceGroupArn (string) –
The ARN of the host resource group in which to launch the instances.
If you specify this parameter, either omit the Tenancy parameter or set it to
host
.This parameter is not supported for CreateFleet.
GroupId (string) –
The ID of the placement group that the instance is in. If you specify
GroupId
, you can’t specifyGroupName
.AvailabilityZone (string) –
The Availability Zone of the instance.
If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.
This parameter is not supported for CreateFleet.
RamdiskId (string) –
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 Amazon Web Services Resource Center and search for the kernel ID.
Warning
We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon EC2 User Guide.
SecurityGroupIds (list) –
The IDs of the security groups. You can create a security group using CreateSecurityGroup.
If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
(string) –
SecurityGroups (list) –
[Default VPC] The names of the security groups.
If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
Default: Amazon EC2 uses the default security group.
(string) –
SubnetId (string) –
The ID of the subnet to launch the instance into.
If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.
UserData (string) –
The user data to make available to the instance. User data must be base64-encoded. Depending on the tool or SDK that you’re using, the base64-encoding might be performed for you. For more information, see Work with instance user data.
This value will be base64 encoded automatically. Do not base64 encode this value prior to performing the operation.
ElasticGpuSpecification (list) –
An elastic GPU to associate with the instance.
Note
Amazon Elastic Graphics reached end of life on January 8, 2024.
(dict) –
Note
Amazon Elastic Graphics reached end of life on January 8, 2024.
A specification for an Elastic Graphics accelerator.
Type (string) – [REQUIRED]
The type of Elastic Graphics accelerator.
ElasticInferenceAccelerators (list) –
An elastic inference accelerator to associate with the instance.
Note
Amazon Elastic Inference is no longer available.
(dict) –
Note
Amazon Elastic Inference is no longer available.
Describes an elastic inference accelerator.
Type (string) – [REQUIRED]
The type of elastic inference accelerator. The possible values are
eia1.medium
,eia1.large
,eia1.xlarge
,eia2.medium
,eia2.large
, andeia2.xlarge
.Count (integer) –
The number of elastic inference accelerators to attach to the instance.
Default: 1
TagSpecifications (list) –
The tags to apply to the resources that are created during instance launch.
You can specify tags for the following resources only:
Instances
Volumes
Spot Instance requests
Network interfaces
To tag a resource after it has been created, see CreateTags.
(dict) –
The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.
Note
The
Valid Values
lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.ResourceType (string) –
The type of resource to tag on creation.
Tags (list) –
The tags to apply to the resource.
(dict) –
Describes a tag.
Key (string) –
The key of the tag.
Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with
aws:
.Value (string) –
The value of the tag.
Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.
LaunchTemplate (dict) –
The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
LaunchTemplateId (string) –
The ID of the launch template.
You must specify either the launch template ID or the launch template name, but not both.
LaunchTemplateName (string) –
The name of the launch template.
You must specify either the launch template ID or the launch template name, but not both.
Version (string) –
The launch template version number,
$Latest
, or$Default
.A value of
$Latest
uses the latest version of the launch template.A value of
$Default
uses the default version of the launch template.Default: The default version of the launch template.
InstanceMarketOptions (dict) –
The market (purchasing) option for the instances.
For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either
hibernate
orstop
.MarketType (string) –
The market type.
SpotOptions (dict) –
The options for Spot Instances.
MaxPrice (string) –
The maximum hourly price that you’re willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.
Warning
If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.
SpotInstanceType (string) –
The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when the instance interruption behavior is either
hibernate
orstop
.BlockDurationMinutes (integer) –
Deprecated.
ValidUntil (datetime) –
The end date of the request, in UTC format (YYYY-MM-DD*T*HH:MM:*SS*Z). Supported only for persistent requests.
For a persistent request, the request remains active until the
ValidUntil
date and time is reached. Otherwise, the request remains active until you cancel it.For a one-time request,
ValidUntil
is not supported. The request remains active until all instances launch or you cancel the request.
InstanceInterruptionBehavior (string) –
The behavior when a Spot Instance is interrupted.
If
Configured
(for HibernationOptions) is set totrue
, theInstanceInterruptionBehavior
parameter is automatically set tohibernate
. If you set it tostop
orterminate
, you’ll get an error.If
Configured
(for HibernationOptions) is set tofalse
ornull
, theInstanceInterruptionBehavior
parameter is automatically set toterminate
. You can also set it tostop
orhibernate
.For more information, see Interruption behavior in the Amazon EC2 User Guide.
CreditSpecification (dict) –
The credit option for CPU usage of the burstable performance instance. Valid values are
standard
andunlimited
. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable performance instances in the Amazon EC2 User Guide.Default:
standard
(T2 instances) orunlimited
(T3/T3a/T4g instances)For T3 instances with
host
tenancy, onlystandard
is supported.CpuCredits (string) – [REQUIRED]
The credit option for CPU usage of a T instance.
Valid values:
standard
|unlimited
CpuOptions (dict) –
The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.
CoreCount (integer) –
The number of CPU cores for the instance.
ThreadsPerCore (integer) –
The number of threads per CPU core. To disable multithreading for the instance, specify a value of
1
. Otherwise, specify the default value of2
.AmdSevSnp (string) –
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. For more information, see AMD SEV-SNP.
CapacityReservationSpecification (dict) –
Information about the Capacity Reservation targeting option. If you do not specify this parameter, the instance’s Capacity Reservation preference defaults to
open
, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).CapacityReservationPreference (string) –
Indicates the instance’s Capacity Reservation preferences. Possible preferences include:
open
- The instance can run in anyopen
Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).none
- The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.
CapacityReservationTarget (dict) –
Information about the target Capacity Reservation or Capacity Reservation group.
CapacityReservationId (string) –
The ID of the Capacity Reservation in which to run the instance.
CapacityReservationResourceGroupArn (string) –
The ARN of the Capacity Reservation resource group in which to run the instance.
HibernationOptions (dict) –
Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.
You can’t enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.
Configured (boolean) –
Set to
true
to enable your instance for hibernation.For Spot Instances, if you set
Configured
totrue
, either omit theInstanceInterruptionBehavior
parameter (for SpotMarketOptions), or set it tohibernate
. WhenConfigured
is true:If you omit
InstanceInterruptionBehavior
, it defaults tohibernate
.If you set
InstanceInterruptionBehavior
to a value other thanhibernate
, you’ll get an error.
Default:
false
LicenseSpecifications (list) –
The license configurations.
(dict) –
Describes a license configuration.
LicenseConfigurationArn (string) –
The Amazon Resource Name (ARN) of the license configuration.
MetadataOptions (dict) –
The metadata options for the instance. For more information, see Instance metadata and user data.
HttpTokens (string) –
Indicates whether IMDSv2 is required.
optional
- IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.required
- IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.
Default:
If the value of
ImdsSupport
for the Amazon Machine Image (AMI) for your instance isv2.0
and the account level default is set tono-preference
, the default isrequired
.If the value of
ImdsSupport
for the Amazon Machine Image (AMI) for your instance isv2.0
, but the account level default is set toV1 or V2
, the default isoptional
.
The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.
HttpPutResponseHopLimit (integer) –
The maximum number of hops that the metadata token can travel.
Possible values: Integers from 1 to 64
HttpEndpoint (string) –
Enables or disables the HTTP metadata endpoint on your instances.
If you specify a value of
disabled
, you cannot access your instance metadata.Default:
enabled
HttpProtocolIpv6 (string) –
Enables or disables the IPv6 endpoint for the instance metadata service.
Default:
disabled
InstanceMetadataTags (string) –
Set to
enabled
to allow access to instance tags from the instance metadata. Set todisabled
to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.Default:
disabled
EnclaveOptions (dict) –
Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.
You can’t enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.
Enabled (boolean) –
To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to
true
.
PrivateDnsNameOptions (dict) –
The options for the instance hostname. The default values are inherited from the subnet. Applies only if creating a network interface, not attaching an existing one.
HostnameType (string) –
The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.
EnableResourceNameDnsARecord (boolean) –
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
EnableResourceNameDnsAAAARecord (boolean) –
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
MaintenanceOptions (dict) –
The maintenance and recovery options for the instance.
AutoRecovery (string) –
Disables the automatic recovery behavior of your instance or sets it to default. For more information, see Simplified automatic recovery.
DisableApiStop (boolean) – Indicates whether an instance is enabled for stop protection. For more information, see Stop protection.
EnablePrimaryIpv6 (boolean) – If you’re launching an instance into a dual-stack or IPv6-only subnet, you can enable assigning a primary IPv6 address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if an instance relies on its IPv6 address not changing. When you launch the instance, Amazon Web Services will automatically assign an IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
DryRun (boolean) – Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is
DryRunOperation
. Otherwise, it isUnauthorizedOperation
.DisableApiTermination (boolean) –
If you set this parameter to
true
, you can’t terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you setInstanceInitiatedShutdownBehavior
toterminate
, you can terminate the instance by running the shutdown command from the instance.Default:
false
InstanceInitiatedShutdownBehavior (string) –
Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).
Default:
stop
PrivateIpAddress (string) –
The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.
Only one private IP address can be designated as primary. You can’t specify this option if you’ve specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you’re launching more than one instance in the request.
You cannot specify this option and the network interfaces option in the same request.
ClientToken (string) –
Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.
For more information, see Ensuring Idempotency.
Constraints: Maximum 64 ASCII characters
This field is autopopulated if not provided.
AdditionalInfo (string) – Reserved.
NetworkInterfaces (list) –
The network interfaces to associate with the instance.
(dict) –
Describes a network interface.
AssociatePublicIpAddress (boolean) –
Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is
true
.Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.
DeleteOnTermination (boolean) –
If set to
true
, the interface is deleted when the instance is terminated. You can specifytrue
only if creating a new network interface when launching an instance.Description (string) –
The description of the network interface. Applies only if creating a network interface when launching an instance.
DeviceIndex (integer) –
The position of the network interface in the attachment order. A primary network interface has a device index of 0.
If you specify a network interface when launching an instance, you must specify the device index.
Groups (list) –
The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
(string) –
Ipv6AddressCount (integer) –
A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you’ve specified a minimum number of instances to launch.
Ipv6Addresses (list) –
The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you’ve specified a minimum number of instances to launch.
(dict) –
Describes an IPv6 address.
Ipv6Address (string) –
The IPv6 address.
IsPrimaryIpv6 (boolean) –
Determines if an IPv6 address associated with a network interface is the primary IPv6 address. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information, see RunInstances.
NetworkInterfaceId (string) –
The ID of the network interface.
If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.
PrivateIpAddress (string) –
The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you’re launching more than one instance in a RunInstances request.
PrivateIpAddresses (list) –
The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you’re launching more than one instance in a RunInstances request.
(dict) –
Describes a secondary private IPv4 address for a network interface.
Primary (boolean) –
Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.
PrivateIpAddress (string) –
The private IPv4 address.
SecondaryPrivateIpAddressCount (integer) –
The number of secondary private IPv4 addresses. You can’t specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you’re launching more than one instance in a RunInstances request.
SubnetId (string) –
The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.
AssociateCarrierIpAddress (boolean) –
Indicates whether to assign a carrier IP address to the network interface.
You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer Guide.
InterfaceType (string) –
The type of network interface.
Valid values:
interface
|efa
NetworkCardIndex (integer) –
The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.
Ipv4Prefixes (list) –
The IPv4 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the
Ipv4PrefixCount
option.(dict) –
Describes the IPv4 prefix option for a network interface.
Ipv4Prefix (string) –
The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.
Ipv4PrefixCount (integer) –
The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the
Ipv4Prefix
option.Ipv6Prefixes (list) –
The IPv6 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the
Ipv6PrefixCount
option.(dict) –
Describes the IPv4 prefix option for a network interface.
Ipv6Prefix (string) –
The IPv6 prefix.
Ipv6PrefixCount (integer) –
The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the
Ipv6Prefix
option.PrimaryIpv6 (boolean) –
The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.
EnaSrdSpecification (dict) –
Specifies the ENA Express settings for the network interface that’s attached to the instance.
EnaSrdEnabled (boolean) –
Specifies whether ENA Express is enabled for the network interface when you launch an instance from your launch template.
EnaSrdUdpSpecification (dict) –
Contains ENA Express settings for UDP network traffic in your launch template.
EnaSrdUdpEnabled (boolean) –
Indicates whether UDP traffic uses ENA Express for your instance. To ensure that UDP traffic can use ENA Express when you launch an instance, you must also set EnaSrdEnabled in the EnaSrdSpecificationRequest to
true
in your launch template.
ConnectionTrackingSpecification (dict) –
A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.
TcpEstablishedTimeout (integer) –
Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.
UdpStreamTimeout (integer) –
Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.
UdpTimeout (integer) –
Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.
IamInstanceProfile (dict) –
The name or Amazon Resource Name (ARN) of an IAM instance profile.
Arn (string) –
The Amazon Resource Name (ARN) of the instance profile.
Name (string) –
The name of the instance profile.
EbsOptimized (boolean) –
Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn’t available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
Default:
false
- Return type:
list(
ec2.Instance
)- Returns:
A list of Instance resources