def _create_dataset(args: argparse.Namespace) -> None: _validate_dataset_name(args.dataset_name) if not query_yes_no("Are you sure?"): return host = data_repo_host[args.env] region = args.region policy_members = set(args.policy_members.split(',')) client = get_api_client(host=host) hca = DatasetManager(environment=args.env, data_repo_client=client) if args.schema_path: with open(args.schema_path, "r") as f: schema = json.load(f) else: schema = hca.generate_schema() hca.create_dataset_with_policy_members( args.dataset_name, args.billing_profile_id, policy_members, schema, region, args.env, None )
def _remove_dataset(args: argparse.Namespace) -> None: if not query_yes_no("Are you sure?"): return host = data_repo_host[args.env] hca = DatasetManager(environment=args.env, data_repo_client=get_api_client(host=host)) hca.delete_dataset(dataset_name=args.dataset_name, dataset_id=args.dataset_id)
def run(arguments: Optional[list[str]] = None) -> None: setup_cli_logging_format() parser = DefaultHelpParser(description="A simple CLI to check for issues in a TDR dataset.") parser.add_argument("-V", "--version", action="version", version="%(prog)s " + hca_manage_version) parser.add_argument("-e", "--env", help="The Jade environment to target", choices=["dev", "prod", "real_prod"], required=True) parser.add_argument("-p", "--project", help="The Jade project to target") parser.add_argument("-d", "--dataset", help="The Jade dataset to target", required=True) parser.add_argument("-r", "--remove", help="Remove problematic rows. If flag not set, " "will only check for presence of problematic rows", action="store_true") args = parser.parse_args(arguments) host = data_repo_host[args.env] if args.remove: if query_yes_no("Are you sure?"): check_data(args, host, parser, remove=True) else: print("No removal attempted.") else: check_data(args, host, parser)
def run(arguments: Optional[list[str]] = None) -> None: setup_cli_logging_format() parser = DefaultHelpParser( description="A simple CLI to soft delete rows in a TDR dataset.") parser.add_argument("-V", "--version", action="version", version="%(prog)s " + hca_manage_version) parser.add_argument("-e", "--env", help="The Jade environment to target", choices=["dev", "prod"], required=True) parser.add_argument("-p", "--path", help="Path to csv containing row IDs to soft delete") parser.add_argument( "-t", "--target_table", help="Table containing the rows slated for soft deletion") parser.add_argument("-j", "--project", help="project") parser.add_argument("-d", "--dataset", help="dataset") args = parser.parse_args(arguments) host = data_repo_host[args.env] if query_yes_no("Are you sure?"): soft_delete(args, host)
def _create_snapshot(args: argparse.Namespace) -> None: if not query_yes_no("Are you sure?"): return host = data_repo_host[args.env] profile_id = data_repo_profile_ids[args.env] hca = SnapshotManager(environment=args.env, dataset=args.dataset, data_repo_profile_id=profile_id, data_repo_client=get_api_client(host=host)) hca.submit_snapshot_request(qualifier=args.qualifier)