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

Thing group metadata.

See Also:

AWS * API Reference

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

The parent thing group name.

*/ inline const Aws::String& GetParentGroupName() const{ return m_parentGroupName; } /** *

The parent thing group name.

*/ inline bool ParentGroupNameHasBeenSet() const { return m_parentGroupNameHasBeenSet; } /** *

The parent thing group name.

*/ inline void SetParentGroupName(const Aws::String& value) { m_parentGroupNameHasBeenSet = true; m_parentGroupName = value; } /** *

The parent thing group name.

*/ inline void SetParentGroupName(Aws::String&& value) { m_parentGroupNameHasBeenSet = true; m_parentGroupName = std::move(value); } /** *

The parent thing group name.

*/ inline void SetParentGroupName(const char* value) { m_parentGroupNameHasBeenSet = true; m_parentGroupName.assign(value); } /** *

The parent thing group name.

*/ inline ThingGroupMetadata& WithParentGroupName(const Aws::String& value) { SetParentGroupName(value); return *this;} /** *

The parent thing group name.

*/ inline ThingGroupMetadata& WithParentGroupName(Aws::String&& value) { SetParentGroupName(std::move(value)); return *this;} /** *

The parent thing group name.

*/ inline ThingGroupMetadata& WithParentGroupName(const char* value) { SetParentGroupName(value); return *this;} /** *

The root parent thing group.

*/ inline const Aws::Vector& GetRootToParentThingGroups() const{ return m_rootToParentThingGroups; } /** *

The root parent thing group.

*/ inline bool RootToParentThingGroupsHasBeenSet() const { return m_rootToParentThingGroupsHasBeenSet; } /** *

The root parent thing group.

*/ inline void SetRootToParentThingGroups(const Aws::Vector& value) { m_rootToParentThingGroupsHasBeenSet = true; m_rootToParentThingGroups = value; } /** *

The root parent thing group.

*/ inline void SetRootToParentThingGroups(Aws::Vector&& value) { m_rootToParentThingGroupsHasBeenSet = true; m_rootToParentThingGroups = std::move(value); } /** *

The root parent thing group.

*/ inline ThingGroupMetadata& WithRootToParentThingGroups(const Aws::Vector& value) { SetRootToParentThingGroups(value); return *this;} /** *

The root parent thing group.

*/ inline ThingGroupMetadata& WithRootToParentThingGroups(Aws::Vector&& value) { SetRootToParentThingGroups(std::move(value)); return *this;} /** *

The root parent thing group.

*/ inline ThingGroupMetadata& AddRootToParentThingGroups(const GroupNameAndArn& value) { m_rootToParentThingGroupsHasBeenSet = true; m_rootToParentThingGroups.push_back(value); return *this; } /** *

The root parent thing group.

*/ inline ThingGroupMetadata& AddRootToParentThingGroups(GroupNameAndArn&& value) { m_rootToParentThingGroupsHasBeenSet = true; m_rootToParentThingGroups.push_back(std::move(value)); return *this; } /** *

The UNIX timestamp of when the thing group was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The UNIX timestamp of when the thing group was created.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The UNIX timestamp of when the thing group was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The UNIX timestamp of when the thing group was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The UNIX timestamp of when the thing group was created.

*/ inline ThingGroupMetadata& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The UNIX timestamp of when the thing group was created.

*/ inline ThingGroupMetadata& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} private: Aws::String m_parentGroupName; bool m_parentGroupNameHasBeenSet = false; Aws::Vector m_rootToParentThingGroups; bool m_rootToParentThingGroupsHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws