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/dynamodb/DynamoDB_EXPORTS.h> 8 #include <aws/dynamodb/DynamoDBRequest.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/dynamodb/model/AutoScalingSettingsUpdate.h> 12 #include <aws/dynamodb/model/GlobalSecondaryIndexAutoScalingUpdate.h> 13 #include <aws/dynamodb/model/ReplicaAutoScalingUpdate.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace DynamoDB 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_DYNAMODB_API UpdateTableReplicaAutoScalingRequest : public DynamoDBRequest 26 { 27 public: 28 UpdateTableReplicaAutoScalingRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "UpdateTableReplicaAutoScaling"; } 35 36 Aws::String SerializePayload() const override; 37 38 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 39 40 41 /** 42 * <p>Represents the auto scaling settings of the global secondary indexes of the 43 * replica to be updated.</p> 44 */ GetGlobalSecondaryIndexUpdates()45 inline const Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate>& GetGlobalSecondaryIndexUpdates() const{ return m_globalSecondaryIndexUpdates; } 46 47 /** 48 * <p>Represents the auto scaling settings of the global secondary indexes of the 49 * replica to be updated.</p> 50 */ GlobalSecondaryIndexUpdatesHasBeenSet()51 inline bool GlobalSecondaryIndexUpdatesHasBeenSet() const { return m_globalSecondaryIndexUpdatesHasBeenSet; } 52 53 /** 54 * <p>Represents the auto scaling settings of the global secondary indexes of the 55 * replica to be updated.</p> 56 */ SetGlobalSecondaryIndexUpdates(const Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate> & value)57 inline void SetGlobalSecondaryIndexUpdates(const Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate>& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates = value; } 58 59 /** 60 * <p>Represents the auto scaling settings of the global secondary indexes of the 61 * replica to be updated.</p> 62 */ SetGlobalSecondaryIndexUpdates(Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate> && value)63 inline void SetGlobalSecondaryIndexUpdates(Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate>&& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates = std::move(value); } 64 65 /** 66 * <p>Represents the auto scaling settings of the global secondary indexes of the 67 * replica to be updated.</p> 68 */ WithGlobalSecondaryIndexUpdates(const Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate> & value)69 inline UpdateTableReplicaAutoScalingRequest& WithGlobalSecondaryIndexUpdates(const Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate>& value) { SetGlobalSecondaryIndexUpdates(value); return *this;} 70 71 /** 72 * <p>Represents the auto scaling settings of the global secondary indexes of the 73 * replica to be updated.</p> 74 */ WithGlobalSecondaryIndexUpdates(Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate> && value)75 inline UpdateTableReplicaAutoScalingRequest& WithGlobalSecondaryIndexUpdates(Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate>&& value) { SetGlobalSecondaryIndexUpdates(std::move(value)); return *this;} 76 77 /** 78 * <p>Represents the auto scaling settings of the global secondary indexes of the 79 * replica to be updated.</p> 80 */ AddGlobalSecondaryIndexUpdates(const GlobalSecondaryIndexAutoScalingUpdate & value)81 inline UpdateTableReplicaAutoScalingRequest& AddGlobalSecondaryIndexUpdates(const GlobalSecondaryIndexAutoScalingUpdate& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates.push_back(value); return *this; } 82 83 /** 84 * <p>Represents the auto scaling settings of the global secondary indexes of the 85 * replica to be updated.</p> 86 */ AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexAutoScalingUpdate && value)87 inline UpdateTableReplicaAutoScalingRequest& AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexAutoScalingUpdate&& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates.push_back(std::move(value)); return *this; } 88 89 90 /** 91 * <p>The name of the global table to be updated.</p> 92 */ GetTableName()93 inline const Aws::String& GetTableName() const{ return m_tableName; } 94 95 /** 96 * <p>The name of the global table to be updated.</p> 97 */ TableNameHasBeenSet()98 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } 99 100 /** 101 * <p>The name of the global table to be updated.</p> 102 */ SetTableName(const Aws::String & value)103 inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } 104 105 /** 106 * <p>The name of the global table to be updated.</p> 107 */ SetTableName(Aws::String && value)108 inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } 109 110 /** 111 * <p>The name of the global table to be updated.</p> 112 */ SetTableName(const char * value)113 inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } 114 115 /** 116 * <p>The name of the global table to be updated.</p> 117 */ WithTableName(const Aws::String & value)118 inline UpdateTableReplicaAutoScalingRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} 119 120 /** 121 * <p>The name of the global table to be updated.</p> 122 */ WithTableName(Aws::String && value)123 inline UpdateTableReplicaAutoScalingRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} 124 125 /** 126 * <p>The name of the global table to be updated.</p> 127 */ WithTableName(const char * value)128 inline UpdateTableReplicaAutoScalingRequest& WithTableName(const char* value) { SetTableName(value); return *this;} 129 130 131 GetProvisionedWriteCapacityAutoScalingUpdate()132 inline const AutoScalingSettingsUpdate& GetProvisionedWriteCapacityAutoScalingUpdate() const{ return m_provisionedWriteCapacityAutoScalingUpdate; } 133 134 ProvisionedWriteCapacityAutoScalingUpdateHasBeenSet()135 inline bool ProvisionedWriteCapacityAutoScalingUpdateHasBeenSet() const { return m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet; } 136 137 SetProvisionedWriteCapacityAutoScalingUpdate(const AutoScalingSettingsUpdate & value)138 inline void SetProvisionedWriteCapacityAutoScalingUpdate(const AutoScalingSettingsUpdate& value) { m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet = true; m_provisionedWriteCapacityAutoScalingUpdate = value; } 139 140 SetProvisionedWriteCapacityAutoScalingUpdate(AutoScalingSettingsUpdate && value)141 inline void SetProvisionedWriteCapacityAutoScalingUpdate(AutoScalingSettingsUpdate&& value) { m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet = true; m_provisionedWriteCapacityAutoScalingUpdate = std::move(value); } 142 143 WithProvisionedWriteCapacityAutoScalingUpdate(const AutoScalingSettingsUpdate & value)144 inline UpdateTableReplicaAutoScalingRequest& WithProvisionedWriteCapacityAutoScalingUpdate(const AutoScalingSettingsUpdate& value) { SetProvisionedWriteCapacityAutoScalingUpdate(value); return *this;} 145 146 WithProvisionedWriteCapacityAutoScalingUpdate(AutoScalingSettingsUpdate && value)147 inline UpdateTableReplicaAutoScalingRequest& WithProvisionedWriteCapacityAutoScalingUpdate(AutoScalingSettingsUpdate&& value) { SetProvisionedWriteCapacityAutoScalingUpdate(std::move(value)); return *this;} 148 149 150 /** 151 * <p>Represents the auto scaling settings of replicas of the table that will be 152 * modified.</p> 153 */ GetReplicaUpdates()154 inline const Aws::Vector<ReplicaAutoScalingUpdate>& GetReplicaUpdates() const{ return m_replicaUpdates; } 155 156 /** 157 * <p>Represents the auto scaling settings of replicas of the table that will be 158 * modified.</p> 159 */ ReplicaUpdatesHasBeenSet()160 inline bool ReplicaUpdatesHasBeenSet() const { return m_replicaUpdatesHasBeenSet; } 161 162 /** 163 * <p>Represents the auto scaling settings of replicas of the table that will be 164 * modified.</p> 165 */ SetReplicaUpdates(const Aws::Vector<ReplicaAutoScalingUpdate> & value)166 inline void SetReplicaUpdates(const Aws::Vector<ReplicaAutoScalingUpdate>& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates = value; } 167 168 /** 169 * <p>Represents the auto scaling settings of replicas of the table that will be 170 * modified.</p> 171 */ SetReplicaUpdates(Aws::Vector<ReplicaAutoScalingUpdate> && value)172 inline void SetReplicaUpdates(Aws::Vector<ReplicaAutoScalingUpdate>&& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates = std::move(value); } 173 174 /** 175 * <p>Represents the auto scaling settings of replicas of the table that will be 176 * modified.</p> 177 */ WithReplicaUpdates(const Aws::Vector<ReplicaAutoScalingUpdate> & value)178 inline UpdateTableReplicaAutoScalingRequest& WithReplicaUpdates(const Aws::Vector<ReplicaAutoScalingUpdate>& value) { SetReplicaUpdates(value); return *this;} 179 180 /** 181 * <p>Represents the auto scaling settings of replicas of the table that will be 182 * modified.</p> 183 */ WithReplicaUpdates(Aws::Vector<ReplicaAutoScalingUpdate> && value)184 inline UpdateTableReplicaAutoScalingRequest& WithReplicaUpdates(Aws::Vector<ReplicaAutoScalingUpdate>&& value) { SetReplicaUpdates(std::move(value)); return *this;} 185 186 /** 187 * <p>Represents the auto scaling settings of replicas of the table that will be 188 * modified.</p> 189 */ AddReplicaUpdates(const ReplicaAutoScalingUpdate & value)190 inline UpdateTableReplicaAutoScalingRequest& AddReplicaUpdates(const ReplicaAutoScalingUpdate& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates.push_back(value); return *this; } 191 192 /** 193 * <p>Represents the auto scaling settings of replicas of the table that will be 194 * modified.</p> 195 */ AddReplicaUpdates(ReplicaAutoScalingUpdate && value)196 inline UpdateTableReplicaAutoScalingRequest& AddReplicaUpdates(ReplicaAutoScalingUpdate&& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates.push_back(std::move(value)); return *this; } 197 198 private: 199 200 Aws::Vector<GlobalSecondaryIndexAutoScalingUpdate> m_globalSecondaryIndexUpdates; 201 bool m_globalSecondaryIndexUpdatesHasBeenSet; 202 203 Aws::String m_tableName; 204 bool m_tableNameHasBeenSet; 205 206 AutoScalingSettingsUpdate m_provisionedWriteCapacityAutoScalingUpdate; 207 bool m_provisionedWriteCapacityAutoScalingUpdateHasBeenSet; 208 209 Aws::Vector<ReplicaAutoScalingUpdate> m_replicaUpdates; 210 bool m_replicaUpdatesHasBeenSet; 211 }; 212 213 } // namespace Model 214 } // namespace DynamoDB 215 } // namespace Aws 216