/** * 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 IoTSiteWise { namespace Model { /** *

Contains information about assets that are related to one * another.

See Also:

AWS * API Reference

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

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline const AssetHierarchyInfo& GetHierarchyInfo() const{ return m_hierarchyInfo; } /** *

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline bool HierarchyInfoHasBeenSet() const { return m_hierarchyInfoHasBeenSet; } /** *

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline void SetHierarchyInfo(const AssetHierarchyInfo& value) { m_hierarchyInfoHasBeenSet = true; m_hierarchyInfo = value; } /** *

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline void SetHierarchyInfo(AssetHierarchyInfo&& value) { m_hierarchyInfoHasBeenSet = true; m_hierarchyInfo = std::move(value); } /** *

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline AssetRelationshipSummary& WithHierarchyInfo(const AssetHierarchyInfo& value) { SetHierarchyInfo(value); return *this;} /** *

The assets that are related through an asset hierarchy.

This object is * present if the relationshipType is HIERARCHY.

*/ inline AssetRelationshipSummary& WithHierarchyInfo(AssetHierarchyInfo&& value) { SetHierarchyInfo(std::move(value)); return *this;} /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline const AssetRelationshipType& GetRelationshipType() const{ return m_relationshipType; } /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline bool RelationshipTypeHasBeenSet() const { return m_relationshipTypeHasBeenSet; } /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline void SetRelationshipType(const AssetRelationshipType& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = value; } /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline void SetRelationshipType(AssetRelationshipType&& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = std::move(value); } /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline AssetRelationshipSummary& WithRelationshipType(const AssetRelationshipType& value) { SetRelationshipType(value); return *this;} /** *

The relationship type of the assets in this relationship. This value is one * of the following:

  • HIERARCHY – The assets are * related through an asset hierarchy. If you specify this relationship type, this * asset relationship includes the hierarchyInfo object.

  • *
*/ inline AssetRelationshipSummary& WithRelationshipType(AssetRelationshipType&& value) { SetRelationshipType(std::move(value)); return *this;} private: AssetHierarchyInfo m_hierarchyInfo; bool m_hierarchyInfoHasBeenSet = false; AssetRelationshipType m_relationshipType; bool m_relationshipTypeHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws