/** * 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 SageMaker { namespace Model { /** */ class CreateAutoMLJobRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API 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_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Identifies an Autopilot job. The name must be unique to your account and is * case insensitive.

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

Identifies an Autopilot job. The name must be unique to your account and is * case insensitive.

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

Identifies an Autopilot job. The name 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. The name 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. The name 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. The name 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. The name 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. The name must be unique to your account and is * case insensitive.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

An array of channel objects that describes the input data and its location. * Each channel is a named input source. Similar to InputDataConfig * supported by HyperParameterTrainingJobDefinition. * Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the * training dataset. There is not a minimum number of rows required for the * validation dataset.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Provides information about encryption and the Amazon S3 output path needed to * store artifacts from an AutoML job. Format(s) supported: CSV.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Defines the type of supervised learning problem available for the candidates. * For more information, see * Amazon SageMaker Autopilot problem types.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

Specifies a metric to minimize or maximize as the objective of a job. If not * specified, the default objective metric depends on the problem type. See AutoMLJobObjective * for the default values.

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

A collection of settings used to configure an AutoML job.

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

A collection of settings used to configure an AutoML job.

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

A collection of settings used to configure an AutoML job.

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

A collection of settings used to configure an AutoML job.

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

A collection of settings used to configure an AutoML job.

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

A collection of settings used to configure an AutoML job.

*/ 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 the models. 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 the models. 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 the models. 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 the models. A candidate is a * combination of data preprocessors, algorithms, and algorithm parameter * settings.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web ServicesResources. Tag keys must be unique per resource.

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

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

*/ inline const ModelDeployConfig& GetModelDeployConfig() const{ return m_modelDeployConfig; } /** *

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

*/ inline bool ModelDeployConfigHasBeenSet() const { return m_modelDeployConfigHasBeenSet; } /** *

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

*/ inline void SetModelDeployConfig(const ModelDeployConfig& value) { m_modelDeployConfigHasBeenSet = true; m_modelDeployConfig = value; } /** *

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

*/ inline void SetModelDeployConfig(ModelDeployConfig&& value) { m_modelDeployConfigHasBeenSet = true; m_modelDeployConfig = std::move(value); } /** *

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

*/ inline CreateAutoMLJobRequest& WithModelDeployConfig(const ModelDeployConfig& value) { SetModelDeployConfig(value); return *this;} /** *

Specifies how to generate the endpoint name for an automatic one-click * Autopilot model deployment.

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