/* * 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 DecreaseReplicaCount operation. /// Dynamically decreases 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 DecreaseReplicaCountRequest : AmazonElastiCacheRequest { private bool? _applyImmediately; private int? _newReplicaCount; private List _replicaConfiguration = new List(); private List _replicasToRemove = new List(); private string _replicationGroupId; /// /// Gets and sets the property ApplyImmediately. /// /// If True, the number of replica nodes is decreased 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. /// /// /// /// The minimum number of replicas in a shard or replication group is: /// ///
  • /// /// Redis (cluster mode disabled) /// ///
    • /// /// If Multi-AZ is enabled: 1 /// ///
    • /// /// If Multi-AZ is not enabled: 0 /// ///
  • /// /// Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica /// if your primary node fails) /// ///
///
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 ReplicasToRemove. /// /// A list of the node ids to remove from the replication group or node group (shard). /// /// public List ReplicasToRemove { get { return this._replicasToRemove; } set { this._replicasToRemove = value; } } // Check to see if ReplicasToRemove property is set internal bool IsSetReplicasToRemove() { return this._replicasToRemove != null && this._replicasToRemove.Count > 0; } /// /// Gets and sets the property ReplicationGroupId. /// /// The id of the replication group from which you want to remove 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; } } }