/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

The thing indexing configuration. For more information, see Managing * Thing Indexing.

See Also:

AWS * API Reference

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

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline const ThingIndexingMode& GetThingIndexingMode() const{ return m_thingIndexingMode; } /** *

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline bool ThingIndexingModeHasBeenSet() const { return m_thingIndexingModeHasBeenSet; } /** *

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline void SetThingIndexingMode(const ThingIndexingMode& value) { m_thingIndexingModeHasBeenSet = true; m_thingIndexingMode = value; } /** *

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline void SetThingIndexingMode(ThingIndexingMode&& value) { m_thingIndexingModeHasBeenSet = true; m_thingIndexingMode = std::move(value); } /** *

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline ThingIndexingConfiguration& WithThingIndexingMode(const ThingIndexingMode& value) { SetThingIndexingMode(value); return *this;} /** *

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing * index contains registry data only.

  • REGISTRY_AND_SHADOW - Your * thing index contains registry and shadow data.

  • OFF - Thing * indexing is disabled.

*/ inline ThingIndexingConfiguration& WithThingIndexingMode(ThingIndexingMode&& value) { SetThingIndexingMode(std::move(value)); return *this;} /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline const ThingConnectivityIndexingMode& GetThingConnectivityIndexingMode() const{ return m_thingConnectivityIndexingMode; } /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline bool ThingConnectivityIndexingModeHasBeenSet() const { return m_thingConnectivityIndexingModeHasBeenSet; } /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline void SetThingConnectivityIndexingMode(const ThingConnectivityIndexingMode& value) { m_thingConnectivityIndexingModeHasBeenSet = true; m_thingConnectivityIndexingMode = value; } /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline void SetThingConnectivityIndexingMode(ThingConnectivityIndexingMode&& value) { m_thingConnectivityIndexingModeHasBeenSet = true; m_thingConnectivityIndexingMode = std::move(value); } /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline ThingIndexingConfiguration& WithThingConnectivityIndexingMode(const ThingConnectivityIndexingMode& value) { SetThingConnectivityIndexingMode(value); return *this;} /** *

Thing connectivity indexing mode. Valid values are:

  • STATUS * – Your thing index contains connectivity status. To enable thing connectivity * indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing * connectivity status indexing is disabled.

*/ inline ThingIndexingConfiguration& WithThingConnectivityIndexingMode(ThingConnectivityIndexingMode&& value) { SetThingConnectivityIndexingMode(std::move(value)); return *this;} /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline const Aws::Vector& GetManagedFields() const{ return m_managedFields; } /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline bool ManagedFieldsHasBeenSet() const { return m_managedFieldsHasBeenSet; } /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline void SetManagedFields(const Aws::Vector& value) { m_managedFieldsHasBeenSet = true; m_managedFields = value; } /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline void SetManagedFields(Aws::Vector&& value) { m_managedFieldsHasBeenSet = true; m_managedFields = std::move(value); } /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline ThingIndexingConfiguration& WithManagedFields(const Aws::Vector& value) { SetManagedFields(value); return *this;} /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline ThingIndexingConfiguration& WithManagedFields(Aws::Vector&& value) { SetManagedFields(std::move(value)); return *this;} /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline ThingIndexingConfiguration& AddManagedFields(const Field& value) { m_managedFieldsHasBeenSet = true; m_managedFields.push_back(value); return *this; } /** *

Contains fields that are indexed and whose types are already known by the * Fleet Indexing service.

*/ inline ThingIndexingConfiguration& AddManagedFields(Field&& value) { m_managedFieldsHasBeenSet = true; m_managedFields.push_back(std::move(value)); return *this; } /** *

Contains custom field names and their data type.

*/ inline const Aws::Vector& GetCustomFields() const{ return m_customFields; } /** *

Contains custom field names and their data type.

*/ inline bool CustomFieldsHasBeenSet() const { return m_customFieldsHasBeenSet; } /** *

Contains custom field names and their data type.

*/ inline void SetCustomFields(const Aws::Vector& value) { m_customFieldsHasBeenSet = true; m_customFields = value; } /** *

Contains custom field names and their data type.

*/ inline void SetCustomFields(Aws::Vector&& value) { m_customFieldsHasBeenSet = true; m_customFields = std::move(value); } /** *

Contains custom field names and their data type.

*/ inline ThingIndexingConfiguration& WithCustomFields(const Aws::Vector& value) { SetCustomFields(value); return *this;} /** *

Contains custom field names and their data type.

*/ inline ThingIndexingConfiguration& WithCustomFields(Aws::Vector&& value) { SetCustomFields(std::move(value)); return *this;} /** *

Contains custom field names and their data type.

*/ inline ThingIndexingConfiguration& AddCustomFields(const Field& value) { m_customFieldsHasBeenSet = true; m_customFields.push_back(value); return *this; } /** *

Contains custom field names and their data type.

*/ inline ThingIndexingConfiguration& AddCustomFields(Field&& value) { m_customFieldsHasBeenSet = true; m_customFields.push_back(std::move(value)); return *this; } private: ThingIndexingMode m_thingIndexingMode; bool m_thingIndexingModeHasBeenSet; ThingConnectivityIndexingMode m_thingConnectivityIndexingMode; bool m_thingConnectivityIndexingModeHasBeenSet; Aws::Vector m_managedFields; bool m_managedFieldsHasBeenSet; Aws::Vector m_customFields; bool m_customFieldsHasBeenSet; }; } // namespace Model } // namespace IoT } // namespace Aws