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/servicecatalog-appregistry/AppRegistry_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/DateTime.h> 10 #include <aws/core/utils/memory/stl/AWSMap.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 AppRegistry 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Represents a Amazon Web Services Service Catalog AppRegistry application that 30 * is the top-level node in a hierarchy of related cloud resource 31 * abstractions.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/AWS242AppRegistry-2020-06-24/Application">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_APPREGISTRY_API Application 36 { 37 public: 38 Application(); 39 Application(Aws::Utils::Json::JsonView jsonValue); 40 Application& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The identifier of the application.</p> 46 */ GetId()47 inline const Aws::String& GetId() const{ return m_id; } 48 49 /** 50 * <p>The identifier of the application.</p> 51 */ IdHasBeenSet()52 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 53 54 /** 55 * <p>The identifier of the application.</p> 56 */ SetId(const Aws::String & value)57 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 58 59 /** 60 * <p>The identifier of the application.</p> 61 */ SetId(Aws::String && value)62 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 63 64 /** 65 * <p>The identifier of the application.</p> 66 */ SetId(const char * value)67 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 68 69 /** 70 * <p>The identifier of the application.</p> 71 */ WithId(const Aws::String & value)72 inline Application& WithId(const Aws::String& value) { SetId(value); return *this;} 73 74 /** 75 * <p>The identifier of the application.</p> 76 */ WithId(Aws::String && value)77 inline Application& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 78 79 /** 80 * <p>The identifier of the application.</p> 81 */ WithId(const char * value)82 inline Application& WithId(const char* value) { SetId(value); return *this;} 83 84 85 /** 86 * <p>The Amazon resource name (ARN) that specifies the application across 87 * services.</p> 88 */ GetArn()89 inline const Aws::String& GetArn() const{ return m_arn; } 90 91 /** 92 * <p>The Amazon resource name (ARN) that specifies the application across 93 * services.</p> 94 */ ArnHasBeenSet()95 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 96 97 /** 98 * <p>The Amazon resource name (ARN) that specifies the application across 99 * services.</p> 100 */ SetArn(const Aws::String & value)101 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 102 103 /** 104 * <p>The Amazon resource name (ARN) that specifies the application across 105 * services.</p> 106 */ SetArn(Aws::String && value)107 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 108 109 /** 110 * <p>The Amazon resource name (ARN) that specifies the application across 111 * services.</p> 112 */ SetArn(const char * value)113 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 114 115 /** 116 * <p>The Amazon resource name (ARN) that specifies the application across 117 * services.</p> 118 */ WithArn(const Aws::String & value)119 inline Application& WithArn(const Aws::String& value) { SetArn(value); return *this;} 120 121 /** 122 * <p>The Amazon resource name (ARN) that specifies the application across 123 * services.</p> 124 */ WithArn(Aws::String && value)125 inline Application& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 126 127 /** 128 * <p>The Amazon resource name (ARN) that specifies the application across 129 * services.</p> 130 */ WithArn(const char * value)131 inline Application& WithArn(const char* value) { SetArn(value); return *this;} 132 133 134 /** 135 * <p>The name of the application. The name must be unique in the region in which 136 * you are creating the application.</p> 137 */ GetName()138 inline const Aws::String& GetName() const{ return m_name; } 139 140 /** 141 * <p>The name of the application. The name must be unique in the region in which 142 * you are creating the application.</p> 143 */ NameHasBeenSet()144 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 145 146 /** 147 * <p>The name of the application. The name must be unique in the region in which 148 * you are creating the application.</p> 149 */ SetName(const Aws::String & value)150 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 151 152 /** 153 * <p>The name of the application. The name must be unique in the region in which 154 * you are creating the application.</p> 155 */ SetName(Aws::String && value)156 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 157 158 /** 159 * <p>The name of the application. The name must be unique in the region in which 160 * you are creating the application.</p> 161 */ SetName(const char * value)162 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 163 164 /** 165 * <p>The name of the application. The name must be unique in the region in which 166 * you are creating the application.</p> 167 */ WithName(const Aws::String & value)168 inline Application& WithName(const Aws::String& value) { SetName(value); return *this;} 169 170 /** 171 * <p>The name of the application. The name must be unique in the region in which 172 * you are creating the application.</p> 173 */ WithName(Aws::String && value)174 inline Application& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 175 176 /** 177 * <p>The name of the application. The name must be unique in the region in which 178 * you are creating the application.</p> 179 */ WithName(const char * value)180 inline Application& WithName(const char* value) { SetName(value); return *this;} 181 182 183 /** 184 * <p>The description of the application.</p> 185 */ GetDescription()186 inline const Aws::String& GetDescription() const{ return m_description; } 187 188 /** 189 * <p>The description of the application.</p> 190 */ DescriptionHasBeenSet()191 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 192 193 /** 194 * <p>The description of the application.</p> 195 */ SetDescription(const Aws::String & value)196 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 197 198 /** 199 * <p>The description of the application.</p> 200 */ SetDescription(Aws::String && value)201 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 202 203 /** 204 * <p>The description of the application.</p> 205 */ SetDescription(const char * value)206 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 207 208 /** 209 * <p>The description of the application.</p> 210 */ WithDescription(const Aws::String & value)211 inline Application& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 212 213 /** 214 * <p>The description of the application.</p> 215 */ WithDescription(Aws::String && value)216 inline Application& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 217 218 /** 219 * <p>The description of the application.</p> 220 */ WithDescription(const char * value)221 inline Application& WithDescription(const char* value) { SetDescription(value); return *this;} 222 223 224 /** 225 * <p>The ISO-8601 formatted timestamp of the moment when the application was 226 * created.</p> 227 */ GetCreationTime()228 inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } 229 230 /** 231 * <p>The ISO-8601 formatted timestamp of the moment when the application was 232 * created.</p> 233 */ CreationTimeHasBeenSet()234 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } 235 236 /** 237 * <p>The ISO-8601 formatted timestamp of the moment when the application was 238 * created.</p> 239 */ SetCreationTime(const Aws::Utils::DateTime & value)240 inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } 241 242 /** 243 * <p>The ISO-8601 formatted timestamp of the moment when the application was 244 * created.</p> 245 */ SetCreationTime(Aws::Utils::DateTime && value)246 inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } 247 248 /** 249 * <p>The ISO-8601 formatted timestamp of the moment when the application was 250 * created.</p> 251 */ WithCreationTime(const Aws::Utils::DateTime & value)252 inline Application& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} 253 254 /** 255 * <p>The ISO-8601 formatted timestamp of the moment when the application was 256 * created.</p> 257 */ WithCreationTime(Aws::Utils::DateTime && value)258 inline Application& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} 259 260 261 /** 262 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 263 * updated.</p> 264 */ GetLastUpdateTime()265 inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; } 266 267 /** 268 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 269 * updated.</p> 270 */ LastUpdateTimeHasBeenSet()271 inline bool LastUpdateTimeHasBeenSet() const { return m_lastUpdateTimeHasBeenSet; } 272 273 /** 274 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 275 * updated.</p> 276 */ SetLastUpdateTime(const Aws::Utils::DateTime & value)277 inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = value; } 278 279 /** 280 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 281 * updated.</p> 282 */ SetLastUpdateTime(Aws::Utils::DateTime && value)283 inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::move(value); } 284 285 /** 286 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 287 * updated.</p> 288 */ WithLastUpdateTime(const Aws::Utils::DateTime & value)289 inline Application& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;} 290 291 /** 292 * <p> The ISO-8601 formatted timestamp of the moment when the application was last 293 * updated.</p> 294 */ WithLastUpdateTime(Aws::Utils::DateTime && value)295 inline Application& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;} 296 297 298 /** 299 * <p>Key-value pairs you can use to associate with the application.</p> 300 */ GetTags()301 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 302 303 /** 304 * <p>Key-value pairs you can use to associate with the application.</p> 305 */ TagsHasBeenSet()306 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 307 308 /** 309 * <p>Key-value pairs you can use to associate with the application.</p> 310 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)311 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 312 313 /** 314 * <p>Key-value pairs you can use to associate with the application.</p> 315 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)316 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 317 318 /** 319 * <p>Key-value pairs you can use to associate with the application.</p> 320 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)321 inline Application& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 322 323 /** 324 * <p>Key-value pairs you can use to associate with the application.</p> 325 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)326 inline Application& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 327 328 /** 329 * <p>Key-value pairs you can use to associate with the application.</p> 330 */ AddTags(const Aws::String & key,const Aws::String & value)331 inline Application& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 332 333 /** 334 * <p>Key-value pairs you can use to associate with the application.</p> 335 */ AddTags(Aws::String && key,const Aws::String & value)336 inline Application& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 337 338 /** 339 * <p>Key-value pairs you can use to associate with the application.</p> 340 */ AddTags(const Aws::String & key,Aws::String && value)341 inline Application& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 342 343 /** 344 * <p>Key-value pairs you can use to associate with the application.</p> 345 */ AddTags(Aws::String && key,Aws::String && value)346 inline Application& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 347 348 /** 349 * <p>Key-value pairs you can use to associate with the application.</p> 350 */ AddTags(const char * key,Aws::String && value)351 inline Application& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 352 353 /** 354 * <p>Key-value pairs you can use to associate with the application.</p> 355 */ AddTags(Aws::String && key,const char * value)356 inline Application& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 357 358 /** 359 * <p>Key-value pairs you can use to associate with the application.</p> 360 */ AddTags(const char * key,const char * value)361 inline Application& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 362 363 private: 364 365 Aws::String m_id; 366 bool m_idHasBeenSet; 367 368 Aws::String m_arn; 369 bool m_arnHasBeenSet; 370 371 Aws::String m_name; 372 bool m_nameHasBeenSet; 373 374 Aws::String m_description; 375 bool m_descriptionHasBeenSet; 376 377 Aws::Utils::DateTime m_creationTime; 378 bool m_creationTimeHasBeenSet; 379 380 Aws::Utils::DateTime m_lastUpdateTime; 381 bool m_lastUpdateTimeHasBeenSet; 382 383 Aws::Map<Aws::String, Aws::String> m_tags; 384 bool m_tagsHasBeenSet; 385 }; 386 387 } // namespace Model 388 } // namespace AppRegistry 389 } // namespace Aws 390