/* * 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.lightsail.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 CreateRelationalDatabaseFromSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name to use for your new Lightsail database resource. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
*
* The Availability Zone in which to create your new database. Use the us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add the
* include relational database Availability Zones
parameter to your request.
*
* Specifies the accessibility options for your new database. A value of true
specifies a database that
* is available to resources outside of your Lightsail account. A value of false
specifies a database
* that is available only to your Lightsail resources in the same region as your database.
*
* The name of the database snapshot from which to create your new database. *
*/ private String relationalDatabaseSnapshotName; /** ** The bundle ID for your new database. A bundle describes the performance specifications for your database. *
*
* You can get a list of database bundle IDs by using the get relational database bundles
operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the * source database. *
*/ private String relationalDatabaseBundleId; /** ** The name of the source database. *
*/ private String sourceRelationalDatabaseName; /** ** The date and time to restore your database from. *
** Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* Specifies whether your database is restored from the latest backup time. A value of true
restores
* from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*
* The tag keys and optional values to add to the resource during create. *
*
* Use the TagResource
action to tag a resource after it's created.
*
* The name to use for your new Lightsail database resource. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
** The name to use for your new Lightsail database resource. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
** The name to use for your new Lightsail database resource. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
** Constraints: *
** Must contain from 2 to 255 alphanumeric characters, or hyphens. *
** The first and last character must be a letter or number. *
*
* The Availability Zone in which to create your new database. Use the us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add the
* include relational database Availability Zones
parameter to your request.
*
us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add
* the include relational database Availability Zones
parameter to your request.
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The Availability Zone in which to create your new database. Use the us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add the
* include relational database Availability Zones
parameter to your request.
*
us-east-2a
* case-sensitive format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add
* the include relational database Availability Zones
parameter to your request.
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Availability Zone in which to create your new database. Use the us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add the
* include relational database Availability Zones
parameter to your request.
*
us-east-2a
case-sensitive
* format.
*
* You can get a list of Availability Zones by using the get regions
operation. Be sure to add
* the include relational database Availability Zones
parameter to your request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateRelationalDatabaseFromSnapshotRequest withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* Specifies the accessibility options for your new database. A value of true
specifies a database that
* is available to resources outside of your Lightsail account. A value of false
specifies a database
* that is available only to your Lightsail resources in the same region as your database.
*
true
specifies a
* database that is available to resources outside of your Lightsail account. A value of false
* specifies a database that is available only to your Lightsail resources in the same region as your
* database.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
*
* Specifies the accessibility options for your new database. A value of true
specifies a database that
* is available to resources outside of your Lightsail account. A value of false
specifies a database
* that is available only to your Lightsail resources in the same region as your database.
*
true
specifies a
* database that is available to resources outside of your Lightsail account. A value of false
* specifies a database that is available only to your Lightsail resources in the same region as your
* database.
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* Specifies the accessibility options for your new database. A value of true
specifies a database that
* is available to resources outside of your Lightsail account. A value of false
specifies a database
* that is available only to your Lightsail resources in the same region as your database.
*
true
specifies a
* database that is available to resources outside of your Lightsail account. A value of false
* specifies a database that is available only to your Lightsail resources in the same region as your
* database.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateRelationalDatabaseFromSnapshotRequest withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
*
* Specifies the accessibility options for your new database. A value of true
specifies a database that
* is available to resources outside of your Lightsail account. A value of false
specifies a database
* that is available only to your Lightsail resources in the same region as your database.
*
true
specifies a
* database that is available to resources outside of your Lightsail account. A value of false
* specifies a database that is available only to your Lightsail resources in the same region as your
* database.
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
* * The name of the database snapshot from which to create your new database. *
* * @param relationalDatabaseSnapshotName * The name of the database snapshot from which to create your new database. */ public void setRelationalDatabaseSnapshotName(String relationalDatabaseSnapshotName) { this.relationalDatabaseSnapshotName = relationalDatabaseSnapshotName; } /** ** The name of the database snapshot from which to create your new database. *
* * @return The name of the database snapshot from which to create your new database. */ public String getRelationalDatabaseSnapshotName() { return this.relationalDatabaseSnapshotName; } /** ** The name of the database snapshot from which to create your new database. *
* * @param relationalDatabaseSnapshotName * The name of the database snapshot from which to create your new database. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateRelationalDatabaseFromSnapshotRequest withRelationalDatabaseSnapshotName(String relationalDatabaseSnapshotName) { setRelationalDatabaseSnapshotName(relationalDatabaseSnapshotName); return this; } /** ** The bundle ID for your new database. A bundle describes the performance specifications for your database. *
*
* You can get a list of database bundle IDs by using the get relational database bundles
operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the * source database. *
* * @param relationalDatabaseBundleId * The bundle ID for your new database. A bundle describes the performance specifications for your * database. *
* You can get a list of database bundle IDs by using the get relational database bundles
* operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle * of the source database. */ public void setRelationalDatabaseBundleId(String relationalDatabaseBundleId) { this.relationalDatabaseBundleId = relationalDatabaseBundleId; } /** *
* The bundle ID for your new database. A bundle describes the performance specifications for your database. *
*
* You can get a list of database bundle IDs by using the get relational database bundles
operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the * source database. *
* * @return The bundle ID for your new database. A bundle describes the performance specifications for your * database. *
* You can get a list of database bundle IDs by using the get relational database bundles
* operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle * of the source database. */ public String getRelationalDatabaseBundleId() { return this.relationalDatabaseBundleId; } /** *
* The bundle ID for your new database. A bundle describes the performance specifications for your database. *
*
* You can get a list of database bundle IDs by using the get relational database bundles
operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the * source database. *
* * @param relationalDatabaseBundleId * The bundle ID for your new database. A bundle describes the performance specifications for your * database. *
* You can get a list of database bundle IDs by using the get relational database bundles
* operation.
*
* When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle * of the source database. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateRelationalDatabaseFromSnapshotRequest withRelationalDatabaseBundleId(String relationalDatabaseBundleId) { setRelationalDatabaseBundleId(relationalDatabaseBundleId); return this; } /** *
* The name of the source database. *
* * @param sourceRelationalDatabaseName * The name of the source database. */ public void setSourceRelationalDatabaseName(String sourceRelationalDatabaseName) { this.sourceRelationalDatabaseName = sourceRelationalDatabaseName; } /** ** The name of the source database. *
* * @return The name of the source database. */ public String getSourceRelationalDatabaseName() { return this.sourceRelationalDatabaseName; } /** ** The name of the source database. *
* * @param sourceRelationalDatabaseName * The name of the source database. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateRelationalDatabaseFromSnapshotRequest withSourceRelationalDatabaseName(String sourceRelationalDatabaseName) { setSourceRelationalDatabaseName(sourceRelationalDatabaseName); return this; } /** ** The date and time to restore your database from. *
** Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* The date and time to restore your database from. *
** Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* The date and time to restore your database from. *
** Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* Constraints: *
** Must be before the latest restorable time for the database. *
*
* Cannot be specified if the use latest restorable time
parameter is true
.
*
* Specified in Coordinated Universal Time (UTC). *
** Specified in the Unix time format. *
*
* For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input
* 1538424000
as the restore time.
*
* Specifies whether your database is restored from the latest backup time. A value of true
restores
* from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*
true
* restores from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*/
public void setUseLatestRestorableTime(Boolean useLatestRestorableTime) {
this.useLatestRestorableTime = useLatestRestorableTime;
}
/**
*
* Specifies whether your database is restored from the latest backup time. A value of true
restores
* from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*
true
* restores from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*/
public Boolean getUseLatestRestorableTime() {
return this.useLatestRestorableTime;
}
/**
*
* Specifies whether your database is restored from the latest backup time. A value of true
restores
* from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*
true
* restores from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateRelationalDatabaseFromSnapshotRequest withUseLatestRestorableTime(Boolean useLatestRestorableTime) {
setUseLatestRestorableTime(useLatestRestorableTime);
return this;
}
/**
*
* Specifies whether your database is restored from the latest backup time. A value of true
restores
* from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*
true
* restores from the latest backup time.
*
* Default: false
*
* Constraints: Cannot be specified if the restore time
parameter is provided.
*/
public Boolean isUseLatestRestorableTime() {
return this.useLatestRestorableTime;
}
/**
*
* The tag keys and optional values to add to the resource during create. *
*
* Use the TagResource
action to tag a resource after it's created.
*
* Use the
* The tag keys and optional values to add to the resource during create.
*
* Use the TagResource
action to tag a resource after it's created.
*/
public java.util.ListTagResource
action to tag a resource after it's created.
*
* Use the
* The tag keys and optional values to add to the resource during create.
*
* Use the
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
* TagResource
action to tag a resource after it's created.
*/
public void setTags(java.util.CollectionTagResource
action to tag a resource after it's created.
*
* Use the
* The tag keys and optional values to add to the resource during create.
*
* Use the TagResource
action to tag a resource after it's created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateRelationalDatabaseFromSnapshotRequest withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayListTagResource
action to tag a resource after it's created.
*
* Use the TagResource
action to tag a resource after it's created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateRelationalDatabaseFromSnapshotRequest withTags(java.util.Collection