2019/11/21 - Amazon Elastic Compute Cloud - 5 updated api methods
Changes Update ec2 client to latest version
{'InstanceFamily': 'string'}
Allocates a Dedicated Host to your account. At a minimum, specify the supported instance type or instance family, the Availability Zone in which to allocate the host, and the number of hosts to allocate.
See also: AWS API Documentation
Request Syntax
client.allocate_hosts( AutoPlacement='on'|'off', AvailabilityZone='string', ClientToken='string', InstanceType='string', InstanceFamily='string', Quantity=123, TagSpecifications=[ { 'ResourceType': 'client-vpn-endpoint'|'customer-gateway'|'dedicated-host'|'dhcp-options'|'elastic-ip'|'fleet'|'fpga-image'|'host-reservation'|'image'|'instance'|'internet-gateway'|'launch-template'|'natgateway'|'network-acl'|'network-interface'|'reserved-instances'|'route-table'|'security-group'|'snapshot'|'spot-instances-request'|'subnet'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-route-table'|'volume'|'vpc'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway', 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], HostRecovery='on'|'off' )
string
Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding Instance Placement and Host Affinity in the Amazon EC2 User Guide for Linux Instances.
Default: on
string
[REQUIRED]
The Availability Zone in which to allocate the Dedicated Host.
string
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.
string
Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.
If you want the Dedicated Hosts to support multiple instance types in a specific instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.
string
Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family.
If you want the Dedicated Hosts to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.
integer
[REQUIRED]
The number of Dedicated Hosts to allocate to your account with these parameters.
list
The tags to apply to the Dedicated Host during creation.
(dict) --
The tags to apply to a resource when the resource is being created.
ResourceType (string) --
The type of resource to tag. Currently, the resource types that support tagging on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host | fleet | fpga-image | instance | launch-template | snapshot | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-route-table | volume.
To tag a resource after it has been created, see CreateTags.
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 255 Unicode characters.
string
Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.
Default: off
dict
Response Syntax
{ 'HostIds': [ 'string', ] }
Response Structure
(dict) --
Contains the output of AllocateHosts.
HostIds (list) --
The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host.
(string) --
{'Hosts': {'AllowsMultipleInstanceTypes': 'on | off', 'AvailabilityZoneId': 'string', 'HostProperties': {'InstanceFamily': 'string'}, 'Instances': {'OwnerId': 'string'}, 'OwnerId': 'string'}}
Describes the specified Dedicated Hosts or all your Dedicated Hosts.
The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.
See also: AWS API Documentation
Request Syntax
client.describe_hosts( Filter=[ { 'Name': 'string', 'Values': [ 'string', ] }, ], HostIds=[ 'string', ], MaxResults=123, NextToken='string' )
list
The filters.
auto-placement - Whether auto-placement is enabled or disabled ( on | off).
availability-zone - The Availability Zone of the host.
client-token - The idempotency token that you provided when you allocated the host.
host-reservation-id - The ID of the reservation assigned to this host.
instance-type - The instance type size that the Dedicated Host is configured to support.
state - The allocation state of the Dedicated Host ( available | under-assessment | permanent-failure | released | released-permanent-failure).
tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
(dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:
DescribeAvailabilityZones
DescribeImages
DescribeInstances
DescribeKeyPairs
DescribeSecurityGroups
DescribeSnapshots
DescribeSubnets
DescribeTags
DescribeVolumes
DescribeVpcs
Name (string) --
The name of the filter. Filter names are case-sensitive.
Values (list) --
The filter values. Filter values are case-sensitive.
(string) --
list
The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
(string) --
integer
The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.
You cannot specify this parameter and the host IDs parameter in the same request.
string
The token to use to retrieve the next page of results.
dict
Response Syntax
{ 'Hosts': [ { 'AutoPlacement': 'on'|'off', 'AvailabilityZone': 'string', 'AvailableCapacity': { 'AvailableInstanceCapacity': [ { 'AvailableCapacity': 123, 'InstanceType': 'string', 'TotalCapacity': 123 }, ], 'AvailableVCpus': 123 }, 'ClientToken': 'string', 'HostId': 'string', 'HostProperties': { 'Cores': 123, 'InstanceType': 'string', 'InstanceFamily': 'string', 'Sockets': 123, 'TotalVCpus': 123 }, 'HostReservationId': 'string', 'Instances': [ { 'InstanceId': 'string', 'InstanceType': 'string', 'OwnerId': 'string' }, ], 'State': 'available'|'under-assessment'|'permanent-failure'|'released'|'released-permanent-failure'|'pending', 'AllocationTime': datetime(2015, 1, 1), 'ReleaseTime': datetime(2015, 1, 1), 'Tags': [ { 'Key': 'string', 'Value': 'string' }, ], 'HostRecovery': 'on'|'off', 'AllowsMultipleInstanceTypes': 'on'|'off', 'OwnerId': 'string', 'AvailabilityZoneId': 'string' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Hosts (list) --
Information about the Dedicated Hosts.
(dict) --
Describes the properties of the Dedicated Host.
AutoPlacement (string) --
Whether auto-placement is on or off.
AvailabilityZone (string) --
The Availability Zone of the Dedicated Host.
AvailableCapacity (dict) --
Information about the instances running on the Dedicated Host.
AvailableInstanceCapacity (list) --
The number of instances that can be launched onto the Dedicated Host depending on the host's available capacity. For Dedicated Hosts that support multiple instance types, this parameter represents the number of instances for each instance size that is supported on the host.
(dict) --
Information about the number of instances that can be launched onto the Dedicated Host.
AvailableCapacity (integer) --
The number of instances that can be launched onto the Dedicated Host based on the host's available capacity.
InstanceType (string) --
The instance type supported by the Dedicated Host.
TotalCapacity (integer) --
The total number of instances that can be launched onto the Dedicated Host if there are no instances running on it.
AvailableVCpus (integer) --
The number of vCPUs available for launching instances onto the Dedicated Host.
ClientToken (string) --
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.
HostId (string) --
The ID of the Dedicated Host.
HostProperties (dict) --
The hardware specifications of the Dedicated Host.
Cores (integer) --
The number of cores on the Dedicated Host.
InstanceType (string) --
The instance type supported by the Dedicated Host. For example, m5.large. If the host supports multiple instance types, no instanceType is returned.
InstanceFamily (string) --
The instance family supported by the Dedicated Host. For example, m5.
Sockets (integer) --
The number of sockets on the Dedicated Host.
TotalVCpus (integer) --
The total number of vCPUs on the Dedicated Host.
HostReservationId (string) --
The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.
Instances (list) --
The IDs and instance type that are currently running on the Dedicated Host.
(dict) --
Describes an instance running on a Dedicated Host.
InstanceId (string) --
The ID of instance that is running on the Dedicated Host.
InstanceType (string) --
The instance type (for example, m3.medium) of the running instance.
OwnerId (string) --
The ID of the AWS account that owns the instance.
State (string) --
The Dedicated Host's state.
AllocationTime (datetime) --
The time that the Dedicated Host was allocated.
ReleaseTime (datetime) --
The time that the Dedicated Host was released.
Tags (list) --
Any tags assigned to the Dedicated Host.
(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 255 Unicode characters.
HostRecovery (string) --
Indicates whether host recovery is enabled or disabled for the Dedicated Host.
AllowsMultipleInstanceTypes (string) --
Indicates whether the Dedicated Host supports multiple instance types of the same instance family, or a specific instance type only. one indicates that the Dedicated Host supports multiple instance types in the instance family. off indicates that the Dedicated Host supports a single instance type only.
OwnerId (string) --
The ID of the AWS account that owns the Dedicated Host.
AvailabilityZoneId (string) --
The ID of the Availability Zone in which the Dedicated Host is allocated.
NextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
{'ImportImageTasks': {'LicenseSpecifications': [{'LicenseConfigurationArn': 'string'}]}}
Displays details about an import virtual machine or import snapshot tasks that are already created.
See also: AWS API Documentation
Request Syntax
client.describe_import_image_tasks( DryRun=True|False, Filters=[ { 'Name': 'string', 'Values': [ 'string', ] }, ], ImportTaskIds=[ 'string', ], MaxResults=123, NextToken='string' )
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.
list
Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.
(dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:
DescribeAvailabilityZones
DescribeImages
DescribeInstances
DescribeKeyPairs
DescribeSecurityGroups
DescribeSnapshots
DescribeSubnets
DescribeTags
DescribeVolumes
DescribeVpcs
Name (string) --
The name of the filter. Filter names are case-sensitive.
Values (list) --
The filter values. Filter values are case-sensitive.
(string) --
list
The IDs of the import image tasks.
(string) --
integer
The maximum number of results to return in a single call.
string
A token that indicates the next page of results.
dict
Response Syntax
{ 'ImportImageTasks': [ { 'Architecture': 'string', 'Description': 'string', 'Encrypted': True|False, 'Hypervisor': 'string', 'ImageId': 'string', 'ImportTaskId': 'string', 'KmsKeyId': 'string', 'LicenseType': 'string', 'Platform': 'string', 'Progress': 'string', 'SnapshotDetails': [ { 'Description': 'string', 'DeviceName': 'string', 'DiskImageSize': 123.0, 'Format': 'string', 'Progress': 'string', 'SnapshotId': 'string', 'Status': 'string', 'StatusMessage': 'string', 'Url': 'string', 'UserBucket': { 'S3Bucket': 'string', 'S3Key': 'string' } }, ], 'Status': 'string', 'StatusMessage': 'string', 'LicenseSpecifications': [ { 'LicenseConfigurationArn': 'string' }, ] }, ], 'NextToken': 'string' }
Response Structure
(dict) --
ImportImageTasks (list) --
A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.
(dict) --
Describes an import image task.
Architecture (string) --
The architecture of the virtual machine.
Valid values: i386 | x86_64 | arm64
Description (string) --
A description of the import task.
Encrypted (boolean) --
Indicates whether the image is encrypted.
Hypervisor (string) --
The target hypervisor for the import task.
Valid values: xen
ImageId (string) --
The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
ImportTaskId (string) --
The ID of the import image task.
KmsKeyId (string) --
The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted image.
LicenseType (string) --
The license type of the virtual machine.
Platform (string) --
The description string for the import image task.
Progress (string) --
The percentage of progress of the import image task.
SnapshotDetails (list) --
Information about the snapshots.
(dict) --
Describes the snapshot created from the imported disk.
Description (string) --
A description for the snapshot.
DeviceName (string) --
The block device mapping for the snapshot.
DiskImageSize (float) --
The size of the disk in the snapshot, in GiB.
Format (string) --
The format of the disk image from which the snapshot is created.
Progress (string) --
The percentage of progress for the task.
SnapshotId (string) --
The snapshot ID of the disk being imported.
Status (string) --
A brief status of the snapshot creation.
StatusMessage (string) --
A detailed status message for the snapshot creation.
Url (string) --
The URL used to access the disk image.
UserBucket (dict) --
The S3 bucket for the disk image.
S3Bucket (string) --
The S3 bucket from which the disk image was created.
S3Key (string) --
The file name of the disk image.
Status (string) --
A brief status for the import image task.
StatusMessage (string) --
A descriptive status message for the import image task.
LicenseSpecifications (list) --
The ARNs of the license configurations associated to the import image task.
(dict) --
The response information of license configurations.
LicenseConfigurationArn (string) --
The ARN of a license configuration.
NextToken (string) --
The token to use to get the next page of results. This value is null when there are no more results to return.
{'LicenseSpecifications': [{'LicenseConfigurationArn': 'string'}]}
Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.
See also: AWS API Documentation
Request Syntax
client.import_image( Architecture='string', ClientData={ 'Comment': 'string', 'UploadEnd': datetime(2015, 1, 1), 'UploadSize': 123.0, 'UploadStart': datetime(2015, 1, 1) }, ClientToken='string', Description='string', DiskContainers=[ { 'Description': 'string', 'DeviceName': 'string', 'Format': 'string', 'SnapshotId': 'string', 'Url': 'string', 'UserBucket': { 'S3Bucket': 'string', 'S3Key': 'string' } }, ], DryRun=True|False, Encrypted=True|False, Hypervisor='string', KmsKeyId='string', LicenseType='string', Platform='string', RoleName='string', LicenseSpecifications=[ { 'LicenseConfigurationArn': 'string' }, ] )
string
The architecture of the virtual machine.
Valid values: i386 | x86_64 | arm64
dict
The client-specific data.
Comment (string) --
A user-defined comment about the disk upload.
UploadEnd (datetime) --
The time that the disk upload ends.
UploadSize (float) --
The size of the uploaded disk image, in GiB.
UploadStart (datetime) --
The time that the disk upload starts.
string
The token to enable idempotency for VM import requests.
string
A description string for the import image task.
list
Information about the disk containers.
(dict) --
Describes the disk container object for an import image task.
Description (string) --
The description of the disk image.
DeviceName (string) --
The block device mapping for the disk.
Format (string) --
The format of the disk image being imported.
Valid values: VHD | VMDK | OVA
SnapshotId (string) --
The ID of the EBS snapshot to be used for importing the snapshot.
Url (string) --
The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)
UserBucket (dict) --
The S3 bucket for the disk image.
S3Bucket (string) --
The name of the S3 bucket where the disk image is located.
S3Key (string) --
The file name of the disk image.
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.
boolean
Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
string
The target hypervisor platform.
Valid values: xen
string
An identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
The CMK identifier may be provided in any of the following formats:
Key ID
Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.
The specified CMK must exist in the Region that the AMI is being copied to.
string
The license type to be used for the Amazon Machine Image (AMI) after importing.
By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL to retain the source-system license, if appropriate.
To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as AWS. For more information, see Prerequisites in the VM Import/Export User Guide.
string
The operating system of the virtual machine.
Valid values: Windows | Linux
string
The name of the role to use when not using the default role, 'vmimport'.
list
The ARNs of the license configurations.
(dict) --
The request information of license configurations.
LicenseConfigurationArn (string) --
The ARN of a license configuration.
dict
Response Syntax
{ 'Architecture': 'string', 'Description': 'string', 'Encrypted': True|False, 'Hypervisor': 'string', 'ImageId': 'string', 'ImportTaskId': 'string', 'KmsKeyId': 'string', 'LicenseType': 'string', 'Platform': 'string', 'Progress': 'string', 'SnapshotDetails': [ { 'Description': 'string', 'DeviceName': 'string', 'DiskImageSize': 123.0, 'Format': 'string', 'Progress': 'string', 'SnapshotId': 'string', 'Status': 'string', 'StatusMessage': 'string', 'Url': 'string', 'UserBucket': { 'S3Bucket': 'string', 'S3Key': 'string' } }, ], 'Status': 'string', 'StatusMessage': 'string', 'LicenseSpecifications': [ { 'LicenseConfigurationArn': 'string' }, ] }
Response Structure
(dict) --
Architecture (string) --
The architecture of the virtual machine.
Description (string) --
A description of the import task.
Encrypted (boolean) --
Indicates whether the AMI is encypted.
Hypervisor (string) --
The target hypervisor of the import task.
ImageId (string) --
The ID of the Amazon Machine Image (AMI) created by the import task.
ImportTaskId (string) --
The task ID of the import image task.
KmsKeyId (string) --
The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted AMI.
LicenseType (string) --
The license type of the virtual machine.
Platform (string) --
The operating system of the virtual machine.
Progress (string) --
The progress of the task.
SnapshotDetails (list) --
Information about the snapshots.
(dict) --
Describes the snapshot created from the imported disk.
Description (string) --
A description for the snapshot.
DeviceName (string) --
The block device mapping for the snapshot.
DiskImageSize (float) --
The size of the disk in the snapshot, in GiB.
Format (string) --
The format of the disk image from which the snapshot is created.
Progress (string) --
The percentage of progress for the task.
SnapshotId (string) --
The snapshot ID of the disk being imported.
Status (string) --
A brief status of the snapshot creation.
StatusMessage (string) --
A detailed status message for the snapshot creation.
Url (string) --
The URL used to access the disk image.
UserBucket (dict) --
The S3 bucket for the disk image.
S3Bucket (string) --
The S3 bucket from which the disk image was created.
S3Key (string) --
The file name of the disk image.
Status (string) --
A brief status of the task.
StatusMessage (string) --
A detailed status message of the import task.
LicenseSpecifications (list) --
The ARNs of the license configurations.
(dict) --
The response information of license configurations.
LicenseConfigurationArn (string) --
The ARN of a license configuration.
{'InstanceFamily': 'string', 'InstanceType': 'string'}
Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of host but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID to have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled.
You can also use this API action to modify a Dedicated Host to support either multiple instance types in an instance family, or to support a specific instance type only.
See also: AWS API Documentation
Request Syntax
client.modify_hosts( AutoPlacement='on'|'off', HostIds=[ 'string', ], HostRecovery='on'|'off', InstanceType='string', InstanceFamily='string' )
string
Specify whether to enable or disable auto-placement.
list
[REQUIRED]
The IDs of the Dedicated Hosts to modify.
(string) --
string
Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.
string
Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support only a specific instance type.
If you want to modify a Dedicated Host to support multiple instance types in its current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.
string
Specifies the instance family to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support multiple instance types within its current instance family.
If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.
dict
Response Syntax
{ 'Successful': [ 'string', ], 'Unsuccessful': [ { 'Error': { 'Code': 'string', 'Message': 'string' }, 'ResourceId': 'string' }, ] }
Response Structure
(dict) --
Successful (list) --
The IDs of the Dedicated Hosts that were successfully modified.
(string) --
Unsuccessful (list) --
The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.
(dict) --
Information about items that were not successfully processed in a batch call.
Error (dict) --
Information about the error.
Code (string) --
The error code.
Message (string) --
The error message accompanying the error code.
ResourceId (string) --
The ID of the resource.