/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the rds-2014-10-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.RDS.Model
{
///
/// Container for the parameters to the CreateGlobalCluster operation.
/// Creates an Aurora global database spread across multiple Amazon Web Services Regions.
/// The global database contains a single primary cluster with read-write capability,
/// and a read-only secondary cluster that receives data from the primary cluster through
/// high-speed replication performed by the Aurora storage subsystem.
///
///
///
/// You can create a global database that is initially empty, and then create the primary
/// and secondary DB clusters in the global database. Or you can specify an existing Aurora
/// cluster during the create operation, and this cluster becomes the primary cluster
/// of the global database.
///
///
///
/// This operation applies only to Aurora DB clusters.
///
///
///
public partial class CreateGlobalClusterRequest : AmazonRDSRequest
{
private string _databaseName;
private bool? _deletionProtection;
private string _engine;
private string _engineVersion;
private string _globalClusterIdentifier;
private string _sourceDBClusterIdentifier;
private bool? _storageEncrypted;
///
/// Gets and sets the property DatabaseName.
///
/// The name for your database of up to 64 alphanumeric characters. If you don't specify
/// a name, Amazon Aurora doesn't create a database in the global database cluster.
///
///
///
/// Constraints:
///
/// -
///
/// Can't be specified if
SourceDBClusterIdentifier
is specified. In this
/// case, Amazon Aurora uses the database name from the source DB cluster.
///
///
///
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// Specifies whether to enable deletion protection for the new global database cluster.
/// The global database can't be deleted when deletion protection is enabled.
///
///
public bool DeletionProtection
{
get { return this._deletionProtection.GetValueOrDefault(); }
set { this._deletionProtection = value; }
}
// Check to see if DeletionProtection property is set
internal bool IsSetDeletionProtection()
{
return this._deletionProtection.HasValue;
}
///
/// Gets and sets the property Engine.
///
/// The database engine to use for this global database cluster.
///
///
///
/// Valid Values: aurora-mysql | aurora-postgresql
///
///
///
/// Constraints:
///
/// -
///
/// Can't be specified if
SourceDBClusterIdentifier
is specified. In this
/// case, Amazon Aurora uses the engine of the source DB cluster.
///
///
///
public string Engine
{
get { return this._engine; }
set { this._engine = value; }
}
// Check to see if Engine property is set
internal bool IsSetEngine()
{
return this._engine != null;
}
///
/// Gets and sets the property EngineVersion.
///
/// The engine version to use for this global database cluster.
///
///
///
/// Constraints:
///
/// -
///
/// Can't be specified if
SourceDBClusterIdentifier
is specified. In this
/// case, Amazon Aurora uses the engine version of the source DB cluster.
///
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property GlobalClusterIdentifier.
///
/// The cluster identifier for this global database cluster. This parameter is stored
/// as a lowercase string.
///
///
public string GlobalClusterIdentifier
{
get { return this._globalClusterIdentifier; }
set { this._globalClusterIdentifier = value; }
}
// Check to see if GlobalClusterIdentifier property is set
internal bool IsSetGlobalClusterIdentifier()
{
return this._globalClusterIdentifier != null;
}
///
/// Gets and sets the property SourceDBClusterIdentifier.
///
/// The Amazon Resource Name (ARN) to use as the primary cluster of the global database.
///
///
///
/// If you provide a value for this parameter, don't specify values for the following
/// settings because Amazon Aurora uses the values from the specified source DB cluster:
///
/// -
///
///
DatabaseName
///
/// -
///
///
Engine
///
/// -
///
///
EngineVersion
///
/// -
///
///
StorageEncrypted
///
///
///
public string SourceDBClusterIdentifier
{
get { return this._sourceDBClusterIdentifier; }
set { this._sourceDBClusterIdentifier = value; }
}
// Check to see if SourceDBClusterIdentifier property is set
internal bool IsSetSourceDBClusterIdentifier()
{
return this._sourceDBClusterIdentifier != null;
}
///
/// Gets and sets the property StorageEncrypted.
///
/// Specifies whether to enable storage encryption for the new global database cluster.
///
///
///
/// Constraints:
///
/// -
///
/// Can't be specified if
SourceDBClusterIdentifier
is specified. In this
/// case, Amazon Aurora uses the setting from the source DB cluster.
///
///
///
public bool StorageEncrypted
{
get { return this._storageEncrypted.GetValueOrDefault(); }
set { this._storageEncrypted = value; }
}
// Check to see if StorageEncrypted property is set
internal bool IsSetStorageEncrypted()
{
return this._storageEncrypted.HasValue;
}
}
}