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

The subscriber to a budget notification. The subscriber consists of a * subscription type and either an Amazon SNS topic or an email address.

For * example, an email subscriber has the following parameters:

  • A * subscriptionType of EMAIL

  • An * address of example@example.com

  • *

See Also:

AWS * API Reference

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

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline const SubscriptionType& GetSubscriptionType() const{ return m_subscriptionType; } /** *

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline bool SubscriptionTypeHasBeenSet() const { return m_subscriptionTypeHasBeenSet; } /** *

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline void SetSubscriptionType(const SubscriptionType& value) { m_subscriptionTypeHasBeenSet = true; m_subscriptionType = value; } /** *

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline void SetSubscriptionType(SubscriptionType&& value) { m_subscriptionTypeHasBeenSet = true; m_subscriptionType = std::move(value); } /** *

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline Subscriber& WithSubscriptionType(const SubscriptionType& value) { SetSubscriptionType(value); return *this;} /** *

The type of notification that Amazon Web Services sends to a subscriber.

*/ inline Subscriber& WithSubscriptionType(SubscriptionType&& value) { SetSubscriptionType(std::move(value)); return *this;} /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline const Aws::String& GetAddress() const{ return m_address; } /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline Subscriber& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline Subscriber& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} /** *

The address that Amazon Web Services sends budget notifications to, either an * SNS topic or an email.

When you create a subscriber, the value of * Address can't contain line breaks.

*/ inline Subscriber& WithAddress(const char* value) { SetAddress(value); return *this;} private: SubscriptionType m_subscriptionType; bool m_subscriptionTypeHasBeenSet = false; Aws::String m_address; bool m_addressHasBeenSet = false; }; } // namespace Model } // namespace Budgets } // namespace Aws