/* * Copyright 2018-2023 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 javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Contains the description of an Amazon S3 Glacier job. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GlacierJobDescription implements Serializable, Cloneable, StructuredPojo { /** *

* An opaque string that identifies an Amazon S3 Glacier job. *

*/ private String jobId; /** *

* The job description provided when initiating the job. *

*/ private String jobDescription; /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

*/ private String action; /** *

* The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. *

*/ private String archiveId; /** *

* The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. *

*/ private String vaultARN; /** *

* The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example * "2012-03-20T17:03:43.221Z". *

*/ private String creationDate; /** *

* The job status. When a job is completed, you get the job's output using Get Job Output (GET output). *

*/ private Boolean completed; /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

*/ private String statusCode; /** *

* A friendly message that describes the job status. *

*/ private String statusMessage; /** *

* For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an * inventory retrieval or select job, this value is null. *

*/ private Long archiveSizeInBytes; /** *

* For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an * archive retrieval or select job, this value is null. *

*/ private Long inventorySizeInBytes; /** *

* An Amazon SNS topic that receives notification. *

*/ private String sNSTopic; /** *

* The UTC time that the job request completed. While the job is in progress, the value is null. *

*/ private String completionDate; /** *

* For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null. *

*

* The SHA256 tree hash value for the requested range of an archive. If the InitiateJob request for an * archive specified a tree-hash aligned range, then this field returns a value. *

*

* If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. *

*

* This field is null for the following: *

* * * */ private String sHA256TreeHash; /** *

* The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this * field is null. *

*/ private String archiveSHA256TreeHash; /** *

* The retrieved byte range for archive retrieval jobs in the form StartByteValue-EndByteValue. If no * range was specified in the archive retrieval, then the whole archive is retrieved. In this case, * StartByteValue equals 0 and EndByteValue equals the size of the archive minus 1. For inventory * retrieval or select jobs, this field is null. *

*/ private String retrievalByteRange; /** *

* The tier to use for a select or an archive retrieval. Valid values are Expedited, * Standard, or Bulk. Standard is the default. *

*/ private String tier; /** *

* Parameters used for range inventory retrieval. *

*/ private InventoryRetrievalJobDescription inventoryRetrievalParameters; /** *

* Contains the job output location. *

*/ private String jobOutputPath; /** *

* Contains the parameters used for a select. *

*/ private SelectParameters selectParameters; /** *

* Contains the location where the data from the select job is stored. *

*/ private OutputLocation outputLocation; /** *

* An opaque string that identifies an Amazon S3 Glacier job. *

* * @param jobId * An opaque string that identifies an Amazon S3 Glacier job. */ public void setJobId(String jobId) { this.jobId = jobId; } /** *

* An opaque string that identifies an Amazon S3 Glacier job. *

* * @return An opaque string that identifies an Amazon S3 Glacier job. */ public String getJobId() { return this.jobId; } /** *

* An opaque string that identifies an Amazon S3 Glacier job. *

* * @param jobId * An opaque string that identifies an Amazon S3 Glacier job. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withJobId(String jobId) { setJobId(jobId); return this; } /** *

* The job description provided when initiating the job. *

* * @param jobDescription * The job description provided when initiating the job. */ public void setJobDescription(String jobDescription) { this.jobDescription = jobDescription; } /** *

* The job description provided when initiating the job. *

* * @return The job description provided when initiating the job. */ public String getJobDescription() { return this.jobDescription; } /** *

* The job description provided when initiating the job. *

* * @param jobDescription * The job description provided when initiating the job. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withJobDescription(String jobDescription) { setJobDescription(jobDescription); return this; } /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

* * @param action * The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. * @see ActionCode */ public void setAction(String action) { this.action = action; } /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

* * @return The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. * @see ActionCode */ public String getAction() { return this.action; } /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

* * @param action * The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. * @return Returns a reference to this object so that method calls can be chained together. * @see ActionCode */ public GlacierJobDescription withAction(String action) { setAction(action); return this; } /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

