/* * 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.dynamodbv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ExportTableToPointInTimeRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The Amazon Resource Name (ARN) associated with the table to export. *
*/ private String tableArn; /** ** Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table * export will be a snapshot of the table's state at this point in time. *
*/ private java.util.Date exportTime; /** *
* Providing a ClientToken
makes the call to ExportTableToPointInTimeInput
idempotent,
* meaning that multiple identical calls have the same effect as one single call.
*
* A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request * with the same client token is treated as a new request. Do not resubmit the same request with the same client * token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency
* window, DynamoDB returns an ImportConflictException
.
*
* The name of the Amazon S3 bucket to export the snapshot to. *
*/ private String s3Bucket; /** ** The ID of the Amazon Web Services account that owns the bucket the export will be stored in. *
*/ private String s3BucketOwner; /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. *
*/ private String s3Prefix; /** *
* Type of encryption used on the bucket where export data will be stored. Valid values for
* S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
* The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable). *
*/ private String s3SseKmsKeyId; /** *
* The format for the exported data. Valid values for ExportFormat
are DYNAMODB_JSON
or
* ION
.
*
* The Amazon Resource Name (ARN) associated with the table to export. *
* * @param tableArn * The Amazon Resource Name (ARN) associated with the table to export. */ public void setTableArn(String tableArn) { this.tableArn = tableArn; } /** ** The Amazon Resource Name (ARN) associated with the table to export. *
* * @return The Amazon Resource Name (ARN) associated with the table to export. */ public String getTableArn() { return this.tableArn; } /** ** The Amazon Resource Name (ARN) associated with the table to export. *
* * @param tableArn * The Amazon Resource Name (ARN) associated with the table to export. * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withTableArn(String tableArn) { setTableArn(tableArn); return this; } /** ** Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table * export will be a snapshot of the table's state at this point in time. *
* * @param exportTime * Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The * table export will be a snapshot of the table's state at this point in time. */ public void setExportTime(java.util.Date exportTime) { this.exportTime = exportTime; } /** ** Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table * export will be a snapshot of the table's state at this point in time. *
* * @return Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. * The table export will be a snapshot of the table's state at this point in time. */ public java.util.Date getExportTime() { return this.exportTime; } /** ** Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table * export will be a snapshot of the table's state at this point in time. *
* * @param exportTime * Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The * table export will be a snapshot of the table's state at this point in time. * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withExportTime(java.util.Date exportTime) { setExportTime(exportTime); return this; } /** *
* Providing a ClientToken
makes the call to ExportTableToPointInTimeInput
idempotent,
* meaning that multiple identical calls have the same effect as one single call.
*
* A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request * with the same client token is treated as a new request. Do not resubmit the same request with the same client * token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency
* window, DynamoDB returns an ImportConflictException
.
*
ClientToken
makes the call to ExportTableToPointInTimeInput
* idempotent, meaning that multiple identical calls have the same effect as one single call.
* * A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any * request with the same client token is treated as a new request. Do not resubmit the same request with the * same client token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour
* idempotency window, DynamoDB returns an ImportConflictException
.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* Providing a ClientToken
makes the call to ExportTableToPointInTimeInput
idempotent,
* meaning that multiple identical calls have the same effect as one single call.
*
* A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request * with the same client token is treated as a new request. Do not resubmit the same request with the same client * token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency
* window, DynamoDB returns an ImportConflictException
.
*
ClientToken
makes the call to ExportTableToPointInTimeInput
* idempotent, meaning that multiple identical calls have the same effect as one single call.
* * A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any * request with the same client token is treated as a new request. Do not resubmit the same request with the * same client token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour
* idempotency window, DynamoDB returns an ImportConflictException
.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* Providing a ClientToken
makes the call to ExportTableToPointInTimeInput
idempotent,
* meaning that multiple identical calls have the same effect as one single call.
*
* A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request * with the same client token is treated as a new request. Do not resubmit the same request with the same client * token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency
* window, DynamoDB returns an ImportConflictException
.
*
ClientToken
makes the call to ExportTableToPointInTimeInput
* idempotent, meaning that multiple identical calls have the same effect as one single call.
* * A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any * request with the same client token is treated as a new request. Do not resubmit the same request with the * same client token for more than 8 hours, or the result might not be idempotent. *
*
* If you submit a request with the same client token but a change in other parameters within the 8-hour
* idempotency window, DynamoDB returns an ImportConflictException
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ExportTableToPointInTimeRequest withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* The name of the Amazon S3 bucket to export the snapshot to. *
* * @param s3Bucket * The name of the Amazon S3 bucket to export the snapshot to. */ public void setS3Bucket(String s3Bucket) { this.s3Bucket = s3Bucket; } /** ** The name of the Amazon S3 bucket to export the snapshot to. *
* * @return The name of the Amazon S3 bucket to export the snapshot to. */ public String getS3Bucket() { return this.s3Bucket; } /** ** The name of the Amazon S3 bucket to export the snapshot to. *
* * @param s3Bucket * The name of the Amazon S3 bucket to export the snapshot to. * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withS3Bucket(String s3Bucket) { setS3Bucket(s3Bucket); return this; } /** ** The ID of the Amazon Web Services account that owns the bucket the export will be stored in. *
* * @param s3BucketOwner * The ID of the Amazon Web Services account that owns the bucket the export will be stored in. */ public void setS3BucketOwner(String s3BucketOwner) { this.s3BucketOwner = s3BucketOwner; } /** ** The ID of the Amazon Web Services account that owns the bucket the export will be stored in. *
* * @return The ID of the Amazon Web Services account that owns the bucket the export will be stored in. */ public String getS3BucketOwner() { return this.s3BucketOwner; } /** ** The ID of the Amazon Web Services account that owns the bucket the export will be stored in. *
* * @param s3BucketOwner * The ID of the Amazon Web Services account that owns the bucket the export will be stored in. * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withS3BucketOwner(String s3BucketOwner) { setS3BucketOwner(s3BucketOwner); return this; } /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. *
* * @param s3Prefix * The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. */ public void setS3Prefix(String s3Prefix) { this.s3Prefix = s3Prefix; } /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. *
* * @return The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. */ public String getS3Prefix() { return this.s3Prefix; } /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. *
* * @param s3Prefix * The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot. * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withS3Prefix(String s3Prefix) { setS3Prefix(s3Prefix); return this; } /** *
* Type of encryption used on the bucket where export data will be stored. Valid values for
* S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
* Type of encryption used on the bucket where export data will be stored. Valid values for
* S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
* Type of encryption used on the bucket where export data will be stored. Valid values for
* S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
* Type of encryption used on the bucket where export data will be stored. Valid values for
* S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
S3SseAlgorithm
are:
*
* AES256
- server-side encryption with Amazon S3 managed keys
*
* KMS
- server-side encryption with KMS managed keys
*
* The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable). *
* * @param s3SseKmsKeyId * The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if * applicable). */ public void setS3SseKmsKeyId(String s3SseKmsKeyId) { this.s3SseKmsKeyId = s3SseKmsKeyId; } /** ** The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable). *
* * @return The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if * applicable). */ public String getS3SseKmsKeyId() { return this.s3SseKmsKeyId; } /** ** The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable). *
* * @param s3SseKmsKeyId * The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if * applicable). * @return Returns a reference to this object so that method calls can be chained together. */ public ExportTableToPointInTimeRequest withS3SseKmsKeyId(String s3SseKmsKeyId) { setS3SseKmsKeyId(s3SseKmsKeyId); return this; } /** *
* The format for the exported data. Valid values for ExportFormat
are DYNAMODB_JSON
or
* ION
.
*
ExportFormat
are
* DYNAMODB_JSON
or ION
.
* @see ExportFormat
*/
public void setExportFormat(String exportFormat) {
this.exportFormat = exportFormat;
}
/**
*
* The format for the exported data. Valid values for ExportFormat
are DYNAMODB_JSON
or
* ION
.
*
ExportFormat
are
* DYNAMODB_JSON
or ION
.
* @see ExportFormat
*/
public String getExportFormat() {
return this.exportFormat;
}
/**
*
* The format for the exported data. Valid values for ExportFormat
are DYNAMODB_JSON
or
* ION
.
*
ExportFormat
are
* DYNAMODB_JSON
or ION
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExportFormat
*/
public ExportTableToPointInTimeRequest withExportFormat(String exportFormat) {
setExportFormat(exportFormat);
return this;
}
/**
*
* The format for the exported data. Valid values for ExportFormat
are DYNAMODB_JSON
or
* ION
.
*
ExportFormat
are
* DYNAMODB_JSON
or ION
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExportFormat
*/
public ExportTableToPointInTimeRequest withExportFormat(ExportFormat exportFormat) {
this.exportFormat = exportFormat.toString();
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getTableArn() != null)
sb.append("TableArn: ").append(getTableArn()).append(",");
if (getExportTime() != null)
sb.append("ExportTime: ").append(getExportTime()).append(",");
if (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getS3Bucket() != null)
sb.append("S3Bucket: ").append(getS3Bucket()).append(",");
if (getS3BucketOwner() != null)
sb.append("S3BucketOwner: ").append(getS3BucketOwner()).append(",");
if (getS3Prefix() != null)
sb.append("S3Prefix: ").append(getS3Prefix()).append(",");
if (getS3SseAlgorithm() != null)
sb.append("S3SseAlgorithm: ").append(getS3SseAlgorithm()).append(",");
if (getS3SseKmsKeyId() != null)
sb.append("S3SseKmsKeyId: ").append(getS3SseKmsKeyId()).append(",");
if (getExportFormat() != null)
sb.append("ExportFormat: ").append(getExportFormat());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ExportTableToPointInTimeRequest == false)
return false;
ExportTableToPointInTimeRequest other = (ExportTableToPointInTimeRequest) obj;
if (other.getTableArn() == null ^ this.getTableArn() == null)
return false;
if (other.getTableArn() != null && other.getTableArn().equals(this.getTableArn()) == false)
return false;
if (other.getExportTime() == null ^ this.getExportTime() == null)
return false;
if (other.getExportTime() != null && other.getExportTime().equals(this.getExportTime()) == false)
return false;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getS3Bucket() == null ^ this.getS3Bucket() == null)
return false;
if (other.getS3Bucket() != null && other.getS3Bucket().equals(this.getS3Bucket()) == false)
return false;
if (other.getS3BucketOwner() == null ^ this.getS3BucketOwner() == null)
return false;
if (other.getS3BucketOwner() != null && other.getS3BucketOwner().equals(this.getS3BucketOwner()) == false)
return false;
if (other.getS3Prefix() == null ^ this.getS3Prefix() == null)
return false;
if (other.getS3Prefix() != null && other.getS3Prefix().equals(this.getS3Prefix()) == false)
return false;
if (other.getS3SseAlgorithm() == null ^ this.getS3SseAlgorithm() == null)
return false;
if (other.getS3SseAlgorithm() != null && other.getS3SseAlgorithm().equals(this.getS3SseAlgorithm()) == false)
return false;
if (other.getS3SseKmsKeyId() == null ^ this.getS3SseKmsKeyId() == null)
return false;
if (other.getS3SseKmsKeyId() != null && other.getS3SseKmsKeyId().equals(this.getS3SseKmsKeyId()) == false)
return false;
if (other.getExportFormat() == null ^ this.getExportFormat() == null)
return false;
if (other.getExportFormat() != null && other.getExportFormat().equals(this.getExportFormat()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getTableArn() == null) ? 0 : getTableArn().hashCode());
hashCode = prime * hashCode + ((getExportTime() == null) ? 0 : getExportTime().hashCode());
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getS3Bucket() == null) ? 0 : getS3Bucket().hashCode());
hashCode = prime * hashCode + ((getS3BucketOwner() == null) ? 0 : getS3BucketOwner().hashCode());
hashCode = prime * hashCode + ((getS3Prefix() == null) ? 0 : getS3Prefix().hashCode());
hashCode = prime * hashCode + ((getS3SseAlgorithm() == null) ? 0 : getS3SseAlgorithm().hashCode());
hashCode = prime * hashCode + ((getS3SseKmsKeyId() == null) ? 0 : getS3SseKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getExportFormat() == null) ? 0 : getExportFormat().hashCode());
return hashCode;
}
@Override
public ExportTableToPointInTimeRequest clone() {
return (ExportTableToPointInTimeRequest) super.clone();
}
}