/** * 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 namespace Aws { namespace SageMaker { namespace Model { /** */ class AWS_SAGEMAKER_API CreateAutoMLJobRequest : public SageMakerRequest { public: CreateAutoMLJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateAutoMLJob"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline const Aws::String& GetAutoMLJobName() const{ return m_autoMLJobName; } /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline bool AutoMLJobNameHasBeenSet() const { return m_autoMLJobNameHasBeenSet; } /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline void SetAutoMLJobName(const Aws::String& value) { m_autoMLJobNameHasBeenSet = true; m_autoMLJobName = value; } /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline void SetAutoMLJobName(Aws::String&& value) { m_autoMLJobNameHasBeenSet = true; m_autoMLJobName = std::move(value); } /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline void SetAutoMLJobName(const char* value) { m_autoMLJobNameHasBeenSet = true; m_autoMLJobName.assign(value); } /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobName(const Aws::String& value) { SetAutoMLJobName(value); return *this;} /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobName(Aws::String&& value) { SetAutoMLJobName(std::move(value)); return *this;} /** *

Identifies an Autopilot job. Must be unique to your account and is * case-insensitive.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobName(const char* value) { SetAutoMLJobName(value); return *this;} /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline const Aws::Vector& GetInputDataConfig() const{ return m_inputDataConfig; } /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; } /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline void SetInputDataConfig(const Aws::Vector& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; } /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline void SetInputDataConfig(Aws::Vector&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); } /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline CreateAutoMLJobRequest& WithInputDataConfig(const Aws::Vector& value) { SetInputDataConfig(value); return *this;} /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline CreateAutoMLJobRequest& WithInputDataConfig(Aws::Vector&& value) { SetInputDataConfig(std::move(value)); return *this;} /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline CreateAutoMLJobRequest& AddInputDataConfig(const AutoMLChannel& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig.push_back(value); return *this; } /** *

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. * Minimum of 1000 rows.

*/ inline CreateAutoMLJobRequest& AddInputDataConfig(AutoMLChannel&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig.push_back(std::move(value)); return *this; } /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline const AutoMLOutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; } /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline bool OutputDataConfigHasBeenSet() const { return m_outputDataConfigHasBeenSet; } /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline void SetOutputDataConfig(const AutoMLOutputDataConfig& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = value; } /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline void SetOutputDataConfig(AutoMLOutputDataConfig&& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = std::move(value); } /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline CreateAutoMLJobRequest& WithOutputDataConfig(const AutoMLOutputDataConfig& value) { SetOutputDataConfig(value); return *this;} /** *

Similar to OutputDataConfig supported by Tuning. Format(s) supported: * CSV.

*/ inline CreateAutoMLJobRequest& WithOutputDataConfig(AutoMLOutputDataConfig&& value) { SetOutputDataConfig(std::move(value)); return *this;} /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline const ProblemType& GetProblemType() const{ return m_problemType; } /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline bool ProblemTypeHasBeenSet() const { return m_problemTypeHasBeenSet; } /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline void SetProblemType(const ProblemType& value) { m_problemTypeHasBeenSet = true; m_problemType = value; } /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline void SetProblemType(ProblemType&& value) { m_problemTypeHasBeenSet = true; m_problemType = std::move(value); } /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline CreateAutoMLJobRequest& WithProblemType(const ProblemType& value) { SetProblemType(value); return *this;} /** *

Defines the kind of preprocessing and algorithms intended for the candidates. * Options include: BinaryClassification, MulticlassClassification, and * Regression.

*/ inline CreateAutoMLJobRequest& WithProblemType(ProblemType&& value) { SetProblemType(std::move(value)); return *this;} /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline const AutoMLJobObjective& GetAutoMLJobObjective() const{ return m_autoMLJobObjective; } /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline bool AutoMLJobObjectiveHasBeenSet() const { return m_autoMLJobObjectiveHasBeenSet; } /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline void SetAutoMLJobObjective(const AutoMLJobObjective& value) { m_autoMLJobObjectiveHasBeenSet = true; m_autoMLJobObjective = value; } /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline void SetAutoMLJobObjective(AutoMLJobObjective&& value) { m_autoMLJobObjectiveHasBeenSet = true; m_autoMLJobObjective = std::move(value); } /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobObjective(const AutoMLJobObjective& value) { SetAutoMLJobObjective(value); return *this;} /** *

Defines the objective of a an AutoML job. You provide a * AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or * maximize it. If a metric is not specified, the most commonly used * ObjectiveMetric for problem type is automaically selected.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobObjective(AutoMLJobObjective&& value) { SetAutoMLJobObjective(std::move(value)); return *this;} /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline const AutoMLJobConfig& GetAutoMLJobConfig() const{ return m_autoMLJobConfig; } /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline bool AutoMLJobConfigHasBeenSet() const { return m_autoMLJobConfigHasBeenSet; } /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline void SetAutoMLJobConfig(const AutoMLJobConfig& value) { m_autoMLJobConfigHasBeenSet = true; m_autoMLJobConfig = value; } /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline void SetAutoMLJobConfig(AutoMLJobConfig&& value) { m_autoMLJobConfigHasBeenSet = true; m_autoMLJobConfig = std::move(value); } /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobConfig(const AutoMLJobConfig& value) { SetAutoMLJobConfig(value); return *this;} /** *

Contains CompletionCriteria and SecurityConfig.

*/ inline CreateAutoMLJobRequest& WithAutoMLJobConfig(AutoMLJobConfig&& value) { SetAutoMLJobConfig(std::move(value)); return *this;} /** *

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

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

The ARN of the role that is used to access the data.

*/ inline CreateAutoMLJobRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

