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/elasticache/ElastiCacheRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace ElastiCache 15 { 16 namespace Model 17 { 18 19 /** 20 */ 21 class AWS_ELASTICACHE_API ModifyGlobalReplicationGroupRequest : public ElastiCacheRequest 22 { 23 public: 24 ModifyGlobalReplicationGroupRequest(); 25 26 // Service request name is the Operation name which will send this request out, 27 // each operation should has unique request name, so that we can get operation's name from this request. 28 // Note: this is not true for response, multiple operations may have the same response name, 29 // so we can not get operation's name from response. GetServiceRequestName()30 inline virtual const char* GetServiceRequestName() const override { return "ModifyGlobalReplicationGroup"; } 31 32 Aws::String SerializePayload() const override; 33 34 protected: 35 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 36 37 public: 38 39 /** 40 * <p>The name of the Global datastore</p> 41 */ GetGlobalReplicationGroupId()42 inline const Aws::String& GetGlobalReplicationGroupId() const{ return m_globalReplicationGroupId; } 43 44 /** 45 * <p>The name of the Global datastore</p> 46 */ GlobalReplicationGroupIdHasBeenSet()47 inline bool GlobalReplicationGroupIdHasBeenSet() const { return m_globalReplicationGroupIdHasBeenSet; } 48 49 /** 50 * <p>The name of the Global datastore</p> 51 */ SetGlobalReplicationGroupId(const Aws::String & value)52 inline void SetGlobalReplicationGroupId(const Aws::String& value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId = value; } 53 54 /** 55 * <p>The name of the Global datastore</p> 56 */ SetGlobalReplicationGroupId(Aws::String && value)57 inline void SetGlobalReplicationGroupId(Aws::String&& value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId = std::move(value); } 58 59 /** 60 * <p>The name of the Global datastore</p> 61 */ SetGlobalReplicationGroupId(const char * value)62 inline void SetGlobalReplicationGroupId(const char* value) { m_globalReplicationGroupIdHasBeenSet = true; m_globalReplicationGroupId.assign(value); } 63 64 /** 65 * <p>The name of the Global datastore</p> 66 */ WithGlobalReplicationGroupId(const Aws::String & value)67 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(const Aws::String& value) { SetGlobalReplicationGroupId(value); return *this;} 68 69 /** 70 * <p>The name of the Global datastore</p> 71 */ WithGlobalReplicationGroupId(Aws::String && value)72 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(Aws::String&& value) { SetGlobalReplicationGroupId(std::move(value)); return *this;} 73 74 /** 75 * <p>The name of the Global datastore</p> 76 */ WithGlobalReplicationGroupId(const char * value)77 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupId(const char* value) { SetGlobalReplicationGroupId(value); return *this;} 78 79 80 /** 81 * <p>This parameter causes the modifications in this request and any pending 82 * modifications to be applied, asynchronously and as soon as possible. 83 * Modifications to Global Replication Groups cannot be requested to be applied in 84 * PreferredMaintenceWindow. </p> 85 */ GetApplyImmediately()86 inline bool GetApplyImmediately() const{ return m_applyImmediately; } 87 88 /** 89 * <p>This parameter causes the modifications in this request and any pending 90 * modifications to be applied, asynchronously and as soon as possible. 91 * Modifications to Global Replication Groups cannot be requested to be applied in 92 * PreferredMaintenceWindow. </p> 93 */ ApplyImmediatelyHasBeenSet()94 inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } 95 96 /** 97 * <p>This parameter causes the modifications in this request and any pending 98 * modifications to be applied, asynchronously and as soon as possible. 99 * Modifications to Global Replication Groups cannot be requested to be applied in 100 * PreferredMaintenceWindow. </p> 101 */ SetApplyImmediately(bool value)102 inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } 103 104 /** 105 * <p>This parameter causes the modifications in this request and any pending 106 * modifications to be applied, asynchronously and as soon as possible. 107 * Modifications to Global Replication Groups cannot be requested to be applied in 108 * PreferredMaintenceWindow. </p> 109 */ WithApplyImmediately(bool value)110 inline ModifyGlobalReplicationGroupRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} 111 112 113 /** 114 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 115 */ GetCacheNodeType()116 inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } 117 118 /** 119 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 120 */ CacheNodeTypeHasBeenSet()121 inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } 122 123 /** 124 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 125 */ SetCacheNodeType(const Aws::String & value)126 inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } 127 128 /** 129 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 130 */ SetCacheNodeType(Aws::String && value)131 inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } 132 133 /** 134 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 135 */ SetCacheNodeType(const char * value)136 inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } 137 138 /** 139 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 140 */ WithCacheNodeType(const Aws::String & value)141 inline ModifyGlobalReplicationGroupRequest& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} 142 143 /** 144 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 145 */ WithCacheNodeType(Aws::String && value)146 inline ModifyGlobalReplicationGroupRequest& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} 147 148 /** 149 * <p>A valid cache node type that you want to scale this Global datastore to.</p> 150 */ WithCacheNodeType(const char * value)151 inline ModifyGlobalReplicationGroupRequest& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} 152 153 154 /** 155 * <p>The upgraded version of the cache engine to be run on the clusters in the 156 * Global datastore. </p> 157 */ GetEngineVersion()158 inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } 159 160 /** 161 * <p>The upgraded version of the cache engine to be run on the clusters in the 162 * Global datastore. </p> 163 */ EngineVersionHasBeenSet()164 inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } 165 166 /** 167 * <p>The upgraded version of the cache engine to be run on the clusters in the 168 * Global datastore. </p> 169 */ SetEngineVersion(const Aws::String & value)170 inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } 171 172 /** 173 * <p>The upgraded version of the cache engine to be run on the clusters in the 174 * Global datastore. </p> 175 */ SetEngineVersion(Aws::String && value)176 inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } 177 178 /** 179 * <p>The upgraded version of the cache engine to be run on the clusters in the 180 * Global datastore. </p> 181 */ SetEngineVersion(const char * value)182 inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } 183 184 /** 185 * <p>The upgraded version of the cache engine to be run on the clusters in the 186 * Global datastore. </p> 187 */ WithEngineVersion(const Aws::String & value)188 inline ModifyGlobalReplicationGroupRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} 189 190 /** 191 * <p>The upgraded version of the cache engine to be run on the clusters in the 192 * Global datastore. </p> 193 */ WithEngineVersion(Aws::String && value)194 inline ModifyGlobalReplicationGroupRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} 195 196 /** 197 * <p>The upgraded version of the cache engine to be run on the clusters in the 198 * Global datastore. </p> 199 */ WithEngineVersion(const char * value)200 inline ModifyGlobalReplicationGroupRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} 201 202 203 /** 204 * <p>The name of the cache parameter group to use with the Global datastore. It 205 * must be compatible with the major engine version used by the Global 206 * datastore.</p> 207 */ GetCacheParameterGroupName()208 inline const Aws::String& GetCacheParameterGroupName() const{ return m_cacheParameterGroupName; } 209 210 /** 211 * <p>The name of the cache parameter group to use with the Global datastore. It 212 * must be compatible with the major engine version used by the Global 213 * datastore.</p> 214 */ CacheParameterGroupNameHasBeenSet()215 inline bool CacheParameterGroupNameHasBeenSet() const { return m_cacheParameterGroupNameHasBeenSet; } 216 217 /** 218 * <p>The name of the cache parameter group to use with the Global datastore. It 219 * must be compatible with the major engine version used by the Global 220 * datastore.</p> 221 */ SetCacheParameterGroupName(const Aws::String & value)222 inline void SetCacheParameterGroupName(const Aws::String& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = value; } 223 224 /** 225 * <p>The name of the cache parameter group to use with the Global datastore. It 226 * must be compatible with the major engine version used by the Global 227 * datastore.</p> 228 */ SetCacheParameterGroupName(Aws::String && value)229 inline void SetCacheParameterGroupName(Aws::String&& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = std::move(value); } 230 231 /** 232 * <p>The name of the cache parameter group to use with the Global datastore. It 233 * must be compatible with the major engine version used by the Global 234 * datastore.</p> 235 */ SetCacheParameterGroupName(const char * value)236 inline void SetCacheParameterGroupName(const char* value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName.assign(value); } 237 238 /** 239 * <p>The name of the cache parameter group to use with the Global datastore. It 240 * must be compatible with the major engine version used by the Global 241 * datastore.</p> 242 */ WithCacheParameterGroupName(const Aws::String & value)243 inline ModifyGlobalReplicationGroupRequest& WithCacheParameterGroupName(const Aws::String& value) { SetCacheParameterGroupName(value); return *this;} 244 245 /** 246 * <p>The name of the cache parameter group to use with the Global datastore. It 247 * must be compatible with the major engine version used by the Global 248 * datastore.</p> 249 */ WithCacheParameterGroupName(Aws::String && value)250 inline ModifyGlobalReplicationGroupRequest& WithCacheParameterGroupName(Aws::String&& value) { SetCacheParameterGroupName(std::move(value)); return *this;} 251 252 /** 253 * <p>The name of the cache parameter group to use with the Global datastore. It 254 * must be compatible with the major engine version used by the Global 255 * datastore.</p> 256 */ WithCacheParameterGroupName(const char * value)257 inline ModifyGlobalReplicationGroupRequest& WithCacheParameterGroupName(const char* value) { SetCacheParameterGroupName(value); return *this;} 258 259 260 /** 261 * <p>A description of the Global datastore</p> 262 */ GetGlobalReplicationGroupDescription()263 inline const Aws::String& GetGlobalReplicationGroupDescription() const{ return m_globalReplicationGroupDescription; } 264 265 /** 266 * <p>A description of the Global datastore</p> 267 */ GlobalReplicationGroupDescriptionHasBeenSet()268 inline bool GlobalReplicationGroupDescriptionHasBeenSet() const { return m_globalReplicationGroupDescriptionHasBeenSet; } 269 270 /** 271 * <p>A description of the Global datastore</p> 272 */ SetGlobalReplicationGroupDescription(const Aws::String & value)273 inline void SetGlobalReplicationGroupDescription(const Aws::String& value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription = value; } 274 275 /** 276 * <p>A description of the Global datastore</p> 277 */ SetGlobalReplicationGroupDescription(Aws::String && value)278 inline void SetGlobalReplicationGroupDescription(Aws::String&& value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription = std::move(value); } 279 280 /** 281 * <p>A description of the Global datastore</p> 282 */ SetGlobalReplicationGroupDescription(const char * value)283 inline void SetGlobalReplicationGroupDescription(const char* value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription.assign(value); } 284 285 /** 286 * <p>A description of the Global datastore</p> 287 */ WithGlobalReplicationGroupDescription(const Aws::String & value)288 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(const Aws::String& value) { SetGlobalReplicationGroupDescription(value); return *this;} 289 290 /** 291 * <p>A description of the Global datastore</p> 292 */ WithGlobalReplicationGroupDescription(Aws::String && value)293 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(Aws::String&& value) { SetGlobalReplicationGroupDescription(std::move(value)); return *this;} 294 295 /** 296 * <p>A description of the Global datastore</p> 297 */ WithGlobalReplicationGroupDescription(const char * value)298 inline ModifyGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(const char* value) { SetGlobalReplicationGroupDescription(value); return *this;} 299 300 301 /** 302 * <p>Determines whether a read replica is automatically promoted to read/write 303 * primary if the existing primary encounters a failure. </p> 304 */ GetAutomaticFailoverEnabled()305 inline bool GetAutomaticFailoverEnabled() const{ return m_automaticFailoverEnabled; } 306 307 /** 308 * <p>Determines whether a read replica is automatically promoted to read/write 309 * primary if the existing primary encounters a failure. </p> 310 */ AutomaticFailoverEnabledHasBeenSet()311 inline bool AutomaticFailoverEnabledHasBeenSet() const { return m_automaticFailoverEnabledHasBeenSet; } 312 313 /** 314 * <p>Determines whether a read replica is automatically promoted to read/write 315 * primary if the existing primary encounters a failure. </p> 316 */ SetAutomaticFailoverEnabled(bool value)317 inline void SetAutomaticFailoverEnabled(bool value) { m_automaticFailoverEnabledHasBeenSet = true; m_automaticFailoverEnabled = value; } 318 319 /** 320 * <p>Determines whether a read replica is automatically promoted to read/write 321 * primary if the existing primary encounters a failure. </p> 322 */ WithAutomaticFailoverEnabled(bool value)323 inline ModifyGlobalReplicationGroupRequest& WithAutomaticFailoverEnabled(bool value) { SetAutomaticFailoverEnabled(value); return *this;} 324 325 private: 326 327 Aws::String m_globalReplicationGroupId; 328 bool m_globalReplicationGroupIdHasBeenSet; 329 330 bool m_applyImmediately; 331 bool m_applyImmediatelyHasBeenSet; 332 333 Aws::String m_cacheNodeType; 334 bool m_cacheNodeTypeHasBeenSet; 335 336 Aws::String m_engineVersion; 337 bool m_engineVersionHasBeenSet; 338 339 Aws::String m_cacheParameterGroupName; 340 bool m_cacheParameterGroupNameHasBeenSet; 341 342 Aws::String m_globalReplicationGroupDescription; 343 bool m_globalReplicationGroupDescriptionHasBeenSet; 344 345 bool m_automaticFailoverEnabled; 346 bool m_automaticFailoverEnabledHasBeenSet; 347 }; 348 349 } // namespace Model 350 } // namespace ElastiCache 351 } // namespace Aws 352