/*
* 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 elasticache-2015-02-02.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.ElastiCache.Model
{
///
/// Consists of a primary cluster that accepts writes and an associated secondary cluster
/// that resides in a different Amazon region. The secondary cluster accepts only reads.
/// The primary cluster automatically replicates updates to the secondary cluster.
///
/// -
///
/// The GlobalReplicationGroupIdSuffix represents the name of the Global datastore,
/// which is what you use to associate a secondary cluster.
///
///
///
public partial class GlobalReplicationGroup
{
private string _arn;
private bool? _atRestEncryptionEnabled;
private bool? _authTokenEnabled;
private string _cacheNodeType;
private bool? _clusterEnabled;
private string _engine;
private string _engineVersion;
private List _globalNodeGroups = new List();
private string _globalReplicationGroupDescription;
private string _globalReplicationGroupId;
private List _members = new List();
private string _status;
private bool? _transitEncryptionEnabled;
///
/// Gets and sets the property ARN.
///
/// The ARN (Amazon Resource Name) of the global replication group.
///
///
public string ARN
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if ARN property is set
internal bool IsSetARN()
{
return this._arn != null;
}
///
/// Gets and sets the property AtRestEncryptionEnabled.
///
/// A flag that enables encryption at rest when set to true
.
///
///
///
/// You cannot modify the value of AtRestEncryptionEnabled
after the replication
/// group is created. To enable encryption at rest on a replication group you must set
/// AtRestEncryptionEnabled
to true
when you create the replication
/// group.
///
///
///
/// Required: Only available when creating a replication group in an Amazon VPC
/// using redis version 3.2.6
, 4.x
or later.
///
///
public bool AtRestEncryptionEnabled
{
get { return this._atRestEncryptionEnabled.GetValueOrDefault(); }
set { this._atRestEncryptionEnabled = value; }
}
// Check to see if AtRestEncryptionEnabled property is set
internal bool IsSetAtRestEncryptionEnabled()
{
return this._atRestEncryptionEnabled.HasValue;
}
///
/// Gets and sets the property AuthTokenEnabled.
///
/// A flag that enables using an AuthToken
(password) when issuing Redis
/// commands.
///
///
///
/// Default: false
///
///
public bool AuthTokenEnabled
{
get { return this._authTokenEnabled.GetValueOrDefault(); }
set { this._authTokenEnabled = value; }
}
// Check to see if AuthTokenEnabled property is set
internal bool IsSetAuthTokenEnabled()
{
return this._authTokenEnabled.HasValue;
}
///
/// Gets and sets the property CacheNodeType.
///
/// The cache node type of the Global datastore
///
///
public string CacheNodeType
{
get { return this._cacheNodeType; }
set { this._cacheNodeType = value; }
}
// Check to see if CacheNodeType property is set
internal bool IsSetCacheNodeType()
{
return this._cacheNodeType != null;
}
///
/// Gets and sets the property ClusterEnabled.
///
/// A flag that indicates whether the Global datastore is cluster enabled.
///
///
public bool ClusterEnabled
{
get { return this._clusterEnabled.GetValueOrDefault(); }
set { this._clusterEnabled = value; }
}
// Check to see if ClusterEnabled property is set
internal bool IsSetClusterEnabled()
{
return this._clusterEnabled.HasValue;
}
///
/// Gets and sets the property Engine.
///
/// The Elasticache engine. For Redis only.
///
///
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 Elasticache Redis engine version.
///
///
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 GlobalNodeGroups.
///
/// Indicates the slot configuration and global identifier for each slice group.
///
///
public List GlobalNodeGroups
{
get { return this._globalNodeGroups; }
set { this._globalNodeGroups = value; }
}
// Check to see if GlobalNodeGroups property is set
internal bool IsSetGlobalNodeGroups()
{
return this._globalNodeGroups != null && this._globalNodeGroups.Count > 0;
}
///
/// Gets and sets the property GlobalReplicationGroupDescription.
///
/// The optional description of the Global datastore
///
///
public string GlobalReplicationGroupDescription
{
get { return this._globalReplicationGroupDescription; }
set { this._globalReplicationGroupDescription = value; }
}
// Check to see if GlobalReplicationGroupDescription property is set
internal bool IsSetGlobalReplicationGroupDescription()
{
return this._globalReplicationGroupDescription != null;
}
///
/// Gets and sets the property GlobalReplicationGroupId.
///
/// The name of the Global datastore
///
///
public string GlobalReplicationGroupId
{
get { return this._globalReplicationGroupId; }
set { this._globalReplicationGroupId = value; }
}
// Check to see if GlobalReplicationGroupId property is set
internal bool IsSetGlobalReplicationGroupId()
{
return this._globalReplicationGroupId != null;
}
///
/// Gets and sets the property Members.
///
/// The replication groups that comprise the Global datastore.
///
///
public List Members
{
get { return this._members; }
set { this._members = value; }
}
// Check to see if Members property is set
internal bool IsSetMembers()
{
return this._members != null && this._members.Count > 0;
}
///
/// Gets and sets the property Status.
///
/// The status of the Global datastore
///
///
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property TransitEncryptionEnabled.
///
/// A flag that enables in-transit encryption when set to true.
///
///
///
/// Required: Only available when creating a replication group in an Amazon VPC
/// using redis version 3.2.6
, 4.x
or later.
///
///
public bool TransitEncryptionEnabled
{
get { return this._transitEncryptionEnabled.GetValueOrDefault(); }
set { this._transitEncryptionEnabled = value; }
}
// Check to see if TransitEncryptionEnabled property is set
internal bool IsSetTransitEncryptionEnabled()
{
return this._transitEncryptionEnabled.HasValue;
}
}
}