示例#1
0
def create_launch_configuration(
        name,
        ami_id,
        key_name=None,
        security_groups=None,
        instance_type="t2.micro",
        public_ip=False,
        role_profile=None,
        user_data=None,
        user_data_file=None):
    """Create a launch configuration."""
    client = get_client("autoscaling")
    params = {}
    params["LaunchConfigurationName"] = name
    params["ImageId"] = ami_id
    if key_name:
        params["KeyName"] = key_name
    if security_groups:
        params["SecurityGroups"] = security_groups
    params["InstanceType"] = instance_type
    params["InstanceMonitoring"] = {"Enabled": False}
    if role_profile:
        params["IamInstanceProfile"] = role_profile
    params["AssociatePublicIpAddress"] = public_ip
    if user_data:
        params["UserData"] = user_data
    elif user_data_file:
        params["UserData"] = get_file_contents(user_data_file)
    response = client.create_launch_configuration(**params)
    return response
示例#2
0
文件: ec2.py 项目: jtpaasch/artifact
def create_instance(
        ami_id,
        security_group_id,
        key_name=None,
        instance_type="t2.micro",
        user_data=None,
        user_data_file=None):
    """Create an EC2 instance."""
    client = get_client("ec2")
    params = {}
    params["ImageId"] = ami_id
    params["MinCount"] = 1
    params["MaxCount"] = 1
    params["SecurityGroupIds"] = [security_group_id]
    if key_name:
        params["KeyName"] = key_name
    params["InstanceType"] = instance_type
    if user_data:
        params["UserData"] = user_data
    elif user_data_file:
        params["UserData"] = get_file_contents(user_data_file)
    response = client.run_instances(**params)
    return response