/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A launch profile initialization contains information required for a
* workstation or server to connect to a launch profile. This includes
* scripts, endpoints, security groups, subnets, and other
* configuration.See Also:
AWS
* API Reference
A LaunchProfileInitializationActiveDirectory
resource.
A LaunchProfileInitializationActiveDirectory
resource.
A LaunchProfileInitializationActiveDirectory
resource.
A LaunchProfileInitializationActiveDirectory
resource.
A LaunchProfileInitializationActiveDirectory
resource.
A LaunchProfileInitializationActiveDirectory
resource.
The EC2 security groups that control access to the studio component.
*/ inline const Aws::VectorThe EC2 security groups that control access to the studio component.
*/ inline bool Ec2SecurityGroupIdsHasBeenSet() const { return m_ec2SecurityGroupIdsHasBeenSet; } /** *The EC2 security groups that control access to the studio component.
*/ inline void SetEc2SecurityGroupIds(const Aws::VectorThe EC2 security groups that control access to the studio component.
*/ inline void SetEc2SecurityGroupIds(Aws::VectorThe EC2 security groups that control access to the studio component.
*/ inline LaunchProfileInitialization& WithEc2SecurityGroupIds(const Aws::VectorThe EC2 security groups that control access to the studio component.
*/ inline LaunchProfileInitialization& WithEc2SecurityGroupIds(Aws::VectorThe EC2 security groups that control access to the studio component.
*/ inline LaunchProfileInitialization& AddEc2SecurityGroupIds(const Aws::String& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } /** *The EC2 security groups that control access to the studio component.
*/ inline LaunchProfileInitialization& AddEc2SecurityGroupIds(Aws::String&& value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(std::move(value)); return *this; } /** *The EC2 security groups that control access to the studio component.
*/ inline LaunchProfileInitialization& AddEc2SecurityGroupIds(const char* value) { m_ec2SecurityGroupIdsHasBeenSet = true; m_ec2SecurityGroupIds.push_back(value); return *this; } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline const Aws::String& GetLaunchProfileId() const{ return m_launchProfileId; } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline bool LaunchProfileIdHasBeenSet() const { return m_launchProfileIdHasBeenSet; } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline void SetLaunchProfileId(const Aws::String& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = value; } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline void SetLaunchProfileId(Aws::String&& value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId = std::move(value); } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline void SetLaunchProfileId(const char* value) { m_launchProfileIdHasBeenSet = true; m_launchProfileId.assign(value); } /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline LaunchProfileInitialization& WithLaunchProfileId(const Aws::String& value) { SetLaunchProfileId(value); return *this;} /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline LaunchProfileInitialization& WithLaunchProfileId(Aws::String&& value) { SetLaunchProfileId(std::move(value)); return *this;} /** *The ID of the launch profile used to control access from the streaming * session.
*/ inline LaunchProfileInitialization& WithLaunchProfileId(const char* value) { SetLaunchProfileId(value); return *this;} /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline const Aws::String& GetLaunchProfileProtocolVersion() const{ return m_launchProfileProtocolVersion; } /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline bool LaunchProfileProtocolVersionHasBeenSet() const { return m_launchProfileProtocolVersionHasBeenSet; } /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline void SetLaunchProfileProtocolVersion(const Aws::String& value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion = value; } /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline void SetLaunchProfileProtocolVersion(Aws::String&& value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion = std::move(value); } /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline void SetLaunchProfileProtocolVersion(const char* value) { m_launchProfileProtocolVersionHasBeenSet = true; m_launchProfileProtocolVersion.assign(value); } /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(const Aws::String& value) { SetLaunchProfileProtocolVersion(value); return *this;} /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(Aws::String&& value) { SetLaunchProfileProtocolVersion(std::move(value)); return *this;} /** *The version number of the protocol that is used by the launch profile. The * only valid version is "2021-03-31".
*/ inline LaunchProfileInitialization& WithLaunchProfileProtocolVersion(const char* value) { SetLaunchProfileProtocolVersion(value); return *this;} /** *The launch purpose.
*/ inline const Aws::String& GetLaunchPurpose() const{ return m_launchPurpose; } /** *The launch purpose.
*/ inline bool LaunchPurposeHasBeenSet() const { return m_launchPurposeHasBeenSet; } /** *The launch purpose.
*/ inline void SetLaunchPurpose(const Aws::String& value) { m_launchPurposeHasBeenSet = true; m_launchPurpose = value; } /** *The launch purpose.
*/ inline void SetLaunchPurpose(Aws::String&& value) { m_launchPurposeHasBeenSet = true; m_launchPurpose = std::move(value); } /** *The launch purpose.
*/ inline void SetLaunchPurpose(const char* value) { m_launchPurposeHasBeenSet = true; m_launchPurpose.assign(value); } /** *The launch purpose.
*/ inline LaunchProfileInitialization& WithLaunchPurpose(const Aws::String& value) { SetLaunchPurpose(value); return *this;} /** *The launch purpose.
*/ inline LaunchProfileInitialization& WithLaunchPurpose(Aws::String&& value) { SetLaunchPurpose(std::move(value)); return *this;} /** *The launch purpose.
*/ inline LaunchProfileInitialization& WithLaunchPurpose(const char* value) { SetLaunchPurpose(value); return *this;} /** *The name for the launch profile.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name for the launch profile.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name for the launch profile.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name for the launch profile.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name for the launch profile.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name for the launch profile.
*/ inline LaunchProfileInitialization& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name for the launch profile.
*/ inline LaunchProfileInitialization& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name for the launch profile.
*/ inline LaunchProfileInitialization& WithName(const char* value) { SetName(value); return *this;} /** *The platform of the launch platform, either Windows or Linux.
*/ inline const LaunchProfilePlatform& GetPlatform() const{ return m_platform; } /** *The platform of the launch platform, either Windows or Linux.
*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *The platform of the launch platform, either Windows or Linux.
*/ inline void SetPlatform(const LaunchProfilePlatform& value) { m_platformHasBeenSet = true; m_platform = value; } /** *The platform of the launch platform, either Windows or Linux.
*/ inline void SetPlatform(LaunchProfilePlatform&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *The platform of the launch platform, either Windows or Linux.
*/ inline LaunchProfileInitialization& WithPlatform(const LaunchProfilePlatform& value) { SetPlatform(value); return *this;} /** *The platform of the launch platform, either Windows or Linux.
*/ inline LaunchProfileInitialization& WithPlatform(LaunchProfilePlatform&& value) { SetPlatform(std::move(value)); return *this;} /** *The system initializtion scripts.
*/ inline const Aws::VectorThe system initializtion scripts.
*/ inline bool SystemInitializationScriptsHasBeenSet() const { return m_systemInitializationScriptsHasBeenSet; } /** *The system initializtion scripts.
*/ inline void SetSystemInitializationScripts(const Aws::VectorThe system initializtion scripts.
*/ inline void SetSystemInitializationScripts(Aws::VectorThe system initializtion scripts.
*/ inline LaunchProfileInitialization& WithSystemInitializationScripts(const Aws::VectorThe system initializtion scripts.
*/ inline LaunchProfileInitialization& WithSystemInitializationScripts(Aws::VectorThe system initializtion scripts.
*/ inline LaunchProfileInitialization& AddSystemInitializationScripts(const LaunchProfileInitializationScript& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts.push_back(value); return *this; } /** *The system initializtion scripts.
*/ inline LaunchProfileInitialization& AddSystemInitializationScripts(LaunchProfileInitializationScript&& value) { m_systemInitializationScriptsHasBeenSet = true; m_systemInitializationScripts.push_back(std::move(value)); return *this; } /** *The user initializtion scripts.
*/ inline const Aws::VectorThe user initializtion scripts.
*/ inline bool UserInitializationScriptsHasBeenSet() const { return m_userInitializationScriptsHasBeenSet; } /** *The user initializtion scripts.
*/ inline void SetUserInitializationScripts(const Aws::VectorThe user initializtion scripts.
*/ inline void SetUserInitializationScripts(Aws::VectorThe user initializtion scripts.
*/ inline LaunchProfileInitialization& WithUserInitializationScripts(const Aws::VectorThe user initializtion scripts.
*/ inline LaunchProfileInitialization& WithUserInitializationScripts(Aws::VectorThe user initializtion scripts.
*/ inline LaunchProfileInitialization& AddUserInitializationScripts(const LaunchProfileInitializationScript& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts.push_back(value); return *this; } /** *The user initializtion scripts.
*/ inline LaunchProfileInitialization& AddUserInitializationScripts(LaunchProfileInitializationScript&& value) { m_userInitializationScriptsHasBeenSet = true; m_userInitializationScripts.push_back(std::move(value)); return *this; } private: LaunchProfileInitializationActiveDirectory m_activeDirectory; bool m_activeDirectoryHasBeenSet = false; Aws::Vector