/*
* 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
{
///
/// Container for the parameters to the IncreaseReplicaCount operation.
/// Dynamically increases the number of replicas in a Redis (cluster mode disabled) replication
/// group or the number of replica nodes in one or more node groups (shards) of a Redis
/// (cluster mode enabled) replication group. This operation is performed with no cluster
/// down time.
///
public partial class IncreaseReplicaCountRequest : AmazonElastiCacheRequest
{
private bool? _applyImmediately;
private int? _newReplicaCount;
private List _replicaConfiguration = new List();
private string _replicationGroupId;
///
/// Gets and sets the property ApplyImmediately.
///
/// If True
, the number of replica nodes is increased immediately. ApplyImmediately=False
/// is not currently supported.
///
///
[AWSProperty(Required=true)]
public bool ApplyImmediately
{
get { return this._applyImmediately.GetValueOrDefault(); }
set { this._applyImmediately = value; }
}
// Check to see if ApplyImmediately property is set
internal bool IsSetApplyImmediately()
{
return this._applyImmediately.HasValue;
}
///
/// Gets and sets the property NewReplicaCount.
///
/// The number of read replica nodes you want at the completion of this operation. For
/// Redis (cluster mode disabled) replication groups, this is the number of replica nodes
/// in the replication group. For Redis (cluster mode enabled) replication groups, this
/// is the number of replica nodes in each of the replication group's node groups.
///
///
public int NewReplicaCount
{
get { return this._newReplicaCount.GetValueOrDefault(); }
set { this._newReplicaCount = value; }
}
// Check to see if NewReplicaCount property is set
internal bool IsSetNewReplicaCount()
{
return this._newReplicaCount.HasValue;
}
///
/// Gets and sets the property ReplicaConfiguration.
///
/// A list of ConfigureShard
objects that can be used to configure each shard
/// in a Redis (cluster mode enabled) replication group. The ConfigureShard
/// has three members: NewReplicaCount
, NodeGroupId
, and PreferredAvailabilityZones
.
///
///
public List ReplicaConfiguration
{
get { return this._replicaConfiguration; }
set { this._replicaConfiguration = value; }
}
// Check to see if ReplicaConfiguration property is set
internal bool IsSetReplicaConfiguration()
{
return this._replicaConfiguration != null && this._replicaConfiguration.Count > 0;
}
///
/// Gets and sets the property ReplicationGroupId.
///
/// The id of the replication group to which you want to add replica nodes.
///
///
[AWSProperty(Required=true)]
public string ReplicationGroupId
{
get { return this._replicationGroupId; }
set { this._replicationGroupId = value; }
}
// Check to see if ReplicationGroupId property is set
internal bool IsSetReplicationGroupId()
{
return this._replicationGroupId != null;
}
}
}