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

Defines the Amazon Braket job to be created. Specifies the container image * the job uses and the paths to the Python scripts used for entry and * training.

See Also:

AWS * API Reference

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

The container image used to create an Amazon Braket job.

*/ inline const ContainerImage& GetContainerImage() const{ return m_containerImage; } /** *

The container image used to create an Amazon Braket job.

*/ inline bool ContainerImageHasBeenSet() const { return m_containerImageHasBeenSet; } /** *

The container image used to create an Amazon Braket job.

*/ inline void SetContainerImage(const ContainerImage& value) { m_containerImageHasBeenSet = true; m_containerImage = value; } /** *

The container image used to create an Amazon Braket job.

*/ inline void SetContainerImage(ContainerImage&& value) { m_containerImageHasBeenSet = true; m_containerImage = std::move(value); } /** *

The container image used to create an Amazon Braket job.

*/ inline AlgorithmSpecification& WithContainerImage(const ContainerImage& value) { SetContainerImage(value); return *this;} /** *

The container image used to create an Amazon Braket job.

*/ inline AlgorithmSpecification& WithContainerImage(ContainerImage&& value) { SetContainerImage(std::move(value)); return *this;} /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline const ScriptModeConfig& GetScriptModeConfig() const{ return m_scriptModeConfig; } /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline bool ScriptModeConfigHasBeenSet() const { return m_scriptModeConfigHasBeenSet; } /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline void SetScriptModeConfig(const ScriptModeConfig& value) { m_scriptModeConfigHasBeenSet = true; m_scriptModeConfig = value; } /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline void SetScriptModeConfig(ScriptModeConfig&& value) { m_scriptModeConfigHasBeenSet = true; m_scriptModeConfig = std::move(value); } /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline AlgorithmSpecification& WithScriptModeConfig(const ScriptModeConfig& value) { SetScriptModeConfig(value); return *this;} /** *

Configures the paths to the Python scripts used for entry and training.

*/ inline AlgorithmSpecification& WithScriptModeConfig(ScriptModeConfig&& value) { SetScriptModeConfig(std::move(value)); return *this;} private: ContainerImage m_containerImage; bool m_containerImageHasBeenSet = false; ScriptModeConfig m_scriptModeConfig; bool m_scriptModeConfigHasBeenSet = false; }; } // namespace Model } // namespace Braket } // namespace Aws