Esempio n. 1
0
def superna(ctx, images):
    """Display information about Superna Eyeglass servers in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/superna/image',
            base_endpoint=False,
            message=
            'Collecting available versions of Superna Eyeglass servers for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        output = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(output))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/superna',
            message=
            'Collecting information about your Superna Eyeglass servers',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = 'You do not own any Superna Eyeglass servers'
        click.echo(output)
Esempio n. 2
0
def claritynow(ctx, images):
    """Display information about ClarityNow instances in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/claritynow/image',
            base_endpoint=False,
            message=
            'Collecting available versions of ClarityNow for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        table = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/claritynow',
            message='Collecting information about your ClarityNow instances',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = 'You do not own any ClarityNow instances'
        click.echo(output)
Esempio n. 3
0
def ana(ctx, images):
    """Display information about Avamar NDMP Accelerators in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/avamar/ndmp-accelerator/image',
            base_endpoint=False,
            message=
            'Collecting available versions of Avamar NDMP Accelerators for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        output = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(output))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/avamar/ndmp-accelerator',
            message=
            'Collecting information about your Avamar NDMP Accelerators',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = 'You do not own any Avamar NDMP Accelerators instances'
        click.echo(output)
Esempio n. 4
0
def onefs(ctx, images):
    """Display information about vOneFS nodes in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/onefs/image',
            base_endpoint=False,
            message='Collecting available versions of OneFS for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        table = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/onefs',
            message='Collecting information about your OneFS nodes',
            method='GET').json()
        ordered_nodes = sort_node_list(info['content'])
        output = vm_table_view(ctx.obj.vlab_api, ordered_nodes)
        if not output:
            output = 'You do not own any OneFS nodes'
        click.echo(output)
Esempio n. 5
0
def router(ctx, images):
    """Display information about network routers in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/router/image',
            base_endpoint=False,
            message=
            'Collecting available versions of network routers for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(Version(img, name='Router'))
        table = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/router',
            message=
            'Collecting information about the network routers in your lab',
            method='GET').json()['content']
        output = vm_table_view(ctx.obj.vlab_api, info)
        if not output:
            output = 'You do not own any network Routers'
        click.echo(output)
Esempio n. 6
0
def generate_table(vlab_api, info):
    """Convert the new node information into a human friendly table

    :Returns: String

    :param vlab_api: An instantiated connection to the vLab server
    :type vlab_api: vlab_cli.lib.api.vLabApi

    :param info: A mapping of OneFS node names to node information
    :type info: Dictionary
    """
    ordered_nodes = OrderedDict()
    node_names = info.keys()
    ordered_names = sorted(node_names, key=node_sorter)
    for node_name in ordered_names:
        ordered_nodes[node_name] = info[node_name]['content'][node_name]
    table = vm_table_view(vlab_api, ordered_nodes)
    return table
Esempio n. 7
0
def dd(ctx, images):
    """Display information about Data Domain servers in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/data-domain/image',
            base_endpoint=False,
            message=
            'Collecting available versions of Data Domain for deployment',
            method='GET').json()['content']
        table = get_formatted_table(sorted(info['image'], reverse=True))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/data-domain',
            message='Collecting information about your Data Domain servers',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = "You do not own any Data Domain servers."
        click.echo(output)
Esempio n. 8
0
def winserver(ctx, images):
    """Display information about the Microsoft Server instances in your lab"""
    if images:
        info = consume_task(ctx.obj.vlab_api,
                            endpoint='/api/2/inf/winserver/image',
                            base_endpoint=False,
                            message='Collecting available versions of Microsoft Server',
                            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        table = get_formatted_table(sorted(rows, reverse=True))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(ctx.obj.vlab_api,
                            endpoint='/api/2/inf/winserver',
                            message='Collecting information about your Microsoft Server instances',
                            method='GET').json()['content']
        output = vm_table_view(ctx.obj.vlab_api, info)
        if not output:
            output = 'You do not own any Windows Server instances'
        click.echo(output)
Esempio n. 9
0
def deployment(ctx, images, verbose):
    """Display information about a Deployment in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/deployment/image?verbose=true',
            base_endpoint=False,
            message='Collecting available Deployment templates',
            method='GET').json()['content']
        click.echo('')
        for image in info['image']:
            for name, details in image.items():
                click.echo(deployment_table(name, details, verbose))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/deployment',
            message='Collecting information about Deployments in your lab',
            method='GET').json()
        if info['content']:
            click.echo(vm_table_view(ctx.obj.vlab_api, info['content']))
        else:
            click.echo("You do not have an active Deployment in your lab.")
Esempio n. 10
0
def insightiq(ctx, images):
    """Display information about InsightIQ instances in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/insightiq/image',
            base_endpoint=False,
            message='Collecting available versions of InsightIQ for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(Version(img, name='InsightIQ'))
        table = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/insightiq',
            message='Collecting information about your InsightIQ instances',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = "You do not own any InsightIQ instances"
        click.echo(output)
Esempio n. 11
0
def cee(ctx, images):
    """Display information about EMC Common Event Enabler instances in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/cee/image',
            base_endpoint=False,
            message='Collecting available versions of CEE for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(Version(img, name='CEE'))
        output = get_formatted_table(sorted(rows))
        click.echo('\n{}\n'.format(output))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/cee',
            message='Collecting information about your CEE instances',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = 'You do not own any CEE instances'
        click.echo(output)
Esempio n. 12
0
def ecs(ctx, images):
    """Display information about Elastic Cloud Storage instances in your lab"""
    if images:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/ecs/image',
            base_endpoint=False,
            message='Collecting available versions of ECS for deployment',
            method='GET').json()['content']
        rows = []
        for img in info['image']:
            rows.append(img)
        table = get_formatted_table(sorted(rows, reverse=True))
        click.echo('\n{}\n'.format(table))
    else:
        info = consume_task(
            ctx.obj.vlab_api,
            endpoint='/api/2/inf/ecs',
            message='Collecting information about your ECS instances',
            method='GET').json()
        output = vm_table_view(ctx.obj.vlab_api, info['content'])
        if not output:
            output = 'You do not own any ECS instances'
        click.echo(output)