Amazon Elastic Compute Cloud
CLI Reference (API Version 2014-06-15)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Did this page help you?  Yes | No |  Tell us about it...

ec2-modify-instance-attribute

Description

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note

To modify some attributes, the instance must be stopped. For more information, see Modifying a Stopped Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

The short version of this command is ec2minatt.

Syntax

ec2-modify-instance-attribute instance_id { --block-device-mapping mapping | --disable-api-termination | --ebs-optimized Boolean | --group-id group_id [...] | --instance-initiated-shutdown-behavior behavior | --instance-type type | --kernel kernel_id | --ramdisk ramdisk_id | --source-dest-check Boolean | --sriov sriov | --user-data user_data }

Options

NameDescription

instance_id

The ID of the instance.

Type: String

Default: None

Required: Yes

Example: i-43a4412a

-b, --block-device-mapping mapping Boolean

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTerminaton, the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

Type: BlockDeviceMapping

Required: No

Examples: -b "/dev/sdb=:false"

--disable-api-termination Boolean

If this option is specified, you can't terminate the instance using the Amazon EC2 console, CLI, and API; otherwise, you can.

Type: Boolean

Default: false

Required: No

Example: --disable-api-termination true

--ebs-optimized 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 option isn't available on all instance types. Additional usage charge apply when using this option.

Type: Boolean

Default: false

Required: No

Example: --ebs-optimized true

-g, --group-id group_id

[EC2-VPC] Modify the security groups associated with an instance. The set of security groups that you specify replaces the current set. You must specify at least one group, even if it's just the default security group for the VPC. You must specify the security group by ID and not by name.

Type: String

Default: None

Required: No

Example: -g sg-1a1a1a1a -g sg-9b9b9b9b

--instance-initiated-shutdown-behavior behavior

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Type: String

Valid values: stop | terminate

Default: stop

Required: No

Example: --instance-initiated-shutdown-behavior stop

-t, --instance-type type

The type of the instance. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux. An InvalidInstanceAttributeValue error is returned if the instance type is not valid.

Type: String

Default: m1.small

Required: No

Example: -t m1.large

--kernel kernel_id

The ID of the kernel.

Important

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide for Linux.

Type: String

Default: None

Required: No

Example: --kernel aki-1a2b3c4d

--ramdisk ramdisk_id

The ID of the RAM disk.

Important

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide for Linux.

Type: String

Default: None

Required: No

Example: --ramdisk ari-1a2b3c4d

--source-dest-check Boolean

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

Type: Boolean

Default: true

Required: No

Example: --source-dest-check false

--sriov sriov

Set to simple to enable enhanced networking for the instance and any AMIs that you create from the instance. There is no way to disable enhanced networking at this time. For more information, see Enabling Enhanced Networking on Linux Instances in the Amazon Elastic Compute Cloud User Guide for Linux or Enabling Enhanced Networking on Windows Instances in the Amazon Elastic Compute Cloud User Guide for Microsoft Windows.

Warning

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

Type: String

Valid values: simple

Default: None

Required: No

Example: --sriov simple

--user-data user_data

The base64-encoded MIME user data.

Type: String

Default: None

Required: No

Example: --user-data "My user data"

Common Options

OptionDescription

--region region

The region. Overrides the default region, the region specified by the EC2_URL environment variable, and the URL specified by the -U option.

Default: The region specified by the EC2_URL environment variable, or us-east-1 if EC2_URL isn't set.

-U, --url url

The uniform resource locator (URL) of the Amazon EC2 web service entry point.

Default: The endpoint specified by the EC2_URL environment variable, or https://ec2.amazonaws.com if EC2_URL isn't set.

-O, --aws-access-key aws_access_key_id

Your access key ID. For more information, see Tell the Tools Who You Are.

Default: The value of the AWS_ACCESS_KEY environment variable. If AWS_ACCESS_KEY isn't set, you must specify this option.

Example: -O AKIAIOSFODNN7EXAMPLE

-W, --aws-secret-key aws_secret_access_key

Your secret access key.

Default: The value of the AWS_SECRET_KEY environment variable. If AWS_SECRET_KEY isn't set, you must specify this option.

Example: -W wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

-T, --security-token delegation_token

The AWS delegation token.

Default: The value of the environment variable (if set).

--connection-timeout timeout

The connection timeout, in seconds.

Example: --connection-timeout 30

--request-timeout timeout

The request timeout, in seconds.

Example: --request-timeout 45

-H, --headers

Includes column headers in the command output.

--show-empty-fields

Shows empty columns as (nil).

--hide-tags

Omits tags for tagged resources.

--debug

Displays internal debugging information. This can assist us when helping you troubleshooting problems.

-D, --auth-dry-run

Checks whether you have the required permissions for the command, without actually running the command. If you have the required permissions, the command returns DryRunOperation; otherwise, it returns UnauthorizedOperation.

-v, --verbose

Displays verbose output, including the API request and response on the command line. This is useful if you are building tools to talk directly to the Query API.

-

Reads arguments from standard input. This is useful when piping the output from one command to the input of another.

Example: ec2-describe-instances | grep stopped | cut -f 2 | ec2-start-instances -

-?, --help, -h

Displays usage information for the command.

Deprecated Options

We have deprecated the SOAP API for Amazon EC2. For more information, see SOAP Requests. From version 1.6.14.0 onwards of the Amazon EC2 CLI tools, the private key (-K, --private-key) and X.509 certificate (-C, --cert) options are not supported. Use your access key ID (-O, --aws-access-key) and secret access key (-W, --aws-secret-key) instead. For more information, see Setting Up the Amazon EC2 CLI and AMI Tools.

OptionDescription

-K, --private-key ec2_private_key

The private key to use when constructing requests to Amazon EC2.

Default: The value of the EC2_PRIVATE_KEY environment variable.

Example: -K pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

-C, --cert ec2_cert

The X.509 certificate to use when constructing requests to Amazon EC2.

Default: The value of the EC2_CERT environment variable.

Example: -C cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

Output

This command returns a table that contains the following information:

  • The attribute type identifier

  • The ID of the instance on which attributes are being modified

  • The new attribute value

Amazon EC2 command line tools display errors on stderr.

Examples

Example 1

This example command changes the instance type of the specified instance. The instance must be in the stopped state.

PROMPT> ec2-modify-instance-attribute i-10a64379 --instance-type m1.small
instanceType	i-10a64379	m1.small

Example 2

This example command changes the InstanceInitiatedShutdownBehavior attribute of the specified instance.

PROMPT> ec2-modify-instance-attribute i-10a64379 --instance-initiated-shutdown-behavior terminate
instanceInitiatedShutdownBehavior	i-10a64379	terminate

Example 3

This example command changes the DisableApiTermination attribute of the specified instance.

PROMPT> ec2-modify-instance-attribute i-10a64379 --disable-api-termination true
disableApiTermination	i-10a64379	true

Example 4

This example command changes the DeleteOnTermination attribute for the root volume of the specified Amazon EBS-backed instance. By default, this attribute is true for the root volume.

PROMPT> ec2-modify-instance-attribute i-10a64379 --block-device-mapping "/dev/sda1=:false"
BLOCKDEVICE	    /dev/sda1                    false