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/iot1click-projects/IoT1ClickProjects_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSMap.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace IoT1ClickProjects 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>An object describing a project's placement.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/PlacementDescription">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_IOT1CLICKPROJECTS_API PlacementDescription 34 { 35 public: 36 PlacementDescription(); 37 PlacementDescription(Aws::Utils::Json::JsonView jsonValue); 38 PlacementDescription& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The name of the project containing the placement.</p> 44 */ GetProjectName()45 inline const Aws::String& GetProjectName() const{ return m_projectName; } 46 47 /** 48 * <p>The name of the project containing the placement.</p> 49 */ ProjectNameHasBeenSet()50 inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } 51 52 /** 53 * <p>The name of the project containing the placement.</p> 54 */ SetProjectName(const Aws::String & value)55 inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } 56 57 /** 58 * <p>The name of the project containing the placement.</p> 59 */ SetProjectName(Aws::String && value)60 inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } 61 62 /** 63 * <p>The name of the project containing the placement.</p> 64 */ SetProjectName(const char * value)65 inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } 66 67 /** 68 * <p>The name of the project containing the placement.</p> 69 */ WithProjectName(const Aws::String & value)70 inline PlacementDescription& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} 71 72 /** 73 * <p>The name of the project containing the placement.</p> 74 */ WithProjectName(Aws::String && value)75 inline PlacementDescription& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} 76 77 /** 78 * <p>The name of the project containing the placement.</p> 79 */ WithProjectName(const char * value)80 inline PlacementDescription& WithProjectName(const char* value) { SetProjectName(value); return *this;} 81 82 83 /** 84 * <p>The name of the placement.</p> 85 */ GetPlacementName()86 inline const Aws::String& GetPlacementName() const{ return m_placementName; } 87 88 /** 89 * <p>The name of the placement.</p> 90 */ PlacementNameHasBeenSet()91 inline bool PlacementNameHasBeenSet() const { return m_placementNameHasBeenSet; } 92 93 /** 94 * <p>The name of the placement.</p> 95 */ SetPlacementName(const Aws::String & value)96 inline void SetPlacementName(const Aws::String& value) { m_placementNameHasBeenSet = true; m_placementName = value; } 97 98 /** 99 * <p>The name of the placement.</p> 100 */ SetPlacementName(Aws::String && value)101 inline void SetPlacementName(Aws::String&& value) { m_placementNameHasBeenSet = true; m_placementName = std::move(value); } 102 103 /** 104 * <p>The name of the placement.</p> 105 */ SetPlacementName(const char * value)106 inline void SetPlacementName(const char* value) { m_placementNameHasBeenSet = true; m_placementName.assign(value); } 107 108 /** 109 * <p>The name of the placement.</p> 110 */ WithPlacementName(const Aws::String & value)111 inline PlacementDescription& WithPlacementName(const Aws::String& value) { SetPlacementName(value); return *this;} 112 113 /** 114 * <p>The name of the placement.</p> 115 */ WithPlacementName(Aws::String && value)116 inline PlacementDescription& WithPlacementName(Aws::String&& value) { SetPlacementName(std::move(value)); return *this;} 117 118 /** 119 * <p>The name of the placement.</p> 120 */ WithPlacementName(const char * value)121 inline PlacementDescription& WithPlacementName(const char* value) { SetPlacementName(value); return *this;} 122 123 124 /** 125 * <p>The user-defined attributes associated with the placement.</p> 126 */ GetAttributes()127 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const{ return m_attributes; } 128 129 /** 130 * <p>The user-defined attributes associated with the placement.</p> 131 */ AttributesHasBeenSet()132 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } 133 134 /** 135 * <p>The user-defined attributes associated with the placement.</p> 136 */ SetAttributes(const Aws::Map<Aws::String,Aws::String> & value)137 inline void SetAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_attributesHasBeenSet = true; m_attributes = value; } 138 139 /** 140 * <p>The user-defined attributes associated with the placement.</p> 141 */ SetAttributes(Aws::Map<Aws::String,Aws::String> && value)142 inline void SetAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } 143 144 /** 145 * <p>The user-defined attributes associated with the placement.</p> 146 */ WithAttributes(const Aws::Map<Aws::String,Aws::String> & value)147 inline PlacementDescription& WithAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetAttributes(value); return *this;} 148 149 /** 150 * <p>The user-defined attributes associated with the placement.</p> 151 */ WithAttributes(Aws::Map<Aws::String,Aws::String> && value)152 inline PlacementDescription& WithAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetAttributes(std::move(value)); return *this;} 153 154 /** 155 * <p>The user-defined attributes associated with the placement.</p> 156 */ AddAttributes(const Aws::String & key,const Aws::String & value)157 inline PlacementDescription& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } 158 159 /** 160 * <p>The user-defined attributes associated with the placement.</p> 161 */ AddAttributes(Aws::String && key,const Aws::String & value)162 inline PlacementDescription& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } 163 164 /** 165 * <p>The user-defined attributes associated with the placement.</p> 166 */ AddAttributes(const Aws::String & key,Aws::String && value)167 inline PlacementDescription& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } 168 169 /** 170 * <p>The user-defined attributes associated with the placement.</p> 171 */ AddAttributes(Aws::String && key,Aws::String && value)172 inline PlacementDescription& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } 173 174 /** 175 * <p>The user-defined attributes associated with the placement.</p> 176 */ AddAttributes(const char * key,Aws::String && value)177 inline PlacementDescription& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } 178 179 /** 180 * <p>The user-defined attributes associated with the placement.</p> 181 */ AddAttributes(Aws::String && key,const char * value)182 inline PlacementDescription& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } 183 184 /** 185 * <p>The user-defined attributes associated with the placement.</p> 186 */ AddAttributes(const char * key,const char * value)187 inline PlacementDescription& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } 188 189 190 /** 191 * <p>The date when the placement was initially created, in UNIX epoch time 192 * format.</p> 193 */ GetCreatedDate()194 inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } 195 196 /** 197 * <p>The date when the placement was initially created, in UNIX epoch time 198 * format.</p> 199 */ CreatedDateHasBeenSet()200 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } 201 202 /** 203 * <p>The date when the placement was initially created, in UNIX epoch time 204 * format.</p> 205 */ SetCreatedDate(const Aws::Utils::DateTime & value)206 inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } 207 208 /** 209 * <p>The date when the placement was initially created, in UNIX epoch time 210 * format.</p> 211 */ SetCreatedDate(Aws::Utils::DateTime && value)212 inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } 213 214 /** 215 * <p>The date when the placement was initially created, in UNIX epoch time 216 * format.</p> 217 */ WithCreatedDate(const Aws::Utils::DateTime & value)218 inline PlacementDescription& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} 219 220 /** 221 * <p>The date when the placement was initially created, in UNIX epoch time 222 * format.</p> 223 */ WithCreatedDate(Aws::Utils::DateTime && value)224 inline PlacementDescription& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} 225 226 227 /** 228 * <p>The date when the placement was last updated, in UNIX epoch time format. If 229 * the placement was not updated, then <code>createdDate</code> and 230 * <code>updatedDate</code> are the same.</p> 231 */ GetUpdatedDate()232 inline const Aws::Utils::DateTime& GetUpdatedDate() const{ return m_updatedDate; } 233 234 /** 235 * <p>The date when the placement was last updated, in UNIX epoch time format. If 236 * the placement was not updated, then <code>createdDate</code> and 237 * <code>updatedDate</code> are the same.</p> 238 */ UpdatedDateHasBeenSet()239 inline bool UpdatedDateHasBeenSet() const { return m_updatedDateHasBeenSet; } 240 241 /** 242 * <p>The date when the placement was last updated, in UNIX epoch time format. If 243 * the placement was not updated, then <code>createdDate</code> and 244 * <code>updatedDate</code> are the same.</p> 245 */ SetUpdatedDate(const Aws::Utils::DateTime & value)246 inline void SetUpdatedDate(const Aws::Utils::DateTime& value) { m_updatedDateHasBeenSet = true; m_updatedDate = value; } 247 248 /** 249 * <p>The date when the placement was last updated, in UNIX epoch time format. If 250 * the placement was not updated, then <code>createdDate</code> and 251 * <code>updatedDate</code> are the same.</p> 252 */ SetUpdatedDate(Aws::Utils::DateTime && value)253 inline void SetUpdatedDate(Aws::Utils::DateTime&& value) { m_updatedDateHasBeenSet = true; m_updatedDate = std::move(value); } 254 255 /** 256 * <p>The date when the placement was last updated, in UNIX epoch time format. If 257 * the placement was not updated, then <code>createdDate</code> and 258 * <code>updatedDate</code> are the same.</p> 259 */ WithUpdatedDate(const Aws::Utils::DateTime & value)260 inline PlacementDescription& WithUpdatedDate(const Aws::Utils::DateTime& value) { SetUpdatedDate(value); return *this;} 261 262 /** 263 * <p>The date when the placement was last updated, in UNIX epoch time format. If 264 * the placement was not updated, then <code>createdDate</code> and 265 * <code>updatedDate</code> are the same.</p> 266 */ WithUpdatedDate(Aws::Utils::DateTime && value)267 inline PlacementDescription& WithUpdatedDate(Aws::Utils::DateTime&& value) { SetUpdatedDate(std::move(value)); return *this;} 268 269 private: 270 271 Aws::String m_projectName; 272 bool m_projectNameHasBeenSet; 273 274 Aws::String m_placementName; 275 bool m_placementNameHasBeenSet; 276 277 Aws::Map<Aws::String, Aws::String> m_attributes; 278 bool m_attributesHasBeenSet; 279 280 Aws::Utils::DateTime m_createdDate; 281 bool m_createdDateHasBeenSet; 282 283 Aws::Utils::DateTime m_updatedDate; 284 bool m_updatedDateHasBeenSet; 285 }; 286 287 } // namespace Model 288 } // namespace IoT1ClickProjects 289 } // namespace Aws 290