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/dax/DAX_EXPORTS.h> 8 #include <aws/dax/DAXRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace DAX 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_DAX_API IncreaseReplicationFactorRequest : public DAXRequest 23 { 24 public: 25 IncreaseReplicationFactorRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "IncreaseReplicationFactor"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The name of the DAX cluster that will receive additional nodes.</p> 40 */ GetClusterName()41 inline const Aws::String& GetClusterName() const{ return m_clusterName; } 42 43 /** 44 * <p>The name of the DAX cluster that will receive additional nodes.</p> 45 */ ClusterNameHasBeenSet()46 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } 47 48 /** 49 * <p>The name of the DAX cluster that will receive additional nodes.</p> 50 */ SetClusterName(const Aws::String & value)51 inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } 52 53 /** 54 * <p>The name of the DAX cluster that will receive additional nodes.</p> 55 */ SetClusterName(Aws::String && value)56 inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } 57 58 /** 59 * <p>The name of the DAX cluster that will receive additional nodes.</p> 60 */ SetClusterName(const char * value)61 inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } 62 63 /** 64 * <p>The name of the DAX cluster that will receive additional nodes.</p> 65 */ WithClusterName(const Aws::String & value)66 inline IncreaseReplicationFactorRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} 67 68 /** 69 * <p>The name of the DAX cluster that will receive additional nodes.</p> 70 */ WithClusterName(Aws::String && value)71 inline IncreaseReplicationFactorRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} 72 73 /** 74 * <p>The name of the DAX cluster that will receive additional nodes.</p> 75 */ WithClusterName(const char * value)76 inline IncreaseReplicationFactorRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} 77 78 79 /** 80 * <p>The new number of nodes for the DAX cluster.</p> 81 */ GetNewReplicationFactor()82 inline int GetNewReplicationFactor() const{ return m_newReplicationFactor; } 83 84 /** 85 * <p>The new number of nodes for the DAX cluster.</p> 86 */ NewReplicationFactorHasBeenSet()87 inline bool NewReplicationFactorHasBeenSet() const { return m_newReplicationFactorHasBeenSet; } 88 89 /** 90 * <p>The new number of nodes for the DAX cluster.</p> 91 */ SetNewReplicationFactor(int value)92 inline void SetNewReplicationFactor(int value) { m_newReplicationFactorHasBeenSet = true; m_newReplicationFactor = value; } 93 94 /** 95 * <p>The new number of nodes for the DAX cluster.</p> 96 */ WithNewReplicationFactor(int value)97 inline IncreaseReplicationFactorRequest& WithNewReplicationFactor(int value) { SetNewReplicationFactor(value); return *this;} 98 99 100 /** 101 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 102 * nodes belonging to the cluster are placed in these Availability Zones. Use this 103 * parameter if you want to distribute the nodes across multiple AZs.</p> 104 */ GetAvailabilityZones()105 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const{ return m_availabilityZones; } 106 107 /** 108 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 109 * nodes belonging to the cluster are placed in these Availability Zones. Use this 110 * parameter if you want to distribute the nodes across multiple AZs.</p> 111 */ AvailabilityZonesHasBeenSet()112 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } 113 114 /** 115 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 116 * nodes belonging to the cluster are placed in these Availability Zones. Use this 117 * parameter if you want to distribute the nodes across multiple AZs.</p> 118 */ SetAvailabilityZones(const Aws::Vector<Aws::String> & value)119 inline void SetAvailabilityZones(const Aws::Vector<Aws::String>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } 120 121 /** 122 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 123 * nodes belonging to the cluster are placed in these Availability Zones. Use this 124 * parameter if you want to distribute the nodes across multiple AZs.</p> 125 */ SetAvailabilityZones(Aws::Vector<Aws::String> && value)126 inline void SetAvailabilityZones(Aws::Vector<Aws::String>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } 127 128 /** 129 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 130 * nodes belonging to the cluster are placed in these Availability Zones. Use this 131 * parameter if you want to distribute the nodes across multiple AZs.</p> 132 */ WithAvailabilityZones(const Aws::Vector<Aws::String> & value)133 inline IncreaseReplicationFactorRequest& WithAvailabilityZones(const Aws::Vector<Aws::String>& value) { SetAvailabilityZones(value); return *this;} 134 135 /** 136 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 137 * nodes belonging to the cluster are placed in these Availability Zones. Use this 138 * parameter if you want to distribute the nodes across multiple AZs.</p> 139 */ WithAvailabilityZones(Aws::Vector<Aws::String> && value)140 inline IncreaseReplicationFactorRequest& WithAvailabilityZones(Aws::Vector<Aws::String>&& value) { SetAvailabilityZones(std::move(value)); return *this;} 141 142 /** 143 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 144 * nodes belonging to the cluster are placed in these Availability Zones. Use this 145 * parameter if you want to distribute the nodes across multiple AZs.</p> 146 */ AddAvailabilityZones(const Aws::String & value)147 inline IncreaseReplicationFactorRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 148 149 /** 150 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 151 * nodes belonging to the cluster are placed in these Availability Zones. Use this 152 * parameter if you want to distribute the nodes across multiple AZs.</p> 153 */ AddAvailabilityZones(Aws::String && value)154 inline IncreaseReplicationFactorRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } 155 156 /** 157 * <p>The Availability Zones (AZs) in which the cluster nodes will be created. All 158 * nodes belonging to the cluster are placed in these Availability Zones. Use this 159 * parameter if you want to distribute the nodes across multiple AZs.</p> 160 */ AddAvailabilityZones(const char * value)161 inline IncreaseReplicationFactorRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } 162 163 private: 164 165 Aws::String m_clusterName; 166 bool m_clusterNameHasBeenSet; 167 168 int m_newReplicationFactor; 169 bool m_newReplicationFactorHasBeenSet; 170 171 Aws::Vector<Aws::String> m_availabilityZones; 172 bool m_availabilityZonesHasBeenSet; 173 }; 174 175 } // namespace Model 176 } // namespace DAX 177 } // namespace Aws 178