/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServiceQuotas { namespace Model { /** *

Information about a quota.

See Also:

AWS * API Reference

*/ class ServiceQuota { public: AWS_SERVICEQUOTAS_API ServiceQuota(); AWS_SERVICEQUOTAS_API ServiceQuota(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICEQUOTAS_API ServiceQuota& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICEQUOTAS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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