/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace RedshiftServerless { namespace Model { /** */ class UpdateUsageLimitRequest : public RedshiftServerlessRequest { public: AWS_REDSHIFTSERVERLESS_API UpdateUsageLimitRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateUsageLimit"; } AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override; AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The new limit amount. If time-based, this amount is in Redshift Processing * Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) * of data transferred between Regions in cross-account sharing. The value must be * a positive number.

*/ inline long long GetAmount() const{ return m_amount; } /** *

The new limit amount. If time-based, this amount is in Redshift Processing * Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) * of data transferred between Regions in cross-account sharing. The value must be * a positive number.

*/ inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; } /** *

The new limit amount. If time-based, this amount is in Redshift Processing * Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) * of data transferred between Regions in cross-account sharing. The value must be * a positive number.

*/ inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; } /** *

The new limit amount. If time-based, this amount is in Redshift Processing * Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) * of data transferred between Regions in cross-account sharing. The value must be * a positive number.

*/ inline UpdateUsageLimitRequest& WithAmount(long long value) { SetAmount(value); return *this;} /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; } /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; } /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; } /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); } /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline UpdateUsageLimitRequest& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;} /** *

The new action that Amazon Redshift Serverless takes when the limit is * reached.

*/ inline UpdateUsageLimitRequest& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;} /** *

The identifier of the usage limit to update.

*/ inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; } /** *

The identifier of the usage limit to update.

*/ inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; } /** *

The identifier of the usage limit to update.

*/ inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; } /** *

The identifier of the usage limit to update.

*/ inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); } /** *

The identifier of the usage limit to update.

*/ inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); } /** *

The identifier of the usage limit to update.

*/ inline UpdateUsageLimitRequest& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;} /** *

The identifier of the usage limit to update.

*/ inline UpdateUsageLimitRequest& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;} /** *

The identifier of the usage limit to update.

*/ inline UpdateUsageLimitRequest& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;} private: long long m_amount; bool m_amountHasBeenSet = false; UsageLimitBreachAction m_breachAction; bool m_breachActionHasBeenSet = false; Aws::String m_usageLimitId; bool m_usageLimitIdHasBeenSet = false; }; } // namespace Model } // namespace RedshiftServerless } // namespace Aws