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)
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)
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)
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)
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)
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
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)
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)
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.")
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)
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)
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)