EC2
Use type: ec2
to run your code on an EC2 instance
Example
Here’s a simple configuration for an EC2 agent:
my-new-ec2-agent:
infra:
type: ec2
instance_type: t2.micro
ami_image: ami-01c647eace872fc02
python_version: '3.11'
...
Prerequisites
EC2 agents rely on the boto3 and botocore packages. These require you to set up authentication credentials for your AWS account. More information can be found here.
IAM permissions
EC2 agents require your AWS credentials to list, modify, create, and delete certain
resources (e.g., key pairs, security groups, EC2 instances, etc.). The specific
resources required depend on the protocol
you use when creating, modifying, and
running your instance.
There are two protocol
options: ssh
, and ssm
. The ssh
protocol manages your
instance via the SSH / SCP protocols, whereas the ssm
protocol manages your instance
via AWS Systems Manager.
You’ll need to make sure your account has the necessary privileges to create resources for your requested protocol. Contact your account administrator to help out with this.
You can use the following policy document to provision your account with the necessary permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGetAccessKeyLastUsed",
"Effect": "Allow",
"Action": "iam:GetAccessKeyLastUsed",
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "AllowGetUser",
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Effect": "Allow",
"Action": [
"ec2:Describe*",
"ec2:GetConsole*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:RunInstances",
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*::image/ami-*",
"arn:aws:ec2:*:*:key-pair/*",
"arn:aws:ec2:*:*:security-group/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateKeyPair",
"ec2:DeleteKeyPair",
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeTags"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:ModifySecurityGroupRules",
"ec2:UpdateSecurityGroupRuleDescriptionsIngress",
"ec2:UpdateSecurityGroupRuleDescriptionsEgress"
],
"Resource": [
"arn:aws:ec2:*:*:security-group/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySecurityGroupRules"
],
"Resource": [
"arn:aws:ec2:*:*:security-group-rule/*"
]
}
]
}
Certain IAM permissions are not necessary if you plan on using the SSM protocol with a pre-existing instance profile. Work with your cloud administrator to provision the necessary permissions.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"logs:DescribeLogGroups",
"ssm:GetCommandInvocation"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ssm:SendCommand",
"iam:CreateInstanceProfile",
"iam:DeleteInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:CreateRole",
"iam:DeleteRole",
"iam:AttachRolePolicy",
"iam:AddRoleToInstanceProfile",
"iam:ListInstanceProfilesForRole",
"logs:CreateLogStream",
"iam:PassRole",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies"
],
"Resource": [
"arn:aws:ec2:*:066259261150:instance/*",
"arn:aws:ssm:*::document/AWS-RunShellScript",
"arn:aws:ssm:*:066259261150:document/*",
"arn:aws:logs:*:066259261150:log-group:*:log-stream:*",
"arn:aws:iam::066259261150:instance-profile/*",
"arn:aws:iam::066259261150:role/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "logs:DeleteLogGroup",
"Resource": "arn:aws:logs:*:066259261150:log-group:*"
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"ec2:TerminateInstances",
"logs:StartLiveTail",
"ec2:CreateTags",
"ec2:RunInstances",
"ec2:AssociateIamInstanceProfile"
],
"Resource": [
"arn:aws:ec2:*:066259261150:instance/*",
"arn:aws:ec2:*:066259261150:network-interface/*",
"arn:aws:ec2:*:066259261150:subnet/*",
"arn:aws:ec2:*:066259261150:security-group/*",
"arn:aws:ec2:*:066259261150:volume/*",
"arn:aws:ec2:*::image/*",
"arn:aws:s3:::*/*",
"arn:aws:logs:*:066259261150:log-group:*"
]
},
{
"Sid": "VisualEditor4",
"Effect": "Allow",
"Action": [
"iam:PassRole",
"s3:CreateBucket",
"s3:ListBucket",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:iam::066259261150:role/*",
"arn:aws:logs:*:066259261150:log-group:*",
"arn:aws:s3:::*"
]
},
{
"Sid": "VisualEditor5",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"logs:GetLogEvents"
],
"Resource": [
"arn:aws:s3:::*/*",
"arn:aws:logs:*:066259261150:log-group:*:log-stream:*"
]
},
{
"Sid": "VisualEditor6",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
}
]
}
Key Specification
The EC2 infra
accepts the following keys:
my-new-ec2-agent:
infra:
type: ec2
instance_type: 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,
ami_image:
python_version:
protocol: ssh|ssm
instance_profile:
...
Required keys
type
: this should always beec2
instance_type
: the EC2 instance type. This defaults tot2.micro
. The list of all available EC2 instance types can be found here.ami_image
: the Amazon machine image to use. This defaults toami-0889a44b331db0194
. You should be able to find a list of available AMIs for your region via the AWS console (EC2 >> Images >> AMI Catalog).
ami_image
must be an Amazon Linux AMI. We’re working on adding support for
other Linux-based images (e.g., Debian, Ubuntu, etc.)Optional keys
python_version
: the Python version to use. This is optional. If this isn’t specified, this your code will run using the Python version native to the EC2 instance. The latest version is always used, i.e.,:python_version: 3
—> version3.12.0
is usedpython_version: 3.1
—> version3.1.5
is usedpython_version: 3.11.6
—> version3.11.6
is used
python_version
will be deprecated starting in version 0.0.9
. Instead, users can
customize their Python version using a Docker image, e.g., python:3.10.8-slim-bullseye
.
-
protocol
: the protocol to use to modify and manage your instance. Accepted options aressh
andssm
. Defaults tossh
if not specified. -
instance_profile
: instance profile to attach to your EC2 instance if thessm
protocol is used. If not specified, then Alto will create an instance profile for you.