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

Describes the current Amazon Pinpoint monthly spend limits for sending voice * and text messages. For more information on increasing your monthly spend limit, * see * Requesting increases to your monthly SMS spending quota for Amazon Pinpoint * in the Amazon Pinpoint User Guide.

See Also:

AWS * API Reference

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

The name for the SpendLimit.

*/ inline const SpendLimitName& GetName() const{ return m_name; } /** *

The name for the SpendLimit.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name for the SpendLimit.

*/ inline void SetName(const SpendLimitName& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name for the SpendLimit.

*/ inline void SetName(SpendLimitName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name for the SpendLimit.

*/ inline SpendLimit& WithName(const SpendLimitName& value) { SetName(value); return *this;} /** *

The name for the SpendLimit.

*/ inline SpendLimit& WithName(SpendLimitName&& value) { SetName(std::move(value)); return *this;} /** *

The maximum amount of money, in US dollars, that you want to be able to spend * sending messages each month. This value has to be less than or equal to the * amount in MaxLimit. To use this custom limit, * Overridden must be set to true.

*/ inline long long GetEnforcedLimit() const{ return m_enforcedLimit; } /** *

The maximum amount of money, in US dollars, that you want to be able to spend * sending messages each month. This value has to be less than or equal to the * amount in MaxLimit. To use this custom limit, * Overridden must be set to true.

*/ inline bool EnforcedLimitHasBeenSet() const { return m_enforcedLimitHasBeenSet; } /** *

The maximum amount of money, in US dollars, that you want to be able to spend * sending messages each month. This value has to be less than or equal to the * amount in MaxLimit. To use this custom limit, * Overridden must be set to true.

*/ inline void SetEnforcedLimit(long long value) { m_enforcedLimitHasBeenSet = true; m_enforcedLimit = value; } /** *

The maximum amount of money, in US dollars, that you want to be able to spend * sending messages each month. This value has to be less than or equal to the * amount in MaxLimit. To use this custom limit, * Overridden must be set to true.

*/ inline SpendLimit& WithEnforcedLimit(long long value) { SetEnforcedLimit(value); return *this;} /** *

The maximum amount of money that you are able to spend to send messages each * month, in US dollars.

*/ inline long long GetMaxLimit() const{ return m_maxLimit; } /** *

The maximum amount of money that you are able to spend to send messages each * month, in US dollars.

*/ inline bool MaxLimitHasBeenSet() const { return m_maxLimitHasBeenSet; } /** *

The maximum amount of money that you are able to spend to send messages each * month, in US dollars.

*/ inline void SetMaxLimit(long long value) { m_maxLimitHasBeenSet = true; m_maxLimit = value; } /** *

The maximum amount of money that you are able to spend to send messages each * month, in US dollars.

*/ inline SpendLimit& WithMaxLimit(long long value) { SetMaxLimit(value); return *this;} /** *

When set to True, the value that has been specified in the * EnforcedLimit is used to determine the maximum amount in US dollars * that can be spent to send messages each month, in US dollars.

*/ inline bool GetOverridden() const{ return m_overridden; } /** *

When set to True, the value that has been specified in the * EnforcedLimit is used to determine the maximum amount in US dollars * that can be spent to send messages each month, in US dollars.

*/ inline bool OverriddenHasBeenSet() const { return m_overriddenHasBeenSet; } /** *

When set to True, the value that has been specified in the * EnforcedLimit is used to determine the maximum amount in US dollars * that can be spent to send messages each month, in US dollars.

*/ inline void SetOverridden(bool value) { m_overriddenHasBeenSet = true; m_overridden = value; } /** *

When set to True, the value that has been specified in the * EnforcedLimit is used to determine the maximum amount in US dollars * that can be spent to send messages each month, in US dollars.

*/ inline SpendLimit& WithOverridden(bool value) { SetOverridden(value); return *this;} private: SpendLimitName m_name; bool m_nameHasBeenSet = false; long long m_enforcedLimit; bool m_enforcedLimitHasBeenSet = false; long long m_maxLimit; bool m_maxLimitHasBeenSet = false; bool m_overridden; bool m_overriddenHasBeenSet = false; }; } // namespace Model } // namespace PinpointSMSVoiceV2 } // namespace Aws