/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace NimbleStudio { namespace Model { /** *

Initialization scripts for studio components.

See Also:

AWS * API Reference

*/ class StudioComponentInitializationScript { public: AWS_NIMBLESTUDIO_API StudioComponentInitializationScript(); AWS_NIMBLESTUDIO_API StudioComponentInitializationScript(Aws::Utils::Json::JsonView jsonValue); AWS_NIMBLESTUDIO_API StudioComponentInitializationScript& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_NIMBLESTUDIO_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 StudioComponentInitializationScript& 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 StudioComponentInitializationScript& 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 StudioComponentInitializationScript& WithLaunchProfileProtocolVersion(const char* value) { SetLaunchProfileProtocolVersion(value); return *this;} /** *

The platform of the initialization script, either Windows or Linux.

*/ inline const LaunchProfilePlatform& GetPlatform() const{ return m_platform; } /** *

The platform of the initialization script, either Windows or Linux.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The platform of the initialization script, either Windows or Linux.

*/ inline void SetPlatform(const LaunchProfilePlatform& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The platform of the initialization script, either Windows or Linux.

*/ inline void SetPlatform(LaunchProfilePlatform&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The platform of the initialization script, either Windows or Linux.

*/ inline StudioComponentInitializationScript& WithPlatform(const LaunchProfilePlatform& value) { SetPlatform(value); return *this;} /** *

The platform of the initialization script, either Windows or Linux.

*/ inline StudioComponentInitializationScript& WithPlatform(LaunchProfilePlatform&& value) { SetPlatform(std::move(value)); return *this;} /** *

The method to use when running the initialization script.

*/ inline const StudioComponentInitializationScriptRunContext& GetRunContext() const{ return m_runContext; } /** *

The method to use when running the initialization script.

*/ inline bool RunContextHasBeenSet() const { return m_runContextHasBeenSet; } /** *

The method to use when running the initialization script.

*/ inline void SetRunContext(const StudioComponentInitializationScriptRunContext& value) { m_runContextHasBeenSet = true; m_runContext = value; } /** *

The method to use when running the initialization script.

*/ inline void SetRunContext(StudioComponentInitializationScriptRunContext&& value) { m_runContextHasBeenSet = true; m_runContext = std::move(value); } /** *

The method to use when running the initialization script.

*/ inline StudioComponentInitializationScript& WithRunContext(const StudioComponentInitializationScriptRunContext& value) { SetRunContext(value); return *this;} /** *

The method to use when running the initialization script.

*/ inline StudioComponentInitializationScript& WithRunContext(StudioComponentInitializationScriptRunContext&& value) { SetRunContext(std::move(value)); return *this;} /** *

The initialization script.

*/ inline const Aws::String& GetScript() const{ return m_script; } /** *

The initialization script.

*/ inline bool ScriptHasBeenSet() const { return m_scriptHasBeenSet; } /** *

The initialization script.

*/ inline void SetScript(const Aws::String& value) { m_scriptHasBeenSet = true; m_script = value; } /** *

The initialization script.

*/ inline void SetScript(Aws::String&& value) { m_scriptHasBeenSet = true; m_script = std::move(value); } /** *

The initialization script.

*/ inline void SetScript(const char* value) { m_scriptHasBeenSet = true; m_script.assign(value); } /** *

The initialization script.

*/ inline StudioComponentInitializationScript& WithScript(const Aws::String& value) { SetScript(value); return *this;} /** *

The initialization script.

*/ inline StudioComponentInitializationScript& WithScript(Aws::String&& value) { SetScript(std::move(value)); return *this;} /** *

The initialization script.

*/ inline StudioComponentInitializationScript& WithScript(const char* value) { SetScript(value); return *this;} private: Aws::String m_launchProfileProtocolVersion; bool m_launchProfileProtocolVersionHasBeenSet = false; LaunchProfilePlatform m_platform; bool m_platformHasBeenSet = false; StudioComponentInitializationScriptRunContext m_runContext; bool m_runContextHasBeenSet = false; Aws::String m_script; bool m_scriptHasBeenSet = false; }; } // namespace Model } // namespace NimbleStudio } // namespace Aws