com.amazonaws.services.dynamodbv2.model.ImportTableRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-dynamodb Show documentation
/*
* Copyright 2019-2024 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 ImportTableRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*
*/
private String clientToken;
/**
*
* The S3 bucket that provides the source for the import.
*
*/
private S3BucketSource s3BucketSource;
/**
*
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
*
*/
private String inputFormat;
/**
*
* Additional properties that specify how the input is formatted,
*
*/
private InputFormatOptions inputFormatOptions;
/**
*
* Type of compression to be used on the input coming from the imported table.
*
*/
private String inputCompressionType;
/**
*
* Parameters for the table to import the data into.
*
*/
private TableCreationParameters tableCreationParameters;
/**
*
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*
*
* @param clientToken
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*
*
* @return Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
*
*
* @param clientToken
* Providing a ClientToken
makes the call to ImportTableInput
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 IdempotentParameterMismatch
exception.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ImportTableRequest withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* The S3 bucket that provides the source for the import.
*
*
* @param s3BucketSource
* The S3 bucket that provides the source for the import.
*/
public void setS3BucketSource(S3BucketSource s3BucketSource) {
this.s3BucketSource = s3BucketSource;
}
/**
*
* The S3 bucket that provides the source for the import.
*
*
* @return The S3 bucket that provides the source for the import.
*/
public S3BucketSource getS3BucketSource() {
return this.s3BucketSource;
}
/**
*
* The S3 bucket that provides the source for the import.
*
*
* @param s3BucketSource
* The S3 bucket that provides the source for the import.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ImportTableRequest withS3BucketSource(S3BucketSource s3BucketSource) {
setS3BucketSource(s3BucketSource);
return this;
}
/**
*
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
*
*
* @param inputFormat
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
* @see InputFormat
*/
public void setInputFormat(String inputFormat) {
this.inputFormat = inputFormat;
}
/**
*
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
*
*
* @return The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
* @see InputFormat
*/
public String getInputFormat() {
return this.inputFormat;
}
/**
*
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
*
*
* @param inputFormat
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputFormat
*/
public ImportTableRequest withInputFormat(String inputFormat) {
setInputFormat(inputFormat);
return this;
}
/**
*
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
*
*
* @param inputFormat
* The format of the source data. Valid values for ImportFormat
are CSV
,
* DYNAMODB_JSON
or ION
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputFormat
*/
public ImportTableRequest withInputFormat(InputFormat inputFormat) {
this.inputFormat = inputFormat.toString();
return this;
}
/**
*
* Additional properties that specify how the input is formatted,
*
*
* @param inputFormatOptions
* Additional properties that specify how the input is formatted,
*/
public void setInputFormatOptions(InputFormatOptions inputFormatOptions) {
this.inputFormatOptions = inputFormatOptions;
}
/**
*
* Additional properties that specify how the input is formatted,
*
*
* @return Additional properties that specify how the input is formatted,
*/
public InputFormatOptions getInputFormatOptions() {
return this.inputFormatOptions;
}
/**
*
* Additional properties that specify how the input is formatted,
*
*
* @param inputFormatOptions
* Additional properties that specify how the input is formatted,
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ImportTableRequest withInputFormatOptions(InputFormatOptions inputFormatOptions) {
setInputFormatOptions(inputFormatOptions);
return this;
}
/**
*
* Type of compression to be used on the input coming from the imported table.
*
*
* @param inputCompressionType
* Type of compression to be used on the input coming from the imported table.
* @see InputCompressionType
*/
public void setInputCompressionType(String inputCompressionType) {
this.inputCompressionType = inputCompressionType;
}
/**
*
* Type of compression to be used on the input coming from the imported table.
*
*
* @return Type of compression to be used on the input coming from the imported table.
* @see InputCompressionType
*/
public String getInputCompressionType() {
return this.inputCompressionType;
}
/**
*
* Type of compression to be used on the input coming from the imported table.
*
*
* @param inputCompressionType
* Type of compression to be used on the input coming from the imported table.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputCompressionType
*/
public ImportTableRequest withInputCompressionType(String inputCompressionType) {
setInputCompressionType(inputCompressionType);
return this;
}
/**
*
* Type of compression to be used on the input coming from the imported table.
*
*
* @param inputCompressionType
* Type of compression to be used on the input coming from the imported table.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InputCompressionType
*/
public ImportTableRequest withInputCompressionType(InputCompressionType inputCompressionType) {
this.inputCompressionType = inputCompressionType.toString();
return this;
}
/**
*
* Parameters for the table to import the data into.
*
*
* @param tableCreationParameters
* Parameters for the table to import the data into.
*/
public void setTableCreationParameters(TableCreationParameters tableCreationParameters) {
this.tableCreationParameters = tableCreationParameters;
}
/**
*
* Parameters for the table to import the data into.
*
*
* @return Parameters for the table to import the data into.
*/
public TableCreationParameters getTableCreationParameters() {
return this.tableCreationParameters;
}
/**
*
* Parameters for the table to import the data into.
*
*
* @param tableCreationParameters
* Parameters for the table to import the data into.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ImportTableRequest withTableCreationParameters(TableCreationParameters tableCreationParameters) {
setTableCreationParameters(tableCreationParameters);
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 (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getS3BucketSource() != null)
sb.append("S3BucketSource: ").append(getS3BucketSource()).append(",");
if (getInputFormat() != null)
sb.append("InputFormat: ").append(getInputFormat()).append(",");
if (getInputFormatOptions() != null)
sb.append("InputFormatOptions: ").append(getInputFormatOptions()).append(",");
if (getInputCompressionType() != null)
sb.append("InputCompressionType: ").append(getInputCompressionType()).append(",");
if (getTableCreationParameters() != null)
sb.append("TableCreationParameters: ").append(getTableCreationParameters());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ImportTableRequest == false)
return false;
ImportTableRequest other = (ImportTableRequest) obj;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getS3BucketSource() == null ^ this.getS3BucketSource() == null)
return false;
if (other.getS3BucketSource() != null && other.getS3BucketSource().equals(this.getS3BucketSource()) == false)
return false;
if (other.getInputFormat() == null ^ this.getInputFormat() == null)
return false;
if (other.getInputFormat() != null && other.getInputFormat().equals(this.getInputFormat()) == false)
return false;
if (other.getInputFormatOptions() == null ^ this.getInputFormatOptions() == null)
return false;
if (other.getInputFormatOptions() != null && other.getInputFormatOptions().equals(this.getInputFormatOptions()) == false)
return false;
if (other.getInputCompressionType() == null ^ this.getInputCompressionType() == null)
return false;
if (other.getInputCompressionType() != null && other.getInputCompressionType().equals(this.getInputCompressionType()) == false)
return false;
if (other.getTableCreationParameters() == null ^ this.getTableCreationParameters() == null)
return false;
if (other.getTableCreationParameters() != null && other.getTableCreationParameters().equals(this.getTableCreationParameters()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getS3BucketSource() == null) ? 0 : getS3BucketSource().hashCode());
hashCode = prime * hashCode + ((getInputFormat() == null) ? 0 : getInputFormat().hashCode());
hashCode = prime * hashCode + ((getInputFormatOptions() == null) ? 0 : getInputFormatOptions().hashCode());
hashCode = prime * hashCode + ((getInputCompressionType() == null) ? 0 : getInputCompressionType().hashCode());
hashCode = prime * hashCode + ((getTableCreationParameters() == null) ? 0 : getTableCreationParameters().hashCode());
return hashCode;
}
@Override
public ImportTableRequest clone() {
return (ImportTableRequest) super.clone();
}
}