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

Contains information about a hierarchy structure.

See Also:

* AWS * API Reference

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

Information about level one.

*/ inline const HierarchyLevel& GetLevelOne() const{ return m_levelOne; } /** *

Information about level one.

*/ inline bool LevelOneHasBeenSet() const { return m_levelOneHasBeenSet; } /** *

Information about level one.

*/ inline void SetLevelOne(const HierarchyLevel& value) { m_levelOneHasBeenSet = true; m_levelOne = value; } /** *

Information about level one.

*/ inline void SetLevelOne(HierarchyLevel&& value) { m_levelOneHasBeenSet = true; m_levelOne = std::move(value); } /** *

Information about level one.

*/ inline HierarchyStructure& WithLevelOne(const HierarchyLevel& value) { SetLevelOne(value); return *this;} /** *

Information about level one.

*/ inline HierarchyStructure& WithLevelOne(HierarchyLevel&& value) { SetLevelOne(std::move(value)); return *this;} /** *

Information about level two.

*/ inline const HierarchyLevel& GetLevelTwo() const{ return m_levelTwo; } /** *

Information about level two.

*/ inline bool LevelTwoHasBeenSet() const { return m_levelTwoHasBeenSet; } /** *

Information about level two.

*/ inline void SetLevelTwo(const HierarchyLevel& value) { m_levelTwoHasBeenSet = true; m_levelTwo = value; } /** *

Information about level two.

*/ inline void SetLevelTwo(HierarchyLevel&& value) { m_levelTwoHasBeenSet = true; m_levelTwo = std::move(value); } /** *

Information about level two.

*/ inline HierarchyStructure& WithLevelTwo(const HierarchyLevel& value) { SetLevelTwo(value); return *this;} /** *

Information about level two.

*/ inline HierarchyStructure& WithLevelTwo(HierarchyLevel&& value) { SetLevelTwo(std::move(value)); return *this;} /** *

Information about level three.

*/ inline const HierarchyLevel& GetLevelThree() const{ return m_levelThree; } /** *

Information about level three.

*/ inline bool LevelThreeHasBeenSet() const { return m_levelThreeHasBeenSet; } /** *

Information about level three.

*/ inline void SetLevelThree(const HierarchyLevel& value) { m_levelThreeHasBeenSet = true; m_levelThree = value; } /** *

Information about level three.

*/ inline void SetLevelThree(HierarchyLevel&& value) { m_levelThreeHasBeenSet = true; m_levelThree = std::move(value); } /** *

Information about level three.

*/ inline HierarchyStructure& WithLevelThree(const HierarchyLevel& value) { SetLevelThree(value); return *this;} /** *

Information about level three.

*/ inline HierarchyStructure& WithLevelThree(HierarchyLevel&& value) { SetLevelThree(std::move(value)); return *this;} /** *

Information about level four.

*/ inline const HierarchyLevel& GetLevelFour() const{ return m_levelFour; } /** *

Information about level four.

*/ inline bool LevelFourHasBeenSet() const { return m_levelFourHasBeenSet; } /** *

Information about level four.

*/ inline void SetLevelFour(const HierarchyLevel& value) { m_levelFourHasBeenSet = true; m_levelFour = value; } /** *

Information about level four.

*/ inline void SetLevelFour(HierarchyLevel&& value) { m_levelFourHasBeenSet = true; m_levelFour = std::move(value); } /** *

Information about level four.

*/ inline HierarchyStructure& WithLevelFour(const HierarchyLevel& value) { SetLevelFour(value); return *this;} /** *

Information about level four.

*/ inline HierarchyStructure& WithLevelFour(HierarchyLevel&& value) { SetLevelFour(std::move(value)); return *this;} /** *

Information about level five.

*/ inline const HierarchyLevel& GetLevelFive() const{ return m_levelFive; } /** *

Information about level five.

*/ inline bool LevelFiveHasBeenSet() const { return m_levelFiveHasBeenSet; } /** *

Information about level five.

*/ inline void SetLevelFive(const HierarchyLevel& value) { m_levelFiveHasBeenSet = true; m_levelFive = value; } /** *

Information about level five.

*/ inline void SetLevelFive(HierarchyLevel&& value) { m_levelFiveHasBeenSet = true; m_levelFive = std::move(value); } /** *

Information about level five.

*/ inline HierarchyStructure& WithLevelFive(const HierarchyLevel& value) { SetLevelFive(value); return *this;} /** *

Information about level five.

*/ inline HierarchyStructure& WithLevelFive(HierarchyLevel&& value) { SetLevelFive(std::move(value)); return *this;} private: HierarchyLevel m_levelOne; bool m_levelOneHasBeenSet = false; HierarchyLevel m_levelTwo; bool m_levelTwoHasBeenSet = false; HierarchyLevel m_levelThree; bool m_levelThreeHasBeenSet = false; HierarchyLevel m_levelFour; bool m_levelFourHasBeenSet = false; HierarchyLevel m_levelFive; bool m_levelFiveHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws