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

Information about a resource that another resource is related to or depends * on.

For example, if a contact is a member of a rotation, the rotation is * a dependent entity of the contact.

See Also:

AWS * API Reference

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

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline const Aws::String& GetRelationType() const{ return m_relationType; } /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline bool RelationTypeHasBeenSet() const { return m_relationTypeHasBeenSet; } /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline void SetRelationType(const Aws::String& value) { m_relationTypeHasBeenSet = true; m_relationType = value; } /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline void SetRelationType(Aws::String&& value) { m_relationTypeHasBeenSet = true; m_relationType = std::move(value); } /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline void SetRelationType(const char* value) { m_relationTypeHasBeenSet = true; m_relationType.assign(value); } /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline DependentEntity& WithRelationType(const Aws::String& value) { SetRelationType(value); return *this;} /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline DependentEntity& WithRelationType(Aws::String&& value) { SetRelationType(std::move(value)); return *this;} /** *

The type of relationship between one resource and the other resource that it * is related to or depends on.

*/ inline DependentEntity& WithRelationType(const char* value) { SetRelationType(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline const Aws::Vector& GetDependentResourceIds() const{ return m_dependentResourceIds; } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline bool DependentResourceIdsHasBeenSet() const { return m_dependentResourceIdsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline void SetDependentResourceIds(const Aws::Vector& value) { m_dependentResourceIdsHasBeenSet = true; m_dependentResourceIds = value; } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline void SetDependentResourceIds(Aws::Vector&& value) { m_dependentResourceIdsHasBeenSet = true; m_dependentResourceIds = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline DependentEntity& WithDependentResourceIds(const Aws::Vector& value) { SetDependentResourceIds(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline DependentEntity& WithDependentResourceIds(Aws::Vector&& value) { SetDependentResourceIds(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline DependentEntity& AddDependentResourceIds(const Aws::String& value) { m_dependentResourceIdsHasBeenSet = true; m_dependentResourceIds.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline DependentEntity& AddDependentResourceIds(Aws::String&& value) { m_dependentResourceIdsHasBeenSet = true; m_dependentResourceIds.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the dependent resources.

*/ inline DependentEntity& AddDependentResourceIds(const char* value) { m_dependentResourceIdsHasBeenSet = true; m_dependentResourceIds.push_back(value); return *this; } private: Aws::String m_relationType; bool m_relationTypeHasBeenSet = false; Aws::Vector m_dependentResourceIds; bool m_dependentResourceIdsHasBeenSet = false; }; } // namespace Model } // namespace SSMContacts } // namespace Aws