Ejemplo n.º 1
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)

    boxes = list_boxes(session, args.workspace_id, args.requirements)

    formatter = ebcli.Formatter(args)
    formatter.write(boxes, args.fields)
Ejemplo n.º 2
0
def execute_command(args, _unknown):
    if 'token' not in args or not args.token:
        args.token = raw_input('Authentication Token: ')

    if args.token:
        try:
            response = ebcli.AuthenticatedSession(
                args.url, args.token).get('/services/workspaces')
        except ebcli.UnauthorizedException:
            raise ebcli.AuthTokenException(
                'Failed to validate the token: Invalid token.')
        except ebcli.ApiException:
            raise ebcli.AuthTokenException(
                'Failed to validate the token: Invalid url.')

        version = response.headers.get(ebcli.ELASTICBOX_RELEASE_HEADER,
                                       ebcli.ELASTICBOX_RELEASE)
        if not version.startswith(ebcli.ELASTICBOX_RELEASE):
            raise ebcli.AuthTokenException(
                'Incompatible CLI version: API version: {0}'.format(version))

        if not args.no_keychain:
            credentials = '{0},{1}'.format(args.token, args.url)
            keyring.set_password(ebcli.ELASTICBOX_CREDENTIALS_NAME,
                                 ebcli.ELASTICBOX_CREDENTIALS_ACCOUNT,
                                 credentials)

        print 'Login Successfully'
    else:
        raise ebcli.AuthTokenException(
            'Failed to validate the token: Manage token from the profile drop-down menu.'
        )
Ejemplo n.º 3
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)

    instances = list_instances(session, args.workspace_id, args.tags)

    formatter = ebcli.Formatter(args)
    formatter.write(instances)
Ejemplo n.º 4
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)
    instance = get(session, args.instance_id)
    if instance['state'] != 'done':
        session.delete('/services/instances/{0}?operation=force_terminate',
                       args.instance_id)
    else:
        session.delete('/services/instances/{0}?operation=terminate',
                       args.instance_id)
Ejemplo n.º 5
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)

    if args.box_id:
        box = _update_box_variable(session, args.box_id, args.variable[0], args.variable[1])

        formatter = ebcli.Formatter(args)
        formatter.write(box)

    if args.instance_id:
        raise NotImplementedError()
Ejemplo n.º 6
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)

    if args.box_id:
        session.delete('/services/boxes/{0}', args.box_id)

    if args.instance_id:
        session.delete('/services/instances/{0}/?operation=delete',
                       args.instance_id)

    if args.workspace_id:
        session.delete('/services/workspaces/{0}', args.workspace_id)
Ejemplo n.º 7
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)
    if 'workspace_id' in args and args.workspace_id:
        workspace = args.workspace_id
    else:
        profile = session.get('/services/profile').json()
        workspace = profile['workspace']

    boxes = session.get('/services/workspaces/{0}/boxes', workspace).json()
    boxes = boxes + session.get('/services/boxes', workspace).json()

    tags = args.tags if 'tags' in args and args.tags else []
    claims = args.claims if 'claims' in args and args.claims else []
    _deploy_boxes(args, boxes, session, claims, workspace, tags)
Ejemplo n.º 8
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)
    formatter = ebcli.Formatter(args)

    if args.box_id:
        response = session.get('/services/boxes/{0}', args.box_id)
        formatter.write(response, prefix='BOX', fields=ebcli.DEFAULT_BOX_FIELDS)

    if args.instance_id:
        response = session.get('/services/instances/{0}', args.instance_id).json()
        formatter.write(response, prefix='INSTANCE', fields=ebcli.DEFAULT_INSTANCE_FIELDS)

    if args.workspace_id:
        response = session.get('/services/workspaces/{0}', args.workspace_id).json()
        formatter.write(response, prefix='WORKSPACE', fields=ebcli.DEFAULT_WORKSPACE_FIELDS)
Ejemplo n.º 9
0
def execute_command(args, _unknown):
    session = ebcli.AuthenticatedSession(args.url, args.token)
    session.put('/services/instances/{0}/reconfigure', args.instance_id)