Generates possible candidates without training a model. A candidate is a * combination of data preprocessors, algorithms, and algorithm parameter * settings.

*/ inline bool GetGenerateCandidateDefinitionsOnly() const{ return m_generateCandidateDefinitionsOnly; } /** *

Generates possible candidates without training a model. A candidate is a * combination of data preprocessors, algorithms, and algorithm parameter * settings.

*/ inline bool GenerateCandidateDefinitionsOnlyHasBeenSet() const { return m_generateCandidateDefinitionsOnlyHasBeenSet; } /** *

Generates possible candidates without training a model. A candidate is a * combination of data preprocessors, algorithms, and algorithm parameter * settings.

*/ inline void SetGenerateCandidateDefinitionsOnly(bool value) { m_generateCandidateDefinitionsOnlyHasBeenSet = true; m_generateCandidateDefinitionsOnly = value; } /** *

Generates possible candidates without training a model. A candidate is a * combination of data preprocessors, algorithms, and algorithm parameter * settings.

*/ inline CreateAutoMLJobRequest& WithGenerateCandidateDefinitionsOnly(bool value) { SetGenerateCandidateDefinitionsOnly(value); return *this;} /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline CreateAutoMLJobRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline CreateAutoMLJobRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline CreateAutoMLJobRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Each tag consists of a key and an optional value. Tag keys must be unique per * resource.

*/ inline CreateAutoMLJobRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_autoMLJobName; bool m_autoMLJobNameHasBeenSet; Aws::Vector m_inputDataConfig; bool m_inputDataConfigHasBeenSet; AutoMLOutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet; ProblemType m_problemType; bool m_problemTypeHasBeenSet; AutoMLJobObjective m_autoMLJobObjective; bool m_autoMLJobObjectiveHasBeenSet; AutoMLJobConfig m_autoMLJobConfig; bool m_autoMLJobConfigHasBeenSet; Aws::String m_roleArn; bool m_roleArnHasBeenSet; bool m_generateCandidateDefinitionsOnly; bool m_generateCandidateDefinitionsOnlyHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws