EC2 / Client / attach_volume
attach_volume#
- EC2.Client.attach_volume(**kwargs)#
- Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name. - Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide. - After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use. - If a volume has an Amazon Web Services Marketplace product code: - The volume can be attached only to a stopped instance. 
- Amazon Web Services Marketplace product codes are copied from the volume to the instance. 
- You must be subscribed to the product. 
- The instance type and operating system of the instance must support the product. For example, you can’t detach a volume from a Windows instance and attach it to a Linux instance. 
 - For more information, see Attach an Amazon EBS volume to an instance in the Amazon Elastic Compute Cloud User Guide. - See also: AWS API Documentation - Request Syntax- response = client.attach_volume( Device='string', InstanceId='string', VolumeId='string', DryRun=True|False ) - Parameters:
- Device (string) – - [REQUIRED] - The device name (for example, - /dev/sdhor- xvdh).
- InstanceId (string) – - [REQUIRED] - The ID of the instance. 
- VolumeId (string) – - [REQUIRED] - The ID of the EBS volume. The volume and instance must be within the same Availability Zone. 
- DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is - DryRunOperation. Otherwise, it is- UnauthorizedOperation.
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'AttachTime': datetime(2015, 1, 1), 'Device': 'string', 'InstanceId': 'string', 'State': 'attaching'|'attached'|'detaching'|'detached'|'busy', 'VolumeId': 'string', 'DeleteOnTermination': True|False } - Response Structure- (dict) – - Describes volume attachment details. - AttachTime (datetime) – - The time stamp when the attachment initiated. 
- Device (string) – - The device name. 
- InstanceId (string) – - The ID of the instance. 
- State (string) – - The attachment state of the volume. 
- VolumeId (string) – - The ID of the volume. 
- DeleteOnTermination (boolean) – - Indicates whether the EBS volume is deleted on instance termination. 
 
 
 - Examples- This example attaches a volume ( - vol-1234567890abcdef0) to an instance (- i-01474ef662b89480) as- /dev/sdf.- response = client.attach_volume( Device='/dev/sdf', InstanceId='i-01474ef662b89480', VolumeId='vol-1234567890abcdef0', ) print(response) - Expected Output: - { 'AttachTime': datetime(2016, 8, 29, 18, 52, 32, 0, 242, 0), 'Device': '/dev/sdf', 'InstanceId': 'i-01474ef662b89480', 'State': 'attaching', 'VolumeId': 'vol-1234567890abcdef0', 'ResponseMetadata': { '...': '...', }, }