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

An object that uniquely identifies an entity property.

See * Also:

AWS * API Reference

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

The name of the component.

*/ inline const Aws::String& GetComponentName() const{ return m_componentName; } /** *

The name of the component.

*/ inline bool ComponentNameHasBeenSet() const { return m_componentNameHasBeenSet; } /** *

The name of the component.

*/ inline void SetComponentName(const Aws::String& value) { m_componentNameHasBeenSet = true; m_componentName = value; } /** *

The name of the component.

*/ inline void SetComponentName(Aws::String&& value) { m_componentNameHasBeenSet = true; m_componentName = std::move(value); } /** *

The name of the component.

*/ inline void SetComponentName(const char* value) { m_componentNameHasBeenSet = true; m_componentName.assign(value); } /** *

The name of the component.

*/ inline EntityPropertyReference& WithComponentName(const Aws::String& value) { SetComponentName(value); return *this;} /** *

The name of the component.

*/ inline EntityPropertyReference& WithComponentName(Aws::String&& value) { SetComponentName(std::move(value)); return *this;} /** *

The name of the component.

*/ inline EntityPropertyReference& WithComponentName(const char* value) { SetComponentName(value); return *this;} /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline const Aws::Map& GetExternalIdProperty() const{ return m_externalIdProperty; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline bool ExternalIdPropertyHasBeenSet() const { return m_externalIdPropertyHasBeenSet; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline void SetExternalIdProperty(const Aws::Map& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty = value; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline void SetExternalIdProperty(Aws::Map&& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty = std::move(value); } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& WithExternalIdProperty(const Aws::Map& value) { SetExternalIdProperty(value); return *this;} /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& WithExternalIdProperty(Aws::Map&& value) { SetExternalIdProperty(std::move(value)); return *this;} /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(const Aws::String& key, const Aws::String& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(key, value); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(Aws::String&& key, const Aws::String& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(std::move(key), value); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(const Aws::String& key, Aws::String&& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(key, std::move(value)); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(Aws::String&& key, Aws::String&& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(std::move(key), std::move(value)); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(const char* key, Aws::String&& value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(key, std::move(value)); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(Aws::String&& key, const char* value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(std::move(key), value); return *this; } /** *

A mapping of external IDs to property names. External IDs uniquely identify * properties from external data stores.

*/ inline EntityPropertyReference& AddExternalIdProperty(const char* key, const char* value) { m_externalIdPropertyHasBeenSet = true; m_externalIdProperty.emplace(key, value); return *this; } /** *

The ID of the entity.

*/ inline const Aws::String& GetEntityId() const{ return m_entityId; } /** *

The ID of the entity.

*/ inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } /** *

The ID of the entity.

*/ inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; } /** *

The ID of the entity.

*/ inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); } /** *

The ID of the entity.

*/ inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); } /** *

The ID of the entity.

*/ inline EntityPropertyReference& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;} /** *

The ID of the entity.

*/ inline EntityPropertyReference& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;} /** *

The ID of the entity.

*/ inline EntityPropertyReference& WithEntityId(const char* value) { SetEntityId(value); return *this;} /** *

The name of the property.

*/ inline const Aws::String& GetPropertyName() const{ return m_propertyName; } /** *

The name of the property.

*/ inline bool PropertyNameHasBeenSet() const { return m_propertyNameHasBeenSet; } /** *

The name of the property.

*/ inline void SetPropertyName(const Aws::String& value) { m_propertyNameHasBeenSet = true; m_propertyName = value; } /** *

The name of the property.

*/ inline void SetPropertyName(Aws::String&& value) { m_propertyNameHasBeenSet = true; m_propertyName = std::move(value); } /** *

The name of the property.

*/ inline void SetPropertyName(const char* value) { m_propertyNameHasBeenSet = true; m_propertyName.assign(value); } /** *

The name of the property.

*/ inline EntityPropertyReference& WithPropertyName(const Aws::String& value) { SetPropertyName(value); return *this;} /** *

The name of the property.

*/ inline EntityPropertyReference& WithPropertyName(Aws::String&& value) { SetPropertyName(std::move(value)); return *this;} /** *

The name of the property.

*/ inline EntityPropertyReference& WithPropertyName(const char* value) { SetPropertyName(value); return *this;} private: Aws::String m_componentName; bool m_componentNameHasBeenSet = false; Aws::Map m_externalIdProperty; bool m_externalIdPropertyHasBeenSet = false; Aws::String m_entityId; bool m_entityIdHasBeenSet = false; Aws::String m_propertyName; bool m_propertyNameHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws