Example #1
0
def cli(env, service, method, parameters, _id, _filters, mask, limit, offset,
        output_python=False):
    """Call arbitrary API endpoints with the given SERVICE and METHOD.

    \b
    Examples:
    slcli call-api Account getObject
    slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
    slcli call-api Virtual_Guest getObject --id=12345
    slcli call-api Metric_Tracking_Object getBandwidthData --id=1234 \\
        "2015-01-01 00:00:00" "2015-01-1 12:00:00" public
    slcli call-api Account getVirtualGuests \\
        -f 'virtualGuests.datacenter.name=dal05' \\
        -f 'virtualGuests.maxCpu=4' \\
        --mask=id,hostname,datacenter.name,maxCpu
    slcli call-api Account getVirtualGuests \\
        -f 'virtualGuests.datacenter.name IN dal05,sng01'
    """

    args = [service, method] + list(parameters)
    kwargs = {
        'id': _id,
        'filter': _build_filters(_filters),
        'mask': mask,
        'limit': limit,
        'offset': offset,
    }

    if output_python:
        env.out(_build_python_example(args, kwargs))
    else:
        result = env.client.call(*args, **kwargs)
        env.fout(formatting.iter_to_table(result))
def cli(env, service, method, parameters, _id, _filters, mask, limit, offset,
        output_python=False):
    """Call arbitrary API endpoints with the given SERVICE and METHOD.

    \b
    Examples:
    slcli call-api Account getObject
    slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
    slcli call-api Virtual_Guest getObject --id=12345
    slcli call-api Metric_Tracking_Object getBandwidthData --id=1234 \\
        "2015-01-01 00:00:00" "2015-01-1 12:00:00" public
    slcli call-api Account getVirtualGuests \\
        -f 'virtualGuests.datacenter.name=dal05' \\
        -f 'virtualGuests.maxCpu=4' \\
        --mask=id,hostname,datacenter.name,maxCpu
    """

    args = [service, method] + list(parameters)
    kwargs = {
        'id': _id,
        'filter': _build_filters(_filters),
        'mask': mask,
        'limit': limit,
        'offset': offset,
    }

    if output_python:
        env.out(_build_python_example(args, kwargs))
    else:
        result = env.client.call(*args, **kwargs)
        env.fout(formatting.iter_to_table(result))
Example #3
0
def cli(env,
        service,
        method,
        parameters,
        _id,
        _filters,
        mask,
        limit,
        offset,
        output_python=False,
        json_filter=None):
    """Call arbitrary API endpoints with the given SERVICE and METHOD.

    For parameters that require a datatype, use a JSON string for that parameter.
    Example::

        slcli call-api Account getObject
        slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
        slcli call-api Virtual_Guest getObject --id=12345
        slcli call-api Metric_Tracking_Object getBandwidthData --id=1234 \\
            "2015-01-01 00:00:00" "2015-01-1 12:00:00" public
        slcli call-api Account getVirtualGuests \\
            -f 'virtualGuests.datacenter.name=dal05' \\
            -f 'virtualGuests.maxCpu=4' \\
            --mask=id,hostname,datacenter.name,maxCpu
        slcli call-api Account getVirtualGuests \\
            -f 'virtualGuests.datacenter.name IN dal05,sng01'
        slcli call-api Account getVirtualGuests \\
            --json-filter  '{"virtualGuests":{"hostname":{"operation":"^= test"}}}' --limit=10
        slcli -v call-api SoftLayer_User_Customer addBulkPortalPermission --id=1234567 \\
            '[{"keyName": "NETWORK_MESSAGE_DELIVERY_MANAGE"}]'
    """

    if _filters and json_filter:
        raise exceptions.CLIAbort(
            "--filter and --json-filter cannot be used together.")

    object_filter = _build_filters(_filters)
    if json_filter:
        object_filter.update(json_filter)

    args = [service, method] + list(parameters)
    kwargs = {
        'id': _id,
        'filter': object_filter,
        'mask': mask,
        'limit': limit,
        'offset': offset,
    }

    if output_python:
        env.out(_build_python_example(args, kwargs))
    else:
        result = env.client.call(*args, **kwargs)
        env.fout(formatting.iter_to_table(result))
Example #4
0
def cli(env, service, method, parameters, _id, mask, limit, offset):
    """Call arbitrary API endpoints with the given SERVICE and METHOD.

    \b
    Examples:
    slcli call-api Account getObject
    slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
    slcli call-api Virtual_Guest getObject --id=12345
    slcli call-api Metric_Tracking_Object getBandwidthData --id=1234 \\
        "2015-01-01 00:00:00" "2015-01-1 12:00:00" public
    """
    result = env.client.call(service, method, *parameters,
                             id=_id,
                             mask=mask,
                             limit=limit,
                             offset=offset)
    return formatting.iter_to_table(result)
Example #5
0
def cli(env, service, method, parameters, _id, _filter, mask, limit, offset):
    """Call arbitrary API endpoints with the given SERVICE and METHOD.

    \b
    Examples:
    slcli call-api Account getObject
    slcli call-api Account getVirtualGuests --limit=10 --mask=id,hostname
    slcli call-api Virtual_Guest getObject --id=12345
    slcli call-api Metric_Tracking_Object getBandwidthData --id=1234 \\
        "2015-01-01 00:00:00" "2015-01-1 12:00:00" public
    """
    result = env.client.call(service, method, *parameters,
                             id=_id,
                             filter=_filter,
                             mask=mask,
                             limit=limit,
                             offset=offset)
    env.fout(formatting.iter_to_table(result))
Example #6
0
def cli(env):
    """Print environment variables."""
    filtered_vars = dict([(k, v)
                          for k, v in env.vars.items()
                          if not k.startswith('_')])
    env.fout(formatting.iter_to_table(filtered_vars))
def cli(env):
    """Print environment variables."""
    return formatting.iter_to_table(env.vars)
def cli(env):
    """Print environment variables."""
    filtered_vars = dict([(k, v) for k, v in env.vars.items()
                          if not k.startswith('_')])
    env.fout(formatting.iter_to_table(filtered_vars))
Example #9
0
def cli(env):
    """Print environment variables."""
    env.fout(formatting.iter_to_table(env.vars))