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

Defines the monitoring job.

See Also:

AWS * API Reference

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

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline const MonitoringBaselineConfig& GetBaselineConfig() const{ return m_baselineConfig; } /** *

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline bool BaselineConfigHasBeenSet() const { return m_baselineConfigHasBeenSet; } /** *

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline void SetBaselineConfig(const MonitoringBaselineConfig& value) { m_baselineConfigHasBeenSet = true; m_baselineConfig = value; } /** *

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline void SetBaselineConfig(MonitoringBaselineConfig&& value) { m_baselineConfigHasBeenSet = true; m_baselineConfig = std::move(value); } /** *

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline MonitoringJobDefinition& WithBaselineConfig(const MonitoringBaselineConfig& value) { SetBaselineConfig(value); return *this;} /** *

Baseline configuration used to validate that the data conforms to the * specified constraints and statistics

*/ inline MonitoringJobDefinition& WithBaselineConfig(MonitoringBaselineConfig&& value) { SetBaselineConfig(std::move(value)); return *this;} /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline const Aws::Vector& GetMonitoringInputs() const{ return m_monitoringInputs; } /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline bool MonitoringInputsHasBeenSet() const { return m_monitoringInputsHasBeenSet; } /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline void SetMonitoringInputs(const Aws::Vector& value) { m_monitoringInputsHasBeenSet = true; m_monitoringInputs = value; } /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline void SetMonitoringInputs(Aws::Vector&& value) { m_monitoringInputsHasBeenSet = true; m_monitoringInputs = std::move(value); } /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline MonitoringJobDefinition& WithMonitoringInputs(const Aws::Vector& value) { SetMonitoringInputs(value); return *this;} /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline MonitoringJobDefinition& WithMonitoringInputs(Aws::Vector&& value) { SetMonitoringInputs(std::move(value)); return *this;} /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline MonitoringJobDefinition& AddMonitoringInputs(const MonitoringInput& value) { m_monitoringInputsHasBeenSet = true; m_monitoringInputs.push_back(value); return *this; } /** *

The array of inputs for the monitoring job. Currently we support monitoring * an Amazon SageMaker Endpoint.

*/ inline MonitoringJobDefinition& AddMonitoringInputs(MonitoringInput&& value) { m_monitoringInputsHasBeenSet = true; m_monitoringInputs.push_back(std::move(value)); return *this; } /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline const MonitoringOutputConfig& GetMonitoringOutputConfig() const{ return m_monitoringOutputConfig; } /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline bool MonitoringOutputConfigHasBeenSet() const { return m_monitoringOutputConfigHasBeenSet; } /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline void SetMonitoringOutputConfig(const MonitoringOutputConfig& value) { m_monitoringOutputConfigHasBeenSet = true; m_monitoringOutputConfig = value; } /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline void SetMonitoringOutputConfig(MonitoringOutputConfig&& value) { m_monitoringOutputConfigHasBeenSet = true; m_monitoringOutputConfig = std::move(value); } /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline MonitoringJobDefinition& WithMonitoringOutputConfig(const MonitoringOutputConfig& value) { SetMonitoringOutputConfig(value); return *this;} /** *

The array of outputs from the monitoring job to be uploaded to Amazon Simple * Storage Service (Amazon S3).

*/ inline MonitoringJobDefinition& WithMonitoringOutputConfig(MonitoringOutputConfig&& value) { SetMonitoringOutputConfig(std::move(value)); return *this;} /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline const MonitoringResources& GetMonitoringResources() const{ return m_monitoringResources; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline bool MonitoringResourcesHasBeenSet() const { return m_monitoringResourcesHasBeenSet; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline void SetMonitoringResources(const MonitoringResources& value) { m_monitoringResourcesHasBeenSet = true; m_monitoringResources = value; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline void SetMonitoringResources(MonitoringResources&& value) { m_monitoringResourcesHasBeenSet = true; m_monitoringResources = std::move(value); } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline MonitoringJobDefinition& WithMonitoringResources(const MonitoringResources& value) { SetMonitoringResources(value); return *this;} /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a monitoring job. In distributed processing, you specify more than * one instance.

*/ inline MonitoringJobDefinition& WithMonitoringResources(MonitoringResources&& value) { SetMonitoringResources(std::move(value)); return *this;} /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline const MonitoringAppSpecification& GetMonitoringAppSpecification() const{ return m_monitoringAppSpecification; } /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline bool MonitoringAppSpecificationHasBeenSet() const { return m_monitoringAppSpecificationHasBeenSet; } /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline void SetMonitoringAppSpecification(const MonitoringAppSpecification& value) { m_monitoringAppSpecificationHasBeenSet = true; m_monitoringAppSpecification = value; } /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline void SetMonitoringAppSpecification(MonitoringAppSpecification&& value) { m_monitoringAppSpecificationHasBeenSet = true; m_monitoringAppSpecification = std::move(value); } /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline MonitoringJobDefinition& WithMonitoringAppSpecification(const MonitoringAppSpecification& value) { SetMonitoringAppSpecification(value); return *this;} /** *

Configures the monitoring job to run a specified Docker container image.

*/ inline MonitoringJobDefinition& WithMonitoringAppSpecification(MonitoringAppSpecification&& value) { SetMonitoringAppSpecification(std::move(value)); return *this;} /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline const MonitoringStoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; } /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline bool StoppingConditionHasBeenSet() const { return m_stoppingConditionHasBeenSet; } /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline void SetStoppingCondition(const MonitoringStoppingCondition& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = value; } /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline void SetStoppingCondition(MonitoringStoppingCondition&& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = std::move(value); } /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline MonitoringJobDefinition& WithStoppingCondition(const MonitoringStoppingCondition& value) { SetStoppingCondition(value); return *this;} /** *

Specifies a time limit for how long the monitoring job is allowed to run.

*/ inline MonitoringJobDefinition& WithStoppingCondition(MonitoringStoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline const Aws::Map& GetEnvironment() const{ return m_environment; } /** *

Sets the environment variables in the Docker container.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

Sets the environment variables in the Docker container.

*/ inline void SetEnvironment(const Aws::Map& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

Sets the environment variables in the Docker container.

*/ inline void SetEnvironment(Aws::Map&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& WithEnvironment(const Aws::Map& value) { SetEnvironment(value); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& WithEnvironment(Aws::Map&& value) { SetEnvironment(std::move(value)); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(const Aws::String& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(Aws::String&& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(const Aws::String& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(Aws::String&& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(const char* key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(Aws::String&& key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline MonitoringJobDefinition& AddEnvironment(const char* key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

Specifies networking options for an monitoring job.

*/ inline const NetworkConfig& GetNetworkConfig() const{ return m_networkConfig; } /** *

Specifies networking options for an monitoring job.

*/ inline bool NetworkConfigHasBeenSet() const { return m_networkConfigHasBeenSet; } /** *

Specifies networking options for an monitoring job.

*/ inline void SetNetworkConfig(const NetworkConfig& value) { m_networkConfigHasBeenSet = true; m_networkConfig = value; } /** *

Specifies networking options for an monitoring job.

*/ inline void SetNetworkConfig(NetworkConfig&& value) { m_networkConfigHasBeenSet = true; m_networkConfig = std::move(value); } /** *

Specifies networking options for an monitoring job.

*/ inline MonitoringJobDefinition& WithNetworkConfig(const NetworkConfig& value) { SetNetworkConfig(value); return *this;} /** *

Specifies networking options for an monitoring job.

*/ inline MonitoringJobDefinition& WithNetworkConfig(NetworkConfig&& value) { SetNetworkConfig(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline MonitoringJobDefinition& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline MonitoringJobDefinition& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline MonitoringJobDefinition& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} private: MonitoringBaselineConfig m_baselineConfig; bool m_baselineConfigHasBeenSet = false; Aws::Vector m_monitoringInputs; bool m_monitoringInputsHasBeenSet = false; MonitoringOutputConfig m_monitoringOutputConfig; bool m_monitoringOutputConfigHasBeenSet = false; MonitoringResources m_monitoringResources; bool m_monitoringResourcesHasBeenSet = false; MonitoringAppSpecification m_monitoringAppSpecification; bool m_monitoringAppSpecificationHasBeenSet = false; MonitoringStoppingCondition m_stoppingCondition; bool m_stoppingConditionHasBeenSet = false; Aws::Map m_environment; bool m_environmentHasBeenSet = false; NetworkConfig m_networkConfig; bool m_networkConfigHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws