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/redshift/Redshift_EXPORTS.h> 8 #include <aws/redshift/RedshiftRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/redshift/model/UsageLimitBreachAction.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Redshift 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_REDSHIFT_API ModifyUsageLimitRequest : public RedshiftRequest 23 { 24 public: 25 ModifyUsageLimitRequest(); 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 "ModifyUsageLimit"; } 32 33 Aws::String SerializePayload() const override; 34 35 protected: 36 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 37 38 public: 39 40 /** 41 * <p>The identifier of the usage limit to modify.</p> 42 */ GetUsageLimitId()43 inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; } 44 45 /** 46 * <p>The identifier of the usage limit to modify.</p> 47 */ UsageLimitIdHasBeenSet()48 inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; } 49 50 /** 51 * <p>The identifier of the usage limit to modify.</p> 52 */ SetUsageLimitId(const Aws::String & value)53 inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; } 54 55 /** 56 * <p>The identifier of the usage limit to modify.</p> 57 */ SetUsageLimitId(Aws::String && value)58 inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); } 59 60 /** 61 * <p>The identifier of the usage limit to modify.</p> 62 */ SetUsageLimitId(const char * value)63 inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); } 64 65 /** 66 * <p>The identifier of the usage limit to modify.</p> 67 */ WithUsageLimitId(const Aws::String & value)68 inline ModifyUsageLimitRequest& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;} 69 70 /** 71 * <p>The identifier of the usage limit to modify.</p> 72 */ WithUsageLimitId(Aws::String && value)73 inline ModifyUsageLimitRequest& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;} 74 75 /** 76 * <p>The identifier of the usage limit to modify.</p> 77 */ WithUsageLimitId(const char * value)78 inline ModifyUsageLimitRequest& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;} 79 80 81 /** 82 * <p>The new limit amount. For more information about this parameter, see 83 * <a>UsageLimit</a>. </p> 84 */ GetAmount()85 inline long long GetAmount() const{ return m_amount; } 86 87 /** 88 * <p>The new limit amount. For more information about this parameter, see 89 * <a>UsageLimit</a>. </p> 90 */ AmountHasBeenSet()91 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; } 92 93 /** 94 * <p>The new limit amount. For more information about this parameter, see 95 * <a>UsageLimit</a>. </p> 96 */ SetAmount(long long value)97 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; } 98 99 /** 100 * <p>The new limit amount. For more information about this parameter, see 101 * <a>UsageLimit</a>. </p> 102 */ WithAmount(long long value)103 inline ModifyUsageLimitRequest& WithAmount(long long value) { SetAmount(value); return *this;} 104 105 106 /** 107 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 108 * information about this parameter, see <a>UsageLimit</a>. </p> 109 */ GetBreachAction()110 inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; } 111 112 /** 113 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 114 * information about this parameter, see <a>UsageLimit</a>. </p> 115 */ BreachActionHasBeenSet()116 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; } 117 118 /** 119 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 120 * information about this parameter, see <a>UsageLimit</a>. </p> 121 */ SetBreachAction(const UsageLimitBreachAction & value)122 inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; } 123 124 /** 125 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 126 * information about this parameter, see <a>UsageLimit</a>. </p> 127 */ SetBreachAction(UsageLimitBreachAction && value)128 inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); } 129 130 /** 131 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 132 * information about this parameter, see <a>UsageLimit</a>. </p> 133 */ WithBreachAction(const UsageLimitBreachAction & value)134 inline ModifyUsageLimitRequest& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;} 135 136 /** 137 * <p>The new action that Amazon Redshift takes when the limit is reached. For more 138 * information about this parameter, see <a>UsageLimit</a>. </p> 139 */ WithBreachAction(UsageLimitBreachAction && value)140 inline ModifyUsageLimitRequest& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;} 141 142 private: 143 144 Aws::String m_usageLimitId; 145 bool m_usageLimitIdHasBeenSet; 146 147 long long m_amount; 148 bool m_amountHasBeenSet; 149 150 UsageLimitBreachAction m_breachAction; 151 bool m_breachActionHasBeenSet; 152 }; 153 154 } // namespace Model 155 } // namespace Redshift 156 } // namespace Aws 157