/** * 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 Account { namespace Model { /** *

A structure that contains the details of an alternate contact associated with * an Amazon Web Services account

See Also:

AWS * API Reference

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

The type of alternate contact.

*/ inline const AlternateContactType& GetAlternateContactType() const{ return m_alternateContactType; } /** *

The type of alternate contact.

*/ inline bool AlternateContactTypeHasBeenSet() const { return m_alternateContactTypeHasBeenSet; } /** *

The type of alternate contact.

*/ inline void SetAlternateContactType(const AlternateContactType& value) { m_alternateContactTypeHasBeenSet = true; m_alternateContactType = value; } /** *

The type of alternate contact.

*/ inline void SetAlternateContactType(AlternateContactType&& value) { m_alternateContactTypeHasBeenSet = true; m_alternateContactType = std::move(value); } /** *

The type of alternate contact.

*/ inline AlternateContact& WithAlternateContactType(const AlternateContactType& value) { SetAlternateContactType(value); return *this;} /** *

The type of alternate contact.

*/ inline AlternateContact& WithAlternateContactType(AlternateContactType&& value) { SetAlternateContactType(std::move(value)); return *this;} /** *

The email address associated with this alternate contact.

*/ inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; } /** *

The email address associated with this alternate contact.

*/ inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; } /** *

The email address associated with this alternate contact.

*/ inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; } /** *

The email address associated with this alternate contact.

*/ inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); } /** *

The email address associated with this alternate contact.

*/ inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); } /** *

The email address associated with this alternate contact.

*/ inline AlternateContact& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;} /** *

The email address associated with this alternate contact.

*/ inline AlternateContact& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;} /** *

The email address associated with this alternate contact.

*/ inline AlternateContact& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;} /** *

The name associated with this alternate contact.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name associated with this alternate contact.

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

The name associated with this alternate contact.

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

The name associated with this alternate contact.

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

The name associated with this alternate contact.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name associated with this alternate contact.

*/ inline AlternateContact& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name associated with this alternate contact.

*/ inline AlternateContact& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name associated with this alternate contact.

*/ inline AlternateContact& WithName(const char* value) { SetName(value); return *this;} /** *

The phone number associated with this alternate contact.

*/ inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; } /** *

The phone number associated with this alternate contact.

*/ inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; } /** *

The phone number associated with this alternate contact.

*/ inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = value; } /** *

The phone number associated with this alternate contact.

*/ inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::move(value); } /** *

The phone number associated with this alternate contact.

*/ inline void SetPhoneNumber(const char* value) { m_phoneNumberHasBeenSet = true; m_phoneNumber.assign(value); } /** *

The phone number associated with this alternate contact.

*/ inline AlternateContact& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;} /** *

The phone number associated with this alternate contact.

*/ inline AlternateContact& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;} /** *

The phone number associated with this alternate contact.

*/ inline AlternateContact& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;} /** *

The title associated with this alternate contact.

*/ inline const Aws::String& GetTitle() const{ return m_title; } /** *

The title associated with this alternate contact.

*/ inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } /** *

The title associated with this alternate contact.

*/ inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } /** *

The title associated with this alternate contact.

*/ inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } /** *

The title associated with this alternate contact.

*/ inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } /** *

The title associated with this alternate contact.

*/ inline AlternateContact& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} /** *

The title associated with this alternate contact.

*/ inline AlternateContact& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} /** *

The title associated with this alternate contact.

*/ inline AlternateContact& WithTitle(const char* value) { SetTitle(value); return *this;} private: AlternateContactType m_alternateContactType; bool m_alternateContactTypeHasBeenSet = false; Aws::String m_emailAddress; bool m_emailAddressHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_phoneNumber; bool m_phoneNumberHasBeenSet = false; Aws::String m_title; bool m_titleHasBeenSet = false; }; } // namespace Model } // namespace Account } // namespace Aws