/* * 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 { /// /// Node group (shard) configuration options. Each node group (shard) configuration has /// the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, /// ReplicaCount. /// public partial class NodeGroupConfiguration { private string _nodeGroupId; private string _primaryAvailabilityZone; private string _primaryOutpostArn; private List _replicaAvailabilityZones = new List(); private int? _replicaCount; private List _replicaOutpostArns = new List(); private string _slots; /// /// Gets and sets the property NodeGroupId. /// /// Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the /// node group these configuration values apply to. /// /// [AWSProperty(Min=1, Max=4)] public string NodeGroupId { get { return this._nodeGroupId; } set { this._nodeGroupId = value; } } // Check to see if NodeGroupId property is set internal bool IsSetNodeGroupId() { return this._nodeGroupId != null; } /// /// Gets and sets the property PrimaryAvailabilityZone. /// /// The Availability Zone where the primary node of this node group (shard) is launched. /// /// public string PrimaryAvailabilityZone { get { return this._primaryAvailabilityZone; } set { this._primaryAvailabilityZone = value; } } // Check to see if PrimaryAvailabilityZone property is set internal bool IsSetPrimaryAvailabilityZone() { return this._primaryAvailabilityZone != null; } /// /// Gets and sets the property PrimaryOutpostArn. /// /// The outpost ARN of the primary node. /// /// public string PrimaryOutpostArn { get { return this._primaryOutpostArn; } set { this._primaryOutpostArn = value; } } // Check to see if PrimaryOutpostArn property is set internal bool IsSetPrimaryOutpostArn() { return this._primaryOutpostArn != null; } /// /// Gets and sets the property ReplicaAvailabilityZones. /// /// A list of Availability Zones to be used for the read replicas. The number of Availability /// Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup /// if not specified. /// /// public List ReplicaAvailabilityZones { get { return this._replicaAvailabilityZones; } set { this._replicaAvailabilityZones = value; } } // Check to see if ReplicaAvailabilityZones property is set internal bool IsSetReplicaAvailabilityZones() { return this._replicaAvailabilityZones != null && this._replicaAvailabilityZones.Count > 0; } /// /// Gets and sets the property ReplicaCount. /// /// The number of read replica nodes in this node group (shard). /// /// public int ReplicaCount { get { return this._replicaCount.GetValueOrDefault(); } set { this._replicaCount = value; } } // Check to see if ReplicaCount property is set internal bool IsSetReplicaCount() { return this._replicaCount.HasValue; } /// /// Gets and sets the property ReplicaOutpostArns. /// /// The outpost ARN of the node replicas. /// /// public List ReplicaOutpostArns { get { return this._replicaOutpostArns; } set { this._replicaOutpostArns = value; } } // Check to see if ReplicaOutpostArns property is set internal bool IsSetReplicaOutpostArns() { return this._replicaOutpostArns != null && this._replicaOutpostArns.Count > 0; } /// /// Gets and sets the property Slots. /// /// A string that specifies the keyspace for a particular node group. Keyspaces range /// from 0 to 16,383. The string is in the format startkey-endkey. /// /// /// /// Example: "0-3999" /// /// public string Slots { get { return this._slots; } set { this._slots = value; } } // Check to see if Slots property is set internal bool IsSetSlots() { return this._slots != null; } } }