/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The usage limit object.See Also:
AWS
* API Reference
The limit amount. If time-based, this amount is in RPUs consumed per hour. If * data-based, this amount is in terabytes (TB). The value must be a positive * number.
*/ inline long long GetAmount() const{ return m_amount; } /** *The limit amount. If time-based, this amount is in RPUs consumed per hour. If * data-based, this amount is in terabytes (TB). The value must be a positive * number.
*/ inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; } /** *The limit amount. If time-based, this amount is in RPUs consumed per hour. If * data-based, this amount is in terabytes (TB). The value must be a positive * number.
*/ inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; } /** *The limit amount. If time-based, this amount is in RPUs consumed per hour. If * data-based, this amount is in terabytes (TB). The value must be a positive * number.
*/ inline UsageLimit& WithAmount(long long value) { SetAmount(value); return *this;} /** *The action that Amazon Redshift Serverless takes when the limit is * reached.
*/ inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; } /** *The action that Amazon Redshift Serverless takes when the limit is * reached.
*/ inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; } /** *The action that Amazon Redshift Serverless takes when the limit is * reached.
*/ inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; } /** *The 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 action that Amazon Redshift Serverless takes when the limit is * reached.
*/ inline UsageLimit& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;} /** *The action that Amazon Redshift Serverless takes when the limit is * reached.
*/ inline UsageLimit& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;} /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline const UsageLimitPeriod& GetPeriod() const{ return m_period; } /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; } /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline UsageLimit& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;} /** *The time period that the amount applies to. A weekly period begins on Sunday. * The default is monthly.
*/ inline UsageLimit& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline UsageLimit& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline UsageLimit& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless * resource.
*/ inline UsageLimit& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline const Aws::String& GetUsageLimitArn() const{ return m_usageLimitArn; } /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline bool UsageLimitArnHasBeenSet() const { return m_usageLimitArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline void SetUsageLimitArn(const Aws::String& value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn = value; } /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline void SetUsageLimitArn(Aws::String&& value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline void SetUsageLimitArn(const char* value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn.assign(value); } /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline UsageLimit& WithUsageLimitArn(const Aws::String& value) { SetUsageLimitArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline UsageLimit& WithUsageLimitArn(Aws::String&& value) { SetUsageLimitArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the resource associated with the usage * limit.
*/ inline UsageLimit& WithUsageLimitArn(const char* value) { SetUsageLimitArn(value); return *this;} /** *The identifier of the usage limit.
*/ inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; } /** *The identifier of the usage limit.
*/ inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; } /** *The identifier of the usage limit.
*/ inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; } /** *The identifier of the usage limit.
*/ inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); } /** *The identifier of the usage limit.
*/ inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); } /** *The identifier of the usage limit.
*/ inline UsageLimit& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;} /** *The identifier of the usage limit.
*/ inline UsageLimit& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;} /** *The identifier of the usage limit.
*/ inline UsageLimit& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;} /** *The Amazon Redshift Serverless feature to limit.
*/ inline const UsageLimitUsageType& GetUsageType() const{ return m_usageType; } /** *The Amazon Redshift Serverless feature to limit.
*/ inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; } /** *The Amazon Redshift Serverless feature to limit.
*/ inline void SetUsageType(const UsageLimitUsageType& value) { m_usageTypeHasBeenSet = true; m_usageType = value; } /** *The Amazon Redshift Serverless feature to limit.
*/ inline void SetUsageType(UsageLimitUsageType&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); } /** *The Amazon Redshift Serverless feature to limit.
*/ inline UsageLimit& WithUsageType(const UsageLimitUsageType& value) { SetUsageType(value); return *this;} /** *The Amazon Redshift Serverless feature to limit.
*/ inline UsageLimit& WithUsageType(UsageLimitUsageType&& value) { SetUsageType(std::move(value)); return *this;} private: long long m_amount; bool m_amountHasBeenSet = false; UsageLimitBreachAction m_breachAction; bool m_breachActionHasBeenSet = false; UsageLimitPeriod m_period; bool m_periodHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_usageLimitArn; bool m_usageLimitArnHasBeenSet = false; Aws::String m_usageLimitId; bool m_usageLimitIdHasBeenSet = false; UsageLimitUsageType m_usageType; bool m_usageTypeHasBeenSet = false; }; } // namespace Model } // namespace RedshiftServerless } // namespace Aws