@@ -56,12 +56,20 @@ func (e EMR) getEMRInstanceTypes(version semver.Version) ([]string, error) {
5656 instanceTypes := []string {}
5757
5858 for _ , instanceType := range e .getAllEMRInstanceTypes () {
59- if semver .MustParseRange (">=5.25.0" )(version ) {
59+ if semver .MustParseRange (">=5.33.0" )(version ) {
60+ instanceTypes = append (instanceTypes , instanceType )
61+ } else if semver .MustParseRange (">=5.25.0 <5.33.0" )(version ) {
62+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
63+ continue
64+ }
6065 instanceTypes = append (instanceTypes , instanceType )
6166 } else if semver .MustParseRange (">=5.20.0 <5.25.0" )(version ) {
6267 if e .isOnlyEMR_5_25_0_plus (instanceType ) {
6368 continue
6469 }
70+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
71+ continue
72+ }
6573 instanceTypes = append (instanceTypes , instanceType )
6674 } else if semver .MustParseRange (">=5.15.0 <5.20.0" )(version ) {
6775 if instanceType == "c1.medium" {
@@ -73,6 +81,9 @@ func (e EMR) getEMRInstanceTypes(version semver.Version) ([]string, error) {
7381 if e .isOnlyEMR_5_25_0_plus (instanceType ) {
7482 continue
7583 }
84+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
85+ continue
86+ }
7687 instanceTypes = append (instanceTypes , instanceType )
7788 } else if semver .MustParseRange (">=5.13.0 <5.15.0" )(version ) {
7889 if e .isOnlyEMR_5_20_0_plus (instanceType ) {
@@ -81,6 +92,9 @@ func (e EMR) getEMRInstanceTypes(version semver.Version) ([]string, error) {
8192 if e .isOnlyEMR_5_25_0_plus (instanceType ) {
8293 continue
8394 }
95+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
96+ continue
97+ }
8498 instanceTypes = append (instanceTypes , instanceType )
8599 } else if semver .MustParseRange (">=5.9.0 <5.13.0" )(version ) {
86100 if e .isEMR_5_13_0_plus (instanceType ) {
@@ -92,6 +106,9 @@ func (e EMR) getEMRInstanceTypes(version semver.Version) ([]string, error) {
92106 if e .isOnlyEMR_5_25_0_plus (instanceType ) {
93107 continue
94108 }
109+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
110+ continue
111+ }
95112 instanceTypes = append (instanceTypes , instanceType )
96113 } else {
97114 if e .isEMR_5_13_0_plus (instanceType ) {
@@ -103,6 +120,9 @@ func (e EMR) getEMRInstanceTypes(version semver.Version) ([]string, error) {
103120 if e .isOnlyEMR_5_25_0_plus (instanceType ) {
104121 continue
105122 }
123+ if e .isOnlyEMR_5_33_0_plus (instanceType ) {
124+ continue
125+ }
106126 if strings .HasPrefix (instanceType , "i3" ) {
107127 continue
108128 }
@@ -155,6 +175,21 @@ func (EMR) isOnlyEMR_5_25_0_plus(instanceType string) bool {
155175 return false
156176}
157177
178+ func (EMR ) isOnlyEMR_5_33_0_plus (instanceType string ) bool {
179+ prefixes := []string {
180+ "m5zn." ,
181+ "m6gd" ,
182+ "r5b" ,
183+ "r6gd" ,
184+ }
185+ for _ , prefix := range prefixes {
186+ if strings .HasPrefix (instanceType , prefix ) {
187+ return true
188+ }
189+ }
190+ return false
191+ }
192+
158193func (EMR ) getAllEMRInstanceTypes () []string {
159194 return []string {
160195 "c1.medium" ,
@@ -177,11 +212,17 @@ func (EMR) getAllEMRInstanceTypes() []string {
177212 "c5.xlarge" ,
178213 "c5a.12xlarge" ,
179214 "c5a.16xlarge" ,
180- "c5a.24xlarge" ,
181215 "c5a.2xlarge" ,
182216 "c5a.4xlarge" ,
183217 "c5a.8xlarge" ,
184218 "c5a.xlarge" ,
219+ "c5ad.12xlarge" ,
220+ "c5ad.16xlarge" ,
221+ "c5ad.24xlarge" ,
222+ "c5ad.2xlarge" ,
223+ "c5ad.4xlarge" ,
224+ "c5ad.8xlarge" ,
225+ "c5ad.xlarge" ,
185226 "c5d.12xlarge" ,
186227 "c5d.18xlarge" ,
187228 "c5d.24xlarge" ,
@@ -200,11 +241,34 @@ func (EMR) getAllEMRInstanceTypes() []string {
200241 "c6g.4xlarge" ,
201242 "c6g.8xlarge" ,
202243 "c6g.xlarge" ,
244+ "c6gd.12xlarge" ,
245+ "c6gd.16xlarge" ,
246+ "c6gd.2xlarge" ,
247+ "c6gd.4xlarge" ,
248+ "c6gd.8xlarge" ,
249+ "c6gd.xlarge" ,
250+ "c6gn.12xlarge" ,
251+ "c6gn.16xlarge" ,
252+ "c6gn.2xlarge" ,
253+ "c6gn.4xlarge" ,
254+ "c6gn.8xlarge" ,
255+ "c6gn.xlarge" ,
203256 "cc2.8xlarge" ,
257+ "cr1.8xlarge" ,
204258 "d2.2xlarge" ,
205259 "d2.4xlarge" ,
206260 "d2.8xlarge" ,
207261 "d2.xlarge" ,
262+ "d3.2xlarge" ,
263+ "d3.4xlarge" ,
264+ "d3.8xlarge" ,
265+ "d3.xlarge" ,
266+ "d3en.2xlarge" ,
267+ "d3en.4xlarge" ,
268+ "d3en.6xlarge" ,
269+ "d3en.8xlarge" ,
270+ "d3en.12xlarge" ,
271+ "d3en.xlarge" ,
208272 "g2.2xlarge" ,
209273 "g3.16xlarge" ,
210274 "g3.4xlarge" ,
@@ -220,6 +284,7 @@ func (EMR) getAllEMRInstanceTypes() []string {
220284 "h1.2xlarge" ,
221285 "h1.4xlarge" ,
222286 "h1.8xlarge" ,
287+ "hs1.8xlarge" ,
223288 "i2.2xlarge" ,
224289 "i2.4xlarge" ,
225290 "i2.8xlarge" ,
@@ -256,7 +321,6 @@ func (EMR) getAllEMRInstanceTypes() []string {
256321 "m5.2xlarge" ,
257322 "m5.4xlarge" ,
258323 "m5.8xlarge" ,
259- "m5.metal" ,
260324 "m5.xlarge" ,
261325 "m5a.12xlarge" ,
262326 "m5a.16xlarge" ,
@@ -265,42 +329,30 @@ func (EMR) getAllEMRInstanceTypes() []string {
265329 "m5a.4xlarge" ,
266330 "m5a.8xlarge" ,
267331 "m5a.xlarge" ,
268- "m5ad.12xlarge" ,
269- "m5ad.16xlarge" ,
270- "m5ad.24xlarge" ,
271- "m5ad.2xlarge" ,
272- "m5ad.4xlarge" ,
273- "m5ad.8xlarge" ,
274- "m5ad.xlarge" ,
275332 "m5d.12xlarge" ,
276333 "m5d.16xlarge" ,
277334 "m5d.24xlarge" ,
278335 "m5d.2xlarge" ,
279336 "m5d.4xlarge" ,
280337 "m5d.8xlarge" ,
281- "m5d.metal" ,
282338 "m5d.xlarge" ,
283- "m5dn.12xlarge" ,
284- "m5dn.16xlarge" ,
285- "m5dn.24xlarge" ,
286- "m5dn.2xlarge" ,
287- "m5dn.4xlarge" ,
288- "m5dn.8xlarge" ,
289- "m5dn.xlarge" ,
290- "m5n.12xlarge" ,
291- "m5n.16xlarge" ,
292- "m5n.24xlarge" ,
293- "m5n.2xlarge" ,
294- "m5n.4xlarge" ,
295- "m5n.8xlarge" ,
296- "m5n.xlarge" ,
339+ "m5zn.12xlarge" ,
340+ "m5zn.2xlarge" ,
341+ "m5zn.3xlarge" ,
342+ "m5zn.6xlarge" ,
343+ "m5zn.xlarge" ,
297344 "m6g.12xlarge" ,
298345 "m6g.16xlarge" ,
299346 "m6g.2xlarge" ,
300347 "m6g.4xlarge" ,
301348 "m6g.8xlarge" ,
302349 "m6g.xlarge" ,
303- "mac1.metal" ,
350+ "m6gd.12xlarge" ,
351+ "m6gd.16xlarge" ,
352+ "m6gd.2xlarge" ,
353+ "m6gd.4xlarge" ,
354+ "m6gd.8xlarge" ,
355+ "m6gd.xlarge" ,
304356 "p2.16xlarge" ,
305357 "p2.8xlarge" ,
306358 "p2.xlarge" ,
@@ -323,7 +375,6 @@ func (EMR) getAllEMRInstanceTypes() []string {
323375 "r5.2xlarge" ,
324376 "r5.4xlarge" ,
325377 "r5.8xlarge" ,
326- "r5.metal" ,
327378 "r5.xlarge" ,
328379 "r5a.12xlarge" ,
329380 "r5a.16xlarge" ,
@@ -332,27 +383,39 @@ func (EMR) getAllEMRInstanceTypes() []string {
332383 "r5a.4xlarge" ,
333384 "r5a.8xlarge" ,
334385 "r5a.xlarge" ,
386+ "r5b.12xlarge" ,
387+ "r5b.16xlarge" ,
388+ "r5b.24xlarge" ,
389+ "r5b.2xlarge" ,
390+ "r5b.4xlarge" ,
391+ "r5b.8xlarge" ,
392+ "r5b.xlarge" ,
335393 "r5d.12xlarge" ,
336394 "r5d.16xlarge" ,
337395 "r5d.24xlarge" ,
338396 "r5d.2xlarge" ,
339397 "r5d.4xlarge" ,
340398 "r5d.8xlarge" ,
341- "r5d.metal" ,
342399 "r5d.xlarge" ,
343- "r5n .12xlarge" ,
344- "r5n .16xlarge" ,
345- "r5n .24xlarge" ,
346- "r5n .2xlarge" ,
347- "r5n .4xlarge" ,
348- "r5n .8xlarge" ,
349- "r5n .xlarge" ,
400+ "r5dn .12xlarge" ,
401+ "r5dn .16xlarge" ,
402+ "r5dn .24xlarge" ,
403+ "r5dn .2xlarge" ,
404+ "r5dn .4xlarge" ,
405+ "r5dn .8xlarge" ,
406+ "r5dn .xlarge" ,
350407 "r6g.12xlarge" ,
351408 "r6g.16xlarge" ,
352409 "r6g.2xlarge" ,
353410 "r6g.4xlarge" ,
354411 "r6g.8xlarge" ,
355412 "r6g.xlarge" ,
413+ "r6gd.12xlarge" ,
414+ "r6gd.16xlarge" ,
415+ "r6gd.2xlarge" ,
416+ "r6gd.4xlarge" ,
417+ "r6gd.8xlarge" ,
418+ "r6gd.xlarge" ,
356419 "x1.32xlarge" ,
357420 "z1d.12xlarge" ,
358421 "z1d.2xlarge" ,
0 commit comments