All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.glacier.model.CompleteMultipartUploadRequest Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.glacier.model;

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.glacier.AmazonGlacier#completeMultipartUpload(CompleteMultipartUploadRequest) CompleteMultipartUpload operation}.
 * 

* You call this operation to inform Amazon Glacier that all the archive * parts have been uploaded and that Amazon Glacier can now assemble the * archive from the uploaded parts. After assembling and saving the * archive to the vault, Amazon Glacier returns the URI path of the newly * created archive resource. Using the URI path, you can then access the * archive. After you upload an archive, you should save the archive ID * returned to retrieve the archive at a later point. You can also get * the vault inventory to obtain a list of archive IDs in a vault. For * more information, see InitiateJob. *

*

* In the request, you must include the computed SHA256 tree hash of the * entire archive you have uploaded. For information about computing a * SHA256 tree hash, see * Computing Checksums * . On the server side, Amazon Glacier also constructs the SHA256 tree * hash of the assembled archive. If the values match, Amazon Glacier * saves the archive to the vault; otherwise, it returns an error, and * the operation fails. The ListParts operation returns a list of parts * uploaded for a specific multipart upload. It includes checksum * information for each uploaded part that can be used to debug a bad * checksum issue. *

*

* Additionally, Amazon Glacier also checks for any missing content * ranges when assembling the archive, if missing content ranges are * found, Amazon Glacier returns an error and the operation fails. *

*

* Complete Multipart Upload is an idempotent operation. After your first * successful complete multipart upload, if you call the operation again * within a short period, the operation will succeed and return the same * archive ID. This is useful in the event you experience a network issue * that causes an aborted connection or receive a 500 server error, in * which case you can repeat your Complete Multipart Upload request and * get the same archive ID without creating duplicate archives. Note, * however, that after the multipart upload completes, you cannot call * the List Parts operation and the multipart upload will not appear in * List Multipart Uploads response, even if idempotent complete is * possible. *

*

* An AWS account has full permission to perform all operations * (actions). However, AWS Identity and Access Management (IAM) users * don't have any permissions by default. You must grant them explicit * permission to perform specific actions. For more information, see * Access Control Using AWS Identity and Access Management (IAM) * . *

*

* For conceptual information and underlying REST API, go to * Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload * in the Amazon Glacier Developer Guide . * *

* * @see com.amazonaws.services.glacier.AmazonGlacier#completeMultipartUpload(CompleteMultipartUploadRequest) */ public class CompleteMultipartUploadRequest extends AmazonWebServiceRequest implements Serializable { /** * The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. */ private String accountId; /** * The name of the vault. */ private String vaultName; /** * The upload ID of the multipart upload. */ private String uploadId; /** * The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. */ private String archiveSize; /** * The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. */ private String checksum; /** * Default constructor for a new CompleteMultipartUploadRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public CompleteMultipartUploadRequest() {} /** * Constructs a new CompleteMultipartUploadRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param vaultName The name of the vault. * @param uploadId The upload ID of the multipart upload. * @param archiveSize The total size, in bytes, of the entire archive. * This value should be the sum of all the sizes of the individual parts * that you uploaded. * @param checksum The SHA256 tree hash of the entire archive. It is the * tree hash of SHA256 tree hash of the individual parts. If the value * you specify in the request does not match the SHA256 tree hash of the * final assembled archive as computed by Amazon Glacier, Amazon Glacier * returns an error and the request fails. */ public CompleteMultipartUploadRequest(String vaultName, String uploadId, String archiveSize, String checksum) { setVaultName(vaultName); setUploadId(uploadId); setArchiveSize(archiveSize); setChecksum(checksum); } /** * Constructs a new CompleteMultipartUploadRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param accountId The AccountId is the AWS Account ID. You * can specify either the AWS Account ID or optionally a '-', in which * case Amazon Glacier uses the AWS Account ID associated with the * credentials used to sign the request. If you specify your Account ID, * do not include hyphens in it. * @param vaultName The name of the vault. * @param uploadId The upload ID of the multipart upload. * @param archiveSize The total size, in bytes, of the entire archive. * This value should be the sum of all the sizes of the individual parts * that you uploaded. * @param checksum The SHA256 tree hash of the entire archive. It is the * tree hash of SHA256 tree hash of the individual parts. If the value * you specify in the request does not match the SHA256 tree hash of the * final assembled archive as computed by Amazon Glacier, Amazon Glacier * returns an error and the request fails. */ public CompleteMultipartUploadRequest(String accountId, String vaultName, String uploadId, String archiveSize, String checksum) { setAccountId(accountId); setVaultName(vaultName); setUploadId(uploadId); setArchiveSize(archiveSize); setChecksum(checksum); } /** * The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. * * @return The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. */ public String getAccountId() { return accountId; } /** * The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. * * @param accountId The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. */ public void setAccountId(String accountId) { this.accountId = accountId; } /** * The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. *