* * @param action * The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. * @see ActionCode */ public void setAction(ActionCode action) { withAction(action); } /** *

* The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. *

* * @param action * The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or * Select. * @return Returns a reference to this object so that method calls can be chained together. * @see ActionCode */ public GlacierJobDescription withAction(ActionCode action) { this.action = action.toString(); return this; } /** *

* The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. *

* * @param archiveId * The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. */ public void setArchiveId(String archiveId) { this.archiveId = archiveId; } /** *

* The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. *

* * @return The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. */ public String getArchiveId() { return this.archiveId; } /** *

* The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. *

* * @param archiveId * The archive ID requested for a select job or archive retrieval. Otherwise, this field is null. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withArchiveId(String archiveId) { setArchiveId(archiveId); return this; } /** *

* The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. *

* * @param vaultARN * The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. */ public void setVaultARN(String vaultARN) { this.vaultARN = vaultARN; } /** *

* The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. *

* * @return The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. */ public String getVaultARN() { return this.vaultARN; } /** *

* The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. *

* * @param vaultARN * The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withVaultARN(String vaultARN) { setVaultARN(vaultARN); return this; } /** *

* The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example * "2012-03-20T17:03:43.221Z". *

* * @param creationDate * The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for * example "2012-03-20T17:03:43.221Z". */ public void setCreationDate(String creationDate) { this.creationDate = creationDate; } /** *

* The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example * "2012-03-20T17:03:43.221Z". *

* * @return The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for * example "2012-03-20T17:03:43.221Z". */ public String getCreationDate() { return this.creationDate; } /** *

* The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example * "2012-03-20T17:03:43.221Z". *

* * @param creationDate * The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for * example "2012-03-20T17:03:43.221Z". * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withCreationDate(String creationDate) { setCreationDate(creationDate); return this; } /** *

* The job status. When a job is completed, you get the job's output using Get Job Output (GET output). *

* * @param completed * The job status. When a job is completed, you get the job's output using Get Job Output (GET output). */ public void setCompleted(Boolean completed) { this.completed = completed; } /** *

* The job status. When a job is completed, you get the job's output using Get Job Output (GET output). *

* * @return The job status. When a job is completed, you get the job's output using Get Job Output (GET output). */ public Boolean getCompleted() { return this.completed; } /** *

* The job status. When a job is completed, you get the job's output using Get Job Output (GET output). *

* * @param completed * The job status. When a job is completed, you get the job's output using Get Job Output (GET output). * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withCompleted(Boolean completed) { setCompleted(completed); return this; } /** *

* The job status. When a job is completed, you get the job's output using Get Job Output (GET output). *

* * @return The job status. When a job is completed, you get the job's output using Get Job Output (GET output). */ public Boolean isCompleted() { return this.completed; } /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

* * @param statusCode * The status code can be InProgress, Succeeded, or Failed, and * indicates the status of the job. * @see StatusCode */ public void setStatusCode(String statusCode) { this.statusCode = statusCode; } /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

* * @return The status code can be InProgress, Succeeded, or Failed, and * indicates the status of the job. * @see StatusCode */ public String getStatusCode() { return this.statusCode; } /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

* * @param statusCode * The status code can be InProgress, Succeeded, or Failed, and * indicates the status of the job. * @return Returns a reference to this object so that method calls can be chained together. * @see StatusCode */ public GlacierJobDescription withStatusCode(String statusCode) { setStatusCode(statusCode); return this; } /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

