/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The thing search index document.See Also:
AWS
* API Reference
The thing name.
*/ inline const Aws::String& GetThingName() const{ return m_thingName; } /** *The thing name.
*/ inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; } /** *The thing name.
*/ inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; } /** *The thing name.
*/ inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); } /** *The thing name.
*/ inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); } /** *The thing name.
*/ inline ThingDocument& WithThingName(const Aws::String& value) { SetThingName(value); return *this;} /** *The thing name.
*/ inline ThingDocument& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;} /** *The thing name.
*/ inline ThingDocument& WithThingName(const char* value) { SetThingName(value); return *this;} /** *The thing ID.
*/ inline const Aws::String& GetThingId() const{ return m_thingId; } /** *The thing ID.
*/ inline bool ThingIdHasBeenSet() const { return m_thingIdHasBeenSet; } /** *The thing ID.
*/ inline void SetThingId(const Aws::String& value) { m_thingIdHasBeenSet = true; m_thingId = value; } /** *The thing ID.
*/ inline void SetThingId(Aws::String&& value) { m_thingIdHasBeenSet = true; m_thingId = std::move(value); } /** *The thing ID.
*/ inline void SetThingId(const char* value) { m_thingIdHasBeenSet = true; m_thingId.assign(value); } /** *The thing ID.
*/ inline ThingDocument& WithThingId(const Aws::String& value) { SetThingId(value); return *this;} /** *The thing ID.
*/ inline ThingDocument& WithThingId(Aws::String&& value) { SetThingId(std::move(value)); return *this;} /** *The thing ID.
*/ inline ThingDocument& WithThingId(const char* value) { SetThingId(value); return *this;} /** *The thing type name.
*/ inline const Aws::String& GetThingTypeName() const{ return m_thingTypeName; } /** *The thing type name.
*/ inline bool ThingTypeNameHasBeenSet() const { return m_thingTypeNameHasBeenSet; } /** *The thing type name.
*/ inline void SetThingTypeName(const Aws::String& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = value; } /** *The thing type name.
*/ inline void SetThingTypeName(Aws::String&& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = std::move(value); } /** *The thing type name.
*/ inline void SetThingTypeName(const char* value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName.assign(value); } /** *The thing type name.
*/ inline ThingDocument& WithThingTypeName(const Aws::String& value) { SetThingTypeName(value); return *this;} /** *The thing type name.
*/ inline ThingDocument& WithThingTypeName(Aws::String&& value) { SetThingTypeName(std::move(value)); return *this;} /** *The thing type name.
*/ inline ThingDocument& WithThingTypeName(const char* value) { SetThingTypeName(value); return *this;} /** *Thing group names.
*/ inline const Aws::VectorThing group names.
*/ inline bool ThingGroupNamesHasBeenSet() const { return m_thingGroupNamesHasBeenSet; } /** *Thing group names.
*/ inline void SetThingGroupNames(const Aws::VectorThing group names.
*/ inline void SetThingGroupNames(Aws::VectorThing group names.
*/ inline ThingDocument& WithThingGroupNames(const Aws::VectorThing group names.
*/ inline ThingDocument& WithThingGroupNames(Aws::VectorThing group names.
*/ inline ThingDocument& AddThingGroupNames(const Aws::String& value) { m_thingGroupNamesHasBeenSet = true; m_thingGroupNames.push_back(value); return *this; } /** *Thing group names.
*/ inline ThingDocument& AddThingGroupNames(Aws::String&& value) { m_thingGroupNamesHasBeenSet = true; m_thingGroupNames.push_back(std::move(value)); return *this; } /** *Thing group names.
*/ inline ThingDocument& AddThingGroupNames(const char* value) { m_thingGroupNamesHasBeenSet = true; m_thingGroupNames.push_back(value); return *this; } /** *The attributes.
*/ inline const Aws::MapThe attributes.
*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *The attributes.
*/ inline void SetAttributes(const Aws::MapThe attributes.
*/ inline void SetAttributes(Aws::MapThe attributes.
*/ inline ThingDocument& WithAttributes(const Aws::MapThe attributes.
*/ inline ThingDocument& WithAttributes(Aws::MapThe attributes.
*/ inline ThingDocument& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *The attributes.
*/ inline ThingDocument& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline const Aws::String& GetShadow() const{ return m_shadow; } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline bool ShadowHasBeenSet() const { return m_shadowHasBeenSet; } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline void SetShadow(const Aws::String& value) { m_shadowHasBeenSet = true; m_shadow = value; } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline void SetShadow(Aws::String&& value) { m_shadowHasBeenSet = true; m_shadow = std::move(value); } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline void SetShadow(const char* value) { m_shadowHasBeenSet = true; m_shadow.assign(value); } /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline ThingDocument& WithShadow(const Aws::String& value) { SetShadow(value); return *this;} /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline ThingDocument& WithShadow(Aws::String&& value) { SetShadow(std::move(value)); return *this;} /** *The unnamed shadow and named shadow.
For more information about * shadows, see IoT * Device Shadow service.
*/ inline ThingDocument& WithShadow(const char* value) { SetShadow(value); return *this;} /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline const Aws::String& GetDeviceDefender() const{ return m_deviceDefender; } /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline bool DeviceDefenderHasBeenSet() const { return m_deviceDefenderHasBeenSet; } /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline void SetDeviceDefender(const Aws::String& value) { m_deviceDefenderHasBeenSet = true; m_deviceDefender = value; } /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline void SetDeviceDefender(Aws::String&& value) { m_deviceDefenderHasBeenSet = true; m_deviceDefender = std::move(value); } /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline void SetDeviceDefender(const char* value) { m_deviceDefenderHasBeenSet = true; m_deviceDefender.assign(value); } /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline ThingDocument& WithDeviceDefender(const Aws::String& value) { SetDeviceDefender(value); return *this;} /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline ThingDocument& WithDeviceDefender(Aws::String&& value) { SetDeviceDefender(std::move(value)); return *this;} /** *Contains Device Defender data.
For more information about Device * Defender, see Device * Defender.
*/ inline ThingDocument& WithDeviceDefender(const char* value) { SetDeviceDefender(value); return *this;} /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline const ThingConnectivity& GetConnectivity() const{ return m_connectivity; } /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline bool ConnectivityHasBeenSet() const { return m_connectivityHasBeenSet; } /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline void SetConnectivity(const ThingConnectivity& value) { m_connectivityHasBeenSet = true; m_connectivity = value; } /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline void SetConnectivity(ThingConnectivity&& value) { m_connectivityHasBeenSet = true; m_connectivity = std::move(value); } /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline ThingDocument& WithConnectivity(const ThingConnectivity& value) { SetConnectivity(value); return *this;} /** *Indicates whether the thing is connected to the Amazon Web Services IoT Core * service.
*/ inline ThingDocument& WithConnectivity(ThingConnectivity&& value) { SetConnectivity(std::move(value)); return *this;} private: Aws::String m_thingName; bool m_thingNameHasBeenSet = false; Aws::String m_thingId; bool m_thingIdHasBeenSet = false; Aws::String m_thingTypeName; bool m_thingTypeNameHasBeenSet = false; Aws::Vector