2121from cfn_stacks_factory import CfnVpcStack
2222from conftest import inject_additional_config_settings
2323from conftest_networking import CIDR_FOR_CUSTOM_SUBNETS
24- from utils import get_instance_info
24+ from utils import get_free_tier_instance_types , get_instance_info , or_regex
2525
2626PROMPTS = {
2727 "region" : lambda region : {"prompt" : r"AWS Region ID \[.*\]: " , "response" : region },
2828 "key_pair" : lambda key_name : {"prompt" : r"EC2 Key Pair Name \[.*\]: " , "response" : key_name },
2929 "scheduler" : lambda scheduler : {"prompt" : r"Scheduler \[slurm\]: " , "response" : scheduler },
3030 "os" : lambda os : {"prompt" : r"Operating System \[alinux2\]: " , "response" : os , "skip_for_batch" : True },
31- "head_instance_type" : lambda instance : {"prompt" : r"Head node instance type \[t.\.micro\]: " , "response" : instance },
31+ "head_instance_type" : lambda free_tier_instance_types , instance : {
32+ "prompt" : rf"Head node instance type \[({ or_regex (free_tier_instance_types )} )\]: " ,
33+ "response" : instance ,
34+ },
3235 "no_of_queues" : lambda n : {"prompt" : rf"Number of queues \[{ n } \]: " , "response" : f"{ n } " , "skip_for_batch" : True },
3336 "queue_name" : lambda queue , name : {"prompt" : rf"Name of queue { queue } \[queue{ queue } \]: " , "response" : name },
3437 "no_of_compute_resources" : lambda queue_name , queue , n : {
3538 "prompt" : rf"Number of compute resources for { queue_name } \[{ queue } \]: " ,
3639 "response" : f"{ n } " ,
3740 "skip_for_batch" : True ,
3841 },
39- "compute_instance_type" : lambda resource , queue_name , instance : {
40- "prompt" : rf"Compute instance type for compute resource { resource } in { queue_name } \[t.\.micro\]: " ,
42+ "compute_instance_type" : lambda free_tier_instance_types , resource , queue_name , instance : {
43+ "prompt" : rf"Compute instance type for compute resource { resource } in { queue_name } "
44+ + rf"\[({ or_regex (free_tier_instance_types )} )\]: " ,
4145 "response" : instance ,
4246 "skip_for_batch" : True ,
4347 },
@@ -161,7 +165,12 @@ def test_efa_and_placement_group(
161165 PROMPTS ["no_of_queues" ](1 ),
162166 PROMPTS ["queue_name" ](queue = 1 , name = "myqueue" ),
163167 PROMPTS ["no_of_compute_resources" ](queue_name = "myqueue" , queue = 1 , n = 1 ),
164- PROMPTS ["compute_instance_type" ](resource = 1 , queue_name = "myqueue" , instance = instance ),
168+ PROMPTS ["compute_instance_type" ](
169+ free_tier_instance_types = get_free_tier_instance_types (region ),
170+ resource = 1 ,
171+ queue_name = "myqueue" ,
172+ instance = instance ,
173+ ),
165174 PROMPTS ["enable_efa" ](efa_response ),
166175 prompt_max_size (scheduler = scheduler ),
167176 ]
@@ -237,7 +246,10 @@ def standard_first_stage_prompts(region, key_name, scheduler, os, instance):
237246 PROMPTS ["key_pair" ](key_name ),
238247 PROMPTS ["scheduler" ](scheduler ),
239248 PROMPTS ["os" ](os ),
240- PROMPTS ["head_instance_type" ](instance ),
249+ PROMPTS ["head_instance_type" ](
250+ free_tier_instance_types = get_free_tier_instance_types (region ),
251+ instance = instance ,
252+ ),
241253 ]
242254
243255
@@ -246,7 +258,12 @@ def standard_queue_prompts(scheduler, instance, region, size=""):
246258 PROMPTS ["no_of_queues" ](1 ),
247259 PROMPTS ["queue_name" ](queue = 1 , name = "myqueue" ),
248260 PROMPTS ["no_of_compute_resources" ](queue_name = "myqueue" , queue = 1 , n = 1 ),
249- PROMPTS ["compute_instance_type" ](resource = 1 , queue_name = "myqueue" , instance = instance ),
261+ PROMPTS ["compute_instance_type" ](
262+ free_tier_instance_types = get_free_tier_instance_types (region ),
263+ resource = 1 ,
264+ queue_name = "myqueue" ,
265+ instance = instance ,
266+ ),
250267 ]
251268
252269 is_efa_supported = False
0 commit comments