/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a quota.See Also:
AWS
* API Reference
The service identifier.
*/ inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } /** *The service identifier.
*/ inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } /** *The service identifier.
*/ inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } /** *The service identifier.
*/ inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } /** *The service identifier.
*/ inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } /** *The service identifier.
*/ inline ServiceQuota& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} /** *The service identifier.
*/ inline ServiceQuota& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} /** *The service identifier.
*/ inline ServiceQuota& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} /** *The service name.
*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *The service name.
*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *The service name.
*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *The service name.
*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *The service name.
*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *The service name.
*/ inline ServiceQuota& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *The service name.
*/ inline ServiceQuota& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *The service name.
*/ inline ServiceQuota& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *The Amazon Resource Name (ARN) of the quota.
*/ inline const Aws::String& GetQuotaArn() const{ return m_quotaArn; } /** *The Amazon Resource Name (ARN) of the quota.
*/ inline bool QuotaArnHasBeenSet() const { return m_quotaArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the quota.
*/ inline void SetQuotaArn(const Aws::String& value) { m_quotaArnHasBeenSet = true; m_quotaArn = value; } /** *The Amazon Resource Name (ARN) of the quota.
*/ inline void SetQuotaArn(Aws::String&& value) { m_quotaArnHasBeenSet = true; m_quotaArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the quota.
*/ inline void SetQuotaArn(const char* value) { m_quotaArnHasBeenSet = true; m_quotaArn.assign(value); } /** *The Amazon Resource Name (ARN) of the quota.
*/ inline ServiceQuota& WithQuotaArn(const Aws::String& value) { SetQuotaArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the quota.
*/ inline ServiceQuota& WithQuotaArn(Aws::String&& value) { SetQuotaArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the quota.
*/ inline ServiceQuota& WithQuotaArn(const char* value) { SetQuotaArn(value); return *this;} /** *The quota identifier.
*/ inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } /** *The quota identifier.
*/ inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } /** *The quota identifier.
*/ inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } /** *The quota identifier.
*/ inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } /** *The quota identifier.
*/ inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } /** *The quota identifier.
*/ inline ServiceQuota& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} /** *The quota identifier.
*/ inline ServiceQuota& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} /** *The quota identifier.
*/ inline ServiceQuota& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} /** *The quota name.
*/ inline const Aws::String& GetQuotaName() const{ return m_quotaName; } /** *The quota name.
*/ inline bool QuotaNameHasBeenSet() const { return m_quotaNameHasBeenSet; } /** *The quota name.
*/ inline void SetQuotaName(const Aws::String& value) { m_quotaNameHasBeenSet = true; m_quotaName = value; } /** *The quota name.
*/ inline void SetQuotaName(Aws::String&& value) { m_quotaNameHasBeenSet = true; m_quotaName = std::move(value); } /** *The quota name.
*/ inline void SetQuotaName(const char* value) { m_quotaNameHasBeenSet = true; m_quotaName.assign(value); } /** *The quota name.
*/ inline ServiceQuota& WithQuotaName(const Aws::String& value) { SetQuotaName(value); return *this;} /** *The quota name.
*/ inline ServiceQuota& WithQuotaName(Aws::String&& value) { SetQuotaName(std::move(value)); return *this;} /** *The quota name.
*/ inline ServiceQuota& WithQuotaName(const char* value) { SetQuotaName(value); return *this;} /** *The quota value.
*/ inline double GetValue() const{ return m_value; } /** *The quota value.
*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *The quota value.
*/ inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } /** *The quota value.
*/ inline ServiceQuota& WithValue(double value) { SetValue(value); return *this;} /** *The unit of measurement.
*/ inline const Aws::String& GetUnit() const{ return m_unit; } /** *The unit of measurement.
*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *The unit of measurement.
*/ inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } /** *The unit of measurement.
*/ inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *The unit of measurement.
*/ inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } /** *The unit of measurement.
*/ inline ServiceQuota& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} /** *The unit of measurement.
*/ inline ServiceQuota& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} /** *The unit of measurement.
*/ inline ServiceQuota& WithUnit(const char* value) { SetUnit(value); return *this;} /** *Indicates whether the quota value can be increased.
*/ inline bool GetAdjustable() const{ return m_adjustable; } /** *Indicates whether the quota value can be increased.
*/ inline bool AdjustableHasBeenSet() const { return m_adjustableHasBeenSet; } /** *Indicates whether the quota value can be increased.
*/ inline void SetAdjustable(bool value) { m_adjustableHasBeenSet = true; m_adjustable = value; } /** *Indicates whether the quota value can be increased.
*/ inline ServiceQuota& WithAdjustable(bool value) { SetAdjustable(value); return *this;} /** *Indicates whether the quota is global.
*/ inline bool GetGlobalQuota() const{ return m_globalQuota; } /** *Indicates whether the quota is global.
*/ inline bool GlobalQuotaHasBeenSet() const { return m_globalQuotaHasBeenSet; } /** *Indicates whether the quota is global.
*/ inline void SetGlobalQuota(bool value) { m_globalQuotaHasBeenSet = true; m_globalQuota = value; } /** *Indicates whether the quota is global.
*/ inline ServiceQuota& WithGlobalQuota(bool value) { SetGlobalQuota(value); return *this;} /** *Information about the measurement.
*/ inline const MetricInfo& GetUsageMetric() const{ return m_usageMetric; } /** *Information about the measurement.
*/ inline bool UsageMetricHasBeenSet() const { return m_usageMetricHasBeenSet; } /** *Information about the measurement.
*/ inline void SetUsageMetric(const MetricInfo& value) { m_usageMetricHasBeenSet = true; m_usageMetric = value; } /** *Information about the measurement.
*/ inline void SetUsageMetric(MetricInfo&& value) { m_usageMetricHasBeenSet = true; m_usageMetric = std::move(value); } /** *Information about the measurement.
*/ inline ServiceQuota& WithUsageMetric(const MetricInfo& value) { SetUsageMetric(value); return *this;} /** *Information about the measurement.
*/ inline ServiceQuota& WithUsageMetric(MetricInfo&& value) { SetUsageMetric(std::move(value)); return *this;} /** *The period of time.
*/ inline const QuotaPeriod& GetPeriod() const{ return m_period; } /** *The period of time.
*/ inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } /** *The period of time.
*/ inline void SetPeriod(const QuotaPeriod& value) { m_periodHasBeenSet = true; m_period = value; } /** *The period of time.
*/ inline void SetPeriod(QuotaPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } /** *The period of time.
*/ inline ServiceQuota& WithPeriod(const QuotaPeriod& value) { SetPeriod(value); return *this;} /** *The period of time.
*/ inline ServiceQuota& WithPeriod(QuotaPeriod&& value) { SetPeriod(std::move(value)); return *this;} /** *The error code and error reason.
*/ inline const ErrorReason& GetErrorReason() const{ return m_errorReason; } /** *The error code and error reason.
*/ inline bool ErrorReasonHasBeenSet() const { return m_errorReasonHasBeenSet; } /** *The error code and error reason.
*/ inline void SetErrorReason(const ErrorReason& value) { m_errorReasonHasBeenSet = true; m_errorReason = value; } /** *The error code and error reason.
*/ inline void SetErrorReason(ErrorReason&& value) { m_errorReasonHasBeenSet = true; m_errorReason = std::move(value); } /** *The error code and error reason.
*/ inline ServiceQuota& WithErrorReason(const ErrorReason& value) { SetErrorReason(value); return *this;} /** *The error code and error reason.
*/ inline ServiceQuota& WithErrorReason(ErrorReason&& value) { SetErrorReason(std::move(value)); return *this;} private: Aws::String m_serviceCode; bool m_serviceCodeHasBeenSet = false; Aws::String m_serviceName; bool m_serviceNameHasBeenSet = false; Aws::String m_quotaArn; bool m_quotaArnHasBeenSet = false; Aws::String m_quotaCode; bool m_quotaCodeHasBeenSet = false; Aws::String m_quotaName; bool m_quotaNameHasBeenSet = false; double m_value; bool m_valueHasBeenSet = false; Aws::String m_unit; bool m_unitHasBeenSet = false; bool m_adjustable; bool m_adjustableHasBeenSet = false; bool m_globalQuota; bool m_globalQuotaHasBeenSet = false; MetricInfo m_usageMetric; bool m_usageMetricHasBeenSet = false; QuotaPeriod m_period; bool m_periodHasBeenSet = false; ErrorReason m_errorReason; bool m_errorReasonHasBeenSet = false; }; } // namespace Model } // namespace ServiceQuotas } // namespace Aws