def describe(name, output, namespace): track_cli('deploy-describe') yatai_service = get_yatai_service() result = describe_deployment(namespace, name, yatai_service) if result.status.status_code != status_pb2.Status.OK: _echo( 'Failed to describe deployment {name}. {error_code}:' '{error_message}'.format( name=name, error_code=status_pb2.Status.Code.Name( result.status.status_code), error_message=result.status.error_message, ), CLI_COLOR_ERROR, ) else: get_result = get_deployment(namespace, name) if get_result.status.status_code != status_pb2.Status.OK: _echo( 'Failed to describe deployment {name}. {error_code}:' '{error_message}'.format( name=name, error_code=status_pb2.Status.Code.Name( result.status.status_code), error_message=result.status.error_message, ), CLI_COLOR_ERROR, ) deployment_pb = get_result.deployment deployment_pb.state.CopyFrom(result.state) _print_deployment_info(deployment_pb, output)
def get(name, output, namespace): track_cli('deploy-get') yatai_service = get_yatai_service() result = get_deployment(namespace, name, yatai_service) if result.status.status_code != status_pb2.Status.OK: _echo( 'Failed to get deployment {name}. code: {error_code}, message: ' '{error_message}'.format( name=name, error_code=status_pb2.Status.Code.Name( result.status.status_code), error_message=result.status.error_message, ), CLI_COLOR_ERROR, ) else: _print_deployment_info(result.deployment, output)
def delete(name, namespace, force): yatai_service = get_yatai_service() get_deployment_result = get_deployment(namespace, name, yatai_service) if get_deployment_result.status.status_code != status_pb2.Status.OK: _echo( 'Failed to get deployment {} for deletion. {}:{}'.format( name, status_pb2.Status.Code.Name( get_deployment_result.status.status_code), get_deployment_result.status.error_message, ), CLI_COLOR_ERROR, ) return platform = DeploymentSpec.DeploymentOperator.Name( get_deployment_result.deployment.spec.operator) track_cli('deploy-delete', platform) result = delete_deployment(name, namespace, force, yatai_service) if result.status.status_code == status_pb2.Status.OK: extra_properties = {} if get_deployment_result.deployment.created_at: stopped_time = datetime.utcnow() extra_properties['uptime'] = int( (stopped_time - get_deployment_result.deployment.created_at.ToDatetime() ).total_seconds()) track_cli('deploy-delete-success', platform, extra_properties) _echo('Successfully deleted deployment "{}"'.format(name), CLI_COLOR_SUCCESS) else: _echo( 'Failed to delete deployment {name}. code: {error_code}, message: ' '{error_message}'.format( name=name, error_code=status_pb2.Status.Code.Name( result.status.status_code), error_message=result.status.error_message, ), CLI_COLOR_ERROR, )