/** * 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 the level hierarchy to update.

See * Also:

AWS * API Reference

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

The update for level one.

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

The update for level one.

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

The update for level one.

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

The update for level one.

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

The update for level one.

*/ inline HierarchyStructureUpdate& WithLevelOne(const HierarchyLevelUpdate& value) { SetLevelOne(value); return *this;} /** *

The update for level one.

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

The update for level two.

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

The update for level two.

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

The update for level two.

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

The update for level two.

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

The update for level two.

*/ inline HierarchyStructureUpdate& WithLevelTwo(const HierarchyLevelUpdate& value) { SetLevelTwo(value); return *this;} /** *

The update for level two.

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

The update for level three.

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

The update for level three.

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

The update for level three.

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

The update for level three.

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

The update for level three.

*/ inline HierarchyStructureUpdate& WithLevelThree(const HierarchyLevelUpdate& value) { SetLevelThree(value); return *this;} /** *

The update for level three.

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

The update for level four.

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

The update for level four.

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

The update for level four.

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

The update for level four.

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

The update for level four.

*/ inline HierarchyStructureUpdate& WithLevelFour(const HierarchyLevelUpdate& value) { SetLevelFour(value); return *this;} /** *

The update for level four.

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

The update for level five.

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

The update for level five.

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

The update for level five.

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

The update for level five.

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

The update for level five.

*/ inline HierarchyStructureUpdate& WithLevelFive(const HierarchyLevelUpdate& value) { SetLevelFive(value); return *this;} /** *

The update for level five.

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