1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/iot/IoT_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace IoT 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The ThingTypeProperties contains information about the thing type including: 29 * a thing type description, and a list of searchable thing attribute 30 * names.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/ThingTypeProperties">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_IOT_API ThingTypeProperties 35 { 36 public: 37 ThingTypeProperties(); 38 ThingTypeProperties(Aws::Utils::Json::JsonView jsonValue); 39 ThingTypeProperties& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The description of the thing type.</p> 45 */ GetThingTypeDescription()46 inline const Aws::String& GetThingTypeDescription() const{ return m_thingTypeDescription; } 47 48 /** 49 * <p>The description of the thing type.</p> 50 */ ThingTypeDescriptionHasBeenSet()51 inline bool ThingTypeDescriptionHasBeenSet() const { return m_thingTypeDescriptionHasBeenSet; } 52 53 /** 54 * <p>The description of the thing type.</p> 55 */ SetThingTypeDescription(const Aws::String & value)56 inline void SetThingTypeDescription(const Aws::String& value) { m_thingTypeDescriptionHasBeenSet = true; m_thingTypeDescription = value; } 57 58 /** 59 * <p>The description of the thing type.</p> 60 */ SetThingTypeDescription(Aws::String && value)61 inline void SetThingTypeDescription(Aws::String&& value) { m_thingTypeDescriptionHasBeenSet = true; m_thingTypeDescription = std::move(value); } 62 63 /** 64 * <p>The description of the thing type.</p> 65 */ SetThingTypeDescription(const char * value)66 inline void SetThingTypeDescription(const char* value) { m_thingTypeDescriptionHasBeenSet = true; m_thingTypeDescription.assign(value); } 67 68 /** 69 * <p>The description of the thing type.</p> 70 */ WithThingTypeDescription(const Aws::String & value)71 inline ThingTypeProperties& WithThingTypeDescription(const Aws::String& value) { SetThingTypeDescription(value); return *this;} 72 73 /** 74 * <p>The description of the thing type.</p> 75 */ WithThingTypeDescription(Aws::String && value)76 inline ThingTypeProperties& WithThingTypeDescription(Aws::String&& value) { SetThingTypeDescription(std::move(value)); return *this;} 77 78 /** 79 * <p>The description of the thing type.</p> 80 */ WithThingTypeDescription(const char * value)81 inline ThingTypeProperties& WithThingTypeDescription(const char* value) { SetThingTypeDescription(value); return *this;} 82 83 84 /** 85 * <p>A list of searchable thing attribute names.</p> 86 */ GetSearchableAttributes()87 inline const Aws::Vector<Aws::String>& GetSearchableAttributes() const{ return m_searchableAttributes; } 88 89 /** 90 * <p>A list of searchable thing attribute names.</p> 91 */ SearchableAttributesHasBeenSet()92 inline bool SearchableAttributesHasBeenSet() const { return m_searchableAttributesHasBeenSet; } 93 94 /** 95 * <p>A list of searchable thing attribute names.</p> 96 */ SetSearchableAttributes(const Aws::Vector<Aws::String> & value)97 inline void SetSearchableAttributes(const Aws::Vector<Aws::String>& value) { m_searchableAttributesHasBeenSet = true; m_searchableAttributes = value; } 98 99 /** 100 * <p>A list of searchable thing attribute names.</p> 101 */ SetSearchableAttributes(Aws::Vector<Aws::String> && value)102 inline void SetSearchableAttributes(Aws::Vector<Aws::String>&& value) { m_searchableAttributesHasBeenSet = true; m_searchableAttributes = std::move(value); } 103 104 /** 105 * <p>A list of searchable thing attribute names.</p> 106 */ WithSearchableAttributes(const Aws::Vector<Aws::String> & value)107 inline ThingTypeProperties& WithSearchableAttributes(const Aws::Vector<Aws::String>& value) { SetSearchableAttributes(value); return *this;} 108 109 /** 110 * <p>A list of searchable thing attribute names.</p> 111 */ WithSearchableAttributes(Aws::Vector<Aws::String> && value)112 inline ThingTypeProperties& WithSearchableAttributes(Aws::Vector<Aws::String>&& value) { SetSearchableAttributes(std::move(value)); return *this;} 113 114 /** 115 * <p>A list of searchable thing attribute names.</p> 116 */ AddSearchableAttributes(const Aws::String & value)117 inline ThingTypeProperties& AddSearchableAttributes(const Aws::String& value) { m_searchableAttributesHasBeenSet = true; m_searchableAttributes.push_back(value); return *this; } 118 119 /** 120 * <p>A list of searchable thing attribute names.</p> 121 */ AddSearchableAttributes(Aws::String && value)122 inline ThingTypeProperties& AddSearchableAttributes(Aws::String&& value) { m_searchableAttributesHasBeenSet = true; m_searchableAttributes.push_back(std::move(value)); return *this; } 123 124 /** 125 * <p>A list of searchable thing attribute names.</p> 126 */ AddSearchableAttributes(const char * value)127 inline ThingTypeProperties& AddSearchableAttributes(const char* value) { m_searchableAttributesHasBeenSet = true; m_searchableAttributes.push_back(value); return *this; } 128 129 private: 130 131 Aws::String m_thingTypeDescription; 132 bool m_thingTypeDescriptionHasBeenSet; 133 134 Aws::Vector<Aws::String> m_searchableAttributes; 135 bool m_searchableAttributesHasBeenSet; 136 }; 137 138 } // namespace Model 139 } // namespace IoT 140 } // namespace Aws 141