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

A personal contact or escalation plan that Incident Manager engages during an * incident.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline const Aws::String& GetContactArn() const{ return m_contactArn; } /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline bool ContactArnHasBeenSet() const { return m_contactArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline void SetContactArn(const Aws::String& value) { m_contactArnHasBeenSet = true; m_contactArn = value; } /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline void SetContactArn(Aws::String&& value) { m_contactArnHasBeenSet = true; m_contactArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline void SetContactArn(const char* value) { m_contactArnHasBeenSet = true; m_contactArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline Contact& WithContactArn(const Aws::String& value) { SetContactArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline Contact& WithContactArn(Aws::String&& value) { SetContactArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the contact or escalation plan.

*/ inline Contact& WithContactArn(const char* value) { SetContactArn(value); return *this;} /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline const Aws::String& GetAlias() const{ return m_alias; } /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline Contact& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline Contact& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} /** *

The unique and identifiable alias of the contact or escalation plan.

*/ inline Contact& WithAlias(const char* value) { SetAlias(value); return *this;} /** *

The full name of the contact or escalation plan.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The full name of the contact or escalation plan.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The full name of the contact or escalation plan.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The full name of the contact or escalation plan.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The full name of the contact or escalation plan.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The full name of the contact or escalation plan.

*/ inline Contact& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The full name of the contact or escalation plan.

*/ inline Contact& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The full name of the contact or escalation plan.

*/ inline Contact& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline const ContactType& GetType() const{ return m_type; } /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline void SetType(const ContactType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline void SetType(ContactType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline Contact& WithType(const ContactType& value) { SetType(value); return *this;} /** *

Refers to the type of contact. A single contact is type PERSONAL * and an escalation plan is type ESCALATION.

*/ inline Contact& WithType(ContactType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_contactArn; bool m_contactArnHasBeenSet = false; Aws::String m_alias; bool m_aliasHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; ContactType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace SSMContacts } // namespace Aws