* Returns a reference to this object so that method calls can be chained together. * * @param accountId The AccountId is the AWS Account ID. You can specify * either the AWS Account ID or optionally a '-', in which case Amazon * Glacier uses the AWS Account ID associated with the credentials used * to sign the request. If you specify your Account ID, do not include * hyphens in it. * * @return A reference to this updated object so that method calls can be chained * together. */ public CompleteMultipartUploadRequest withAccountId(String accountId) { this.accountId = accountId; return this; } /** * The name of the vault. * * @return The name of the vault. */ public String getVaultName() { return vaultName; } /** * The name of the vault. * * @param vaultName The name of the vault. */ public void setVaultName(String vaultName) { this.vaultName = vaultName; } /** * The name of the vault. *

* Returns a reference to this object so that method calls can be chained together. * * @param vaultName The name of the vault. * * @return A reference to this updated object so that method calls can be chained * together. */ public CompleteMultipartUploadRequest withVaultName(String vaultName) { this.vaultName = vaultName; return this; } /** * The upload ID of the multipart upload. * * @return The upload ID of the multipart upload. */ public String getUploadId() { return uploadId; } /** * The upload ID of the multipart upload. * * @param uploadId The upload ID of the multipart upload. */ public void setUploadId(String uploadId) { this.uploadId = uploadId; } /** * The upload ID of the multipart upload. *

* Returns a reference to this object so that method calls can be chained together. * * @param uploadId The upload ID of the multipart upload. * * @return A reference to this updated object so that method calls can be chained * together. */ public CompleteMultipartUploadRequest withUploadId(String uploadId) { this.uploadId = uploadId; return this; } /** * The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. * * @return The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. */ public String getArchiveSize() { return archiveSize; } /** * The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. * * @param archiveSize The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. */ public void setArchiveSize(String archiveSize) { this.archiveSize = archiveSize; } /** * The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. *

* Returns a reference to this object so that method calls can be chained together. * * @param archiveSize The total size, in bytes, of the entire archive. This value should be * the sum of all the sizes of the individual parts that you uploaded. * * @return A reference to this updated object so that method calls can be chained * together. */ public CompleteMultipartUploadRequest withArchiveSize(String archiveSize) { this.archiveSize = archiveSize; return this; } /** * The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. * * @return The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. */ public String getChecksum() { return checksum; } /** * The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. * * @param checksum The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. */ public void setChecksum(String checksum) { this.checksum = checksum; } /** * The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. *

* Returns a reference to this object so that method calls can be chained together. * * @param checksum The SHA256 tree hash of the entire archive. It is the tree hash of * SHA256 tree hash of the individual parts. If the value you specify in * the request does not match the SHA256 tree hash of the final assembled * archive as computed by Amazon Glacier, Amazon Glacier returns an error * and the request fails. * * @return A reference to this updated object so that method calls can be chained * together. */ public CompleteMultipartUploadRequest withChecksum(String checksum) { this.checksum = checksum; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAccountId() != null) sb.append("AccountId: " + getAccountId() + ","); if (getVaultName() != null) sb.append("VaultName: " + getVaultName() + ","); if (getUploadId() != null) sb.append("UploadId: " + getUploadId() + ","); if (getArchiveSize() != null) sb.append("ArchiveSize: " + getArchiveSize() + ","); if (getChecksum() != null) sb.append("Checksum: " + getChecksum() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAccountId() == null) ? 0 : getAccountId().hashCode()); hashCode = prime * hashCode + ((getVaultName() == null) ? 0 : getVaultName().hashCode()); hashCode = prime * hashCode + ((getUploadId() == null) ? 0 : getUploadId().hashCode()); hashCode = prime * hashCode + ((getArchiveSize() == null) ? 0 : getArchiveSize().hashCode()); hashCode = prime * hashCode + ((getChecksum() == null) ? 0 : getChecksum().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CompleteMultipartUploadRequest == false) return false; CompleteMultipartUploadRequest other = (CompleteMultipartUploadRequest)obj; if (other.getAccountId() == null ^ this.getAccountId() == null) return false; if (other.getAccountId() != null && other.getAccountId().equals(this.getAccountId()) == false) return false; if (other.getVaultName() == null ^ this.getVaultName() == null) return false; if (other.getVaultName() != null && other.getVaultName().equals(this.getVaultName()) == false) return false; if (other.getUploadId() == null ^ this.getUploadId() == null) return false; if (other.getUploadId() != null && other.getUploadId().equals(this.getUploadId()) == false) return false; if (other.getArchiveSize() == null ^ this.getArchiveSize() == null) return false; if (other.getArchiveSize() != null && other.getArchiveSize().equals(this.getArchiveSize()) == false) return false; if (other.getChecksum() == null ^ this.getChecksum() == null) return false; if (other.getChecksum() != null && other.getChecksum().equals(this.getChecksum()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy