Example #1
0
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
    )
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)