/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 stages and on-call rotation teams associated with an * escalation plan or engagement plan.

See Also:

AWS * API Reference

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

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline const Aws::Vector& GetStages() const{ return m_stages; } /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline bool StagesHasBeenSet() const { return m_stagesHasBeenSet; } /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline void SetStages(const Aws::Vector& value) { m_stagesHasBeenSet = true; m_stages = value; } /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline void SetStages(Aws::Vector&& value) { m_stagesHasBeenSet = true; m_stages = std::move(value); } /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline Plan& WithStages(const Aws::Vector& value) { SetStages(value); return *this;} /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline Plan& WithStages(Aws::Vector&& value) { SetStages(std::move(value)); return *this;} /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline Plan& AddStages(const Stage& value) { m_stagesHasBeenSet = true; m_stages.push_back(value); return *this; } /** *

A list of stages that the escalation plan or engagement plan uses to engage * contacts and contact methods.

*/ inline Plan& AddStages(Stage&& value) { m_stagesHasBeenSet = true; m_stages.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline const Aws::Vector& GetRotationIds() const{ return m_rotationIds; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline bool RotationIdsHasBeenSet() const { return m_rotationIdsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline void SetRotationIds(const Aws::Vector& value) { m_rotationIdsHasBeenSet = true; m_rotationIds = value; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline void SetRotationIds(Aws::Vector&& value) { m_rotationIdsHasBeenSet = true; m_rotationIds = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline Plan& WithRotationIds(const Aws::Vector& value) { SetRotationIds(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline Plan& WithRotationIds(Aws::Vector&& value) { SetRotationIds(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline Plan& AddRotationIds(const Aws::String& value) { m_rotationIdsHasBeenSet = true; m_rotationIds.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline Plan& AddRotationIds(Aws::String&& value) { m_rotationIdsHasBeenSet = true; m_rotationIds.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the on-call rotations associated with the * plan.

*/ inline Plan& AddRotationIds(const char* value) { m_rotationIdsHasBeenSet = true; m_rotationIds.push_back(value); return *this; } private: Aws::Vector m_stages; bool m_stagesHasBeenSet = false; Aws::Vector m_rotationIds; bool m_rotationIdsHasBeenSet = false; }; } // namespace Model } // namespace SSMContacts } // namespace Aws