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/core/utils/memory/stl/AWSVector.h> 11 #include <aws/nimble/model/StreamConfigurationCreate.h> 12 #include <utility> 13 #include <aws/core/utils/UUID.h> 14 15 namespace Aws 16 { 17 namespace NimbleStudio 18 { 19 namespace Model 20 { 21 22 /** 23 * <p>The launch profile ID.</p><p><h3>See Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateLaunchProfileRequest">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_NIMBLESTUDIO_API UpdateLaunchProfileRequest : public NimbleStudioRequest 28 { 29 public: 30 UpdateLaunchProfileRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "UpdateLaunchProfile"; } 37 38 Aws::String SerializePayload() const override; 39 40 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 41 42 43 /** 44 * <p>To make an idempotent API request using one of these actions, specify a 45 * client token in the request. You should not reuse the same client token for 46 * other API requests. If you retry a request that completed successfully using the 47 * same client token and the same parameters, the retry succeeds without performing 48 * any further actions. If you retry a successful request using the same client 49 * token, but one or more of the parameters are different, the retry fails with a 50 * ValidationException error.</p> 51 */ GetClientToken()52 inline const Aws::String& GetClientToken() const{ return m_clientToken; } 53 54 /** 55 * <p>To make an idempotent API request using one of these actions, specify a 56 * client token in the request. You should not reuse the same client token for 57 * other API requests. If you retry a request that completed successfully using the 58 * same client token and the same parameters, the retry succeeds without performing 59 * any further actions. If you retry a successful request using the same client 60 * token, but one or more of the parameters are different, the retry fails with a 61 * ValidationException error.</p> 62 */ ClientTokenHasBeenSet()63 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } 64 65 /** 66 * <p>To make an idempotent API request using one of these actions, specify a 67 * client token in the request. You should not reuse the same client token for 68 * other API requests. If you retry a request that completed successfully using the 69 * same client token and the same parameters, the retry succeeds without performing 70 * any further actions. If you retry a successful request using the same client 71 * token, but one or more of the parameters are different, the retry fails with a 72 * ValidationException error.</p> 73 */ SetClientToken(const Aws::String & value)74 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } 75 76 /** 77 * <p>To make an idempotent API request using one of these actions, specify a 78 * client token in the request. You should not reuse the same client token for 79 * other API requests. If you retry a request that completed successfully using the 80 * same client token and the same parameters, the retry succeeds without performing 81 * any further actions. If you retry a successful request using the same client 82 * token, but one or more of the parameters are different, the retry fails with a 83 * ValidationException error.</p> 84 */ SetClientToken(Aws::String && value)85 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } 86 87 /** 88 * <p>To make an idempotent API request using one of these actions, specify a 89 * client token in the request. You should not reuse the same client token for 90 * other API requests. If you retry a request that completed successfully using the 91 * same client token and the same parameters, the retry succeeds without performing 92 * any further actions. If you retry a successful request using the same client 93 * token, but one or more of the parameters are different, the retry fails with a 94 * ValidationException error.</p> 95 */ SetClientToken(const char * value)96 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } 97 98 /** 99 * <p>To make an idempotent API request using one of these actions, specify a 100 * client token in the request. You should not reuse the same client token for 101 * other API requests. If you retry a request that completed successfully using the 102 * same client token and the same parameters, the retry succeeds without performing 103 * any further actions. If you retry a successful request using the same client 104 * token, but one or more of the parameters are different, the retry fails with a 105 * ValidationException error.</p> 106 */ WithClientToken(const Aws::String & value)107 inline UpdateLaunchProfileRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} 108 109 /** 110 * <p>To make an idempotent API request using one of these actions, specify a 111 * client token in the request. You should not reuse the same client token for 112 * other API requests. If you retry a request that completed successfully using the 113 * same client token and the same parameters, the retry succeeds without performing 114 * any further actions. If you retry a successful request using the same client 115 * token, but one or more of the parameters are different, the retry fails with a 116 * ValidationException error.</p> 117 */ WithClientToken(Aws::String && value)118 inline UpdateLaunchProfileRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} 119 120 /** 121 * <p>To make an idempotent API request using one of these actions, specify a 122 * client token in the request. You should not reuse the same client token for 123 * other API requests. If you retry a request that completed successfully using the 124 * same client token and the same parameters, the retry succeeds without performing 125 * any further actions. If you retry a successful request using the same client 126 * token, but one or more of the parameters are different, the retry fails with a 127 * ValidationException error.</p> 128 */ WithClientToken(const char * value)129 inline UpdateLaunchProfileRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} 130 131 132 /** 133 * <p>The description.</p> 134 */ GetDescription()135 inline const Aws::String& GetDescription() const{ return m_description; } 136 137 /** 138 * <p>The description.</p> 139 */ DescriptionHasBeenSet()140 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 141 142 /** 143 * <p>The description.</p> 144 */ SetDescription(const Aws::String & value)145 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 146 147 /** 148 * <p>The description.</p> 149 */ SetDescription(Aws::String && value)150 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 151 152 /** 153 * <p>The description.</p> 154 */ SetDescription(const char * value)155 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 156 157 /** 158 * <p>The description.</p> 159 */ WithDescription(const Aws::String & value)160 inline UpdateLaunchProfileRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 161 162 /** 163 * <p>The description.</p> 164 */ WithDescription(Aws::String && value)165 inline UpdateLaunchProfileRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 166 167 /** 168 * <p>The description.</p> 169 */ WithDescription(const char * value)170 inline UpdateLaunchProfileRequest& WithDescription(const char* value) { SetDescription(value); return *this;} 171 172 173 /** 174 * <p>The launch profile ID.</p> 175 */ GetLaunchProfileId()176 inline const Aws::String& GetLaunchProfileId() const{ return m_launchProfileId; } 177 178 /** 179 * <p>The launch profile ID.</p> 180 */ LaunchProfileIdHasBeenSet()181 inline bool LaunchProfileIdHasBeenSet() const { return m_launchProfileIdHasBeenSet; } 182 183 /** 184 * <p>The launch profile ID.</p> 185 */ SetLaunchProfileId(const Aws::String & value)186 inline void SetLaunchProfileId(const Aws::String& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = value; } 187 188 /** 189 * <p>The launch profile ID.</p> 190 */ SetLaunchProfileId(Aws::String && value)191 inline void SetLaunchProfileId(Aws::String&& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = std::move(value); } 192 193 /** 194 * <p>The launch profile ID.</p> 195 */ SetLaunchProfileId(const char * value)196 inline void SetLaunchProfileId(const char* value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId.assign(value); } 197 198 /** 199 * <p>The launch profile ID.</p> 200 */ WithLaunchProfileId(const Aws::String & value)201 inline UpdateLaunchProfileRequest& WithLaunchProfileId(const Aws::String& value) { SetLaunchProfileId(value); return *this;} 202 203 /** 204 * <p>The launch profile ID.</p> 205 */ WithLaunchProfileId(Aws::String && value)206 inline UpdateLaunchProfileRequest& WithLaunchProfileId(Aws::String&& value) { SetLaunchProfileId(std::move(value)); return *this;} 207 208 /** 209 * <p>The launch profile ID.</p> 210 */ WithLaunchProfileId(const char * value)211 inline UpdateLaunchProfileRequest& WithLaunchProfileId(const char* value) { SetLaunchProfileId(value); return *this;} 212 213 214 /** 215 * <p>The version number of the protocol that is used by the launch profile. The 216 * only valid version is "2021-03-31".</p> 217 */ GetLaunchProfileProtocolVersions()218 inline const Aws::Vector<Aws::String>& GetLaunchProfileProtocolVersions() const{ return m_launchProfileProtocolVersions; } 219 220 /** 221 * <p>The version number of the protocol that is used by the launch profile. The 222 * only valid version is "2021-03-31".</p> 223 */ LaunchProfileProtocolVersionsHasBeenSet()224 inline bool LaunchProfileProtocolVersionsHasBeenSet() const { return m_launchProfileProtocolVersionsHasBeenSet; } 225 226 /** 227 * <p>The version number of the protocol that is used by the launch profile. The 228 * only valid version is "2021-03-31".</p> 229 */ SetLaunchProfileProtocolVersions(const Aws::Vector<Aws::String> & value)230 inline void SetLaunchProfileProtocolVersions(const Aws::Vector<Aws::String>& value) { m_launchProfileProtocolVersionsHasBeenSet = true; m_launchProfileProtocolVersions = value; } 231 232 /** 233 * <p>The version number of the protocol that is used by the launch profile. The 234 * only valid version is "2021-03-31".</p> 235 */ SetLaunchProfileProtocolVersions(Aws::Vector<Aws::String> && value)236 inline void SetLaunchProfileProtocolVersions(Aws::Vector<Aws::String>&& value) { m_launchProfileProtocolVersionsHasBeenSet = true; m_launchProfileProtocolVersions = std::move(value); } 237 238 /** 239 * <p>The version number of the protocol that is used by the launch profile. The 240 * only valid version is "2021-03-31".</p> 241 */ WithLaunchProfileProtocolVersions(const Aws::Vector<Aws::String> & value)242 inline UpdateLaunchProfileRequest& WithLaunchProfileProtocolVersions(const Aws::Vector<Aws::String>& value) { SetLaunchProfileProtocolVersions(value); return *this;} 243 244 /** 245 * <p>The version number of the protocol that is used by the launch profile. The 246 * only valid version is "2021-03-31".</p> 247 */ WithLaunchProfileProtocolVersions(Aws::Vector<Aws::String> && value)248 inline UpdateLaunchProfileRequest& WithLaunchProfileProtocolVersions(Aws::Vector<Aws::String>&& value) { SetLaunchProfileProtocolVersions(std::move(value)); return *this;} 249 250 /** 251 * <p>The version number of the protocol that is used by the launch profile. The 252 * only valid version is "2021-03-31".</p> 253 */ AddLaunchProfileProtocolVersions(const Aws::String & value)254 inline UpdateLaunchProfileRequest& AddLaunchProfileProtocolVersions(const Aws::String& value) { m_launchProfileProtocolVersionsHasBeenSet = true; m_launchProfileProtocolVersions.push_back(value); return *this; } 255 256 /** 257 * <p>The version number of the protocol that is used by the launch profile. The 258 * only valid version is "2021-03-31".</p> 259 */ AddLaunchProfileProtocolVersions(Aws::String && value)260 inline UpdateLaunchProfileRequest& AddLaunchProfileProtocolVersions(Aws::String&& value) { m_launchProfileProtocolVersionsHasBeenSet = true; m_launchProfileProtocolVersions.push_back(std::move(value)); return *this; } 261 262 /** 263 * <p>The version number of the protocol that is used by the launch profile. The 264 * only valid version is "2021-03-31".</p> 265 */ AddLaunchProfileProtocolVersions(const char * value)266 inline UpdateLaunchProfileRequest& AddLaunchProfileProtocolVersions(const char* value) { m_launchProfileProtocolVersionsHasBeenSet = true; m_launchProfileProtocolVersions.push_back(value); return *this; } 267 268 269 /** 270 * <p>The name for the launch profile.</p> 271 */ GetName()272 inline const Aws::String& GetName() const{ return m_name; } 273 274 /** 275 * <p>The name for the launch profile.</p> 276 */ NameHasBeenSet()277 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 278 279 /** 280 * <p>The name for the launch profile.</p> 281 */ SetName(const Aws::String & value)282 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 283 284 /** 285 * <p>The name for the launch profile.</p> 286 */ SetName(Aws::String && value)287 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 288 289 /** 290 * <p>The name for the launch profile.</p> 291 */ SetName(const char * value)292 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 293 294 /** 295 * <p>The name for the launch profile.</p> 296 */ WithName(const Aws::String & value)297 inline UpdateLaunchProfileRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 298 299 /** 300 * <p>The name for the launch profile.</p> 301 */ WithName(Aws::String && value)302 inline UpdateLaunchProfileRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 303 304 /** 305 * <p>The name for the launch profile.</p> 306 */ WithName(const char * value)307 inline UpdateLaunchProfileRequest& WithName(const char* value) { SetName(value); return *this;} 308 309 310 /** 311 * <p>A configuration for a streaming session.</p> 312 */ GetStreamConfiguration()313 inline const StreamConfigurationCreate& GetStreamConfiguration() const{ return m_streamConfiguration; } 314 315 /** 316 * <p>A configuration for a streaming session.</p> 317 */ StreamConfigurationHasBeenSet()318 inline bool StreamConfigurationHasBeenSet() const { return m_streamConfigurationHasBeenSet; } 319 320 /** 321 * <p>A configuration for a streaming session.</p> 322 */ SetStreamConfiguration(const StreamConfigurationCreate & value)323 inline void SetStreamConfiguration(const StreamConfigurationCreate& value) { m_streamConfigurationHasBeenSet = true; m_streamConfiguration = value; } 324 325 /** 326 * <p>A configuration for a streaming session.</p> 327 */ SetStreamConfiguration(StreamConfigurationCreate && value)328 inline void SetStreamConfiguration(StreamConfigurationCreate&& value) { m_streamConfigurationHasBeenSet = true; m_streamConfiguration = std::move(value); } 329 330 /** 331 * <p>A configuration for a streaming session.</p> 332 */ WithStreamConfiguration(const StreamConfigurationCreate & value)333 inline UpdateLaunchProfileRequest& WithStreamConfiguration(const StreamConfigurationCreate& value) { SetStreamConfiguration(value); return *this;} 334 335 /** 336 * <p>A configuration for a streaming session.</p> 337 */ WithStreamConfiguration(StreamConfigurationCreate && value)338 inline UpdateLaunchProfileRequest& WithStreamConfiguration(StreamConfigurationCreate&& value) { SetStreamConfiguration(std::move(value)); return *this;} 339 340 341 /** 342 * <p>Unique identifiers for a collection of studio components that can be used 343 * with this launch profile.</p> 344 */ GetStudioComponentIds()345 inline const Aws::Vector<Aws::String>& GetStudioComponentIds() const{ return m_studioComponentIds; } 346 347 /** 348 * <p>Unique identifiers for a collection of studio components that can be used 349 * with this launch profile.</p> 350 */ StudioComponentIdsHasBeenSet()351 inline bool StudioComponentIdsHasBeenSet() const { return m_studioComponentIdsHasBeenSet; } 352 353 /** 354 * <p>Unique identifiers for a collection of studio components that can be used 355 * with this launch profile.</p> 356 */ SetStudioComponentIds(const Aws::Vector<Aws::String> & value)357 inline void SetStudioComponentIds(const Aws::Vector<Aws::String>& value) { m_studioComponentIdsHasBeenSet = true; m_studioComponentIds = value; } 358 359 /** 360 * <p>Unique identifiers for a collection of studio components that can be used 361 * with this launch profile.</p> 362 */ SetStudioComponentIds(Aws::Vector<Aws::String> && value)363 inline void SetStudioComponentIds(Aws::Vector<Aws::String>&& value) { m_studioComponentIdsHasBeenSet = true; m_studioComponentIds = std::move(value); } 364 365 /** 366 * <p>Unique identifiers for a collection of studio components that can be used 367 * with this launch profile.</p> 368 */ WithStudioComponentIds(const Aws::Vector<Aws::String> & value)369 inline UpdateLaunchProfileRequest& WithStudioComponentIds(const Aws::Vector<Aws::String>& value) { SetStudioComponentIds(value); return *this;} 370 371 /** 372 * <p>Unique identifiers for a collection of studio components that can be used 373 * with this launch profile.</p> 374 */ WithStudioComponentIds(Aws::Vector<Aws::String> && value)375 inline UpdateLaunchProfileRequest& WithStudioComponentIds(Aws::Vector<Aws::String>&& value) { SetStudioComponentIds(std::move(value)); return *this;} 376 377 /** 378 * <p>Unique identifiers for a collection of studio components that can be used 379 * with this launch profile.</p> 380 */ AddStudioComponentIds(const Aws::String & value)381 inline UpdateLaunchProfileRequest& AddStudioComponentIds(const Aws::String& value) { m_studioComponentIdsHasBeenSet = true; m_studioComponentIds.push_back(value); return *this; } 382 383 /** 384 * <p>Unique identifiers for a collection of studio components that can be used 385 * with this launch profile.</p> 386 */ AddStudioComponentIds(Aws::String && value)387 inline UpdateLaunchProfileRequest& AddStudioComponentIds(Aws::String&& value) { m_studioComponentIdsHasBeenSet = true; m_studioComponentIds.push_back(std::move(value)); return *this; } 388 389 /** 390 * <p>Unique identifiers for a collection of studio components that can be used 391 * with this launch profile.</p> 392 */ AddStudioComponentIds(const char * value)393 inline UpdateLaunchProfileRequest& AddStudioComponentIds(const char* value) { m_studioComponentIdsHasBeenSet = true; m_studioComponentIds.push_back(value); return *this; } 394 395 396 /** 397 * <p>The studio ID.</p> 398 */ GetStudioId()399 inline const Aws::String& GetStudioId() const{ return m_studioId; } 400 401 /** 402 * <p>The studio ID.</p> 403 */ StudioIdHasBeenSet()404 inline bool StudioIdHasBeenSet() const { return m_studioIdHasBeenSet; } 405 406 /** 407 * <p>The studio ID.</p> 408 */ SetStudioId(const Aws::String & value)409 inline void SetStudioId(const Aws::String& value) { m_studioIdHasBeenSet = true; m_studioId = value; } 410 411 /** 412 * <p>The studio ID.</p> 413 */ SetStudioId(Aws::String && value)414 inline void SetStudioId(Aws::String&& value) { m_studioIdHasBeenSet = true; m_studioId = std::move(value); } 415 416 /** 417 * <p>The studio ID.</p> 418 */ SetStudioId(const char * value)419 inline void SetStudioId(const char* value) { m_studioIdHasBeenSet = true; m_studioId.assign(value); } 420 421 /** 422 * <p>The studio ID.</p> 423 */ WithStudioId(const Aws::String & value)424 inline UpdateLaunchProfileRequest& WithStudioId(const Aws::String& value) { SetStudioId(value); return *this;} 425 426 /** 427 * <p>The studio ID.</p> 428 */ WithStudioId(Aws::String && value)429 inline UpdateLaunchProfileRequest& WithStudioId(Aws::String&& value) { SetStudioId(std::move(value)); return *this;} 430 431 /** 432 * <p>The studio ID.</p> 433 */ WithStudioId(const char * value)434 inline UpdateLaunchProfileRequest& WithStudioId(const char* value) { SetStudioId(value); return *this;} 435 436 private: 437 438 Aws::String m_clientToken; 439 bool m_clientTokenHasBeenSet; 440 441 Aws::String m_description; 442 bool m_descriptionHasBeenSet; 443 444 Aws::String m_launchProfileId; 445 bool m_launchProfileIdHasBeenSet; 446 447 Aws::Vector<Aws::String> m_launchProfileProtocolVersions; 448 bool m_launchProfileProtocolVersionsHasBeenSet; 449 450 Aws::String m_name; 451 bool m_nameHasBeenSet; 452 453 StreamConfigurationCreate m_streamConfiguration; 454 bool m_streamConfigurationHasBeenSet; 455 456 Aws::Vector<Aws::String> m_studioComponentIds; 457 bool m_studioComponentIdsHasBeenSet; 458 459 Aws::String m_studioId; 460 bool m_studioIdHasBeenSet; 461 }; 462 463 } // namespace Model 464 } // namespace NimbleStudio 465 } // namespace Aws 466