com.amazonaws.services.dynamodbv2.model.CreateBackupRequest Maven / Gradle / Ivy
/*
* Copyright 2010-2018 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 com.amazonaws.AmazonWebServiceRequest;
/**
*
* Creates a backup for an existing table.
*
*
* Each time you create an On-Demand Backup, the entire table data is backed up.
* There is no limit to the number of on-demand backups that can be taken.
*
*
* When you create an On-Demand Backup, a time marker of the request is
* cataloged, and the backup is created asynchronously, by applying all changes
* until the time of the request to the last full table snapshot. Backup
* requests are processed instantaneously and become available for restore
* within minutes.
*
*
* You can call CreateBackup
at a maximum rate of 50 times per
* second.
*
*
* All backups in DynamoDB work without consuming any provisioned throughput on
* the table.
*
*
* If you submit a backup request on 2018-12-14 at 14:25:00, the backup is
* guaranteed to contain all data committed to the table up to 14:24:00, and
* data committed after 14:26:00 will not be. The backup may or may not contain
* data modifications made between 14:24:00 and 14:26:00. On-Demand Backup does
* not support causal consistency.
*
*
* Along with data, the following are also included on the backups:
*
*
* -
*
* Global secondary indexes (GSIs)
*
*
* -
*
* Local secondary indexes (LSIs)
*
*
* -
*
* Streams
*
*
* -
*
* Provisioned read and write capacity
*
*
*
*/
public class CreateBackupRequest extends AmazonWebServiceRequest implements Serializable {
/**
*
* The name of the table.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/
private String tableName;
/**
*
* Specified name for the backup.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/
private String backupName;
/**
*
* The name of the table.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* The name of the table.
*
*/
public String getTableName() {
return tableName;
}
/**
*
* The name of the table.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param tableName
* The name of the table.
*
*/
public void setTableName(String tableName) {
this.tableName = tableName;
}
/**
*
* The name of the table.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param tableName
* The name of the table.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public CreateBackupRequest withTableName(String tableName) {
this.tableName = tableName;
return this;
}
/**
*
* Specified name for the backup.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* Specified name for the backup.
*
*/
public String getBackupName() {
return backupName;
}
/**
*
* Specified name for the backup.
*
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param backupName
* Specified name for the backup.
*
*/
public void setBackupName(String backupName) {
this.backupName = backupName;
}
/**
*
* Specified name for the backup.
*
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param backupName
* Specified name for the backup.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public CreateBackupRequest withBackupName(String backupName) {
this.backupName = backupName;
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 (getTableName() != null)
sb.append("TableName: " + getTableName() + ",");
if (getBackupName() != null)
sb.append("BackupName: " + getBackupName());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode());
hashCode = prime * hashCode + ((getBackupName() == null) ? 0 : getBackupName().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateBackupRequest == false)
return false;
CreateBackupRequest other = (CreateBackupRequest) obj;
if (other.getTableName() == null ^ this.getTableName() == null)
return false;
if (other.getTableName() != null
&& other.getTableName().equals(this.getTableName()) == false)
return false;
if (other.getBackupName() == null ^ this.getBackupName() == null)
return false;
if (other.getBackupName() != null
&& other.getBackupName().equals(this.getBackupName()) == false)
return false;
return true;
}
}