1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/elasticache/ElastiCache_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace ElastiCache 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Indicates the slot configuration and global identifier for a slice 28 * group.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/GlobalNodeGroup">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_ELASTICACHE_API GlobalNodeGroup 33 { 34 public: 35 GlobalNodeGroup(); 36 GlobalNodeGroup(const Aws::Utils::Xml::XmlNode& xmlNode); 37 GlobalNodeGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 38 39 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 40 void OutputToStream(Aws::OStream& oStream, const char* location) const; 41 42 43 /** 44 * <p>The name of the global node group</p> 45 */ GetGlobalNodeGroupId()46 inline const Aws::String& GetGlobalNodeGroupId() const{ return m_globalNodeGroupId; } 47 48 /** 49 * <p>The name of the global node group</p> 50 */ GlobalNodeGroupIdHasBeenSet()51 inline bool GlobalNodeGroupIdHasBeenSet() const { return m_globalNodeGroupIdHasBeenSet; } 52 53 /** 54 * <p>The name of the global node group</p> 55 */ SetGlobalNodeGroupId(const Aws::String & value)56 inline void SetGlobalNodeGroupId(const Aws::String& value) { m_globalNodeGroupIdHasBeenSet = true; m_globalNodeGroupId = value; } 57 58 /** 59 * <p>The name of the global node group</p> 60 */ SetGlobalNodeGroupId(Aws::String && value)61 inline void SetGlobalNodeGroupId(Aws::String&& value) { m_globalNodeGroupIdHasBeenSet = true; m_globalNodeGroupId = std::move(value); } 62 63 /** 64 * <p>The name of the global node group</p> 65 */ SetGlobalNodeGroupId(const char * value)66 inline void SetGlobalNodeGroupId(const char* value) { m_globalNodeGroupIdHasBeenSet = true; m_globalNodeGroupId.assign(value); } 67 68 /** 69 * <p>The name of the global node group</p> 70 */ WithGlobalNodeGroupId(const Aws::String & value)71 inline GlobalNodeGroup& WithGlobalNodeGroupId(const Aws::String& value) { SetGlobalNodeGroupId(value); return *this;} 72 73 /** 74 * <p>The name of the global node group</p> 75 */ WithGlobalNodeGroupId(Aws::String && value)76 inline GlobalNodeGroup& WithGlobalNodeGroupId(Aws::String&& value) { SetGlobalNodeGroupId(std::move(value)); return *this;} 77 78 /** 79 * <p>The name of the global node group</p> 80 */ WithGlobalNodeGroupId(const char * value)81 inline GlobalNodeGroup& WithGlobalNodeGroupId(const char* value) { SetGlobalNodeGroupId(value); return *this;} 82 83 84 /** 85 * <p>The keyspace for this node group</p> 86 */ GetSlots()87 inline const Aws::String& GetSlots() const{ return m_slots; } 88 89 /** 90 * <p>The keyspace for this node group</p> 91 */ SlotsHasBeenSet()92 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; } 93 94 /** 95 * <p>The keyspace for this node group</p> 96 */ SetSlots(const Aws::String & value)97 inline void SetSlots(const Aws::String& value) { m_slotsHasBeenSet = true; m_slots = value; } 98 99 /** 100 * <p>The keyspace for this node group</p> 101 */ SetSlots(Aws::String && value)102 inline void SetSlots(Aws::String&& value) { m_slotsHasBeenSet = true; m_slots = std::move(value); } 103 104 /** 105 * <p>The keyspace for this node group</p> 106 */ SetSlots(const char * value)107 inline void SetSlots(const char* value) { m_slotsHasBeenSet = true; m_slots.assign(value); } 108 109 /** 110 * <p>The keyspace for this node group</p> 111 */ WithSlots(const Aws::String & value)112 inline GlobalNodeGroup& WithSlots(const Aws::String& value) { SetSlots(value); return *this;} 113 114 /** 115 * <p>The keyspace for this node group</p> 116 */ WithSlots(Aws::String && value)117 inline GlobalNodeGroup& WithSlots(Aws::String&& value) { SetSlots(std::move(value)); return *this;} 118 119 /** 120 * <p>The keyspace for this node group</p> 121 */ WithSlots(const char * value)122 inline GlobalNodeGroup& WithSlots(const char* value) { SetSlots(value); return *this;} 123 124 private: 125 126 Aws::String m_globalNodeGroupId; 127 bool m_globalNodeGroupIdHasBeenSet; 128 129 Aws::String m_slots; 130 bool m_slotsHasBeenSet; 131 }; 132 133 } // namespace Model 134 } // namespace ElastiCache 135 } // namespace Aws 136