* * @param statusCode * The status code can be InProgress, Succeeded, or Failed, and * indicates the status of the job. * @see StatusCode */ public void setStatusCode(StatusCode statusCode) { withStatusCode(statusCode); } /** *

* The status code can be InProgress, Succeeded, or Failed, and indicates the * status of the job. *

* * @param statusCode * The status code can be InProgress, Succeeded, or Failed, and * indicates the status of the job. * @return Returns a reference to this object so that method calls can be chained together. * @see StatusCode */ public GlacierJobDescription withStatusCode(StatusCode statusCode) { this.statusCode = statusCode.toString(); return this; } /** *

* A friendly message that describes the job status. *

* * @param statusMessage * A friendly message that describes the job status. */ public void setStatusMessage(String statusMessage) { this.statusMessage = statusMessage; } /** *

* A friendly message that describes the job status. *

* * @return A friendly message that describes the job status. */ public String getStatusMessage() { return this.statusMessage; } /** *

* A friendly message that describes the job status. *

* * @param statusMessage * A friendly message that describes the job status. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withStatusMessage(String statusMessage) { setStatusMessage(statusMessage); return this; } /** *

* For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an * inventory retrieval or select job, this value is null. *

* * @param archiveSizeInBytes * For an archive retrieval job, this value is the size in bytes of the archive being requested for download. * For an inventory retrieval or select job, this value is null. */ public void setArchiveSizeInBytes(Long archiveSizeInBytes) { this.archiveSizeInBytes = archiveSizeInBytes; } /** *

* For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an * inventory retrieval or select job, this value is null. *

* * @return For an archive retrieval job, this value is the size in bytes of the archive being requested for * download. For an inventory retrieval or select job, this value is null. */ public Long getArchiveSizeInBytes() { return this.archiveSizeInBytes; } /** *

* For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an * inventory retrieval or select job, this value is null. *

* * @param archiveSizeInBytes * For an archive retrieval job, this value is the size in bytes of the archive being requested for download. * For an inventory retrieval or select job, this value is null. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withArchiveSizeInBytes(Long archiveSizeInBytes) { setArchiveSizeInBytes(archiveSizeInBytes); return this; } /** *

* For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an * archive retrieval or select job, this value is null. *

* * @param inventorySizeInBytes * For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. * For an archive retrieval or select job, this value is null. */ public void setInventorySizeInBytes(Long inventorySizeInBytes) { this.inventorySizeInBytes = inventorySizeInBytes; } /** *

* For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an * archive retrieval or select job, this value is null. *

* * @return For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. * For an archive retrieval or select job, this value is null. */ public Long getInventorySizeInBytes() { return this.inventorySizeInBytes; } /** *

* For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an * archive retrieval or select job, this value is null. *

* * @param inventorySizeInBytes * For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. * For an archive retrieval or select job, this value is null. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withInventorySizeInBytes(Long inventorySizeInBytes) { setInventorySizeInBytes(inventorySizeInBytes); return this; } /** *

* An Amazon SNS topic that receives notification. *

* * @param sNSTopic * An Amazon SNS topic that receives notification. */ public void setSNSTopic(String sNSTopic) { this.sNSTopic = sNSTopic; } /** *

* An Amazon SNS topic that receives notification. *

* * @return An Amazon SNS topic that receives notification. */ public String getSNSTopic() { return this.sNSTopic; } /** *

* An Amazon SNS topic that receives notification. *

* * @param sNSTopic * An Amazon SNS topic that receives notification. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withSNSTopic(String sNSTopic) { setSNSTopic(sNSTopic); return this; } /** *

* The UTC time that the job request completed. While the job is in progress, the value is null. *

* * @param completionDate * The UTC time that the job request completed. While the job is in progress, the value is null. */ public void setCompletionDate(String completionDate) { this.completionDate = completionDate; } /** *

* The UTC time that the job request completed. While the job is in progress, the value is null. *

* * @return The UTC time that the job request completed. While the job is in progress, the value is null. */ public String getCompletionDate() { return this.completionDate; } /** *

* The UTC time that the job request completed. While the job is in progress, the value is null. *

* * @param completionDate * The UTC time that the job request completed. While the job is in progress, the value is null. * @return Returns a reference to this object so that method calls can be chained together. */ public GlacierJobDescription withCompletionDate(String completionDate) { setCompletionDate(completionDate); return this; } /** *

* For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null. *

*

* The SHA256 tree hash value for the requested range of an archive. If the InitiateJob request for an * archive specified a tree-hash aligned range, then this field returns a value. *

*

* If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. *

*

* This field is null for the following: *

* * * * * @param sHA256TreeHash * For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is * null.

*

* The SHA256 tree hash value for the requested range of an archive. If the InitiateJob request for an * archive specified a tree-hash aligned range, then this field returns a value. *

*

* If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value. *

*

* This field is null for the following: *

* * *