/** * 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 { /** *

Information about the engagement resolution steps. The resolution starts from * the first contact, which can be an escalation plan, then resolves to an on-call * rotation, and finally to a personal contact.

The * ResolutionContact structure describes the information for each node * or step in that process. It contains information about different contact types, * such as the escalation, rotation, and personal contacts.

See * Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The Amazon Resource Name (ARN) of a contact in the engagement resolution * process.

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

The type of contact for a resolution step.

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

The type of contact for a resolution step.

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

The type of contact for a resolution step.

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

The type of contact for a resolution step.

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

The type of contact for a resolution step.

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

The type of contact for a resolution step.

*/ inline ResolutionContact& WithType(ContactType&& value) { SetType(std::move(value)); return *this;} /** *

The stage in the escalation plan that resolves to this contact.

*/ inline int GetStageIndex() const{ return m_stageIndex; } /** *

The stage in the escalation plan that resolves to this contact.

*/ inline bool StageIndexHasBeenSet() const { return m_stageIndexHasBeenSet; } /** *

The stage in the escalation plan that resolves to this contact.

*/ inline void SetStageIndex(int value) { m_stageIndexHasBeenSet = true; m_stageIndex = value; } /** *

The stage in the escalation plan that resolves to this contact.

*/ inline ResolutionContact& WithStageIndex(int value) { SetStageIndex(value); return *this;} private: Aws::String m_contactArn; bool m_contactArnHasBeenSet = false; ContactType m_type; bool m_typeHasBeenSet = false; int m_stageIndex; bool m_stageIndexHasBeenSet = false; }; } // namespace Model } // namespace SSMContacts } // namespace Aws