You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by qu...@apache.org on 2018/06/29 08:19:27 UTC
[03/10] libcloud git commit: Cleaned EC2 files and added constants
http://git-wip-us.apache.org/repos/asf/libcloud/blob/f803651e/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index d7b6a56..00e3829 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -41,6 +41,7 @@ from libcloud.compute.base import NodeImage, StorageVolume, VolumeSnapshot
from libcloud.compute.base import KeyPair
from libcloud.compute.types import NodeState, KeyPairDoesNotExistError, \
StorageVolumeState, VolumeSnapshotState
+from libcloud.compute.constants import INSTANCE_TYPES, REGION_DETAILS
__all__ = [
'API_VERSION',
@@ -88,2107 +89,19 @@ EUCA_NAMESPACE = 'http://msgs.eucalyptus.com/%s' % (DEFAULT_EUCA_API_VERSION)
DEFAULT_OUTSCALE_API_VERSION = '2016-04-01'
OUTSCALE_NAMESPACE = 'http://api.outscale.com/wsdl/fcuext/2014-04-15/'
-"""
-Sizes must be hardcoded, because Amazon doesn't provide an API to fetch them.
-From http://aws.amazon.com/ec2/instance-types/
-and <http://aws.amazon.com/ec2/previous-generation/>
-ram = [MiB], disk = [GB]
-"""
-
-
-def GiB(value):
- return int(value * 1024)
-
-
-INSTANCE_TYPES = {
- 't1.micro': {
- 'id': 't1.micro',
- 'name': 'Micro Instance',
- 'ram': GiB(0.613),
- 'disk': 15, # GB
- 'bandwidth': None
- },
- 'm1.small': {
- 'id': 'm1.small',
- 'name': 'Small Instance',
- 'ram': GiB(1.7),
- 'disk': 160, # GB
- 'bandwidth': None
- },
- 'm1.medium': {
- 'id': 'm1.medium',
- 'name': 'Medium Instance',
- 'ram': GiB(3.75),
- 'disk': 410, # GB
- 'bandwidth': None
- },
- 'm1.large': {
- 'id': 'm1.large',
- 'name': 'Large Instance',
- 'ram': GiB(7.5),
- 'disk': 2 * 420, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'm1.xlarge': {
- 'id': 'm1.xlarge',
- 'name': 'Extra Large Instance',
- 'ram': GiB(15),
- 'disk': 4 * 420, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'c1.medium': {
- 'id': 'c1.medium',
- 'name': 'High-CPU Medium Instance',
- 'ram': GiB(1.7),
- 'disk': 350, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'c1.xlarge': {
- 'id': 'c1.xlarge',
- 'name': 'High-CPU Extra Large Instance',
- 'ram': GiB(7),
- 'disk': 4 * 420, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'm2.xlarge': {
- 'id': 'm2.xlarge',
- 'name': 'High-Memory Extra Large Instance',
- 'ram': GiB(17.1),
- 'disk': 420, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'm2.2xlarge': {
- 'id': 'm2.2xlarge',
- 'name': 'High-Memory Double Extra Large Instance',
- 'ram': GiB(34.2),
- 'disk': 850, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'm2.4xlarge': {
- 'id': 'm2.4xlarge',
- 'name': 'High-Memory Quadruple Extra Large Instance',
- 'ram': GiB(68.4),
- 'disk': 2 * 840, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'm3.medium': {
- 'id': 'm3.medium',
- 'name': 'Medium Instance',
- 'ram': GiB(3.75),
- 'disk': 4, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 1
- }
- },
- 'm3.large': {
- 'id': 'm3.large',
- 'name': 'Large Instance',
- 'ram': GiB(7.5),
- 'disk': 32, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'm3.xlarge': {
- 'id': 'm3.xlarge',
- 'name': 'Extra Large Instance',
- 'ram': GiB(15),
- 'disk': 2 * 40, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'm3.2xlarge': {
- 'id': 'm3.2xlarge',
- 'name': 'Double Extra Large Instance',
- 'ram': GiB(30),
- 'disk': 2 * 80, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'm4.large': {
- 'id': 'm4.large',
- 'name': 'Large Instance',
- 'ram': GiB(8),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'm4.xlarge': {
- 'id': 'm4.xlarge',
- 'name': 'Extra Large Instance',
- 'ram': GiB(16),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'm4.2xlarge': {
- 'id': 'm4.2xlarge',
- 'name': 'Double Extra Large Instance',
- 'ram': GiB(32),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'm4.4xlarge': {
- 'id': 'm4.4xlarge',
- 'name': 'Quadruple Extra Large Instance',
- 'ram': GiB(64),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'm4.10xlarge': {
- 'id': 'm4.10xlarge',
- 'name': '10 Extra Large Instance',
- 'ram': GiB(160),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 40
- }
- },
- 'm4.16xlarge': {
- 'id': 'm4.16xlarge',
- 'name': '16 Extra Large Instance',
- 'ram': GiB(256),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 64
- }
- },
- 'm5.large': {
- 'id': 'm5.large',
- 'name': 'Large Instance',
- 'ram': GiB(8),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'm5.xlarge': {
- 'id': 'm5.xlarge',
- 'name': 'Extra Large Instance',
- 'ram': GiB(16),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'm5.2xlarge': {
- 'id': 'm5.2xlarge',
- 'name': 'Double Extra Large Instance',
- 'ram': GiB(32),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'm5.4xlarge': {
- 'id': 'm5.4xlarge',
- 'name': 'Quadruple Extra Large Instance',
- 'ram': GiB(64),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'm5.12xlarge': {
- 'id': 'm5.12xlarge',
- 'name': '12 Extra Large Instance',
- 'ram': GiB(192),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 48
- }
- },
- 'm5.24xlarge': {
- 'id': 'm5.24xlarge',
- 'name': '24 Extra Large Instance',
- 'ram': GiB(384),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 96
- }
- },
- 'cg1.4xlarge': {
- 'id': 'cg1.4xlarge',
- 'name': 'Cluster GPU Quadruple Extra Large Instance',
- 'ram': GiB(22.5),
- 'disk': 2 * 840, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'g2.2xlarge': {
- 'id': 'g2.2xlarge',
- 'name': 'Cluster GPU G2 Double Extra Large Instance',
- 'ram': GiB(15),
- 'disk': 60, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'g2.8xlarge': {
- 'id': 'g2.8xlarge',
- 'name': 'Cluster GPU G2 Eight Extra Large Instance',
- 'ram': GiB(60),
- 'disk': 2 * 120, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'g3.4xlarge': {
- 'id': 'g3.4xlarge',
- 'name': 'Cluster GPU G3 Four Extra Large Instance',
- 'ram': GiB(122),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16,
- 'gpu': 1,
- 'gpu_ram': GiB(8)
- }
- },
- 'g3.8xlarge': {
- 'id': 'g3.8xlarge',
- 'name': 'Cluster GPU G3 Eight Extra Large Instance',
- 'ram': GiB(244),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32,
- 'gpu': 2,
- 'gpu_ram': GiB(16)
- }
- },
- 'g3.16xlarge': {
- 'id': 'g3.16xlarge',
- 'name': 'Cluster GPU G3 16 Extra Large Instance',
- 'ram': GiB(488),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 64,
- 'gpu': 4,
- 'gpu_ram': GiB(32)
- }
- },
- 'p2.xlarge': {
- 'id': 'p2.xlarge',
- 'name': 'Cluster GPU P2 Large Instance',
- 'ram': GiB(61),
- 'disk': 4,
- 'bandwidth': None
- },
- 'p2.8xlarge': {
- 'id': 'p2.8xlarge',
- 'name': 'Cluster GPU P2 Large Instance',
- 'ram': GiB(488),
- 'disk': 32,
- 'bandwidth': None
- },
- 'p2.16xlarge': {
- 'id': 'p2.16xlarge',
- 'name': 'Cluster GPU P2 Large Instance',
- 'ram': GiB(732),
- 'disk': 64,
- 'bandwidth': None
- },
- 'cc1.4xlarge': {
- 'id': 'cc1.4xlarge',
- 'name': 'Cluster Compute Quadruple Extra Large Instance',
- 'ram': 23552,
- 'disk': 1690,
- 'bandwidth': None
- },
- 'cc2.8xlarge': {
- 'id': 'cc2.8xlarge',
- 'name': 'Cluster Compute Eight Extra Large Instance',
- 'ram': GiB(60.5),
- 'disk': 4 * 840, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- # c3 instances have 2 SSDs of the specified disk size
- 'c3.large': {
- 'id': 'c3.large',
- 'name': 'Compute Optimized Large Instance',
- 'ram': GiB(3.75),
- 'disk': 2 * 16, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'c3.xlarge': {
- 'id': 'c3.xlarge',
- 'name': 'Compute Optimized Extra Large Instance',
- 'ram': GiB(7.5),
- 'disk': 2 * 40, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'c3.2xlarge': {
- 'id': 'c3.2xlarge',
- 'name': 'Compute Optimized Double Extra Large Instance',
- 'ram': GiB(15),
- 'disk': 2 * 80, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'c3.4xlarge': {
- 'id': 'c3.4xlarge',
- 'name': 'Compute Optimized Quadruple Extra Large Instance',
- 'ram': GiB(30),
- 'disk': 2 * 160, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'c3.8xlarge': {
- 'id': 'c3.8xlarge',
- 'name': 'Compute Optimized Eight Extra Large Instance',
- 'ram': GiB(60),
- 'disk': 2 * 320, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'c4.large': {
- 'id': 'c4.large',
- 'name': 'Compute Optimized Large Instance',
- 'ram': GiB(3.75),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'c4.xlarge': {
- 'id': 'c4.xlarge',
- 'name': 'Compute Optimized Extra Large Instance',
- 'ram': GiB(7.5),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'c4.2xlarge': {
- 'id': 'c4.2xlarge',
- 'name': 'Compute Optimized Double Large Instance',
- 'ram': GiB(15),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'c4.4xlarge': {
- 'id': 'c4.4xlarge',
- 'name': 'Compute Optimized Quadruple Extra Large Instance',
- 'ram': GiB(30),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'c4.8xlarge': {
- 'id': 'c4.8xlarge',
- 'name': 'Compute Optimized Eight Extra Large Instance',
- 'ram': GiB(60),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'c5.large': {
- 'id': 'c5.large',
- 'name': 'Compute Optimized Large Instance',
- 'ram': GiB(4),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'c5.xlarge': {
- 'id': 'c5.xlarge',
- 'name': 'Compute Optimized Extra Large Instance',
- 'ram': GiB(8),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'c5.2xlarge': {
- 'id': 'c5.2xlarge',
- 'name': 'Compute Optimized Double Extra Large Instance',
- 'ram': GiB(16),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'c5.4xlarge': {
- 'id': 'c5.4xlarge',
- 'name': 'Compute Optimized Quadruple Extra Large Instance',
- 'ram': GiB(32),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'c5.9xlarge': {
- 'id': 'c5.9xlarge',
- 'name': 'Compute Optimized Nonuple Extra Large Instance',
- 'ram': GiB(72),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 36
- }
- },
- 'c5.18xlarge': {
- 'id': 'c5.18xlarge',
- 'name': 'Compute Optimized Eighteen Extra Large Instance',
- 'ram': GiB(144),
- 'disk': 0, # EBS only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 72
- }
- },
- 'cr1.8xlarge': {
- 'id': 'cr1.8xlarge',
- 'name': 'High Memory Cluster Eight Extra Large',
- 'ram': GiB(244),
- 'disk': 2 * 120, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'hs1.4xlarge': {
- 'id': 'hs1.4xlarge',
- 'name': 'High Storage Quadruple Extra Large Instance',
- 'ram': GiB(64),
- 'disk': 2 * 1024, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'hs1.8xlarge': {
- 'id': 'hs1.8xlarge',
- 'name': 'High Storage Eight Extra Large Instance',
- 'ram': GiB(117),
- 'disk': 24 * 2000,
- 'bandwidth': None,
- 'extra': {
- 'cpu': 17
- }
- },
- # i2 instances have up to eight SSD drives
- 'i2.xlarge': {
- 'id': 'i2.xlarge',
- 'name': 'High I/O Storage Optimized Extra Large Instance',
- 'ram': GiB(30.5),
- 'disk': 800, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'i2.2xlarge': {
- 'id': 'i2.2xlarge',
- 'name': 'High I/O Storage Optimized Double Extra Large Instance',
- 'ram': GiB(61),
- 'disk': 2 * 800, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'i2.4xlarge': {
- 'id': 'i2.4xlarge',
- 'name': 'High I/O Storage Optimized Quadruple Large Instance',
- 'ram': GiB(122),
- 'disk': 4 * 800, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'i2.8xlarge': {
- 'id': 'i2.8xlarge',
- 'name': 'High I/O Storage Optimized Eight Extra Large Instance',
- 'ram': GiB(244),
- 'disk': 8 * 800, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'i3.large': {
- 'id': 'i3.large',
- 'name': 'High I/O Instances',
- 'ram': GiB(15.25),
- 'disk': 1 * 475, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'i3.xlarge': {
- 'id': 'i3.xlarge',
- 'name': 'High I/O Instances',
- 'ram': GiB(30.5),
- 'disk': 1 * 950, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'i3.2xlarge': {
- 'id': 'i3.2xlarge',
- 'name': 'High I/O Instances',
- 'ram': GiB(61),
- 'disk': 1 * 1900, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'i3.4xlarge': {
- 'id': 'i3.4xlarge',
- 'name': 'High I/O Instances',
- 'ram': GiB(122),
- 'disk': 2 * 1900, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'i3.8xlarge': {
- 'id': 'i3.8xlarge',
- 'name': 'High I/O Instances',
- 'ram': GiB(244),
- 'disk': 4 * 1900, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'i3.16xlarge': {
- 'id': 'i3.16xlarge',
- 'name': 'High I/O Instances',
- 'ram': GiB(488),
- 'disk': 8 * 1900, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 64
- }
- },
- 'd2.xlarge': {
- 'id': 'd2.xlarge',
- 'name': 'Dense Storage Optimized Extra Large Instance',
- 'ram': GiB(30.5),
- 'disk': 3 * 2000, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'd2.2xlarge': {
- 'id': 'd2.2xlarge',
- 'name': 'Dense Storage Optimized Double Extra Large Instance',
- 'ram': GiB(61),
- 'disk': 6 * 2000, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'd2.4xlarge': {
- 'id': 'd2.4xlarge',
- 'name': 'Dense Storage Optimized Quadruple Extra Large Instance',
- 'ram': GiB(122),
- 'disk': 12 * 2000, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'd2.8xlarge': {
- 'id': 'd2.8xlarge',
- 'name': 'Dense Storage Optimized Eight Extra Large Instance',
- 'ram': GiB(244),
- 'disk': 24 * 2000, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 36
- }
- },
- # 1x SSD
- 'r3.large': {
- 'id': 'r3.large',
- 'name': 'Memory Optimized Large instance',
- 'ram': GiB(15.25),
- 'disk': 32, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'r3.xlarge': {
- 'id': 'r3.xlarge',
- 'name': 'Memory Optimized Extra Large instance',
- 'ram': GiB(30.5),
- 'disk': 80, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'r3.2xlarge': {
- 'id': 'r3.2xlarge',
- 'name': 'Memory Optimized Double Extra Large instance',
- 'ram': GiB(61),
- 'disk': 160, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'r3.4xlarge': {
- 'id': 'r3.4xlarge',
- 'name': 'Memory Optimized Quadruple Extra Large instance',
- 'ram': GiB(122),
- 'disk': 320, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'r3.8xlarge': {
- 'id': 'r3.8xlarge',
- 'name': 'Memory Optimized Eight Extra Large instance',
- 'ram': GiB(244),
- 'disk': 2 * 320, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'r4.large': {
- 'id': 'r4.large',
- 'name': 'Memory Optimized Large instance',
- 'ram': GiB(15.25),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 'r4.xlarge': {
- 'id': 'r4.xlarge',
- 'name': 'Memory Optimized Extra Large instance',
- 'ram': GiB(30.5),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 'r4.2xlarge': {
- 'id': 'r4.2xlarge',
- 'name': 'Memory Optimized Double Extra Large instance',
- 'ram': GiB(61),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'r4.4xlarge': {
- 'id': 'r4.4xlarge',
- 'name': 'Memory Optimized Quadruple Extra Large instance',
- 'ram': GiB(122),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 16
- }
- },
- 'r4.8xlarge': {
- 'id': 'r4.8xlarge',
- 'name': 'Memory Optimized Eight Extra Large instance',
- 'ram': GiB(244),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 32
- }
- },
- 'r4.16xlarge': {
- 'id': 'r4.16xlarge',
- 'name': 'Memory Optimized Sixteen Extra Large instance',
- 'ram': GiB(488),
- 'disk': 0, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 64
- }
- },
- # Burstable Performance General Purpose
- 't2.nano': {
- 'id': 't2.nano',
- 'name': 'Burstable Performance Nano Instance',
- 'ram': 512,
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 1
- }
- },
- 't2.micro': {
- 'id': 't2.micro',
- 'name': 'Burstable Performance Micro Instance',
- 'ram': GiB(1),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 1
- }
- },
- 't2.small': {
- 'id': 't2.small',
- 'name': 'Burstable Performance Small Instance',
- 'ram': GiB(2),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 1
- }
- },
- 't2.medium': {
- 'id': 't2.medium',
- 'name': 'Burstable Performance Medium Instance',
- 'ram': GiB(4),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 't2.large': {
- 'id': 't2.large',
- 'name': 'Burstable Performance Medium Instance',
- 'ram': GiB(8),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 2
- }
- },
- 't2.xlarge': {
- 'id': 't2.xlarge',
- 'name': 'Burstable Performance Extra Large Instance',
- 'ram': GiB(16),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 4
- }
- },
- 't2.2xlarge': {
- 'id': 't2.2xlarge',
- 'name': 'Burstable Performance Double Extra Large Instance',
- 'ram': GiB(32),
- 'disk': 0, # EBS Only
- 'bandwidth': None,
- 'extra': {
- 'cpu': 8
- }
- },
- 'x1.16xlarge': {
- 'id': 'x1.16xlarge',
- 'name': 'Memory Optimized Sixteen Extra Large instance',
- 'ram': GiB(976),
- 'disk': 1920, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 64
- }
- },
- 'x1e.32xlarge': {
- 'id': 'x1e.32xlarge',
- 'name': 'Memory Optimized ThirtyTwo E Extra Large instance',
- 'ram': GiB(3904),
- 'disk': 2 * 1920, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 128
- }
- },
- 'x1.32xlarge': {
- 'id': 'x1.32xlarge',
- 'name': 'Memory Optimized ThirtyTwo Extra Large instance',
- 'ram': GiB(1952),
- 'disk': 2 * 1920, # GB
- 'bandwidth': None,
- 'extra': {
- 'cpu': 128
- }
- }
-}
-
-# From <https://aws.amazon.com/marketplace/help/200777880>
-REGION_DETAILS = {
- # US East (Northern Virginia) Region
- 'us-east-1': {
- 'endpoint': 'ec2.us-east-1.amazonaws.com',
- 'api_name': 'ec2_us_east',
- 'country': 'USA',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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.12xlarge',
- 'm5.24xlarge',
- 'c1.medium',
- 'c1.xlarge',
- 'cc2.8xlarge',
- '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.18xlarge',
- 'cg1.4xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- 'cr1.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # US West (Northern California) Region
- 'us-west-1': {
- 'endpoint': 'ec2.us-west-1.amazonaws.com',
- 'api_name': 'ec2_us_west',
- 'country': 'USA',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- '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.18xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large'
- ]
- },
- # US East (Ohio) Region
- 'us-east-2': {
- 'endpoint': 'ec2.us-east-2.amazonaws.com',
- 'api_name': 'ec2_us_east_ohio',
- 'country': 'USA',
- 'signature_version': '4',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'cc2.8xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'cg1.4xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- 'cr1.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # US West (Oregon) Region
- 'us-west-2': {
- 'endpoint': 'ec2.us-west-2.amazonaws.com',
- 'api_name': 'ec2_us_west_oregon',
- 'country': 'US',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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.12xlarge',
- 'm5.24xlarge',
- 'c1.medium',
- 'c1.xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- 'p2.xlarge',
- 'p2.8xlarge',
- 'p2.16xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'hs1.8xlarge',
- 'cc2.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # EU (Ireland) Region
- 'eu-west-1': {
- 'endpoint': 'ec2.eu-west-1.amazonaws.com',
- 'api_name': 'ec2_eu_west',
- 'country': 'Ireland',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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.12xlarge',
- 'm5.24xlarge',
- 'c1.medium',
- 'c1.xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- '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.18xlarge',
- 'hs1.8xlarge',
- 'cc2.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # EU (London) Region
- 'eu-west-2': {
- 'endpoint': 'ec2.eu-west-2.amazonaws.com',
- 'api_name': 'ec2_eu_west_london',
- 'country': 'United Kingdom',
- 'signature_version': '4',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'cc2.8xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'cg1.4xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'cr1.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # EU (Paris) Region
- 'eu-west-3': {
- 'endpoint': 'ec2.eu-west-3.amazonaws.com',
- 'api_name': 'ec2_eu_west_paris',
- 'country': 'France',
- 'signature_version': '4',
- 'instance_types': [
- 'c5.large',
- 'c5.xlarge',
- 'c5.2xlarge',
- 'c5.4xlarge',
- 'c5.9xlarge',
- 'c5.18xlarge',
- 'm5.large',
- 'm5.xlarge',
- 'm5.2xlarge',
- 'm5.4xlarge',
- 'm5.12xlarge',
- 'm5.24xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # EU (Frankfurt) Region
- 'eu-central-1': {
- 'endpoint': 'ec2.eu-central-1.amazonaws.com',
- 'api_name': 'ec2_eu_central',
- 'country': 'Frankfurt',
- 'signature_version': '4',
- 'instance_types': [
- 'm3.medium',
- 'm3.large',
- 'm3.xlarge',
- 'm3.2xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'm4.large',
- 'm4.xlarge',
- 'm4.2xlarge',
- 'm4.4xlarge',
- 'm4.10xlarge',
- 'm4.16xlarge',
- 'c3.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # Asia Pacific (Mumbai, India) Region
- 'ap-south-1': {
- 'endpoint': 'ec2.ap-south-1.amazonaws.com',
- 'api_name': 'ec2_ap_south_1',
- 'country': 'India',
- 'signature_version': '4',
- 'instance_types': [
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'm4.large',
- 'm4.xlarge',
- 'm4.2xlarge',
- 'm4.4xlarge',
- 'm4.10xlarge',
- 'm4.16xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge'
- ]
- },
- # Asia Pacific (Singapore) Region
- 'ap-southeast-1': {
- 'endpoint': 'ec2.ap-southeast-1.amazonaws.com',
- 'api_name': 'ec2_ap_southeast',
- 'country': 'Singapore',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # Asia Pacific (Tokyo) Region
- 'ap-northeast-1': {
- 'endpoint': 'ec2.ap-northeast-1.amazonaws.com',
- 'api_name': 'ec2_ap_northeast',
- 'country': 'Japan',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- 'm1.small',
- 'm1.medium',
- 'm1.large',
- 'm1.xlarge',
- 'm2.xlarge',
- 'm2.2xlarge',
- 'm2.4xlarge',
- 'm3.medium',
- 'm3.large',
- 'm3.xlarge',
- 'm3.2xlarge',
- 'c1.medium',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'c1.xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'm4.large',
- 'm4.xlarge',
- 'm4.2xlarge',
- 'm4.4xlarge',
- 'm4.10xlarge',
- 'm4.16xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # Asia Pacific (Seoul) Region
- 'ap-northeast-2': {
- 'endpoint': 'ec2.ap-northeast-2.amazonaws.com',
- 'api_name': 'ec2_ap_northeast',
- 'country': 'South Korea',
- 'signature_version': '4',
- 'instance_types': [
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'm4.large',
- 'm4.xlarge',
- 'm4.2xlarge',
- 'm4.4xlarge',
- 'm4.10xlarge',
- 'm4.16xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # South America (Sao Paulo) Region
- 'sa-east-1': {
- 'endpoint': 'ec2.sa-east-1.amazonaws.com',
- 'api_name': 'ec2_sa_east',
- 'country': 'Brazil',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large'
- ]
- },
- # Asia Pacific (Sydney) Region
- 'ap-southeast-2': {
- 'endpoint': 'ec2.ap-southeast-2.amazonaws.com',
- 'api_name': 'ec2_ap_southeast_2',
- 'country': 'Australia',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # Canada (Central) Region
- 'ca-central-1': {
- 'endpoint': 'ec2.ca-central-1.amazonaws.com',
- 'api_name': 'ec2_ca_central_1',
- 'country': 'Canada',
- 'signature_version': '4',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'cc2.8xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'cg1.4xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'cr1.8xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 'x1.16xlarge',
- 'x1.32xlarge',
- 'x1e.32xlarge',
- ]
- },
- # GovCloud Region
- 'us-gov-west-1': {
- 'endpoint': 'ec2.us-gov-west-1.amazonaws.com',
- 'api_name': 'ec2_us_govwest',
- 'country': 'US',
- 'signature_version': '2',
- 'instance_types': [
- 't1.micro',
- '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',
- 'c1.medium',
- 'c1.xlarge',
- 'g2.2xlarge',
- 'g2.8xlarge',
- 'g3.4xlarge',
- 'g3.8xlarge',
- 'g3.16xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'hs1.4xlarge',
- 'hs1.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 't2.nano',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large'
- ]
- },
- # China (North) Region
- 'cn-north-1': {
- 'endpoint': 'ec2.cn-north-1.amazonaws.com.cn',
- 'api_name': 'ec2_cn_north',
- 'country': 'China',
- 'signature_version': '4',
- 'instance_types': [
- 't1.micro',
- 't2.micro',
- 't2.small',
- 't2.medium',
- 't2.large',
- 't2.xlarge',
- 't2.2xlarge',
- 'm4.large',
- 'm4.xlarge',
- 'm4.2xlarge',
- 'm4.4xlarge',
- 'm4.10xlarge',
- 'm4.16xlarge',
- 'm3.medium',
- 'm3.large',
- 'm3.xlarge',
- 'm3.2xlarge',
- 'm1.small',
- 'c4.large',
- 'c4.xlarge',
- 'c4.2xlarge',
- 'c4.4xlarge',
- 'c4.8xlarge',
- 'c3.large',
- 'c3.xlarge',
- 'c3.2xlarge',
- 'c3.4xlarge',
- 'c3.8xlarge',
- 'r4.large',
- 'r4.xlarge',
- 'r4.2xlarge',
- 'r4.4xlarge',
- 'r4.8xlarge',
- 'r4.16xlarge',
- 'r3.large',
- 'r3.xlarge',
- 'r3.2xlarge',
- 'r3.4xlarge',
- 'r3.8xlarge',
- 'd2.xlarge',
- 'd2.2xlarge',
- 'd2.4xlarge',
- 'd2.8xlarge',
- 'i2.xlarge',
- 'i2.2xlarge',
- 'i2.4xlarge',
- 'i2.8xlarge',
- 'i3.large',
- 'i3.xlarge',
- 'i3.2xlarge',
- 'i3.4xlarge',
- 'i3.8xlarge',
- 'i3.16xlarge',
- ]
- },
- 'nimbus': {
- # Nimbus clouds have 3 EC2-style instance types but their particular
- # RAM allocations are configured by the admin
- 'country': 'custom',
- 'signature_version': '2',
- 'instance_types': [
- 'm1.small',
- 'm1.large',
- 'm1.xlarge'
- ]
- }
+# Add Nimbus region
+REGION_DETAILS['nimbus'] = {
+ # Nimbus clouds have 3 EC2-style instance types but their particular
+ # RAM allocations are configured by the admin
+ 'country': 'custom',
+ 'signature_version': '2',
+ 'instance_types': [
+ 'm1.small',
+ 'm1.large',
+ 'm1.xlarge'
+ ]
}
-
"""
Sizes must be hardcoded because Outscale doesn't provide an API to fetch them.
Outscale cloud instances share some names with EC2 but have different