def ovdc_enable(ctx, ovdc_name, pks_plan, pks_cluster_domain, org_name): """Set Kubernetes provider to be Ent-PKS for an org VDC.""" CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc_for_k8s( enable=True, ovdc_name=ovdc_name, org_name=org_name, k8s_provider=K8sProvider.PKS, pks_plan=pks_plan, pks_cluster_domain=pks_cluster_domain) stdout(result, ctx) CLIENT_LOGGER.debug(result) else: msg = "Insufficient permission to perform operation." stderr(msg, ctx) CLIENT_LOGGER.error(msg) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def ovdc_enable(ctx, ovdc_name, k8s_provider, pks_plan, pks_cluster_domain, org_name): """Set Kubernetes provider for an org VDC.""" if k8s_provider == K8sProvider.PKS and \ (pks_plan is None or pks_cluster_domain is None): click.secho("One or both of the required params (--pks-plan," " --pks-cluster-domain) are missing", fg='yellow') return try: restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc_for_k8s( enable=True, ovdc_name=ovdc_name, org_name=org_name, k8s_provider=k8s_provider, pks_plan=pks_plan, pks_cluster_domain=pks_cluster_domain) stdout(result, ctx) else: stderr("Insufficient permission to perform operation.", ctx) except Exception as e: stderr(e, ctx)
def ovdc_info(ctx, ovdc_name, org_name): """Display information about Kubernetes provider for an org VDC. \b Example vcd cse ovdc info ovdc1 Display detailed information about ovdc 'ovdc1'. """ CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.info_ovdc(ovdc_name, org_name) stdout(yaml.dump(result), ctx) CLIENT_LOGGER.debug(result) else: msg = "Insufficient permission to perform operation" stderr(msg, ctx) CLIENT_LOGGER.error(msg) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def ovdc_disable(ctx, ovdc_name, org_name, disable_native, disable_tkg_plus=None, remove_cp_from_vms_on_disable=False): """Disable Kubernetes cluster deployment for an org VDC. \b Examples vcd cse ovdc disable --native --org org1 ovdc1 Disable native cluster deployment in ovdc1 of org1. Supported only for vcd api version >= 35. \b vcd cse ovdc disable --native --org org1 --force ovdc1 Force disable native cluster deployment in ovdc1 of org1. Replaces CSE policies with VCD default policies. Supported only for vcd api version >= 35. \b vcd cse ovdc disable ovdc3 Disable ovdc3 for any further native cluster deployments. Supported only for vcd api version < 35. """ CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') if not (disable_native or disable_tkg_plus): msg = "Please specify at least one k8 runtime to disable" stderr(msg, ctx) CLIENT_LOGGER.error(msg) k8_runtime = [] if disable_native: k8_runtime.append(shared_constants.ClusterEntityKind.NATIVE.value) if disable_tkg_plus: k8_runtime.append(shared_constants.ClusterEntityKind.TKG_PLUS.value) try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc( enable=False, ovdc_name=ovdc_name, org_name=org_name, k8s_runtime=k8_runtime, remove_cp_from_vms_on_disable=remove_cp_from_vms_on_disable ) # noqa: E501 stdout(result, ctx) CLIENT_LOGGER.debug(result) else: msg = "Insufficient permission to perform operation." stderr(msg, ctx) CLIENT_LOGGER.error(msg) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def list_ovdcs(ctx, list_pks_plans): """Display org VDCs in vCD that are visible to the logged in user.""" try: restore_session(ctx) client = ctx.obj['client'] ovdc = Ovdc(client) result = ovdc.list_ovdc_for_k8s(list_pks_plans=list_pks_plans) stdout(result, ctx, sort_headers=False) except Exception as e: stderr(e, ctx)
def compute_policy_list(ctx, org_name, ovdc_name): try: restore_session(ctx) client = ctx.obj['client'] if not client.is_sysadmin(): raise Exception("Insufficient permission to perform operation.") ovdc = Ovdc(client) result = ovdc.list_ovdc_compute_policies(ovdc_name, org_name) stdout(result, ctx) except Exception as e: stderr(e, ctx)
def list_ovdcs(ctx, list_pks_plans): """Display org VDCs in vCD that are visible to the logged in user.""" CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: restore_session(ctx) client = ctx.obj['client'] ovdc = Ovdc(client) result = ovdc.list_ovdc_for_k8s(list_pks_plans=list_pks_plans) stdout(result, ctx, sort_headers=False) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def ovdc_info(ctx, ovdc_name, org_name): """Display information about Kubernetes provider for an org VDC.""" try: restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.info_ovdc_for_k8s(ovdc_name, org_name) stdout(result, ctx) else: stderr("Insufficient permission to perform operation", ctx) except Exception as e: stderr(e, ctx)
def compute_policy_list(ctx, org_name, ovdc_name): CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if not client.is_sysadmin(): raise Exception("Insufficient permission to perform operation.") ovdc = Ovdc(client) result = ovdc.list_ovdc_compute_policies(ovdc_name, org_name) stdout(result, ctx) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def ovdc_disable(ctx, ovdc_name, org_name): """Disable Kubernetes cluster deployment for an org VDC.""" try: restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.disable_ovdc_for_k8s(ovdc_name, org_name=org_name) stdout(result, ctx) else: stderr("Unauthorized operation", ctx) except Exception as e: stderr(e, ctx)
def compute_policy_remove(ctx, org_name, ovdc_name, compute_policy_name, remove_compute_policy_from_vms): try: restore_session(ctx) client = ctx.obj['client'] if not client.is_sysadmin(): raise Exception("Insufficient permission to perform operation.") ovdc = Ovdc(client) result = ovdc.update_ovdc_compute_policies( ovdc_name, org_name, compute_policy_name, ComputePolicyAction.REMOVE, remove_compute_policy_from_vms) # noqa: E501 stdout(result, ctx) except Exception as e: stderr(e, ctx)
def ovdc_disable(ctx, ovdc_name, org_name): """Disable Kubernetes cluster deployment for an org VDC.""" try: restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc_for_k8s(enable=False, ovdc_name=ovdc_name, org_name=org_name) stdout(result, ctx) else: stderr("Insufficient permission to perform operation.", ctx) except Exception as e: stderr(e, ctx)
def ovdc_enable(ctx, ovdc_name, org_name, enable_native, enable_tkg_plus=None): """Set Kubernetes provider for an org VDC. \b Example vcd cse ovdc enable --native --org org1 ovdc1 Enable native cluster deployment in ovdc1 of org1. Supported only for vcd api version >= 35. \b vcd cse ovdc enable ovdc1 Enable ovdc1 for native cluster deployment. Supported only for vcd api version < 35. """ CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') if not (enable_native or enable_tkg_plus): msg = "Please specify at least one k8 runtime to enable" stderr(msg, ctx) CLIENT_LOGGER.error(msg) k8_runtime = [] if enable_native: k8_runtime.append(shared_constants.ClusterEntityKind.NATIVE.value) if enable_tkg_plus: k8_runtime.append(shared_constants.ClusterEntityKind.TKG_PLUS.value) try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc(enable=True, ovdc_name=ovdc_name, org_name=org_name, k8s_runtime=k8_runtime) stdout(result, ctx) CLIENT_LOGGER.debug(result) else: msg = "Insufficient permission to perform operation." stderr(msg, ctx) CLIENT_LOGGER.error(msg) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def compute_policy_remove(ctx, org_name, ovdc_name, compute_policy_name, remove_compute_policy_from_vms): CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] if not client.is_sysadmin(): raise Exception("Insufficient permission to perform operation.") ovdc = Ovdc(client) result = ovdc.update_ovdc_compute_policies( ovdc_name, org_name, compute_policy_name, shared_constants.ComputePolicyAction.REMOVE, remove_compute_policy_from_vms) stdout(result, ctx) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def ovdc_disable(ctx, ovdc_name, org_name): """Disable Kubernetes cluster deployment for an org VDC.""" CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: restore_session(ctx) client = ctx.obj['client'] if client.is_sysadmin(): ovdc = Ovdc(client) if org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = ovdc.update_ovdc_for_k8s(enable=False, ovdc_name=ovdc_name, org_name=org_name) stdout(result, ctx) CLIENT_LOGGER.debug(result) else: msg = "Insufficient permission to perform operation." stderr(msg, ctx) CLIENT_LOGGER.error(msg) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def list_ovdcs(ctx, should_print_all=False): """Display org VDCs in vCD that are visible to the logged in user. \b Example vcd cse ovdc list Display ovdcs in vCD that are visible to the logged in user. The user might be prompted if more results needs to be displayed \b vcd cse ovdc list -A Display ovdcs in vCD that are visible to the logged in user without prompting the user. """ CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) client = ctx.obj['client'] ovdc = Ovdc(client) client_utils.print_paginated_result(ovdc.list_ovdc(), should_print_all=should_print_all, logger=CLIENT_LOGGER) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))