def create_launch_config(lconfig_name, image_id, inst_type, key_name, security_groups, spot_price=0, user_data_file=None, user_data=None, block_dev_mappings=None, ebs_optimized=False, overwrite=False): existing_config = Cluster.get_launch_config(lconfig_name) if existing_config is not None: if overwrite: existing_config.delete() Cluster.log_info( "Deleted launch config %s to overwrite new config", lconfig_name) else: Cluster.log_error("Launch config %s already exists.", lconfig_name) raise Exception("Launch configuration already exists") auto_scale_conn = Cluster._autoscale() if user_data is None: if user_data_file is not None: with open(user_data_file, 'r') as udf: user_data = udf.read() lconfig = LaunchConfiguration() lconfig.instance_type = inst_type lconfig.name = lconfig_name lconfig.image_id = image_id lconfig.key_name = key_name lconfig.security_groups = security_groups lconfig.user_data = user_data if spot_price > 0: lconfig.spot_price = spot_price if block_dev_mappings is not None: lconfig.block_device_mappings = block_dev_mappings if ebs_optimized: lconfig.ebs_optimized = True auto_scale_conn.create_launch_configuration(lconfig) Cluster.log_info("Created launch configuration %s", lconfig.name)
def create_launch_config(lconfig_name, image_id, inst_type, key_name, security_groups, spot_price=0, user_data_file=None, user_data=None, block_dev_mappings=None, ebs_optimized=False, overwrite=False): existing_config = Cluster.get_launch_config(lconfig_name) if existing_config is not None: if overwrite: existing_config.delete() Cluster.log_info("Deleted launch config %s to overwrite new config", lconfig_name) else: Cluster.log_error("Launch config %s already exists.", lconfig_name) raise Exception("Launch configuration already exists") auto_scale_conn = Cluster._autoscale() if user_data is None: if user_data_file is not None: with open(user_data_file, 'r') as udf: user_data = udf.read() lconfig = LaunchConfiguration() lconfig.instance_type = inst_type lconfig.name = lconfig_name lconfig.image_id = image_id lconfig.key_name = key_name lconfig.security_groups = security_groups lconfig.user_data = user_data if spot_price > 0: lconfig.spot_price = spot_price if block_dev_mappings is not None: lconfig.block_device_mappings = block_dev_mappings if ebs_optimized: lconfig.ebs_optimized = True auto_scale_conn.create_launch_configuration(lconfig) Cluster.log_info("Created launch configuration %s", lconfig.name)