1 | /** |
2 | * Licensed to jclouds, Inc. (jclouds) under one or more |
3 | * contributor license agreements. See the NOTICE file |
4 | * distributed with this work for additional information |
5 | * regarding copyright ownership. jclouds licenses this file |
6 | * to you under the Apache License, Version 2.0 (the |
7 | * "License"); you may not use this file except in compliance |
8 | * with the License. You may obtain a copy of the License at |
9 | * |
10 | * http://www.apache.org/licenses/LICENSE-2.0 |
11 | * |
12 | * Unless required by applicable law or agreed to in writing, |
13 | * software distributed under the License is distributed on an |
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
15 | * KIND, either express or implied. See the License for the |
16 | * specific language governing permissions and limitations |
17 | * under the License. |
18 | */ |
19 | package org.jclouds.ec2.domain; |
20 | |
21 | import org.jclouds.ec2.EC2AsyncClient; |
22 | |
23 | /** |
24 | * |
25 | * The type of the instance. Description accurate as of 8-15-2009 release. |
26 | * |
27 | * @author Adrian Cole |
28 | * @see EC2AsyncClient#describeInstances |
29 | * @see EC2AsyncClient#runInstances |
30 | * @see EC2AsyncClient#terminateInstances |
31 | * |
32 | */ |
33 | public class InstanceType { |
34 | /** |
35 | * Micro Instance |
36 | * <ul> |
37 | * <li>613 MB of memory</li> |
38 | * <li>up to 2 ECUs (for short periodic bursts)</li> |
39 | * <li>No instance storage (EBS storage only)</li> |
40 | * <li>32-bit or 64-bit platform</li> |
41 | * </ul> |
42 | */ |
43 | public static final String T1_MICRO = "t1.micro"; |
44 | /** |
45 | * Small Instance |
46 | * <ul> |
47 | * <li>1.7 GB memory</li> |
48 | * <li>1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)</li> |
49 | * <li>160 GB instance storage (150 GB plus 10 GB root partition)</li> |
50 | * <li>32-bit or 64-bit platform</li> |
51 | * <li>I/O Performance: Moderate</li> |
52 | * </ul> |
53 | */ |
54 | public static final String M1_SMALL = "m1.small"; |
55 | /** |
56 | * Medium Instance |
57 | * <ul> |
58 | * <li>3.75 GB memory</li> |
59 | * <li>2 EC2 Compute Unit (1 virtual core with 2 EC2 Compute Unit)</li> |
60 | * <li>410 GB instance storage</li> |
61 | * <li>32-bit or 64-bit platform</li> |
62 | * <li>I/O Performance: Moderate</li> |
63 | * </ul> |
64 | */ |
65 | public static final String M1_MEDIUM = "m1.medium"; |
66 | /** |
67 | * Large Instance |
68 | * <ul> |
69 | * <li>7.5 GB memory</li> |
70 | * <li>4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)</li> |
71 | * <li>850 GB instance storage (2x420 GB plus 10 GB root partition)</li> |
72 | * <li>64-bit platform</li> |
73 | * <li>I/O Performance: High</li> |
74 | * </ul> |
75 | */ |
76 | public static final String M1_LARGE = "m1.large"; |
77 | /** |
78 | * Extra Large Instance |
79 | * <ul> |
80 | * <li>15 GB memory</li> |
81 | * <li>8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)</li> |
82 | * <li>1690 GB instance storage (4x420 GB plus 10 GB root partition)</li> |
83 | * <li>64-bit platform</li> |
84 | * <li>I/O Performance: High</li> |
85 | * </ul> |
86 | */ |
87 | public static final String M1_XLARGE = "m1.xlarge"; |
88 | /** |
89 | * High-Memory Extra Large Instance |
90 | * <ul> |
91 | * <li>17.1 GB of memory</li> |
92 | * <li>6.5 EC2 Compute Units (2 virtual cores with 3.25 EC2 Compute Units |
93 | * each)</li> |
94 | * <li>420 GB of instance storage</li> |
95 | * <li>64-bit platform</li> |
96 | * <li>I/O Performance: Moderate</li> |
97 | * </ul> |
98 | */ |
99 | public static final String M2_XLARGE = "m2.xlarge"; |
100 | /** |
101 | * High-Memory Double Extra Large Instance |
102 | * <ul> |
103 | * <li>34.2 GB of memory</li> |
104 | * <li>13 EC2 Compute Units (4 virtual cores with 3.25 EC2 Compute Units |
105 | * each)</li> |
106 | * <li>850 GB of instance storage</li> |
107 | * <li>64-bit platform</li> |
108 | * <li>I/O Performance: High</li> |
109 | * </ul> |
110 | */ |
111 | public static final String M2_2XLARGE = "m2.2xlarge"; |
112 | /** |
113 | * High-Memory Quadruple Extra Large Instance |
114 | * <ul> |
115 | * <li>68.4 GB of memory</li> |
116 | * <li>26 EC2 Compute Units (8 virtual cores with 3.25 EC2 Compute Units |
117 | * each)</li> |
118 | * <li>1690 GB of instance storage</li> |
119 | * <li>64-bit platform</li> |
120 | * <li>I/O Performance: High</li> |
121 | * </ul> |
122 | */ |
123 | public static final String M2_4XLARGE = "m2.4xlarge"; |
124 | /** |
125 | * High-CPU Medium Instance |
126 | * <ul> |
127 | * <li>1.7 GB of memory</li> |
128 | * <li>5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)</li> |
129 | * <li>350 GB of instance storage</li> |
130 | * <li>32-bit platform</li> |
131 | * <li>I/O Performance: Moderate</li> |
132 | * </ul> |
133 | */ |
134 | public static final String C1_MEDIUM = "c1.medium"; |
135 | /** |
136 | * High-CPU Extra Large Instance |
137 | * <ul> |
138 | * <li>7 GB of memory</li> |
139 | * <li>20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each) |
140 | * </li> |
141 | * <li>1690 GB of instance storage</li> |
142 | * <li>64-bit platform</li> |
143 | * <li>I/O Performance: High</li> |
144 | * </ul> |
145 | */ |
146 | public static final String C1_XLARGE = "c1.xlarge"; |
147 | |
148 | /** |
149 | * Cluster Compute Instance |
150 | * <ul> |
151 | * <li>22 GB of memory</li> |
152 | * <li>33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core "Nehalem" |
153 | * architecture)</li> |
154 | * <li>1690 GB of 64-bit storage (2 x 840 GB, plus 10 GB root partition)</li> |
155 | * <li>10 Gbps Ethernet</li> |
156 | * <li>64-bit platform</li> |
157 | * <li>I/O Performance: High</li> |
158 | * </ul> |
159 | */ |
160 | public static final String CG1_4XLARGE = "cg1.4xlarge"; |
161 | |
162 | /** |
163 | * Cluster Compute Instance |
164 | * <ul> |
165 | * <li>23 GB of memory</li> |
166 | * <li>33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core "Nehalem" |
167 | * architecture)</li> |
168 | * <li>1690 GB of 64-bit storage (2 x 840 GB, plus 10 GB root partition)</li> |
169 | * <li>10 Gbps Ethernet</li> |
170 | * <li>64-bit platform</li> |
171 | * <li>I/O Performance: High</li> |
172 | * </ul> |
173 | */ |
174 | public static final String CC1_4XLARGE = "cc1.4xlarge"; |
175 | |
176 | /** |
177 | * Cluster Compute Eight Extra Large specifications |
178 | * <ul> |
179 | * <li>60.5 GB of memory</li> |
180 | * <li>88 EC2 Compute Units (Eight-core 2 x Intel Xeon)</li> |
181 | * <li>3370 GB of 64-bit storage (4 x 840 GB, plus 10 GB root partition)</li> |
182 | * <li>10 Gbps Ethernet</li> |
183 | * <li>64-bit platform</li> |
184 | * <li>I/O Performance: High</li> |
185 | * </ul> |
186 | */ |
187 | public static final String CC2_8XLARGE = "cc2.8xlarge"; |
188 | |
189 | } |