/** * 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 SageMaker { namespace Model { /** *

Configuration information for updating the Amazon SageMaker Debugger profile * parameters, system and framework metrics configurations, and storage * paths.

See Also:

AWS * API Reference

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

Path to Amazon S3 storage location for system and framework metrics.

*/ inline const Aws::String& GetS3OutputPath() const{ return m_s3OutputPath; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline bool S3OutputPathHasBeenSet() const { return m_s3OutputPathHasBeenSet; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(const Aws::String& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = value; } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(Aws::String&& value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath = std::move(value); } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline void SetS3OutputPath(const char* value) { m_s3OutputPathHasBeenSet = true; m_s3OutputPath.assign(value); } /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfigForUpdate& WithS3OutputPath(const Aws::String& value) { SetS3OutputPath(value); return *this;} /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfigForUpdate& WithS3OutputPath(Aws::String&& value) { SetS3OutputPath(std::move(value)); return *this;} /** *

Path to Amazon S3 storage location for system and framework metrics.

*/ inline ProfilerConfigForUpdate& WithS3OutputPath(const char* value) { SetS3OutputPath(value); return *this;} /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline long long GetProfilingIntervalInMilliseconds() const{ return m_profilingIntervalInMilliseconds; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline bool ProfilingIntervalInMillisecondsHasBeenSet() const { return m_profilingIntervalInMillisecondsHasBeenSet; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline void SetProfilingIntervalInMilliseconds(long long value) { m_profilingIntervalInMillisecondsHasBeenSet = true; m_profilingIntervalInMilliseconds = value; } /** *

A time interval for capturing system metrics in milliseconds. Available * values are 100, 200, 500, 1000 (1 second), 5000 (5 seconds), and 60000 (1 * minute) milliseconds. The default value is 500 milliseconds.

*/ inline ProfilerConfigForUpdate& WithProfilingIntervalInMilliseconds(long long value) { SetProfilingIntervalInMilliseconds(value); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline const Aws::Map& GetProfilingParameters() const{ return m_profilingParameters; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline bool ProfilingParametersHasBeenSet() const { return m_profilingParametersHasBeenSet; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline void SetProfilingParameters(const Aws::Map& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters = value; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline void SetProfilingParameters(Aws::Map&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters = std::move(value); } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& WithProfilingParameters(const Aws::Map& value) { SetProfilingParameters(value); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& WithProfilingParameters(Aws::Map&& value) { SetProfilingParameters(std::move(value)); return *this;} /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(const Aws::String& key, const Aws::String& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(Aws::String&& key, const Aws::String& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(const Aws::String& key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(Aws::String&& key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(const char* key, Aws::String&& value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, std::move(value)); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(Aws::String&& key, const char* value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(std::move(key), value); return *this; } /** *

Configuration information for capturing framework metrics. Available key * strings for different profiling options are * DetailedProfilingConfig, PythonProfilingConfig, and * DataLoaderProfilingConfig. The following codes are configuration * structures for the ProfilingParameters parameter. To learn more * about how to configure the ProfilingParameters parameter, see Use * the SageMaker and Debugger Configuration API Operations to Create, Update, and * Debug Your Training Job.

*/ inline ProfilerConfigForUpdate& AddProfilingParameters(const char* key, const char* value) { m_profilingParametersHasBeenSet = true; m_profilingParameters.emplace(key, value); return *this; } /** *

To turn off Amazon SageMaker Debugger monitoring and profiling while a * training job is in progress, set to True.

*/ inline bool GetDisableProfiler() const{ return m_disableProfiler; } /** *

To turn off Amazon SageMaker Debugger monitoring and profiling while a * training job is in progress, set to True.

*/ inline bool DisableProfilerHasBeenSet() const { return m_disableProfilerHasBeenSet; } /** *

To turn off Amazon SageMaker Debugger monitoring and profiling while a * training job is in progress, set to True.

*/ inline void SetDisableProfiler(bool value) { m_disableProfilerHasBeenSet = true; m_disableProfiler = value; } /** *

To turn off Amazon SageMaker Debugger monitoring and profiling while a * training job is in progress, set to True.

*/ inline ProfilerConfigForUpdate& WithDisableProfiler(bool value) { SetDisableProfiler(value); return *this;} private: Aws::String m_s3OutputPath; bool m_s3OutputPathHasBeenSet = false; long long m_profilingIntervalInMilliseconds; bool m_profilingIntervalInMillisecondsHasBeenSet = false; Aws::Map m_profilingParameters; bool m_profilingParametersHasBeenSet = false; bool m_disableProfiler; bool m_disableProfilerHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws