/* * 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.rds.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 ModifyGlobalClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** The new cluster identifier for the global database cluster. This value is stored as a lowercase string. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*
* Specifies whether to enable deletion protection for the global database cluster. The global database cluster * can't be deleted when deletion protection is enabled. *
*/ private Boolean deletionProtection; /** ** The version number of the database engine to which you want to upgrade. *
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based Aurora
* global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* Specifies whether to allow major version upgrades. *
*
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to * the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade. *
*/ private Boolean allowMajorVersionUpgrade; /** ** The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** Constraints: *
** Must match the identifier of an existing global database cluster. *
** The new cluster identifier for the global database cluster. This value is stored as a lowercase string. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*/
public void setNewGlobalClusterIdentifier(String newGlobalClusterIdentifier) {
this.newGlobalClusterIdentifier = newGlobalClusterIdentifier;
}
/**
*
* The new cluster identifier for the global database cluster. This value is stored as a lowercase string. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*/
public String getNewGlobalClusterIdentifier() {
return this.newGlobalClusterIdentifier;
}
/**
*
* The new cluster identifier for the global database cluster. This value is stored as a lowercase string. *
** Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
*
* Constraints: *
** Must contain from 1 to 63 letters, numbers, or hyphens. *
** The first character must be a letter. *
** Can't end with a hyphen or contain two consecutive hyphens. *
*
* Example: my-cluster2
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyGlobalClusterRequest withNewGlobalClusterIdentifier(String newGlobalClusterIdentifier) {
setNewGlobalClusterIdentifier(newGlobalClusterIdentifier);
return this;
}
/**
*
* Specifies whether to enable deletion protection for the global database cluster. The global database cluster * can't be deleted when deletion protection is enabled. *
* * @param deletionProtection * Specifies whether to enable deletion protection for the global database cluster. The global database * cluster can't be deleted when deletion protection is enabled. */ public void setDeletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; } /** ** Specifies whether to enable deletion protection for the global database cluster. The global database cluster * can't be deleted when deletion protection is enabled. *
* * @return Specifies whether to enable deletion protection for the global database cluster. The global database * cluster can't be deleted when deletion protection is enabled. */ public Boolean getDeletionProtection() { return this.deletionProtection; } /** ** Specifies whether to enable deletion protection for the global database cluster. The global database cluster * can't be deleted when deletion protection is enabled. *
* * @param deletionProtection * Specifies whether to enable deletion protection for the global database cluster. The global database * cluster can't be deleted when deletion protection is enabled. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyGlobalClusterRequest withDeletionProtection(Boolean deletionProtection) { setDeletionProtection(deletionProtection); return this; } /** ** Specifies whether to enable deletion protection for the global database cluster. The global database cluster * can't be deleted when deletion protection is enabled. *
* * @return Specifies whether to enable deletion protection for the global database cluster. The global database * cluster can't be deleted when deletion protection is enabled. */ public Boolean isDeletionProtection() { return this.deletionProtection; } /** ** The version number of the database engine to which you want to upgrade. *
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based Aurora
* global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based
* Aurora global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* The version number of the database engine to which you want to upgrade. *
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based Aurora
* global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based
* Aurora global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*/
public String getEngineVersion() {
return this.engineVersion;
}
/**
*
* The version number of the database engine to which you want to upgrade. *
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based Aurora
* global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-mysql
(for MySQL-based Aurora global
* databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
*
* To list all of the available engine versions for aurora-postgresql
(for PostgreSQL-based
* Aurora global databases), use the following command:
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyGlobalClusterRequest withEngineVersion(String engineVersion) {
setEngineVersion(engineVersion);
return this;
}
/**
*
* Specifies whether to allow major version upgrades. *
*
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to * the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade. *
* * @param allowMajorVersionUpgrade * Specifies whether to allow major version upgrades. *
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are * set to the default parameter groups for the new version. Apply any custom parameter groups after * completing the upgrade. */ public void setAllowMajorVersionUpgrade(Boolean allowMajorVersionUpgrade) { this.allowMajorVersionUpgrade = allowMajorVersionUpgrade; } /** *
* Specifies whether to allow major version upgrades. *
*
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to * the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade. *
* * @return Specifies whether to allow major version upgrades. *
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are * set to the default parameter groups for the new version. Apply any custom parameter groups after * completing the upgrade. */ public Boolean getAllowMajorVersionUpgrade() { return this.allowMajorVersionUpgrade; } /** *
* Specifies whether to allow major version upgrades. *
*
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to * the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade. *
* * @param allowMajorVersionUpgrade * Specifies whether to allow major version upgrades. *
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are * set to the default parameter groups for the new version. Apply any custom parameter groups after * completing the upgrade. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyGlobalClusterRequest withAllowMajorVersionUpgrade(Boolean allowMajorVersionUpgrade) { setAllowMajorVersionUpgrade(allowMajorVersionUpgrade); return this; } /** *
* Specifies whether to allow major version upgrades. *
*
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to * the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade. *
* * @return Specifies whether to allow major version upgrades. *
* Constraints: Must be enabled if you specify a value for the EngineVersion
parameter that's a
* different major version than the global cluster's current version.
*
* If you upgrade the major version of a global database, the cluster and DB instance parameter groups are * set to the default parameter groups for the new version. Apply any custom parameter groups after * completing the upgrade. */ public Boolean isAllowMajorVersionUpgrade() { return this.allowMajorVersionUpgrade; } /** * 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 (getGlobalClusterIdentifier() != null) sb.append("GlobalClusterIdentifier: ").append(getGlobalClusterIdentifier()).append(","); if (getNewGlobalClusterIdentifier() != null) sb.append("NewGlobalClusterIdentifier: ").append(getNewGlobalClusterIdentifier()).append(","); if (getDeletionProtection() != null) sb.append("DeletionProtection: ").append(getDeletionProtection()).append(","); if (getEngineVersion() != null) sb.append("EngineVersion: ").append(getEngineVersion()).append(","); if (getAllowMajorVersionUpgrade() != null) sb.append("AllowMajorVersionUpgrade: ").append(getAllowMajorVersionUpgrade()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyGlobalClusterRequest == false) return false; ModifyGlobalClusterRequest other = (ModifyGlobalClusterRequest) obj; if (other.getGlobalClusterIdentifier() == null ^ this.getGlobalClusterIdentifier() == null) return false; if (other.getGlobalClusterIdentifier() != null && other.getGlobalClusterIdentifier().equals(this.getGlobalClusterIdentifier()) == false) return false; if (other.getNewGlobalClusterIdentifier() == null ^ this.getNewGlobalClusterIdentifier() == null) return false; if (other.getNewGlobalClusterIdentifier() != null && other.getNewGlobalClusterIdentifier().equals(this.getNewGlobalClusterIdentifier()) == false) return false; if (other.getDeletionProtection() == null ^ this.getDeletionProtection() == null) return false; if (other.getDeletionProtection() != null && other.getDeletionProtection().equals(this.getDeletionProtection()) == false) return false; if (other.getEngineVersion() == null ^ this.getEngineVersion() == null) return false; if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false) return false; if (other.getAllowMajorVersionUpgrade() == null ^ this.getAllowMajorVersionUpgrade() == null) return false; if (other.getAllowMajorVersionUpgrade() != null && other.getAllowMajorVersionUpgrade().equals(this.getAllowMajorVersionUpgrade()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getGlobalClusterIdentifier() == null) ? 0 : getGlobalClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getNewGlobalClusterIdentifier() == null) ? 0 : getNewGlobalClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getDeletionProtection() == null) ? 0 : getDeletionProtection().hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); hashCode = prime * hashCode + ((getAllowMajorVersionUpgrade() == null) ? 0 : getAllowMajorVersionUpgrade().hashCode()); return hashCode; } @Override public ModifyGlobalClusterRequest clone() { return (ModifyGlobalClusterRequest) super.clone(); } }