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/nimble/NimbleStudio_EXPORTS.h> 8 #include <aws/nimble/NimbleStudioRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/nimble/model/StudioComponentConfiguration.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/nimble/model/StudioComponentSubtype.h> 13 #include <aws/core/utils/memory/stl/AWSMap.h> 14 #include <aws/nimble/model/StudioComponentType.h> 15 #include <aws/nimble/model/StudioComponentInitializationScript.h> 16 #include <aws/nimble/model/ScriptParameterKeyValue.h> 17 #include <utility> 18 #include <aws/core/utils/UUID.h> 19 20 namespace Aws 21 { 22 namespace NimbleStudio 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The studio components.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStudioComponentRequest">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_NIMBLESTUDIO_API CreateStudioComponentRequest : public NimbleStudioRequest 33 { 34 public: 35 CreateStudioComponentRequest(); 36 37 // Service request name is the Operation name which will send this request out, 38 // each operation should has unique request name, so that we can get operation's name from this request. 39 // Note: this is not true for response, multiple operations may have the same response name, 40 // so we can not get operation's name from response. GetServiceRequestName()41 inline virtual const char* GetServiceRequestName() const override { return "CreateStudioComponent"; } 42 43 Aws::String SerializePayload() const override; 44 45 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 46 47 48 /** 49 * <p>To make an idempotent API request using one of these actions, specify a 50 * client token in the request. You should not reuse the same client token for 51 * other API requests. If you retry a request that completed successfully using the 52 * same client token and the same parameters, the retry succeeds without performing 53 * any further actions. If you retry a successful request using the same client 54 * token, but one or more of the parameters are different, the retry fails with a 55 * ValidationException error.</p> 56 */ GetClientToken()57 inline const Aws::String& GetClientToken() const{ return m_clientToken; } 58 59 /** 60 * <p>To make an idempotent API request using one of these actions, specify a 61 * client token in the request. You should not reuse the same client token for 62 * other API requests. If you retry a request that completed successfully using the 63 * same client token and the same parameters, the retry succeeds without performing 64 * any further actions. If you retry a successful request using the same client 65 * token, but one or more of the parameters are different, the retry fails with a 66 * ValidationException error.</p> 67 */ ClientTokenHasBeenSet()68 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } 69 70 /** 71 * <p>To make an idempotent API request using one of these actions, specify a 72 * client token in the request. You should not reuse the same client token for 73 * other API requests. If you retry a request that completed successfully using the 74 * same client token and the same parameters, the retry succeeds without performing 75 * any further actions. If you retry a successful request using the same client 76 * token, but one or more of the parameters are different, the retry fails with a 77 * ValidationException error.</p> 78 */ SetClientToken(const Aws::String & value)79 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } 80 81 /** 82 * <p>To make an idempotent API request using one of these actions, specify a 83 * client token in the request. You should not reuse the same client token for 84 * other API requests. If you retry a request that completed successfully using the 85 * same client token and the same parameters, the retry succeeds without performing 86 * any further actions. If you retry a successful request using the same client 87 * token, but one or more of the parameters are different, the retry fails with a 88 * ValidationException error.</p> 89 */ SetClientToken(Aws::String && value)90 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } 91 92 /** 93 * <p>To make an idempotent API request using one of these actions, specify a 94 * client token in the request. You should not reuse the same client token for 95 * other API requests. If you retry a request that completed successfully using the 96 * same client token and the same parameters, the retry succeeds without performing 97 * any further actions. If you retry a successful request using the same client 98 * token, but one or more of the parameters are different, the retry fails with a 99 * ValidationException error.</p> 100 */ SetClientToken(const char * value)101 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } 102 103 /** 104 * <p>To make an idempotent API request using one of these actions, specify a 105 * client token in the request. You should not reuse the same client token for 106 * other API requests. If you retry a request that completed successfully using the 107 * same client token and the same parameters, the retry succeeds without performing 108 * any further actions. If you retry a successful request using the same client 109 * token, but one or more of the parameters are different, the retry fails with a 110 * ValidationException error.</p> 111 */ WithClientToken(const Aws::String & value)112 inline CreateStudioComponentRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} 113 114 /** 115 * <p>To make an idempotent API request using one of these actions, specify a 116 * client token in the request. You should not reuse the same client token for 117 * other API requests. If you retry a request that completed successfully using the 118 * same client token and the same parameters, the retry succeeds without performing 119 * any further actions. If you retry a successful request using the same client 120 * token, but one or more of the parameters are different, the retry fails with a 121 * ValidationException error.</p> 122 */ WithClientToken(Aws::String && value)123 inline CreateStudioComponentRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} 124 125 /** 126 * <p>To make an idempotent API request using one of these actions, specify a 127 * client token in the request. You should not reuse the same client token for 128 * other API requests. If you retry a request that completed successfully using the 129 * same client token and the same parameters, the retry succeeds without performing 130 * any further actions. If you retry a successful request using the same client 131 * token, but one or more of the parameters are different, the retry fails with a 132 * ValidationException error.</p> 133 */ WithClientToken(const char * value)134 inline CreateStudioComponentRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} 135 136 137 /** 138 * <p>The configuration of the studio component, based on component type.</p> 139 */ GetConfiguration()140 inline const StudioComponentConfiguration& GetConfiguration() const{ return m_configuration; } 141 142 /** 143 * <p>The configuration of the studio component, based on component type.</p> 144 */ ConfigurationHasBeenSet()145 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } 146 147 /** 148 * <p>The configuration of the studio component, based on component type.</p> 149 */ SetConfiguration(const StudioComponentConfiguration & value)150 inline void SetConfiguration(const StudioComponentConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } 151 152 /** 153 * <p>The configuration of the studio component, based on component type.</p> 154 */ SetConfiguration(StudioComponentConfiguration && value)155 inline void SetConfiguration(StudioComponentConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } 156 157 /** 158 * <p>The configuration of the studio component, based on component type.</p> 159 */ WithConfiguration(const StudioComponentConfiguration & value)160 inline CreateStudioComponentRequest& WithConfiguration(const StudioComponentConfiguration& value) { SetConfiguration(value); return *this;} 161 162 /** 163 * <p>The configuration of the studio component, based on component type.</p> 164 */ WithConfiguration(StudioComponentConfiguration && value)165 inline CreateStudioComponentRequest& WithConfiguration(StudioComponentConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} 166 167 168 /** 169 * <p>The description.</p> 170 */ GetDescription()171 inline const Aws::String& GetDescription() const{ return m_description; } 172 173 /** 174 * <p>The description.</p> 175 */ DescriptionHasBeenSet()176 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 177 178 /** 179 * <p>The description.</p> 180 */ SetDescription(const Aws::String & value)181 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 182 183 /** 184 * <p>The description.</p> 185 */ SetDescription(Aws::String && value)186 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 187 188 /** 189 * <p>The description.</p> 190 */ SetDescription(const char * value)191 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 192 193 /** 194 * <p>The description.</p> 195 */ WithDescription(const Aws::String & value)196 inline CreateStudioComponentRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 197 198 /** 199 * <p>The description.</p> 200 */ WithDescription(Aws::String && value)201 inline CreateStudioComponentRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 202 203 /** 204 * <p>The description.</p> 205 */ WithDescription(const char * value)206 inline CreateStudioComponentRequest& WithDescription(const char* value) { SetDescription(value); return *this;} 207 208 209 /** 210 * <p>The EC2 security groups that control access to the studio component.</p> 211 */ GetEc2SecurityGroupIds()212 inline const Aws::Vector<Aws::String>& GetEc2SecurityGroupIds() const{ return m_ec2SecurityGroupIds; } 213 214 /** 215 * <p>The EC2 security groups that control access to the studio component.</p> 216 */ Ec2SecurityGroupIdsHasBeenSet()217 inline bool Ec2SecurityGroupIdsHasBeenSet() const { return m_ec2SecurityGroupIdsHasBeenSet; } 218 219 /** 220 * <p>The EC2 security groups that control access to the studio component.</p> 221 */ SetEc2SecurityGroupIds(const Aws::Vector<Aws::String> & value)222 inline void SetEc2SecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds = value; } 223 224 /** 225 * <p>The EC2 security groups that control access to the studio component.</p> 226 */ SetEc2SecurityGroupIds(Aws::Vector<Aws::String> && value)227 inline void SetEc2SecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds = std::move(value); } 228 229 /** 230 * <p>The EC2 security groups that control access to the studio component.</p> 231 */ WithEc2SecurityGroupIds(const Aws::Vector<Aws::String> & value)232 inline CreateStudioComponentRequest& WithEc2SecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetEc2SecurityGroupIds(value); return *this;} 233 234 /** 235 * <p>The EC2 security groups that control access to the studio component.</p> 236 */ WithEc2SecurityGroupIds(Aws::Vector<Aws::String> && value)237 inline CreateStudioComponentRequest& WithEc2SecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetEc2SecurityGroupIds(std::move(value)); return *this;} 238 239 /** 240 * <p>The EC2 security groups that control access to the studio component.</p> 241 */ AddEc2SecurityGroupIds(const Aws::String & value)242 inline CreateStudioComponentRequest& AddEc2SecurityGroupIds(const Aws::String& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } 243 244 /** 245 * <p>The EC2 security groups that control access to the studio component.</p> 246 */ AddEc2SecurityGroupIds(Aws::String && value)247 inline CreateStudioComponentRequest& AddEc2SecurityGroupIds(Aws::String&& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(std::move(value)); return *this; } 248 249 /** 250 * <p>The EC2 security groups that control access to the studio component.</p> 251 */ AddEc2SecurityGroupIds(const char * value)252 inline CreateStudioComponentRequest& AddEc2SecurityGroupIds(const char* value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } 253 254 255 /** 256 * <p>Initialization scripts for studio components.</p> 257 */ GetInitializationScripts()258 inline const Aws::Vector<StudioComponentInitializationScript>& GetInitializationScripts() const{ return m_initializationScripts; } 259 260 /** 261 * <p>Initialization scripts for studio components.</p> 262 */ InitializationScriptsHasBeenSet()263 inline bool InitializationScriptsHasBeenSet() const { return m_initializationScriptsHasBeenSet; } 264 265 /** 266 * <p>Initialization scripts for studio components.</p> 267 */ SetInitializationScripts(const Aws::Vector<StudioComponentInitializationScript> & value)268 inline void SetInitializationScripts(const Aws::Vector<StudioComponentInitializationScript>& value) { m_initializationScriptsHasBeenSet = true; m_initializationScripts = value; } 269 270 /** 271 * <p>Initialization scripts for studio components.</p> 272 */ SetInitializationScripts(Aws::Vector<StudioComponentInitializationScript> && value)273 inline void SetInitializationScripts(Aws::Vector<StudioComponentInitializationScript>&& value) { m_initializationScriptsHasBeenSet = true; m_initializationScripts = std::move(value); } 274 275 /** 276 * <p>Initialization scripts for studio components.</p> 277 */ WithInitializationScripts(const Aws::Vector<StudioComponentInitializationScript> & value)278 inline CreateStudioComponentRequest& WithInitializationScripts(const Aws::Vector<StudioComponentInitializationScript>& value) { SetInitializationScripts(value); return *this;} 279 280 /** 281 * <p>Initialization scripts for studio components.</p> 282 */ WithInitializationScripts(Aws::Vector<StudioComponentInitializationScript> && value)283 inline CreateStudioComponentRequest& WithInitializationScripts(Aws::Vector<StudioComponentInitializationScript>&& value) { SetInitializationScripts(std::move(value)); return *this;} 284 285 /** 286 * <p>Initialization scripts for studio components.</p> 287 */ AddInitializationScripts(const StudioComponentInitializationScript & value)288 inline CreateStudioComponentRequest& AddInitializationScripts(const StudioComponentInitializationScript& value) { m_initializationScriptsHasBeenSet = true; m_initializationScripts.push_back(value); return *this; } 289 290 /** 291 * <p>Initialization scripts for studio components.</p> 292 */ AddInitializationScripts(StudioComponentInitializationScript && value)293 inline CreateStudioComponentRequest& AddInitializationScripts(StudioComponentInitializationScript&& value) { m_initializationScriptsHasBeenSet = true; m_initializationScripts.push_back(std::move(value)); return *this; } 294 295 296 /** 297 * <p>The name for the studio component.</p> 298 */ GetName()299 inline const Aws::String& GetName() const{ return m_name; } 300 301 /** 302 * <p>The name for the studio component.</p> 303 */ NameHasBeenSet()304 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 305 306 /** 307 * <p>The name for the studio component.</p> 308 */ SetName(const Aws::String & value)309 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 310 311 /** 312 * <p>The name for the studio component.</p> 313 */ SetName(Aws::String && value)314 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 315 316 /** 317 * <p>The name for the studio component.</p> 318 */ SetName(const char * value)319 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 320 321 /** 322 * <p>The name for the studio component.</p> 323 */ WithName(const Aws::String & value)324 inline CreateStudioComponentRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 325 326 /** 327 * <p>The name for the studio component.</p> 328 */ WithName(Aws::String && value)329 inline CreateStudioComponentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 330 331 /** 332 * <p>The name for the studio component.</p> 333 */ WithName(const char * value)334 inline CreateStudioComponentRequest& WithName(const char* value) { SetName(value); return *this;} 335 336 337 /** 338 * <p>Parameters for the studio component scripts.</p> 339 */ GetScriptParameters()340 inline const Aws::Vector<ScriptParameterKeyValue>& GetScriptParameters() const{ return m_scriptParameters; } 341 342 /** 343 * <p>Parameters for the studio component scripts.</p> 344 */ ScriptParametersHasBeenSet()345 inline bool ScriptParametersHasBeenSet() const { return m_scriptParametersHasBeenSet; } 346 347 /** 348 * <p>Parameters for the studio component scripts.</p> 349 */ SetScriptParameters(const Aws::Vector<ScriptParameterKeyValue> & value)350 inline void SetScriptParameters(const Aws::Vector<ScriptParameterKeyValue>& value) { m_scriptParametersHasBeenSet = true; m_scriptParameters = value; } 351 352 /** 353 * <p>Parameters for the studio component scripts.</p> 354 */ SetScriptParameters(Aws::Vector<ScriptParameterKeyValue> && value)355 inline void SetScriptParameters(Aws::Vector<ScriptParameterKeyValue>&& value) { m_scriptParametersHasBeenSet = true; m_scriptParameters = std::move(value); } 356 357 /** 358 * <p>Parameters for the studio component scripts.</p> 359 */ WithScriptParameters(const Aws::Vector<ScriptParameterKeyValue> & value)360 inline CreateStudioComponentRequest& WithScriptParameters(const Aws::Vector<ScriptParameterKeyValue>& value) { SetScriptParameters(value); return *this;} 361 362 /** 363 * <p>Parameters for the studio component scripts.</p> 364 */ WithScriptParameters(Aws::Vector<ScriptParameterKeyValue> && value)365 inline CreateStudioComponentRequest& WithScriptParameters(Aws::Vector<ScriptParameterKeyValue>&& value) { SetScriptParameters(std::move(value)); return *this;} 366 367 /** 368 * <p>Parameters for the studio component scripts.</p> 369 */ AddScriptParameters(const ScriptParameterKeyValue & value)370 inline CreateStudioComponentRequest& AddScriptParameters(const ScriptParameterKeyValue& value) { m_scriptParametersHasBeenSet = true; m_scriptParameters.push_back(value); return *this; } 371 372 /** 373 * <p>Parameters for the studio component scripts.</p> 374 */ AddScriptParameters(ScriptParameterKeyValue && value)375 inline CreateStudioComponentRequest& AddScriptParameters(ScriptParameterKeyValue&& value) { m_scriptParametersHasBeenSet = true; m_scriptParameters.push_back(std::move(value)); return *this; } 376 377 378 /** 379 * <p>The studio ID.</p> 380 */ GetStudioId()381 inline const Aws::String& GetStudioId() const{ return m_studioId; } 382 383 /** 384 * <p>The studio ID.</p> 385 */ StudioIdHasBeenSet()386 inline bool StudioIdHasBeenSet() const { return m_studioIdHasBeenSet; } 387 388 /** 389 * <p>The studio ID.</p> 390 */ SetStudioId(const Aws::String & value)391 inline void SetStudioId(const Aws::String& value) { m_studioIdHasBeenSet = true; m_studioId = value; } 392 393 /** 394 * <p>The studio ID.</p> 395 */ SetStudioId(Aws::String && value)396 inline void SetStudioId(Aws::String&& value) { m_studioIdHasBeenSet = true; m_studioId = std::move(value); } 397 398 /** 399 * <p>The studio ID.</p> 400 */ SetStudioId(const char * value)401 inline void SetStudioId(const char* value) { m_studioIdHasBeenSet = true; m_studioId.assign(value); } 402 403 /** 404 * <p>The studio ID.</p> 405 */ WithStudioId(const Aws::String & value)406 inline CreateStudioComponentRequest& WithStudioId(const Aws::String& value) { SetStudioId(value); return *this;} 407 408 /** 409 * <p>The studio ID.</p> 410 */ WithStudioId(Aws::String && value)411 inline CreateStudioComponentRequest& WithStudioId(Aws::String&& value) { SetStudioId(std::move(value)); return *this;} 412 413 /** 414 * <p>The studio ID.</p> 415 */ WithStudioId(const char * value)416 inline CreateStudioComponentRequest& WithStudioId(const char* value) { SetStudioId(value); return *this;} 417 418 419 /** 420 * <p>The specific subtype of a studio component.</p> 421 */ GetSubtype()422 inline const StudioComponentSubtype& GetSubtype() const{ return m_subtype; } 423 424 /** 425 * <p>The specific subtype of a studio component.</p> 426 */ SubtypeHasBeenSet()427 inline bool SubtypeHasBeenSet() const { return m_subtypeHasBeenSet; } 428 429 /** 430 * <p>The specific subtype of a studio component.</p> 431 */ SetSubtype(const StudioComponentSubtype & value)432 inline void SetSubtype(const StudioComponentSubtype& value) { m_subtypeHasBeenSet = true; m_subtype = value; } 433 434 /** 435 * <p>The specific subtype of a studio component.</p> 436 */ SetSubtype(StudioComponentSubtype && value)437 inline void SetSubtype(StudioComponentSubtype&& value) { m_subtypeHasBeenSet = true; m_subtype = std::move(value); } 438 439 /** 440 * <p>The specific subtype of a studio component.</p> 441 */ WithSubtype(const StudioComponentSubtype & value)442 inline CreateStudioComponentRequest& WithSubtype(const StudioComponentSubtype& value) { SetSubtype(value); return *this;} 443 444 /** 445 * <p>The specific subtype of a studio component.</p> 446 */ WithSubtype(StudioComponentSubtype && value)447 inline CreateStudioComponentRequest& WithSubtype(StudioComponentSubtype&& value) { SetSubtype(std::move(value)); return *this;} 448 449 450 /** 451 * <p>A collection of labels, in the form of key:value pairs, that apply to this 452 * resource.</p> 453 */ GetTags()454 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 455 456 /** 457 * <p>A collection of labels, in the form of key:value pairs, that apply to this 458 * resource.</p> 459 */ TagsHasBeenSet()460 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 461 462 /** 463 * <p>A collection of labels, in the form of key:value pairs, that apply to this 464 * resource.</p> 465 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)466 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 467 468 /** 469 * <p>A collection of labels, in the form of key:value pairs, that apply to this 470 * resource.</p> 471 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)472 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 473 474 /** 475 * <p>A collection of labels, in the form of key:value pairs, that apply to this 476 * resource.</p> 477 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)478 inline CreateStudioComponentRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 479 480 /** 481 * <p>A collection of labels, in the form of key:value pairs, that apply to this 482 * resource.</p> 483 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)484 inline CreateStudioComponentRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 485 486 /** 487 * <p>A collection of labels, in the form of key:value pairs, that apply to this 488 * resource.</p> 489 */ AddTags(const Aws::String & key,const Aws::String & value)490 inline CreateStudioComponentRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 491 492 /** 493 * <p>A collection of labels, in the form of key:value pairs, that apply to this 494 * resource.</p> 495 */ AddTags(Aws::String && key,const Aws::String & value)496 inline CreateStudioComponentRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 497 498 /** 499 * <p>A collection of labels, in the form of key:value pairs, that apply to this 500 * resource.</p> 501 */ AddTags(const Aws::String & key,Aws::String && value)502 inline CreateStudioComponentRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 503 504 /** 505 * <p>A collection of labels, in the form of key:value pairs, that apply to this 506 * resource.</p> 507 */ AddTags(Aws::String && key,Aws::String && value)508 inline CreateStudioComponentRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 509 510 /** 511 * <p>A collection of labels, in the form of key:value pairs, that apply to this 512 * resource.</p> 513 */ AddTags(const char * key,Aws::String && value)514 inline CreateStudioComponentRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 515 516 /** 517 * <p>A collection of labels, in the form of key:value pairs, that apply to this 518 * resource.</p> 519 */ AddTags(Aws::String && key,const char * value)520 inline CreateStudioComponentRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 521 522 /** 523 * <p>A collection of labels, in the form of key:value pairs, that apply to this 524 * resource.</p> 525 */ AddTags(const char * key,const char * value)526 inline CreateStudioComponentRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 527 528 529 /** 530 * <p>The type of the studio component.</p> 531 */ GetType()532 inline const StudioComponentType& GetType() const{ return m_type; } 533 534 /** 535 * <p>The type of the studio component.</p> 536 */ TypeHasBeenSet()537 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 538 539 /** 540 * <p>The type of the studio component.</p> 541 */ SetType(const StudioComponentType & value)542 inline void SetType(const StudioComponentType& value) { m_typeHasBeenSet = true; m_type = value; } 543 544 /** 545 * <p>The type of the studio component.</p> 546 */ SetType(StudioComponentType && value)547 inline void SetType(StudioComponentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 548 549 /** 550 * <p>The type of the studio component.</p> 551 */ WithType(const StudioComponentType & value)552 inline CreateStudioComponentRequest& WithType(const StudioComponentType& value) { SetType(value); return *this;} 553 554 /** 555 * <p>The type of the studio component.</p> 556 */ WithType(StudioComponentType && value)557 inline CreateStudioComponentRequest& WithType(StudioComponentType&& value) { SetType(std::move(value)); return *this;} 558 559 private: 560 561 Aws::String m_clientToken; 562 bool m_clientTokenHasBeenSet; 563 564 StudioComponentConfiguration m_configuration; 565 bool m_configurationHasBeenSet; 566 567 Aws::String m_description; 568 bool m_descriptionHasBeenSet; 569 570 Aws::Vector<Aws::String> m_ec2SecurityGroupIds; 571 bool m_ec2SecurityGroupIdsHasBeenSet; 572 573 Aws::Vector<StudioComponentInitializationScript> m_initializationScripts; 574 bool m_initializationScriptsHasBeenSet; 575 576 Aws::String m_name; 577 bool m_nameHasBeenSet; 578 579 Aws::Vector<ScriptParameterKeyValue> m_scriptParameters; 580 bool m_scriptParametersHasBeenSet; 581 582 Aws::String m_studioId; 583 bool m_studioIdHasBeenSet; 584 585 StudioComponentSubtype m_subtype; 586 bool m_subtypeHasBeenSet; 587 588 Aws::Map<Aws::String, Aws::String> m_tags; 589 bool m_tagsHasBeenSet; 590 591 StudioComponentType m_type; 592 bool m_typeHasBeenSet; 593 }; 594 595 } // namespace Model 596 } // namespace NimbleStudio 597 } // namespace Aws 598