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

An object that specifies a relationship with another component * type.

See Also:

AWS * API Reference

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

The ID of the target component type associated with this relationship.

*/ inline const Aws::String& GetTargetComponentTypeId() const{ return m_targetComponentTypeId; } /** *

The ID of the target component type associated with this relationship.

*/ inline bool TargetComponentTypeIdHasBeenSet() const { return m_targetComponentTypeIdHasBeenSet; } /** *

The ID of the target component type associated with this relationship.

*/ inline void SetTargetComponentTypeId(const Aws::String& value) { m_targetComponentTypeIdHasBeenSet = true; m_targetComponentTypeId = value; } /** *

The ID of the target component type associated with this relationship.

*/ inline void SetTargetComponentTypeId(Aws::String&& value) { m_targetComponentTypeIdHasBeenSet = true; m_targetComponentTypeId = std::move(value); } /** *

The ID of the target component type associated with this relationship.

*/ inline void SetTargetComponentTypeId(const char* value) { m_targetComponentTypeIdHasBeenSet = true; m_targetComponentTypeId.assign(value); } /** *

The ID of the target component type associated with this relationship.

*/ inline Relationship& WithTargetComponentTypeId(const Aws::String& value) { SetTargetComponentTypeId(value); return *this;} /** *

The ID of the target component type associated with this relationship.

*/ inline Relationship& WithTargetComponentTypeId(Aws::String&& value) { SetTargetComponentTypeId(std::move(value)); return *this;} /** *

The ID of the target component type associated with this relationship.

*/ inline Relationship& WithTargetComponentTypeId(const char* value) { SetTargetComponentTypeId(value); return *this;} /** *

The type of the relationship.

*/ inline const Aws::String& GetRelationshipType() const{ return m_relationshipType; } /** *

The type of the relationship.

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

The type of the relationship.

*/ inline void SetRelationshipType(const Aws::String& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = value; } /** *

The type of the relationship.

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

The type of the relationship.

*/ inline void SetRelationshipType(const char* value) { m_relationshipTypeHasBeenSet = true; m_relationshipType.assign(value); } /** *

The type of the relationship.

*/ inline Relationship& WithRelationshipType(const Aws::String& value) { SetRelationshipType(value); return *this;} /** *

The type of the relationship.

*/ inline Relationship& WithRelationshipType(Aws::String&& value) { SetRelationshipType(std::move(value)); return *this;} /** *

The type of the relationship.

*/ inline Relationship& WithRelationshipType(const char* value) { SetRelationshipType(value); return *this;} private: Aws::String m_targetComponentTypeId; bool m_targetComponentTypeIdHasBeenSet = false; Aws::String m_relationshipType; bool m_relationshipTypeHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws