示例#1
0
def new_instance(request):
    from starwatts import StarWatts
    s = StarWatts(access_key=os.environ['ACCESS_KEY'], secret_key=os.environ['PRIVATE_KEY'])
    c = s.get_connection()
    inst = c.quick_instance('pytest-new', 'ami-14506474', 't1.micro', private=False)
    inst.wait_for('running')

    def teardown():
        c.delete_key_pair(inst.key_name)
        inst.terminate()
    request.addfinalizer(teardown)

    return inst
示例#2
0
def attached_volume(request):
    from starwatts import StarWatts
    s = StarWatts(access_key=os.environ['ACCESS_KEY'],
                  secret_key=os.environ['PRIVATE_KEY'])
    c = s.get_connection()
    inst = c.quick_instance('pytest-volume', 'ami-14506474', 't1.micro')
    inst.wait_for('running')

    def teardown():
        c.delete_key_pair(inst.key_name)
        inst.terminate()

    request.addfinalizer(teardown)

    return inst.get_all_attached_volumes()[0]
示例#3
0
def volume(request):
    from starwatts import StarWatts
    s = StarWatts(access_key=os.environ['ACCESS_KEY'], secret_key=os.environ['PRIVATE_KEY'])
    c = s.get_connection()
    zone = c.get_all_volumes()[0].zone
    fixture_volume = c.create_volume(1, zone)
    fixture_volume.wait_for('available')

    def teardown():
        try:
            fixture_volume.delete()
        except EC2ResponseError:
            pass
    request.addfinalizer(teardown)

    return fixture_volume
示例#4
0
def main():
    s = StarWatts('conf.yml')
    c = s.get_connection()
    sg_dc = dict()
    for sg in c.get_all_security_groups():
        for i in sg.instances():
            if i.id in sg_dc:
                sg_dc[i.id].append(sg.name)
            else:
                sg_dc[i.id] = [sg.name, ]

    for inst in c.get_only_instances():
        print("{name:20}{id}\t{sg}".format(
            name=inst.tags.get('name', 'No Name'),
            id=inst.id,
            sg=", ".join(sg_dc.get(inst.id, [])),
        ))
示例#5
0
def volume(request):
    from starwatts import StarWatts
    s = StarWatts(access_key=os.environ['ACCESS_KEY'],
                  secret_key=os.environ['PRIVATE_KEY'])
    c = s.get_connection()
    zone = c.get_all_volumes()[0].zone
    fixture_volume = c.create_volume(1, zone)
    fixture_volume.wait_for('available')

    def teardown():
        try:
            fixture_volume.delete()
        except EC2ResponseError:
            pass

    request.addfinalizer(teardown)

    return fixture_volume
def cli(instance_id):
    s = StarWatts('conf.yml')
    c = s.get_connection()
    try:
        inst_list = c.get_only_instances([instance_id])
    except EC2ResponseError:
        click.secho("This instance could not be found.", fg='red')
        sys.exit(1)
    if len(inst_list) > 0:
        inst = inst_list[0]
    else:
        click.secho("This instance could not be found.", fg='red')
        sys.exit(1)
    click.secho("Instance found, now working...", fg='green')
    log = inst.set_private()
    click.secho("The instance was set to private.", fg='green')
    for t in log:
        click.secho("{} => {}".format(t[0], t[1]), fg='green')
示例#7
0
def main():
    s = StarWatts('conf.yml')
    c = s.get_connection()
    sg_dc = dict()
    for sg in c.get_all_security_groups():
        for i in sg.instances():
            if i.id in sg_dc:
                sg_dc[i.id].append(sg.name)
            else:
                sg_dc[i.id] = [
                    sg.name,
                ]

    for inst in c.get_only_instances():
        print("{name:20}{id}\t{sg}".format(
            name=inst.tags.get('name', 'No Name'),
            id=inst.id,
            sg=", ".join(sg_dc.get(inst.id, [])),
        ))
示例#8
0
def test_get_connection():
    s = StarWatts()
    assert s.get_connection() is None
    s = StarWatts(access_key="wrong", secret_key="wrong")
    assert isinstance(s.get_connection(), EC2Connection)
示例#9
0
def test_init_wrong_keys():
    s = StarWatts(access_key="wrong", secret_key="wrong")
    c = s.get_connection()
    with pytest.raises(EC2ResponseError):
        c.get_only_instances()