private OptionSpec<Void> parseCreateVault(final Configuration config) { return acceptsAll(Arrays.asList("create", "c"), "creates a new vault"); }
public GlacierUploaderOptionParser(final Configuration config) { super(); this.vault = this.parseVault(config); this.endpoint = this.parseEndpoint(config); this.region = this.parseRegion(config); this.upload = this.parseUploadFile(config); this.inventoryListing = this.parseInventory(config); this.download = this.parseDownload(config); this.credentials = this.parseCredentials(config); this.createVault = this.parseCreateVault(config); this.listVaults = this.parseListVault(config); this.listJobs = this.parseListJobs(config); this.deleteVault = this.parseDeleteVault(config); this.targetFile = this.parseTargetFile(config); this.calculateHash = this.parseHashFile(config); this.deleteArchive = this.parseDeleteArchive(config); this.multipartUpload = this.parseMultipartUploadFile(config); this.partSize = this.parsePartSize(config); this.help = this.parseHelp(config); this.abortUpload = this.parseAbortUpload(config); }
public static void main(String[] args) { final GlacierUploaderOptionParser optionParser = new GlacierUploaderOptionParser(setupConfig()); final OptionSet options; options = optionParser.parse(args); } catch (Exception e) { LOG.error("Something went wrong parsing the arguments", e); LOG.warn("Option {} is deprecated, please switch to {}", optionParser.endpoint, optionParser.region); String endpointUrl = options.valueOf(optionParser.endpoint); region = optionParser.parseEndpointToRegion(endpointUrl); LOG.debug("Parsed {} from configured endpoint", region , endpointUrl);
@Deprecated private ArgumentAcceptingOptionSpec<String> parseEndpoint(final Configuration config) { final String endpoint = "endpoint"; ArgumentAcceptingOptionSpec<String> endpointBuilder = acceptsAll(Arrays.asList(endpoint, "e"), "URL or Region handle of the amazon AWS endpoint where your vault is") .withRequiredArg() .ofType(String.class); if (config.containsKey(endpoint)) { endpointBuilder.defaultsTo(parseEndpointToRegion(config.getString(endpoint))); } return endpointBuilder; }
@Override public void exec(OptionSet options, GlacierUploaderOptionParser optionParser) { final String vaultName = options.valueOf(optionParser.vault); final List<File> optionsFiles = options.valuesOf(optionParser.upload); final List<String> nonOptions = options.nonOptionArguments(); final List<File> files = optionParser.mergeNonOptionsFiles(optionsFiles, nonOptions); for (File uploadFile : files) { this.upload(vaultName, uploadFile); } // stop progress tracker SCHEDULED_POOL.shutdown(); }
@Override public void exec(OptionSet options, GlacierUploaderOptionParser optionParser) { final String vaultName = options.valueOf(optionParser.vault); final List<File> optionsFiles = options.valuesOf(optionParser.multipartUpload); final Long partSize = options.valueOf(optionParser.partSize); final List<String> nonOptions = options.nonOptionArguments(); final List<File> files = optionParser.mergeNonOptionsFiles(optionsFiles, nonOptions); for (File uploadFile : files) { this.upload(vaultName, uploadFile, partSize); } }
private OptionSpec<Void> parseListJobs(final Configuration config) { return acceptsAll(Arrays.asList("list-jobs", "j"), "lists recent jobs"); }
private OptionSpec<Void> parseDeleteVault(final Configuration config) { return acceptsAll(Arrays.asList("delete-vault", "r"), "deletes an existing vault"); }
private OptionSpec<Void> parseListVault(final Configuration config) { return acceptsAll(Arrays.asList("list-vaults", "s"), "lists all available vaults"); }
private OptionSpecBuilder parseHelp(final Configuration config) { return acceptsAll(Arrays.asList("help", "h", "?"), "display the help menu"); }
private ArgumentAcceptingOptionSpec<String> parseDeleteArchive(final Configuration config) { return acceptsAll(Arrays.asList("delete", "d"), "deletes an existing archive") .withRequiredArg() .ofType(String.class); }
private ArgumentAcceptingOptionSpec<File> parseUploadFile(final Configuration config) { return acceptsAll(Arrays.asList("upload", "u"), "start uploading a new archive") .withRequiredArg() .ofType(File.class); }
private ArgumentAcceptingOptionSpec<File> parseTargetFile(final Configuration config) { return acceptsAll(Arrays.asList("target", "t"), "filename to store downloaded archive") .withRequiredArg() .ofType(File.class); }
private ArgumentAcceptingOptionSpec<String> parseAbortUpload(final Configuration config) { return acceptsAll(Arrays.asList("abort-upload", "x"), "aborts an existing upload request - requires upload id") .withRequiredArg() .ofType(String.class); } }
private ArgumentAcceptingOptionSpec<String> parseInventory(final Configuration config) { return acceptsAll(Arrays.asList("list-inventory", "l"), "retrieve the inventory listing of a vault or request a listing if no job id is set") .withOptionalArg() .ofType(String.class); }
private ArgumentAcceptingOptionSpec<String> parseDownload(final Configuration config) { return acceptsAll(Arrays.asList("download", "o"), "download an existing archive") .withRequiredArg() .ofType(String.class); }
private ArgumentAcceptingOptionSpec<File> parseHashFile(final Configuration config) { return acceptsAll(Arrays.asList("calculate", "a"), "calculate hashsum for a file") .withRequiredArg() .ofType(File.class); }
private ArgumentAcceptingOptionSpec<File> parseMultipartUploadFile(final Configuration config) { return acceptsAll(Arrays.asList("multipartupload", "m"), "start uploading a new archive in chuncks") .withRequiredArg() .ofType(File.class); }
@Deprecated private ArgumentAcceptingOptionSpec<File> parseCredentials(final Configuration config) { final String credentials = "credentials"; ArgumentAcceptingOptionSpec<File> credentialsBuilder = acceptsAll(Arrays.asList(credentials), "path to your aws credentials file").withRequiredArg().ofType(File.class); if (config.containsKey(credentials)) { credentialsBuilder.defaultsTo(new File(config.getString(credentials))); } else { credentialsBuilder.defaultsTo(new File(System.getProperty("user.home") + "/aws.properties")); } return credentialsBuilder; }
private ArgumentAcceptingOptionSpec<Long> parsePartSize(final Configuration config) { return acceptsAll(Arrays.asList("partsize", "p"), "sets the size of each part for multipart uploads (must be a power of 2)") .withRequiredArg() .ofType(Long.class) .defaultsTo((long) Math.pow(4096, 2)); // 16 MB. }