List of usage examples for com.amazonaws.services.glacier.model DescribeVaultOutput getSizeInBytes
public Long getSizeInBytes()
Total size, in bytes, of the archives in the vault as of the last inventory date.
From source file:com.vrane.metaGlacier.gui.vaults.VaultListPanel.java
void init(final HashMap<String, String> lastcount) { JTextField jt;//from w ww .j a v a2 s . c om short count = 0; byte rows = 1; if (list.size() > 0) { add(new JLabel()); add(new HeaderJT("Archives")); add(new HeaderJT("Last count")); add(new HeaderJT("Size")); add(new JLabel()); } for (final DescribeVaultOutput dvo : list) { count++; if (count < minimum || count > maximum) { continue; } rows++; final String vault_name = dvo.getVaultName(); final JLabel la = GlacierFrame.makeLabel(" " + vault_name + " "); add(la); String buttonString; long numArchives = dvo.getNumberOfArchives(); if (numArchives > 0) { buttonString = "Inventory"; la.setBorder(BorderFactory.createRaisedBevelBorder()); la.addMouseListener(new MouseClickListener() { @Override public void mouseClicked(MouseEvent me) { new LaunchArchiveManager(vault_name).execute(); } }); } else { buttonString = "Delete"; } jt = new JTextField(5); jt.setText(numArchives + ""); jt.setHorizontalAlignment(JTextField.RIGHT); jt.setEditable(false); add(jt); jt = new JTextField(5); String last_count_text = null; last_count_text = (String) (lastcount.containsKey(vault_name) ? lastcount.get(vault_name) : "" + numArchives); jt.setText(last_count_text); jt.setHorizontalAlignment(JTextField.RIGHT); jt.setEditable(false); add(jt); jt = new ByteTextField(dvo.getSizeInBytes()); add(jt); final JButton vaultButton = new JButton(buttonString); vaultButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { if (!vaultButton.isEnabled()) { return; } vaultButton.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); vaultButton.validate(); if (vaultButton.getText().equals("Delete")) { vaultButton.setEnabled(false); try { if (new Vault(vault_name).delete()) { vaultButton.setText("deleted"); } else { vaultButton.setEnabled(true); } } catch (Exception e) { LGR.log(Level.SEVERE, null, e); JOptionPane.showMessageDialog(null, "Failed to delete vault. An archive added recently?"); vaultButton.setEnabled(true); } } else { new VaultInventoryJobDialog(vault_name); } vaultButton.setCursor(Cursor.getDefaultCursor()); } }); add(vaultButton); } init(rows, (short) 5); }
From source file:com.vrane.metaGlacier.gui.vaults.VaultManageDialog.java
/** * Sole constructor.//from w ww .ja va 2s . c om * * @param list is a list of AWS objects containing vault list * @param deltaAWS time in ms taken to get this list from AWS * @param deltaAPI time in ms taken to get this list from metadata API * @param last_count a mapping of vault to the number of archives in it. */ public VaultManageDialog(final List<DescribeVaultOutput> list, final long deltaAWS, final long deltaAPI, final HashMap last_count) { super(Main.frame, true); JPanel createPanel = new JPanel(new GridLayout(2, 1)); final Border createPanelBorder = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); final JTextField createJt = new JTextField(); final JButton next = new JButton("next"); final JPanel statPanel2 = new JPanel(new GridLayout(0, 2)); listSize = (short) list.size(); //<editor-fold defaultstate="collapsed" desc="create vault Panel"> createPanel.setBorder(BorderFactory.createTitledBorder(createPanelBorder, "create vault")); createPanel.add(new JLabel(GlacierFrame.getAWSRegion())); createPanel.add(createJt); createJt.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { final String n = createJt.getText(); Vault v = new Vault(n); v.describe(); if (v.exists()) { JOptionPane.showMessageDialog(null, "Vault exists already"); return; } if (v.vaultNameIsBad()) { JOptionPane.showMessageDialog(null, "Bad vault name"); return; } if (v.create()) { VaultManageDialog.this.dispose(); JOptionPane.showMessageDialog(null, "Vault successfully created"); } else { JOptionPane.showMessageDialog(null, "Failed to create"); } } }); add(createPanel, BorderLayout.NORTH); //</editor-fold> //<editor-fold defaultstate="collapsed" desc="stats panel"> if (list != null && !list.isEmpty()) { final JPanel statsPanel = new JPanel(new GridLayout(1, 3)); statsPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED)); long numArchives = 0; long totalSize = 0; for (final DescribeVaultOutput dvo : list) { numArchives += dvo.getNumberOfArchives(); totalSize += dvo.getSizeInBytes(); } JTextField jt = new JTextField(list.size() + " vaults"); jt.setEditable(false); statsPanel.add(jt); jt = new JTextField(numArchives + " archives"); statsPanel.add(jt); jt.setEditable(false); jt = new JTextField("Size: " + HumanBytes.convert(totalSize)); statsPanel.add(jt); jt.setEditable(false); final JPanel emptyPanel = new JPanel(); emptyPanel.setBorder(BorderFactory.createEmptyBorder(4, 3, 4, 3)); emptyPanel.add(statsPanel); add(emptyPanel, BorderLayout.CENTER); } //</editor-fold> listContainer = new JPanel(new BorderLayout()); //<editor-fold defaultstate="collapsed" desc="list panel"> listPanel = new VaultListPanel().withList(list); listPanel.setMin(min); listPanel.setMax(max); listPanel.init(last_count); if (listSize > pageSize) { JPanel pagesPanel = new JPanel(new GridLayout(1, 2)); final JButton prev = new JButton("previous"); listContainer.add(pagesPanel, BorderLayout.NORTH); prev.setEnabled(false); pagesPanel.add(prev); prev.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { if (!prev.isEnabled()) { return; } prev.setEnabled(true); min -= pageSize; short minToSet = min; if (min < 2) { minToSet = 1; prev.setEnabled(false); } max -= pageSize; if (max < listSize) { next.setEnabled(true); } listContainer.remove(listPanel); listPanel = new VaultListPanel().withList(list); listPanel.setMax(max); listPanel.setMin(minToSet); listPanel.init(last_count); listContainer.add(listPanel, BorderLayout.CENTER); VaultManageDialog.this.pack(); } }); pagesPanel.add(next); next.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { if (!next.isEnabled() || listSize < max) { return; } max += pageSize; short maxToSet = max; if (max >= listSize) { maxToSet = listSize; next.setEnabled(false); } prev.setEnabled(true); min += pageSize; listContainer.remove(listPanel); listPanel = new VaultListPanel().withList(list); listPanel.setMax(maxToSet); listPanel.setMin(min); listPanel.init(last_count); listContainer.add(listPanel, BorderLayout.CENTER); VaultManageDialog.this.pack(); } }); } listContainer.add(listPanel, BorderLayout.CENTER); //</editor-fold> //<editor-fold defaultstate="collapsed" desc="bottom stats panel"> statPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); JTextLabel dummy = new JTextLabel("AWS time/ms :" + deltaAWS); dummy.setToolTipText("time to get this list from AWS"); statPanel2.add(dummy); statPanel2 .add(new StatsLabel("AWS calls :" + GlacierFrame.getAWSCalls(), GlacierFrame.getAWSapiLastReset())); if (deltaAPI > 0) { dummy = new JTextLabel("Metadata time/ms :" + deltaAPI); dummy.setToolTipText("time to get this list from metadata API"); statPanel2.add(dummy); statPanel2.add(new StatsLabel("Metadata calls :" + GlacierMetadata.getAPIcounter(), GlacierFrame.getAPILastReset())); } listContainer.add(statPanel2, BorderLayout.SOUTH); //</editor-fold> add(listContainer, BorderLayout.SOUTH); pack(); setLocationRelativeTo(Main.frame); setResizable(false); setModalityType(JDialog.ModalityType.DOCUMENT_MODAL); setVisible(true); }
From source file:com.vrane.metaGlacier.gui.VSplash.java
private void get_data() { say("Getting vault list from AWS"); final long beginning = System.currentTimeMillis(); List<DescribeVaultOutput> list = null; HashMap<String, String> lastCounts = new HashMap(); long afterMetadata = 0; boolean success = false; try {/*from w w w.j a v a 2s . c o m*/ list = new AllVaults().list(); } catch (Exception ex) { LGR.log(Level.SEVERE, null, ex); dispose(); JOptionPane.showMessageDialog(null, "Error getting vaults. Check your connection or AWS keys"); return; } LGR.fine("Received vault list from AWS"); final long afterAWS = System.currentTimeMillis(); if (!GlacierFrame.haveMetadataProvider()) { success = true; } else if (list.size() > 0) { say("Syncing with metadata provider"); VaultList vaultList = new VaultList(GlacierFrame.getAWSRegion()); List<VaultRO> mvlList = new ArrayList(); for (final DescribeVaultOutput dvo : list) { final VaultRO vro = new VaultRO(dvo.getVaultName(), dvo.getNumberOfArchives(), dvo.getCreationDate(), dvo.getSizeInBytes()); mvlList.add(vro); } vaultList.setList(mvlList); String error_string = null; try { success = vaultList.sync(); afterMetadata = System.currentTimeMillis(); lastCounts = vaultList.getLastArchiveCounts(); if (!success) { LGR.info("failed to sync"); } } catch (SDKException | APIException ex) { LGR.log(Level.SEVERE, null, ex); } catch (SignInException ex) { LGR.log(Level.SEVERE, null, ex); error_string = "Failed to sign-in to metadata account"; } dispose(); if (!success) { if (error_string == null) { error_string = "Error from metadata provider"; } JOptionPane.showMessageDialog(this, error_string); } } dispose(); if (!success) { return; } new VaultManageDialog(list, afterAWS - beginning, afterMetadata == 0 ? 0 : (afterMetadata - afterAWS), lastCounts); }
From source file:englishcoffeedrinker.corpse.Glacier.java
License:Open Source License
public Glacier(AWSEndpoint endpoint, AWSCredentials credentials) { this.endpoint = endpoint; this.credentials = credentials; AmazonGlacierClient client = new AmazonGlacierClient(this.credentials); client.setEndpoint(this.endpoint.getServiceURI(AWSEndpoint.Service.GLACIER)); vaults = new ArrayList<Vault>(); size = 0L;// w w w .java 2 s .co m String marker = null; do { ListVaultsRequest lv = new ListVaultsRequest().withMarker(marker).withLimit("1000"); ListVaultsResult lvr = client.listVaults(lv); List<DescribeVaultOutput> vList = lvr.getVaultList(); marker = lvr.getMarker(); for (DescribeVaultOutput vault : vList) { vaults.add(new Vault(vault)); if (vault.getSizeInBytes() != null) size += vault.getSizeInBytes(); } } while (marker != null); }
From source file:englishcoffeedrinker.corpse.Vault.java
License:Open Source License
/** * Creates a Vault instance from the description returned as part * of a ListVault command. Note that this won't contain a breakdown * of the archives contained with the vault as this information * isn't returned as part of a vault listing; you need to request * a vault inventory if you need to find out the details of each * archive in the vault./*from ww w .j av a2 s . co m*/ * @param vault */ public Vault(DescribeVaultOutput vault) { this.arn = vault.getVaultARN(); this.name = vault.getVaultName(); this.creationDate = vault.getCreationDate(); this.inventoryDate = vault.getLastInventoryDate(); this.numArchives = vault.getNumberOfArchives(); this.sizeInBytes = vault.getSizeInBytes(); //a simple vault description doesn't contain the list //of archives, you have to request a vault inventory //to get the full list, which is why you should be //maintaining a local index of your glacier vaults archives = new ArrayList<Archive>(); }
From source file:nl.nekoconeko.glaciercmd.Entry.java
License:Open Source License
public static void main(String[] args) { CommandLine cli = Configuration.parseCli(ModeType.ROOT, args); if (cli.hasOption("config")) { Configuration.loadFile(cli.getOptionValue("config")); }//from w w w .j a va2 s .com Configuration.load(cli); if (Configuration.getMode() == ModeType.HELP) { if (Configuration.hasHelpType()) { ConfigModes.printConfigModeHelp(Configuration.getHelpType()); } else { ConfigModes.printConfigModeHelp(ModeType.ROOT); } System.exit(0); } if (Configuration.getMode() == ModeType.VERSION) { Formatter.printHeader(); System.exit(0); } if (!Configuration.hasKey() || !Configuration.hasSecret() || !Configuration.hasRegion()) { Formatter.printErrorLine("Make sure key, secret and region are set!"); System.exit(-1); } GlacierClient gc = new GlacierClient(Configuration.getKey(), Configuration.getSecret()); gc.setEndpoint(Configuration.getRegion().getEndpoint()); if (Configuration.getMode() == ModeType.LIST) { Configuration.load(ModeType.LIST, args); if (!Configuration.hasListType()) { Formatter.printErrorLine("Make sure you specify a list type!"); System.exit(-1); } switch (Configuration.getListType()) { case VAULT: List<DescribeVaultOutput> vaults = gc.getVaults(); for (DescribeVaultOutput vault : vaults) { Formatter.printInfoLine(String.format("[%s] %d items, %d bytes, %s last checked", vault.getVaultName(), vault.getNumberOfArchives(), vault.getSizeInBytes(), vault.getLastInventoryDate())); } break; case ARCHIVE: if (!Configuration.hasVault()) { Formatter.printErrorLine("A vault has to be specified to list archives"); System.exit(-1); } DescribeVaultResult vault = gc.describeVault(Configuration.getVault()); Formatter.printInfoLine( String.format("[%s] %d items, %d bytes, %s last checked", vault.getVaultName(), vault.getNumberOfArchives(), vault.getSizeInBytes(), vault.getLastInventoryDate())); break; default: Formatter.printErrorLine("Invalid list type selected"); System.exit(-1); } } else if (Configuration.getMode() == ModeType.INITIATEINVENTORY) { Configuration.load(ModeType.INITIATEINVENTORY, args); Formatter.printInfoLine("Requesting an inventory from AWS Glacier..."); Formatter.printInfoLine(String.format("Job has been created with id: %s", gc.initiateRetrieveVaultInventory(Configuration.getVault()))); } else if (Configuration.getMode() == ModeType.GETINVENTORY) { Configuration.load(ModeType.GETINVENTORY, args); Formatter.printInfoLine( String.format("Retrieving inventory with id %s from AWS Glacier...", Configuration.getJobId())); VaultInventory inv = null; try { inv = gc.retrieveVaultInventoryJob(Configuration.getVault(), Configuration.getJobId()); } catch (InterruptedException e) { e.printStackTrace(); System.exit(-1); } Formatter.printInfoLine(String.format("Vault ARN: %s", inv.VaultARN)); Formatter.printInfoLine(String.format("Last Inventory Date: %s", inv.InventoryDate.toString())); Formatter.printInfoLine(String.format("Vault contains %d archives:", inv.ArchiveList.size())); for (Archive arch : inv.ArchiveList) { StringBuilder a = new StringBuilder(); a.append(String.format("Archive ID: %s\n", arch.ArchiveId)); a.append(String.format("Archive Description: %s\n", arch.ArchiveDescription)); a.append(String.format("Archive Size: %d bytes\n", arch.Size)); a.append(String.format("Creation Date: %s\n", arch.CreationDate.toString())); a.append(String.format("SHA256 Hash: %s\n", arch.SHA256TreeHash)); Formatter.printBorderedInfo(a.toString()); } } else if (Configuration.getMode() == ModeType.UPLOAD) { Configuration.load(ModeType.UPLOAD, args); Formatter.printInfoLine(String.format("Uploading '%s' to vault '%s'", Configuration.getInputFile(), Configuration.getVault())); UploadResult res = gc.uploadFile(Configuration.getVault(), Configuration.getInputFile(), Configuration.getDescription()); Formatter.printInfoLine(String.format("Upload completed, archive has ID: %s", res.getArchiveId())); } else if (Configuration.getMode() == ModeType.DOWNLOAD) { Configuration.load(ModeType.DOWNLOAD, args); Formatter.printInfoLine(String.format("Download '%s' from vault '%s', saving as '%s'", Configuration.getArchive(), Configuration.getVault(), Configuration.getOutputFile())); Formatter.printInfoLine("Note that this will take several hours, please be patient..."); gc.downloadFile(Configuration.getVault(), Configuration.getArchive(), Configuration.getOutputFile()); Formatter.printInfoLine("Download completed"); } else if (Configuration.getMode() == ModeType.INITIATEDOWNLOAD) { Configuration.load(ModeType.INITIATEDOWNLOAD, args); Formatter.printInfoLine(String.format("Requesting download of archive '%s' from vault '%s'...", Configuration.getArchive(), Configuration.getVault())); Formatter.printInfoLine(String.format("Job has been created with id: %s", gc.initiateDownload(Configuration.getVault(), Configuration.getArchive()))); } else if (Configuration.getMode() == ModeType.GETDOWNLOAD) { Configuration.load(ModeType.GETDOWNLOAD, args); Formatter.printInfoLine( String.format("Retrieving download with '%s' from AWS Glacier, and saving it to '%s'...", Configuration.getJobId(), Configuration.getOutputFile())); try { gc.retrieveDownloadJob(Configuration.getVault(), Configuration.getJobId(), Configuration.getOutputFile()); } catch (InterruptedException e) { e.printStackTrace(); System.exit(-1); } Formatter.printInfoLine("Download completed"); } else if (Configuration.getMode() == ModeType.DELETEARCHIVE) { Configuration.load(ModeType.DELETEARCHIVE, args); Formatter.printInfoLine(String.format("Deleting archive with id '%s' from vault '%s'", Configuration.getArchive(), Configuration.getVault())); gc.deleteArchive(Configuration.getVault(), Configuration.getArchive()); } else { Formatter.printErrorLine("WHA-HUH!?"); System.exit(-1); } }
From source file:opendap.aws.glacier.NoaaResourceIngester.java
License:Open Source License
public String describeVault(DescribeVaultOutput dvo) { StringBuilder sb = new StringBuilder(); sb.append("================================================================================\n"); sb.append("Found Vault: ").append(dvo.getVaultName()).append("\n"); sb.append(" getCreationDateString(): ").append(dvo.getCreationDate()).append("\n"); sb.append(" getLastInventoryDate(): ").append(dvo.getLastInventoryDate()).append("\n"); sb.append(" getNumberOfArchives(): ").append(dvo.getNumberOfArchives()).append("\n"); sb.append(" getSizeInBytes(): ").append(dvo.getSizeInBytes()).append("\n"); sb.append(" getVaultARN(): ").append(dvo.getVaultARN()).append("\n"); sb.append(" toString(): ").append(dvo.toString()).append("\n"); sb.append(" toString(): ").append(dvo.getVaultName()).append("\n"); return sb.toString(); }