/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the iot-2015-05-28.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IoT.Model
{
///
/// The thing indexing configuration. For more information, see Managing
/// Thing Indexing.
///
public partial class ThingIndexingConfiguration
{
private List _customFields = new List();
private DeviceDefenderIndexingMode _deviceDefenderIndexingMode;
private IndexingFilter _filter;
private List _managedFields = new List();
private NamedShadowIndexingMode _namedShadowIndexingMode;
private ThingConnectivityIndexingMode _thingConnectivityIndexingMode;
private ThingIndexingMode _thingIndexingMode;
///
/// Gets and sets the property CustomFields.
///
/// Contains custom field names and their data type.
///
///
public List CustomFields
{
get { return this._customFields; }
set { this._customFields = value; }
}
// Check to see if CustomFields property is set
internal bool IsSetCustomFields()
{
return this._customFields != null && this._customFields.Count > 0;
}
///
/// Gets and sets the property DeviceDefenderIndexingMode.
///
/// Device Defender indexing mode. Valid values are:
///
/// -
///
/// VIOLATIONS – Your thing index contains Device Defender violations. To enable Device
/// Defender indexing, deviceDefenderIndexingMode must not be set to OFF.
///
///
-
///
/// OFF - Device Defender indexing is disabled.
///
///
///
/// For more information about Device Defender violations, see Device
/// Defender Detect.
///
///
public DeviceDefenderIndexingMode DeviceDefenderIndexingMode
{
get { return this._deviceDefenderIndexingMode; }
set { this._deviceDefenderIndexingMode = value; }
}
// Check to see if DeviceDefenderIndexingMode property is set
internal bool IsSetDeviceDefenderIndexingMode()
{
return this._deviceDefenderIndexingMode != null;
}
///
/// Gets and sets the property Filter.
///
/// Provides additional filters for specific data sources. Named shadow is the only data
/// source that currently supports and requires a filter. To add named shadows to your
/// fleet indexing configuration, set namedShadowIndexingMode
to be ON
/// and specify your shadow names in filter
.
///
///
public IndexingFilter Filter
{
get { return this._filter; }
set { this._filter = value; }
}
// Check to see if Filter property is set
internal bool IsSetFilter()
{
return this._filter != null;
}
///
/// Gets and sets the property ManagedFields.
///
/// Contains fields that are indexed and whose types are already known by the Fleet Indexing
/// service.
///
///
public List ManagedFields
{
get { return this._managedFields; }
set { this._managedFields = value; }
}
// Check to see if ManagedFields property is set
internal bool IsSetManagedFields()
{
return this._managedFields != null && this._managedFields.Count > 0;
}
///
/// Gets and sets the property NamedShadowIndexingMode.
///
/// Named shadow indexing mode. Valid values are:
///
/// -
///
/// ON – Your thing index contains named shadow. To enable thing named shadow indexing,
/// namedShadowIndexingMode must not be set to OFF.
///
///
-
///
/// OFF - Named shadow indexing is disabled.
///
///
///
/// For more information about Shadows, see IoT
/// Device Shadow service.
///
///
public NamedShadowIndexingMode NamedShadowIndexingMode
{
get { return this._namedShadowIndexingMode; }
set { this._namedShadowIndexingMode = value; }
}
// Check to see if NamedShadowIndexingMode property is set
internal bool IsSetNamedShadowIndexingMode()
{
return this._namedShadowIndexingMode != null;
}
///
/// Gets and sets the property 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.
///
///
///
public ThingConnectivityIndexingMode ThingConnectivityIndexingMode
{
get { return this._thingConnectivityIndexingMode; }
set { this._thingConnectivityIndexingMode = value; }
}
// Check to see if ThingConnectivityIndexingMode property is set
internal bool IsSetThingConnectivityIndexingMode()
{
return this._thingConnectivityIndexingMode != null;
}
///
/// Gets and sets the property 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.
///
///
///
[AWSProperty(Required=true)]
public ThingIndexingMode ThingIndexingMode
{
get { return this._thingIndexingMode; }
set { this._thingIndexingMode = value; }
}
// Check to see if ThingIndexingMode property is set
internal bool IsSetThingIndexingMode()
{
return this._thingIndexingMode != null;
}
}
}