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/model/LaunchProfileInitializationActiveDirectory.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/nimble/model/LaunchProfilePlatform.h> 12 #include <aws/nimble/model/LaunchProfileInitializationScript.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace NimbleStudio 26 { 27 namespace Model 28 { 29 30 /** 31 * <p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/LaunchProfileInitialization">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_NIMBLESTUDIO_API LaunchProfileInitialization 36 { 37 public: 38 LaunchProfileInitialization(); 39 LaunchProfileInitialization(Aws::Utils::Json::JsonView jsonValue); 40 LaunchProfileInitialization& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 46 */ GetActiveDirectory()47 inline const LaunchProfileInitializationActiveDirectory& GetActiveDirectory() const{ return m_activeDirectory; } 48 49 /** 50 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 51 */ ActiveDirectoryHasBeenSet()52 inline bool ActiveDirectoryHasBeenSet() const { return m_activeDirectoryHasBeenSet; } 53 54 /** 55 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 56 */ SetActiveDirectory(const LaunchProfileInitializationActiveDirectory & value)57 inline void SetActiveDirectory(const LaunchProfileInitializationActiveDirectory& value) { m_activeDirectoryHasBeenSet = true; m_activeDirectory = value; } 58 59 /** 60 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 61 */ SetActiveDirectory(LaunchProfileInitializationActiveDirectory && value)62 inline void SetActiveDirectory(LaunchProfileInitializationActiveDirectory&& value) { m_activeDirectoryHasBeenSet = true; m_activeDirectory = std::move(value); } 63 64 /** 65 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 66 */ WithActiveDirectory(const LaunchProfileInitializationActiveDirectory & value)67 inline LaunchProfileInitialization& WithActiveDirectory(const LaunchProfileInitializationActiveDirectory& value) { SetActiveDirectory(value); return *this;} 68 69 /** 70 * <p>A LaunchProfileInitializationActiveDirectory resource.</p> 71 */ WithActiveDirectory(LaunchProfileInitializationActiveDirectory && value)72 inline LaunchProfileInitialization& WithActiveDirectory(LaunchProfileInitializationActiveDirectory&& value) { SetActiveDirectory(std::move(value)); return *this;} 73 74 75 /** 76 * <p>The EC2 security groups that control access to the studio component.</p> 77 */ GetEc2SecurityGroupIds()78 inline const Aws::Vector<Aws::String>& GetEc2SecurityGroupIds() const{ return m_ec2SecurityGroupIds; } 79 80 /** 81 * <p>The EC2 security groups that control access to the studio component.</p> 82 */ Ec2SecurityGroupIdsHasBeenSet()83 inline bool Ec2SecurityGroupIdsHasBeenSet() const { return m_ec2SecurityGroupIdsHasBeenSet; } 84 85 /** 86 * <p>The EC2 security groups that control access to the studio component.</p> 87 */ SetEc2SecurityGroupIds(const Aws::Vector<Aws::String> & value)88 inline void SetEc2SecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds = value; } 89 90 /** 91 * <p>The EC2 security groups that control access to the studio component.</p> 92 */ SetEc2SecurityGroupIds(Aws::Vector<Aws::String> && value)93 inline void SetEc2SecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds = std::move(value); } 94 95 /** 96 * <p>The EC2 security groups that control access to the studio component.</p> 97 */ WithEc2SecurityGroupIds(const Aws::Vector<Aws::String> & value)98 inline LaunchProfileInitialization& WithEc2SecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetEc2SecurityGroupIds(value); return *this;} 99 100 /** 101 * <p>The EC2 security groups that control access to the studio component.</p> 102 */ WithEc2SecurityGroupIds(Aws::Vector<Aws::String> && value)103 inline LaunchProfileInitialization& WithEc2SecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetEc2SecurityGroupIds(std::move(value)); return *this;} 104 105 /** 106 * <p>The EC2 security groups that control access to the studio component.</p> 107 */ AddEc2SecurityGroupIds(const Aws::String & value)108 inline LaunchProfileInitialization& AddEc2SecurityGroupIds(const Aws::String& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } 109 110 /** 111 * <p>The EC2 security groups that control access to the studio component.</p> 112 */ AddEc2SecurityGroupIds(Aws::String && value)113 inline LaunchProfileInitialization& AddEc2SecurityGroupIds(Aws::String&& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(std::move(value)); return *this; } 114 115 /** 116 * <p>The EC2 security groups that control access to the studio component.</p> 117 */ AddEc2SecurityGroupIds(const char * value)118 inline LaunchProfileInitialization& AddEc2SecurityGroupIds(const char* value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } 119 120 121 /** 122 * <p>The launch profile ID.</p> 123 */ GetLaunchProfileId()124 inline const Aws::String& GetLaunchProfileId() const{ return m_launchProfileId; } 125 126 /** 127 * <p>The launch profile ID.</p> 128 */ LaunchProfileIdHasBeenSet()129 inline bool LaunchProfileIdHasBeenSet() const { return m_launchProfileIdHasBeenSet; } 130 131 /** 132 * <p>The launch profile ID.</p> 133 */ SetLaunchProfileId(const Aws::String & value)134 inline void SetLaunchProfileId(const Aws::String& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = value; } 135 136 /** 137 * <p>The launch profile ID.</p> 138 */ SetLaunchProfileId(Aws::String && value)139 inline void SetLaunchProfileId(Aws::String&& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = std::move(value); } 140 141 /** 142 * <p>The launch profile ID.</p> 143 */ SetLaunchProfileId(const char * value)144 inline void SetLaunchProfileId(const char* value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId.assign(value); } 145 146 /** 147 * <p>The launch profile ID.</p> 148 */ WithLaunchProfileId(const Aws::String & value)149 inline LaunchProfileInitialization& WithLaunchProfileId(const Aws::String& value) { SetLaunchProfileId(value); return *this;} 150 151 /** 152 * <p>The launch profile ID.</p> 153 */ WithLaunchProfileId(Aws::String && value)154 inline LaunchProfileInitialization& WithLaunchProfileId(Aws::String&& value) { SetLaunchProfileId(std::move(value)); return *this;} 155 156 /** 157 * <p>The launch profile ID.</p> 158 */ WithLaunchProfileId(const char * value)159 inline LaunchProfileInitialization& WithLaunchProfileId(const char* value) { SetLaunchProfileId(value); return *this;} 160 161 162 /** 163 * <p>The version number of the protocol that is used by the launch profile. The 164 * only valid version is "2021-03-31".</p> 165 */ GetLaunchProfileProtocolVersion()166 inline const Aws::String& GetLaunchProfileProtocolVersion() const{ return m_launchProfileProtocolVersion; } 167 168 /** 169 * <p>The version number of the protocol that is used by the launch profile. The 170 * only valid version is "2021-03-31".</p> 171 */ LaunchProfileProtocolVersionHasBeenSet()172 inline bool LaunchProfileProtocolVersionHasBeenSet() const { return m_launchProfileProtocolVersionHasBeenSet; } 173 174 /** 175 * <p>The version number of the protocol that is used by the launch profile. The 176 * only valid version is "2021-03-31".</p> 177 */ SetLaunchProfileProtocolVersion(const Aws::String & value)178 inline void SetLaunchProfileProtocolVersion(const Aws::String& value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion = value; } 179 180 /** 181 * <p>The version number of the protocol that is used by the launch profile. The 182 * only valid version is "2021-03-31".</p> 183 */ SetLaunchProfileProtocolVersion(Aws::String && value)184 inline void SetLaunchProfileProtocolVersion(Aws::String&& value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion = std::move(value); } 185 186 /** 187 * <p>The version number of the protocol that is used by the launch profile. The 188 * only valid version is "2021-03-31".</p> 189 */ SetLaunchProfileProtocolVersion(const char * value)190 inline void SetLaunchProfileProtocolVersion(const char* value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion.assign(value); } 191 192 /** 193 * <p>The version number of the protocol that is used by the launch profile. The 194 * only valid version is "2021-03-31".</p> 195 */ WithLaunchProfileProtocolVersion(const Aws::String & value)196 inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(const Aws::String& value) { SetLaunchProfileProtocolVersion(value); return *this;} 197 198 /** 199 * <p>The version number of the protocol that is used by the launch profile. The 200 * only valid version is "2021-03-31".</p> 201 */ WithLaunchProfileProtocolVersion(Aws::String && value)202 inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(Aws::String&& value) { SetLaunchProfileProtocolVersion(std::move(value)); return *this;} 203 204 /** 205 * <p>The version number of the protocol that is used by the launch profile. The 206 * only valid version is "2021-03-31".</p> 207 */ WithLaunchProfileProtocolVersion(const char * value)208 inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(const char* value) { SetLaunchProfileProtocolVersion(value); return *this;} 209 210 211 /** 212 * <p>The launch purpose.</p> 213 */ GetLaunchPurpose()214 inline const Aws::String& GetLaunchPurpose() const{ return m_launchPurpose; } 215 216 /** 217 * <p>The launch purpose.</p> 218 */ LaunchPurposeHasBeenSet()219 inline bool LaunchPurposeHasBeenSet() const { return m_launchPurposeHasBeenSet; } 220 221 /** 222 * <p>The launch purpose.</p> 223 */ SetLaunchPurpose(const Aws::String & value)224 inline void SetLaunchPurpose(const Aws::String& value) { m_launchPurposeHasBeenSet = true; m_launchPurpose = value; } 225 226 /** 227 * <p>The launch purpose.</p> 228 */ SetLaunchPurpose(Aws::String && value)229 inline void SetLaunchPurpose(Aws::String&& value) { m_launchPurposeHasBeenSet = true; m_launchPurpose = std::move(value); } 230 231 /** 232 * <p>The launch purpose.</p> 233 */ SetLaunchPurpose(const char * value)234 inline void SetLaunchPurpose(const char* value) { m_launchPurposeHasBeenSet = true; m_launchPurpose.assign(value); } 235 236 /** 237 * <p>The launch purpose.</p> 238 */ WithLaunchPurpose(const Aws::String & value)239 inline LaunchProfileInitialization& WithLaunchPurpose(const Aws::String& value) { SetLaunchPurpose(value); return *this;} 240 241 /** 242 * <p>The launch purpose.</p> 243 */ WithLaunchPurpose(Aws::String && value)244 inline LaunchProfileInitialization& WithLaunchPurpose(Aws::String&& value) { SetLaunchPurpose(std::move(value)); return *this;} 245 246 /** 247 * <p>The launch purpose.</p> 248 */ WithLaunchPurpose(const char * value)249 inline LaunchProfileInitialization& WithLaunchPurpose(const char* value) { SetLaunchPurpose(value); return *this;} 250 251 252 /** 253 * <p>The name for the launch profile.</p> 254 */ GetName()255 inline const Aws::String& GetName() const{ return m_name; } 256 257 /** 258 * <p>The name for the launch profile.</p> 259 */ NameHasBeenSet()260 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 261 262 /** 263 * <p>The name for the launch profile.</p> 264 */ SetName(const Aws::String & value)265 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 266 267 /** 268 * <p>The name for the launch profile.</p> 269 */ SetName(Aws::String && value)270 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 271 272 /** 273 * <p>The name for the launch profile.</p> 274 */ SetName(const char * value)275 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 276 277 /** 278 * <p>The name for the launch profile.</p> 279 */ WithName(const Aws::String & value)280 inline LaunchProfileInitialization& WithName(const Aws::String& value) { SetName(value); return *this;} 281 282 /** 283 * <p>The name for the launch profile.</p> 284 */ WithName(Aws::String && value)285 inline LaunchProfileInitialization& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 286 287 /** 288 * <p>The name for the launch profile.</p> 289 */ WithName(const char * value)290 inline LaunchProfileInitialization& WithName(const char* value) { SetName(value); return *this;} 291 292 293 /** 294 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 295 */ GetPlatform()296 inline const LaunchProfilePlatform& GetPlatform() const{ return m_platform; } 297 298 /** 299 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 300 */ PlatformHasBeenSet()301 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } 302 303 /** 304 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 305 */ SetPlatform(const LaunchProfilePlatform & value)306 inline void SetPlatform(const LaunchProfilePlatform& value) { m_platformHasBeenSet = true; m_platform = value; } 307 308 /** 309 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 310 */ SetPlatform(LaunchProfilePlatform && value)311 inline void SetPlatform(LaunchProfilePlatform&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } 312 313 /** 314 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 315 */ WithPlatform(const LaunchProfilePlatform & value)316 inline LaunchProfileInitialization& WithPlatform(const LaunchProfilePlatform& value) { SetPlatform(value); return *this;} 317 318 /** 319 * <p>The platform of the launch platform, either WINDOWS or LINUX.</p> 320 */ WithPlatform(LaunchProfilePlatform && value)321 inline LaunchProfileInitialization& WithPlatform(LaunchProfilePlatform&& value) { SetPlatform(std::move(value)); return *this;} 322 323 324 /** 325 * <p>The system initializtion scripts.</p> 326 */ GetSystemInitializationScripts()327 inline const Aws::Vector<LaunchProfileInitializationScript>& GetSystemInitializationScripts() const{ return m_systemInitializationScripts; } 328 329 /** 330 * <p>The system initializtion scripts.</p> 331 */ SystemInitializationScriptsHasBeenSet()332 inline bool SystemInitializationScriptsHasBeenSet() const { return m_systemInitializationScriptsHasBeenSet; } 333 334 /** 335 * <p>The system initializtion scripts.</p> 336 */ SetSystemInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript> & value)337 inline void SetSystemInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript>& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts = value; } 338 339 /** 340 * <p>The system initializtion scripts.</p> 341 */ SetSystemInitializationScripts(Aws::Vector<LaunchProfileInitializationScript> && value)342 inline void SetSystemInitializationScripts(Aws::Vector<LaunchProfileInitializationScript>&& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts = std::move(value); } 343 344 /** 345 * <p>The system initializtion scripts.</p> 346 */ WithSystemInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript> & value)347 inline LaunchProfileInitialization& WithSystemInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript>& value) { SetSystemInitializationScripts(value); return *this;} 348 349 /** 350 * <p>The system initializtion scripts.</p> 351 */ WithSystemInitializationScripts(Aws::Vector<LaunchProfileInitializationScript> && value)352 inline LaunchProfileInitialization& WithSystemInitializationScripts(Aws::Vector<LaunchProfileInitializationScript>&& value) { SetSystemInitializationScripts(std::move(value)); return *this;} 353 354 /** 355 * <p>The system initializtion scripts.</p> 356 */ AddSystemInitializationScripts(const LaunchProfileInitializationScript & value)357 inline LaunchProfileInitialization& AddSystemInitializationScripts(const LaunchProfileInitializationScript& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts.push_back(value); return *this; } 358 359 /** 360 * <p>The system initializtion scripts.</p> 361 */ AddSystemInitializationScripts(LaunchProfileInitializationScript && value)362 inline LaunchProfileInitialization& AddSystemInitializationScripts(LaunchProfileInitializationScript&& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts.push_back(std::move(value)); return *this; } 363 364 365 /** 366 * <p>The user initializtion scripts.</p> 367 */ GetUserInitializationScripts()368 inline const Aws::Vector<LaunchProfileInitializationScript>& GetUserInitializationScripts() const{ return m_userInitializationScripts; } 369 370 /** 371 * <p>The user initializtion scripts.</p> 372 */ UserInitializationScriptsHasBeenSet()373 inline bool UserInitializationScriptsHasBeenSet() const { return m_userInitializationScriptsHasBeenSet; } 374 375 /** 376 * <p>The user initializtion scripts.</p> 377 */ SetUserInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript> & value)378 inline void SetUserInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript>& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts = value; } 379 380 /** 381 * <p>The user initializtion scripts.</p> 382 */ SetUserInitializationScripts(Aws::Vector<LaunchProfileInitializationScript> && value)383 inline void SetUserInitializationScripts(Aws::Vector<LaunchProfileInitializationScript>&& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts = std::move(value); } 384 385 /** 386 * <p>The user initializtion scripts.</p> 387 */ WithUserInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript> & value)388 inline LaunchProfileInitialization& WithUserInitializationScripts(const Aws::Vector<LaunchProfileInitializationScript>& value) { SetUserInitializationScripts(value); return *this;} 389 390 /** 391 * <p>The user initializtion scripts.</p> 392 */ WithUserInitializationScripts(Aws::Vector<LaunchProfileInitializationScript> && value)393 inline LaunchProfileInitialization& WithUserInitializationScripts(Aws::Vector<LaunchProfileInitializationScript>&& value) { SetUserInitializationScripts(std::move(value)); return *this;} 394 395 /** 396 * <p>The user initializtion scripts.</p> 397 */ AddUserInitializationScripts(const LaunchProfileInitializationScript & value)398 inline LaunchProfileInitialization& AddUserInitializationScripts(const LaunchProfileInitializationScript& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts.push_back(value); return *this; } 399 400 /** 401 * <p>The user initializtion scripts.</p> 402 */ AddUserInitializationScripts(LaunchProfileInitializationScript && value)403 inline LaunchProfileInitialization& AddUserInitializationScripts(LaunchProfileInitializationScript&& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts.push_back(std::move(value)); return *this; } 404 405 private: 406 407 LaunchProfileInitializationActiveDirectory m_activeDirectory; 408 bool m_activeDirectoryHasBeenSet; 409 410 Aws::Vector<Aws::String> m_ec2SecurityGroupIds; 411 bool m_ec2SecurityGroupIdsHasBeenSet; 412 413 Aws::String m_launchProfileId; 414 bool m_launchProfileIdHasBeenSet; 415 416 Aws::String m_launchProfileProtocolVersion; 417 bool m_launchProfileProtocolVersionHasBeenSet; 418 419 Aws::String m_launchPurpose; 420 bool m_launchPurposeHasBeenSet; 421 422 Aws::String m_name; 423 bool m_nameHasBeenSet; 424 425 LaunchProfilePlatform m_platform; 426 bool m_platformHasBeenSet; 427 428 Aws::Vector<LaunchProfileInitializationScript> m_systemInitializationScripts; 429 bool m_systemInitializationScriptsHasBeenSet; 430 431 Aws::Vector<LaunchProfileInitializationScript> m_userInitializationScripts; 432 bool m_userInitializationScriptsHasBeenSet; 433 }; 434 435 } // namespace Model 436 } // namespace NimbleStudio 437 } // namespace Aws 438